Monday, December 1, 2008

DATA : lv_stsma TYPE hum_stsma,
lt_status TYPE TABLE OF gty_status,
lk_status TYPE gty_status,
lv_venum TYPE venum,
lv_vhart TYPE vhart.

SELECT SINGLE venum vhart
INTO (lv_venum, lv_vhart)
FROM vekp
WHERE exidv EQ p_exidv.

CONCATENATE gc_hu lv_venum INTO gvc_object.

* Get current status information
SELECT SINGLE stat inact
INTO lk_status
FROM husstat
WHERE objnr EQ gvc_object
AND inact EQ space.

IF sy-subrc = 0.
APPEND lk_status TO lt_status.
ENDIF.

SELECT SINGLE stsma
INTO lv_stsma
FROM tvty
WHERE traty EQ lv_vhart.

CLEAR gk_uphustatus.
REFRESH gt_uphustatus.

gk_uphustatus-objnr = gvc_object.
gk_uphustatus-stat = lk_status-stat.
gk_uphustatus-inact = gc_x.
gk_uphustatus-stsma = lv_stsma.
gk_uphustatus-mod = gc_u.

APPEND gk_uphustatus TO gt_uphustatus.
CLEAR gk_uphustatus.

CALL FUNCTION 'HU_STATUS_UPDATE'
EXPORTING
it_hustatus = gt_uphustatus
it_hustobj = gt_uphustobj.

IF sy-subrc EQ 0.

SELECT SINGLE estat
FROM tj30t
INTO gv_estat_stag
WHERE stsma = lv_stsma
AND spras = gc_e
AND txt04 = gc_stag.

CLEAR gk_uphustatus.
REFRESH gt_uphustatus.

* Check if new status exists, maybe inactive
CLEAR lk_status.
SELECT SINGLE stat inact
INTO lk_status
FROM husstat
WHERE objnr EQ gvc_object
AND stat EQ gv_estat_stag.

IF sy-subrc 0.
gk_uphustatus-mod = gc_i.
ELSE.
gk_uphustatus-mod = gc_u.
ENDIF.

gk_uphustatus-objnr = gvc_object.
gk_uphustatus-stat = gv_estat_stag.
gk_uphustatus-stsma = lv_stsma.

APPEND gk_uphustatus TO gt_uphustatus.
CLEAR gk_uphustatus.

CALL FUNCTION 'HU_STATUS_UPDATE'
EXPORTING
it_hustatus = gt_uphustatus
it_hustobj = gt_uphustobj.

ENDIF.




Tuesday, November 4, 2008

*&---------------------------------------------------------------------*
*& Form SEND_MAIL
*&---------------------------------------------------------------------*
* send email to current user *
*----------------------------------------------------------------------*
FORM SEND_MAIL.

* PARAMETERS FOR SO_NEW_DOCUMENT_SEND_API1
DATA: W_OBJECT_ID LIKE SOODK,
W_SONV_FLAG LIKE SONV-FLAG.
DATA: T_RECEIVERS LIKE SOMLRECI1 OCCURS 1 WITH HEADER LINE,
W_OBJECT_CONTENT LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE,
W_DOC_DATA LIKE SODOCCHGI1 OCCURS 0 WITH HEADER LINE.
*
DATA: W_DATE(10).
CLEAR T_RECEIVERS.
T_RECEIVERS-RECEIVER = SY-UNAME.
T_RECEIVERS-REC_TYPE = 'B'.
T_RECEIVERS-EXPRESS = ' '.
APPEND T_RECEIVERS.

W_DOC_DATA-OBJ_DESCR = 'Change Expiry date'.


