Modify Menu Item

User-specific Layout of the Menu Mask

Normally, the Menu mask will appear as laid out on page 10-. If required, the system administrator or even each user can design their own specific Menu mask layout. This design will be stored in a format file, which must be a SAM file. CFS follows the following sequence in trying to find a format file:

1) Has a file command been issued with LINK=MENUFOR ?

2) CFS will look for a file under the current userid called CFS.MENU.FORMAT.name, where name is the Job name specified in the LOGON command (/.name LOGON ...).

3) If a Job name was not specified in the LOGON command, or if the file CFS.MENU. FORMAT.name does not exist, CFS will look for a file called CFS.FORMAT under the current userid.

4) If none of the above files exist, CFS will look for a file called $userid.CFS.MENU.FORMAT, where $userid is the userid under which CFS is stored.

The contents of the format file below define the standard layout of the Menu mask.

*------------------------------------------------------------------------------*
! $H  CFS - Dialog control   $R  Host: %HOST     TSN: %TSN   %DATG    %TIME    !
*------------------------------------------------------------------------------*
! Menu : %MENU                                             Station:   %TERM    !
! Select task  (X = Select, A = Abort, B = K2 key, M = Modify)                 !
! or enter task number from # column                                           !
*------------------------------------------------------------------------------*
! %Z! $U#$R $UHost$R   ! $UTask$R ! $UDescription$R                            ! $UStatus$R !
*------------------------------------------------------------------------------*
! %a! $H%A$R%RA        ! %VA       ! %TA                                  ! %SA    !
! %b! $H%B$R%RB        ! %VB       ! %TB                                  ! %SB    !
! %c! $H%C$R%RC        ! %VC       ! %TC                                  ! %SC    !
! %d! $H%D$R%RD        ! %VD       ! %TD                                  ! %SD    !
! %e! $H%E$R%RE        ! %VE       ! %TE                                  ! %SE    !
! %f! $H%F$R%RF        ! %VF       ! %TF                                  ! %SF    !
! %g! $H%G$R%RG        ! %VG       ! %TG                                  ! %SG    !
! %h! $H%H$R%RH        ! %VH       ! %TH                                  ! %SH    !
! %i! $H%I$R%RI        ! %VI       ! %TI                                  ! %SI    !
! %j! $H%J$R%RJ        ! %VJ       ! %TJ                                  ! %SJ    !
! %k! $H%K$R           ! CFS       ! CFS Programm                         !        !
! %l! $H%L$R           ! ENDE      ! Terminate all Connections            !        !
*------------------------------------------------------------------------------*
! Password: >%PASS      <             Lock: >%LOCK   <                         !
* %MESS                                                                        *

In addition to constant values, the format file also contains variables designating particular mask fields, as well as control sequences for display characteristics.

Variables designating Mask Fields

Variables always begin with a % character, and can be placed anywhere within the mask. In the mask, variables need as many positions as specified in their length (see below). All the variables available for format files are listed below.

Variables for input fields. These will be double intensity fields in the mask.

%Z Global input field of the Menu mask. Length = 1 + 1 protected blank character.

%a Input field for Task 0. Length = 1 + 1 protected blank character.

%b Input field for Task 1. Length = 1 + 1 protected blank character.

...

%j Input field for Task 9. Length = 1 + 1 protected blank character.

%k Input field for CFS task (return to CFS). Length = 1 + 1 protected blank character.

%l Input field for ENDE transaction (terminate all tasks). Length = 1 + 1 protected blank character.

%PASS Input field for the LOGON password. Length = 11.

%LOCK Input field for the LOCK function for temporarily barring access to the terminal. Length = 8.

Variables for output fields. These fields will normally appear in the mask at half brightness, unless displayed otherwise by a specific parameter.

%A Connection number for Task 0. Length = 2.

%RA Host for Task 0. Length = 8.

%VA Abbreviated name for Task 0. Length = 8.

%TA Description for Task 0. Length = 35.

%SA Status information for Task 0. Length = 3.

...

%J Connection number for Task 9. Length = 2.

%RJ Host for Task 9. Length = 8.

%VJ Abbreviated name for Task 9. Length = 8.

%TJ Description for Task 9. Length = 35.

%SJ Status information for Task 9. Length = 3.

%K 'C ' for CFS task (return to CFS). Length = 2.

%L 'E ' for ENDE transaction (terminate all tasks). Length = 2.

%TSN TSN of the task from which CFS was called. Length = 4.

%DATG Current date in dd.mm.yy format. Length = 8.

%DATE Current date in mm.dd.yy format. Length = 8.

%TIME Current time in hh:mm:ss format. Length = 8.

%HOST Name of the host system from which CFS was called. Length = 8.

%USER Userid from which CFS was called. Length = 8.

%MENU Name of the menu file. Length = 40.

%TERM Name of the terminal from which CFS was called. Length = 40.

%MESS Message text (Note about the Help function, reason for loss of Connection, etc.). Length = 70.

Control characters for changing the display characteristics of the output fields. Normally, output fields are displayed at half brightness. The following control sequences are two bytes long and begin with a $ character, but do not take up any space in the mask. The mask definition will thus be lengthened by two bytes for each control sequence.

$B Double brightness and underlined

$H Double brightness

$U Underlined

$R Reset. Half brightness, not underlined

Error messages for mask definition:

000001 invalid name for a % variable

000002 input variable (%a, ..., %l, %PASS, %LOCK) multiply defined

000003 input variable (%a, ..., %l, %PASS, %LOCK) is missing

000011 invalid control sequence ($B, $H, $U, $R)

Note: The standard format definition, as well as an alternative layout are supplied in the CFS.S.LMSLIB library under the element name X/CFS. MENU.FORMAT.1 and 2. The mask defined under the name CFS.MENU.FORMAT.2 will look as follows:

}dd.mm.yy   hh:mm:ss          Host: ........       TSN: ....    Station: ssssssss {
}                                                                                 {
}                            Application Menu                                     {
}                                                                                 {
}      # Host        Application  Text                                    Status  {
}---------------------------------------------------------------------------------{
}        HOST1        UTMTEST     UTM application Stock (TEST)            OFF     {
}      0 HOST2        CONS-2      UCON Connection to Host 2               ON      {
}        HOST1        ODR1        $DIALOG with UseriD $ODR1               OFF     {
}      1 HOST3        SAP-P       SAP Connection (Live)                   ON      {
}      4 HOST1        SAP-T1      SAP Connection (Test 1)                 OFF     {
}      5 HOST2        SAP-T2      SAP Connection (Test 2)                 OFF     {
}                                                                                 {
}                                                                                 {
}                                                                                 {
}                                                                                 {
}      C              CFS         Return to CFS                                   {
}      E              END         Terminate all applications                      {
}---------------------------------------------------------------------------------{
}        Password :   >...........<             Lock:  >........<                 {
}                                                                                 {
}Menu-File used    : xxxxxxxxxxxxxxxxxxxxxxxxxx                                   {
}select application : X = activate, A = abort, B = break (K2), M = modify         {
}for Help type "?" at any Input-Field                                             {