The manual for SDF-A V4.1H contains the following changes since the last version of the manual (SDF-A V4.1E, published in 2002):
ADD-VALUE / MODIFY-VALUE
New type LONG-INTEGER
SET-GLOBALS
The language dependent texts (MODIFY-LANGUAGE-TEXT operand) are extended with the new data type attribute CASES-SENSITIVE=*NAMES (...) with the following defaults for the language key E:
LONG-NAME='case-sensitive'
ABBREVIATION='case-sens.'
Macros
CMDSEL
Extended functionality
3 new operands have been added to the CMDSEL interface.
1 operand has been extended.
Extended interface description
Operation | Operands |
CMDSEL | TITLEL = <integer 1..240> / <var: int:4> ,MESSAGE@ = NULL / <var: pointer> ,MESSAGEL = NULL / <var: int 0..240> ,MARKL = 1 / <integer 1..75> / <var: int:1> |
OUTPUT = <var: pointer>
Address of an area in which the result of the selection can be entered. As many bytes must be reserved as specified in the MARKL parameter for each of the selectable items, i.e. the area must have the byte length specified in LINENBR times the value specified in MARKL and be initialized with zero or blank. If the user selects the item(i) (<i> = o..m) with a value <text_1..n> (<n> = 1..75), the bytes (i*n) til (i*n + (n-1)) receive that value in place of zero/blank. If an area is assigned a value other than zero or blank before the user selection, the corresponding item is the default value in the selection mask.
TITLEL = <integer 1..240> / <var: int:4>
Specifies the length of the character string which is output as the title. This parameter is only evaluated if an address other than 0 is specified for TITLE@. The number of lines in the selection body depends on the number of lines in the title part (one line less per additional title line).
MESSAGE@ = <var: pointer>
Specifies the address of a field containing the message to be displayed before any user selection.
MESSAGEL = <var: int 0..240>
Determines the length of a field with the message displayed before a selection is made by the user.
MARKL = 1 / <integer 1..75> / <var: int:1>
Maximal length of the mark value, hence the width of the mark column. The length limit of the rest of the selection line depends on this value (one character less per additional mark column character).
Additional error flags
(SC2) SC1 | Maincode | Meaning |
0C 01 0D 01 0E 01 0F 01 10 01 | 0008 0008 0008 0008 0008 | Parameter error: TITEMS Parameter error: TITEMSL Parameter error: MARKL Parameter error: MESSAGE@ Parameter error: MESSAGEL |
Additional programming notes
OUTPUT: | the macro suppresses the NULs (0x00) in the input mark fields i.e. it concatenates the characters of the input mark column if they are separated by NULs and it keeps the rest length filled with NULs. |
TITLE and MESSAGE: | the presented text can be longer than the text specified in the parameters because the macro inserts the carriage return such as to not cut short words in 2 lines. If the presented text is longer than 3 lines, it is truncated with "...". |
SDF-A V4.1H can be run in BS2000/OSD V10.0 and higher (with SDF V4.8B and higher).