* Delivery NO
CONCATENATE 'Delivery No' M_VMVMA-VBELN INTO W_OBJECT_CONTENT
SEPARATED BY ' '.
APPEND W_OBJECT_CONTENT.
* material Batch
CONCATENATE 'Material' ZGREC-MATNR 'Batch' ZGREC-CHARG
INTO W_OBJECT_CONTENT SEPARATED BY ' '.
APPEND W_OBJECT_CONTENT.
* Expiry date
WRITE B_VFDAT TO W_DATE DD/MM/YYYY.
CONCATENATE 'Change expiry date to' W_DATE
INTO W_OBJECT_CONTENT SEPARATED BY ' '.
APPEND W_OBJECT_CONTENT.
*
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = W_DOC_DATA
PUT_IN_OUTBOX = ' '
TABLES
OBJECT_CONTENT = W_OBJECT_CONTENT
RECEIVERS = T_RECEIVERS
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
ENDFORM. " SEND_MAIL

IDocs are structured ASCII files (or a virtual equivalent). They are the file format used by SAP
R/3 to exchange data with foreign systems.

IDocs are simple ASCII data streams. When they are stored to a disk file, the IDocs
are simple flat files with lines of text, where the lines are structured into data fields.
The typical structured file has records, each record starting with a leading string that
identifies the record type. Their specification is stored in the data dictionary.
IDocs is the acronym for Interchange Document. This indicates a set of (electronic)
information which builds a logical entity. An IDoc is e.g. all the data of a single
customer in your customer master data file, or the IDoc is all the data of a single
invoice.

IDoc data is usually exchanged between systems and partners that are completely
independent. Therefore, the data should be transmitted in a format that can easily be
corrected by the computer operators. It is therefore mandatory to post the data in a
human readable form.

Nowadays, this means that data is coded in ASCII format, including numbers which
are sent as a string of figures 0 to 9. Such data can easily be read with any text editor
on any computer, be it a PC, Macintosh, UNIX System, S/390 or any internet
browser.

The information which is exchanged by IDocs is called a message and the IDoc is
the physical representation of such a message. The name “messages” for the
information sent via IDocs is used in the same ways as other EDI standards. .
Everybody who has ever dealt with interface programming, will find IDocs very
much like the hierarchical data files used in traditional data exchange.
International standards like the ODETTE or VDA formats are designed in the same
way as IDocs are.

Other EDI standards like XML, ANSI X.12 or EDIFACT/UN are based on a data
description language. They differ principally from the IDocs concept, because they
use a programming language syntax (e.g. like Postscript or HTML) to embed the
data.


ref: http://saplab.blogspot.com/2008/04/what-are-idocs.html

IDocs are basically a small number of records in ASCII format, building a logical entity. It makes sense to see an IDoc as a plain and simple ASCII text file, even if it might be transported via other means.

Any IDoc consists of two sections:
the control record

which is always the first line of the file and provides the administrative information. the data record

which contains the application dependent data, as in our example below the material master data.

We will discuss the exchange of the material master IDoc MATMAS in the paragraphs that follow..

The definition of the IDoc structure MATMAS01 is deposited in the data dictionary and can be viewed with WE30 .


ref: http://saplab.blogspot.com/2008/04/structure-of-idoc.html

ABAP Code to Creating F1 Help

Go to SE61 and create a general text TX like the one shown below.

  • Select General Text from Document Class
  • Select Language
  • Type Name and press create

createf1help02
Type in what you want to see in output
U1 is for the Bold Text you see in the heading of the F1 Help. If you don’t want to specify a bold text you can just type it in the DOKTITLE in the function module called.
createf1help04
Save the Text. Now Displaying the F1 Help. I have modified an existing program for showing F1 help. See below

*&---------------------------------------------------------------------*
*& Report ZGB_TEST_SEARCH_HELP*
*&---------------------------------------------------------------------*
REPORT ZGB_TEST_SEARCH_HELP .
* INTERNAL TABLE FOR STORING NAMES IN SELECTION LIST
data: begin of t_itab occurs 0,
name(10) type c,
end of t_itab.
*FIELDNAME AND TAB NAME FOR THE SELECTION
DATA :field_tab LIKE dfies OCCURS 0 WITH HEADER LINE.
*THE TABLE FOR RETURNING THE NAME OF THE SELECTED ITEM
DATA : return_tab LIKE ddshretval OCCURS 0 WITH HEADER LINE.
*START THE SELECTION SCREEN BLOCK
selection-screen begin of block ss1 with frame.
parameters: p_name1(10) type c.
selection-screen end of block ss1.
*& F4 Help for p_name1
at selection-screen on value-request for p_name1.
*CLEAR ALL EXISTING DATA
*TO BE DONE EVERYTIME F4 HELP IS REQUESTED
REFRESH t_itab.
REFRESH field_tab.
field_tab-fieldname = 'ERNAM'.
field_tab-tabname = 'VBAK'.
APPEND field_tab.
t_itab-name = 'Andrews'.
append t_itab.
t_itab-name = 'Jennie'.
append t_itab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = field_tab-fieldname
* PVALKEY = ' '
* DYNPPROG = ' '
* DYNPNR = ' '
* DYNPROFIELD = ' '
* STEPL = 0
WINDOW_TITLE = 'Select name'
* VALUE = ' '
* VALUE_ORG = 'C'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
tables
value_tab = t_itab
FIELD_TAB = field_tab
RETURN_TAB = return_tab
* DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
p_name1 = return_tab-fieldval.
ENDIF.
*& F1 Help for p_name1 *
at selection-screen on help-request for p_name1.
CALL FUNCTION 'DSYS_SHOW_FOR_F1HELP'
EXPORTING
* APPLICATION = 'SO70'
dokclass = 'TX'
DOKLANGU = SY-LANGU
dokname = 'Z_GAURAB_DEMO'
* DOKTITLE = 'This appears as bold title'
* HOMETEXT = ' '
* OUTLINE = ' '
* VIEWNAME = 'STANDARD'
* Z_ORIGINAL_OUTLINE = ' '
* CALLED_FROM_SO70 = ' '
* SHORT_TEXT = ' '
* APPENDIX = ' '
* IMPORTING
* APPL =
* PF03 =
* PF15 =
* PF12 =
EXCEPTIONS
CLASS_UNKNOWN = 1
OBJECT_NOT_FOUND = 2
OTHERS = 3
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Apart from the FM DSYS_SHOW_FOR_F1HELP,following FM’s can also be used:

  • HELP_OBJECT_SHOW_FOR_FIELD
  • HELP_OBJECT_SHOW

Here is the output:

createf1help06

Wednesday, October 29, 2008

LIST BOX
Drop down list box can be created in a dialog screen(SE51) as well as selection screen.
The sap list box allows to select a value from the list but we cannot enter our own value in the list box .The value list that will be displayed consists of two
fields TEXT field of TYPE 80(C) and internal KEY field of TYPE 40(C).
In screen painter to create a input/output field into list box we use
'L" as a value for dropdown attribute for the i/o field.
In screen painter to determine the type of method that will be used to fill the value
list we use the attribute value list.
If it is blank the value list will be filled by the first column of the input help assigned to the screen field.This input help can be defined in the ABAP Dictionary, on screen using SELECT,VALUES screen statements or in event POV (PROCESS ON VALUE-REQUEST ) and the input help that will be passed to the field should consists of 2 columns ,the key column is filled automatically by the system.SAP recommends value list field should be blank.
or
The value can be 'A' meaning that the value list will be filled in the event PBO(PROCESS BEFORE OUTPUT) or before the screen is displayed.In this method we use function module VRM_SET_VALUES to fill the values and pass it to the i/o field.
If a function code is attached to the list box the selection of a value triggers a PAI
otherwise PAI will not trigger.

LIST BOX in SELECTION SCREEN
List Box is created in selection screen using PARAMETERS staement
with AS LISTBOX addition other attributes like VISIBLE LENGTH (width of listbox)
can be specified with the declaration.
PARAMETERS name(n) AS LISTBOX VISIBLE LENGTH n.
Here n is an integer and name is the name of parameter.
To populate the value list we use the FM VRM_SET_VALUES and the
selection screen event AT SELECTION-SCREEN OUTPUT is used to write the code to fill it.

VRM_SET_VALUES
The function module VRM_SET_VALUES is used to fill the value list associated with a List Box .This FM uses types which are declared in type group VRM. So
we should declare TYPE-POOLS VRM before using this FM.
Some important types declared in the VRM type group are
VRM_ID
It refers to the name of the input/output field associated with list box
VRM_VALUES
It refers to the internal table consisting of two fields TEXT(80C) and KEY(40)C
that will be used to create the list values.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = name of screen element ,it is of TYPE VRM_ID
VALUES = internal table containing values,of TYPE VRM_VALUES

LIST BOX with value list from input help
In this example the screen element attribute value list is set to blank as such the value list will be filled with the 1st column of the input help,We use PROCESS ON VALUE-REQUEST event to pass the value list to the listbox.In the MODULE call used to fill the value list we can use FM like F4IF_INT_TABLE_VALUE_REQUEST to create input help as explained in the input help.The value of first column will be shown in the field when selected.
PROCESS ON VALUE-REQUEST
FIELD list MODULE fill_list_100
FIELD list MODULE fill_list_100 INPUT
SELECT f1 f2 FROM table INTO int
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'input/output screen field'
value_org = 'S'
TABLES
value_tab = itab "it contains 2 fields that will be shown in the list box
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
...
ENDIF.
ENDMODULE.

VALUE LIST CREATED IN PBO
In this method we set the value list attribute to 'A'.The value list will be filled in the PBO by using FM VRM_SET_VALUES .
TYPE-POOLS : VRM
DATA : field_id TYPE VRM_ID ,
values TYPE VRM_VALUES,
value LIKE LINE OF values.
PROCESS BEFORE OUTPUT
MODULE list_fill_100
MODULE list_fill_100 OUTPUT
SELECT f1 f2 f3 FROM tab WHERE condition.
value-KEY = f1.
value-TEXT = f2
APPEND value TO VALUES
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'i/o screen field'
values = values.
ENDMODULE.


LIST BOX with Selection Screen
For this the FM VRM_SET_VALUES is used to fill the value table and is passed to the parameter created with TYPE LISTBOX in the selection screen event
AT SELECTION-SCREEN.
PROGRAM zlist
TYPE-POOLS : VRM.
DATA: param TYPE vrm_id,
values TYPE vrm_values,
value LIKE LINE OF values.

PARAMETERS: p_name(10) AS LISTBOX VISIBLE LENGTH 10.
AT SELECTION-SCREEN OUTPUT.
param = 'P_NAME'.
value-key = '1'.
value-text = 'JOHN'.
APPEND value TO values.
value-key = '2'.
value-text = 'PETER'.
APPEND value TO values.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING id = param
values = values.

ref: http://sap.niraj.tripod.com/id38.html

Monday, September 29, 2008


Questions:

We are in the process of the SAP ERP implementation supporting RF transactions for Warehouse processes.
SAP's Mobile Data Entry supports both GUI (with graphical user interface) and character-based handheld devices.
Our client is interested in pursuing the GUI based handheld devices and is looking for recommendations, references and implementation experience with particular details on-
1. Guidelines for choosing the RF Handheld device, and hardware partners.
2. Any testimonials involving implementation of Web enables RF Transactions (using Web SAPConsole)
3. The implementation efforts needed (development as well as configuration) and challenges faced for using Web SAPConsole.
4. Detail configuration steps for implementing Web SAPConsole


Answer:




1). Intermec is a successful vendor for RF bar code scanners/barcode label printers

http://www.intermec.com/products/index.aspx

You can also see Teklogix, Telxon, Symbol and LXE devices online

You can also refer to successful barcode printer vedors for Zebra

http://www.zebraprinters.com/

these have almost been a monopoly in successful SAP implementations

There are known problems with other barcode scanners integrated to SAP Webconsoloe

2). Web SAP console implementation references

http://www.erpgenie.com/sapgenie/docs/RFSAPConsoleTips.doc
http://searchsap.techtarget.com/searchSAP/downloads/whitepaper-may06.pdf

3). Effort needed depends on how much customization you are looking for. Its better to use standard SAP transactions rather than going for any custom transactions. Most well know problems in Web console are in the area of mapping function key between RF guns and SAP. You can refer to following thread in this regard.

https://www.sdn.sap.com/irj/sdn/thread?messageID=3461709&tstart=0

4). Configuration steps involved in implementing SAP Web Console

Functional: SPRO->LE/Mobil Data Entry
  • Maintain Verification profiles for goods movements for which data to be scanned through RF transactions
  • Maintain Barcode Specification and assign barcode types to warehouse
  • Define Menus and Screens
  • RF queue management for different tasks in warehouse and assign users to queues

Technical: Installation of SAP Web Console Servers and mapping them to devices and SAP. Your BASIS team is responsible for this. They will get the installation/user/RF Mobile Enabling guides with the software.



ref: https://www.sdn.sap.com/irj/sdn/thread?tstart=50&threadID=415644

If the administrator is responsible for creating the prerequisites for the usage of the RF terminal, he/she should set up a process so that when the telnet server is called up via the RF terminal, the connection to the SAPConsole will be established automatically for the user. The RF terminal user only has to enter the user name and password to start working in the R/3 System.

If this pre-selection has not been made, it is necessary to provide the RF terminal user with the information about which command line has to be entered after connecting to the telnet server.

In the SAPConsole Administrator you can define different profiles. The profiles could differ either in the R/3 to connect to, the trans(action) code to start with, or the I/O Engine to be used or in all three factors. If the administrator wishes to assign one or more users to one specific profile, this has to be done via the telnet administrator. The users themselves are defined in the telnet server and each of them could then be assigned to a profile in the SAPConsole Administrator.

There are different possibilities to define the work-process depending on your own preferences and the I/O Engine used. Consider the following two examples:

Example 1: Given that there is a need to define different profiles for different activities

The administrator has to define different profiles with different transaction codes. One transaction code reflects the transaction for cycle counting and the other transaction code reflects the transaction for putaway.

Example 2: Given that the RF terminals used have different screen sizes

The administrator has to define two different profiles with two different transaction codes. One transaction code reflects the transaction for larger screens, the other transaction code reflects the transaction for smaller screens. The different RF terminals will be assigned to the appropriate profile.

Leaving content frame

The escape sequences recognized by the SAPVtio engine can be configured in the text file created for that purpose. The following will explain the format of this file, so that the terminal configuration can be extended or new terminal support added.

Here, an example of the terminal configuration file contents:

[A 0 38 % Up arrow

[B 0 40 % Down arrow

[C 0 39 % Right arrow

[D 0 37 % Left arrow

[P 0 46 % Delete key

OP 0 112 % F1

OQ 0 113 % F2

OR 0 114 % F3

OS 0 115 % F4

[15~ 0 116 % F5

[17~ 0 117 % F6

[18~ 0 118 % F7

[19~ 0 119 % F8

[20~ 0 120 % F9

[21~ 0 121 % F10

%XX 0 122 % F11 - inactive

%XX 0 123 % F12 - inactive

%XX 0 124 % F13 - inactive

%XX 0 125 % F14 - inactive

%XX 0 126 % F15 - inactive

%XX 0 127 % F16 - inactive

%XX 0 128 % F17 - inactive

%XX 0 129 % F18 - inactive

%XX 0 130 % F19 - inactive

%XX 0 131 % F20 - inactive

%XX 0 132 % F21 - inactive

%XX 0 133 % F22 - inactive

%XX 0 134 % F23 - inactive

%XX 0 135 % F24 - inactive

Each line in the file identifies one escape sequence recognized by SAPVtio. A line starting with ‘%’ is considered commented and is disregarded. Any text on that line following a ‘%’ sign is a comment.

The escape sequence is identified by 3 parameters:

    1. The escape sequence characters (not including the ESC character which starts the sequence)
    2. The ASCII key code that is to be generated upon recognition of this sequence (usually 0 for extended keys)
    3. The Windows Virtual Key code to be generated upon recognition of this sequence

All numbers specified in the terminal configuration file are decimal.

Leaving content frame

Possible "File" entry:

"\\.\PIPE\Pipe%VarName%In"

In this example, %VarName% is a placeholder and is replaced by the value of the VarName environment variable at runtime. If "VarName" equals "Val00" at runtime, then the SAPVtio constructs the "\\.\PIPE\PipeVal00In" string as the file name and uses it to open the pipe.

SAPVtio treats expressions surrounded by percentage signs as environment variables with two exceptions. When the expression is %pid%, SAPVtio embeds the running process ID, and does not treat the expression as an environment variable. The placeholder expression %tid% is expanded to the current running thread ID. Consequently, if the "File" entry is "\\.\PIPE\Pipe%JustName%In%pid%" and the process ID is "100" at runtime and the "JustName" environment variable equals "TheValue", the pipe name used (as a result of the runtime expansion) will be "\\.\PIPE\PipeTheValueIn100".

In short: All expressions between % signs are placeholders to be expanded at runtime. If the expression is %pid%, it is replaced by the process ID. %tid% is replaced by the thread ID. All other placeholders are treated as environment variables and are replaced with their values.

Use

The SAPVtio configuration dialog allows you to specify which type of input SAPVtio expects.

Procedure

File – Applies to direct input only.

The telnet server does not intercept any input from the client, but rather lets it pass on to the running program.

In this mode, the SAPVtio usually receives the data through a named or an anonymous pipe. Therefore, all the rules for specifying the output file name can be applied to the input file name, that is:

When "STDIN$" is specified as the file name, it is treated as an anonymous pipe

Every identifier between the %…% signs is expanded to the value of the corresponding environment variable, except for two cases:

%pid% is expanded to the running process number

%tid% is expanded to the running thread number

Terminal configuration – In this field, you can specify the file that will contain the escape sequences recognized by SAPVtio.

When the SAPVtio receives the input in a raw mode (through a pipe), the special keys (arrows, function keys etc.) are passed on in the form of escape sequences. These sequences can slightly differ for different terminal emulations, and can therefore be configured externally. The sequences can be specified in the terminal configuration file using a special format. Refer to the Specifying escape sequences section in the appendix.

Use the "…" button to browse through your file system to find the adequate file.

Echo input characters– When checked, the SAPVtio will automatically transfer any character read from the input stream to the output stream. Although useful in some telnet applications, this option must be unchecked when using SAPVtio with SAPConsole.

Standard console events input– If you have an application (such as SAPConsole) that runs on a telnet server which does all the escape sequence interpreting work internally, use this option. This will leave the terminal emulation work to the telnet server and expect the input from the Windows Console.

Use

The SAPVtio configuration allows you to specify which type of output the SAPVtio should produce.

Procedure

File – Applies to direct output only.

As mentioned above, in direct mode the output is written with vt220 emulation escapes. Telnet servers provide a path-through route from the program to the client. This route is usually an anonymous or a named pipe. When "STDIN$" is specified as the file name, it is treated as an anonymous pipe. \\.\PIPE\Pipe%VarName% is specified as a file name for a named pipe. Every identifier between the %…% signs is expanded to the value of the corresponding environment variable, except for two cases:

      • %pid% is expanded to the running process number
      • %tid% is expanded to the running thread number

Technically, these pipes are opened as file handles and you write to them the same way you write to files. Your telnet server documentation should provide you with the information about which way the server makes such a path-through route (direct route) available.

In the concept of pattern expansion you find an example.

The runtime expansion is required since all instances of SAPConsole will probably need a different pipe name. Telnet servers assign a unique name to each pipe when they create it. SAPVtio is expected to know the name of the pipe it is supposed to open and to use. To convey the pipe name from the telnet server to the running process (in this case to SAPVtio), servers usually name the pipes based on some rule or template. For example, some embed the process ID in a constant string to make it unique. Others simply set a predefined environment variable to the name of the created pipe. The pattern expansion mechanism was created to support all these possibilities.

LF to CRLF convert – Depending on the requirement of the telnet server, this option can be selected. Each LF (line feed) sequence will then be converted to CRLF (Carriage Return Line Feed).

Standard console output – For interpreted output.

SAPVtio behaves as if it were telnet-ignorant. It writes regular Windows Console output. The telnet server then interprets and converts this output into telnet commands.

Convert attributes to colors

Since SAPConsole is oriented towards character based terminal devices, different types of screen fields are distinguished by having different terminal-oriented attributes, such as being underlined or reverse video (inverse). For example, a field where the user has to enter data is marked as such using the inverse attribute to catch the attention of the user and request an entry.

The Windows console does not support all those attributes. On the other hand, a Windows console application can produce colored output.

Some telnet servers, like the Seattle Lab SLnet product, enable the display of different terminal attributes – inverse, bold and underlined – on the radio frequency (RF) terminals by mapping them to a combination of different console colors.

The server interprets certain colors as mapping to certain terminal attributes, and sends their corresponding escape commands to the client terminal. This makes it possible for SAPVtio to write console-oriented (colored) output and still keep the terminal-oriented visual separation between field types on the client´s side.

To define the mapping of console color combinations to attributes that your server supports, click on Convert attributes to colors. This opens the mapping dialog box:

This graphic is explained in the accompanying text

Input (Terminal) Attributes and Output (Console) Attributes

You can adjust different attributes here (according to the mapping) to slightly modify the output on the RF terminal. Depending on how the foreground and background colors are combined, the text on the RF terminal will be shown as inverse, bold and/or underlined.

Definition

A typical installation of the SAPConsole framework includes the installation of SAPVtio – SAP’s flexible telnet-oriented default I/O Engine.

Use

SAPVtio was developed to provide an easy and vendor-independent way to use SAPConsole from all prominent RF devices. It takes advantage of the fact that all devices have built-in support for telnet emulation.

For devices that support ANSI/vt220 telnet emulation, you do not need an external I/O Engine, but only a running telnet server and SAPVtio as the I/O Engine.

Although the telnet protocol and the emulation are well known and accepted independent standards, there are sometimes subtleties in the way different RF vendors and different telnet servers implement them. SAPVtio can easily be configured to work with different implementations. This flexibility allows SAPVtio to support the widest range of devices and telnet servers.

For any profile, for which you choose SAPVtio as I/O Engine, you need to configure it to support the environment, in which it is to work. If you choose SAPVtio, the Config. button in the "Terminal Engine" section of the SAPConsole Administrator will be enabled. Click on it to open the configuration options for SAPVtio: SAP Terminal Server Configuration

This graphic is explained in the accompanying text

SAPVtio only supports configuration by profile. For detailed information about configuration refer to the Terminal Engine section.

Entering content frameTerminal Engine

Definition

SAPConsole and the user interact through an I/O Engine. An I/O Engine may offer several modes of work.

Use

This graphic is explained in the accompanying text







(1)

(2)

(3)

(1) Name of the I/O Engine

(2) Configuration of the I/O Engine

(3) Description of the I/O Engine


Config.If the Engine is configurable, the button will be enabled. Click on it to configure the I/O Engine.

There are three possibilities to characterize the behavior of an I/O Engine:

  1. Non-configurable: The Config. button will be disabled and there is no need to change the configuration.
  2. Configurable – system-wide: The terminal engine is configurable, but does not support profiles. If you change the configuration in one profile, it will be changed in all other profiles at the same time.
  3. Configurable – by profile: You have to configure the I/O Engine for each profile. The configuration will not be taken over from one profile to another. Cloning a profile – as described in the next section – does not clone the internal configuration of the I/O Engine.

Note

For further information about a specific engine you should refer to the engine’s user manual. It is very important to read the instructions on how to use the engine to create the profiles according to the engine’s configuration options.

Tuesday, September 9, 2008

Use

Each instance of the SAPConsole uses a group of settings, which is called a profile. A profile is identified by a unique name. A profile holds the information that determines the behavior of a running SAPConsole instance, that is, which R/3 System to connect to, for example.

The profile also includes the information on which I/O Engine a SAPConsole instance is to use.

The name of the profile to be used is passed on to the SAPConsole instance as command line parameter (for example, "sapconsole –p ").

Procedure

This graphic is explained in the accompanying text

(Arrow sign = Name of the default profile)

Creating a new profile: You create a new profile by clicking on the main item with the right mouse button. If you confirm with the left mouse button you have the possibility to create a new profile. After you have created a profile, select Apply to save it.

Editing a profile: Select a profile, change its settings and select Apply to save it.

Selecting a profile: If you select one of the profiles from the profile tree, its settings are shown in the right half of the dialog box. The bottom right corner of the SAPConsole Administrator screen contains the name of the currently viewed/edited profile.

Clicking on a profile with the right mouse button gives you the following options:

      • Set As Default – Set the specific profile to be the default profile (double-clicking leads to the same result). If no profile is specified on the command line, the SAPConsole uses the settings of the default profile. The name of the default profile is always bold.
      • Clone- Copy the same configuration with the new profile name. The new name and a sequential number is automatically assigned. The configuration of the I/O Engine will not necessarily be copied (refer to the
      • Terminal Engine section).
      • Remove – Delete the current profile
      • Edit name – Rename the profile


This graphic is explained in the accompanying text

Leaving content frame
(arrow sign =
Name of the chosen profile)

Use

The SAPConsole Administrator offers you two ways to define a connection to the SAP System:

You can enter the R/3 connection parameters manually. In this case, you can add a new system, which requires the determination of a host and router.

Note

Adding new systems to the SAPConsole Administrator does not add them automatically to SAPLogon. It works vice versa: when you add systems to the SAPLogon they will automatically be added to the SAPConsole Administrator

Procedure

Host nameName of the host

System ID – Number of the system you want to log on to

Router – Complete SAP router string

Trans Code – The first transaction code that will be executed

This graphic is explained in the accompanying text

SAPLogon Selection disabled

If the system, you want to connect to, has already been added to the list, you can simplify the connection by enabling the SAPLogon Selection. The R/3 connection parameters are already defined.

In any other case, the systems first have to be added as described above, or via the SAPLogon program if it is installed on the machine.

This graphic is explained in the accompanying text


SAPLogon Selection enabled

System – Description of system configuration (SAPLogon)

Trans Code – First transaction code that will be executed

Entering content frameProcedure documentationGeneral Settings

Use

The SAPConsole Administrator offers you the possibility to define general settings.

Procedure

Truncation of unused lines – The ability to define whether unused lines require truncation (for example, frames and empty lines).

SAPLogon Selection – Offers you the option of choosing between two ways of logging on to the system. For further explanation refer to the SAP R/3 Connections section.

Code Page: Various character sets and language support

ANSI Code pageThe default ANSI code page.

OEM Code pageThe default OEM code page.

By number - A specific code page number to be defined.


This graphic is explained in the accompanying text


Leaving content frame
Offers you the possibility to choose a code page:

This graphic is explained in the accompanying text


ref: http://help.sap.com/saphelp_470/helpdata/es/10/deeb38f94cb138e10000000a114084/frameset.htm

Definition

The SAPConsole Administrator offers you the option of creating and maintaining usage profiles. It is available as a Microsoft Windows control panel applet.

Use

You can define one or more profiles according to your needs. The profile may specify the R/3 System to connect to and the I/O Engine that a SAPConsole instance is to use.

There is no limitation to the number of profiles you can define and there is no restriction on the usage of a profile. A possible scenario is that several instances of the SAPConsole are running on the same machine at the same time. The instances may either use different profiles or the same one.

You can find the SAPConsole icon on the control panel:.

This graphic is explained in the accompanying text

This graphic is explained in the accompanying text


ref: http://help.sap.com/saphelp_470/helpdata/es/10/deeb38f94cb138e10000000a114084/frameset.htm

Friday, September 5, 2008