HP 3000 Manuals

SET [ HP Transact Reference Manual ] MPE/iX 5.0 Documentation


HP Transact Reference Manual

SET 

Alters execution control parameters, sets the match, update, or key
registers, sets the list register stack pointer, sets up data for
subsequent display on a VPLUS form, or sets alternate delimiters.

Syntax 

SET(modifier) target;

The function of SET depends on the verb's modifier, and the different
modifiers determine the syntax of the statement.  The allowed modifiers
and the associated syntax options are:

COMMAND       Specifies Transact commands.  (See Syntax Option 1.)

DELIMITER     Specifies Transact delimiters.  (See Syntax Option 2.)

FORM          Specifies data transfer to a VPLUS form buffer for
              subsequent display.  (See Syntax Option 3.)

KEY           Sets the value of the key and argument registers.  (See
              Syntax Option 4.)

LANGUAGE      Specifies the native language used by Transact.  (See
              Syntax Option 5.)

MATCH         Sets up match selection criteria in the match register.
              (See Syntax Option 6.)

OPTION        Specifies various execution control parameters.  (See
              Syntax Option 7.)

PROPER        Specifies delimiters for upshifting the next letter.  (See
              Syntax Option 8.)

STACK         Changes the value of the stack pointer for the list
              register.  (See Syntax Option 9.)

UPDATE        Sets the value of the update register.  (See Syntax Option
              10.)

The DELIMITER, KEY, OPTION, and UPDATE modifiers are restored at the end
of a LEVEL.

Syntax Options 

(1) SET(COMMAND) argument;

SET(COMMAND) programmatically invokes command mode and performs any
command identified in argument.

argument      The commands specified in the argument parameter can be any
              of the following:

              EXIT          Generates an exit from Transact; control
                            passes to the operating system or calling
                            program.

              INITIALIZE    Generates an exit from the current program
                            and causes Transact to prompt for a different
                            program name, which it will then initiate.

              COMMAND       Lists the commands or subcommands defined in
              [(command-    the currently loaded program.  If a
              label)]       particular command-label is specified, it
                            lists all the subcommands associated with
                            that command; if no command-label, it lists
                            all the commands in the program.

              "input-       Specifies possible user responses to command
              string"       prompts and/or to prompts issued by PROMPT,
                            DATA, or INPUT statements.  This construct
                            allows the program to simulate user responses
                            to prompts.  This option transfers control to
                            and executes any command sequences specified
                            by input-string.  The code does not return
                            automatically to the point from which it was
                            called.  The maximum length of the
                            input-string is 256 characters.

Examples of SET(COMMAND) 

This statement lists all the commands in the current program and returns
to the next statement.

     SET(COMMAND) COMMAND;

This statement lists all the subcommands in the command sequence
beginning with $$ADD and returns to the next statement.

     SET(COMMAND) COMMAND(ADD);

This statement executes ADD ELEMENT until the user enters "]" or "]]".
It then returns to command mode and issues the ">" prompt for another
command.

     SET(COMMAND) "REPEAT ADD ELEMENT";

This statement executes the code associated with the command/subcommand:

     SET(COMMAND) "ADD CUSTOMER";

and results in:

     $$ADD:
         $CUSTOMER:

It does not return.

(2) SET(DELIMITER) "delimiter-string";

SET(DELIMITER) replaces Transact's input field delimiters ("," and "="
described in Chapter 5) with the delimiter characters specified in the
delimiter string.  A blank is not a valid delimiter.  A maximum of eight
characters can be defined as a delimiter-string.

For example:

If           Then Transact:
delimiter- 
string is:

"#/"         recognizes the characters "#" and "/" as field delimiters.

"" ""        recognizes quotation marks as field delimiters.

" "          recognizes no delimiters, which means the user cannot enter
             multiple field responses.

(3) SET(FORM) form[,option-list];

SET(FORM) is used prior to another statement that actually displays the
form.  It can be used to transfer data to the VPLUS form buffer for
subsequent display by a GET(FORM), PUT(FORM), or UPDATE(FORM) statement.
It can also be used to set up window messages and field enhancements for
subsequent displays.

However, even though the SET(FORM) statement performs a VGETBUFFER (when
there are items to transfer), the data returned from the VPLUS form
buffer is not made available to the programmer.  This is because the data
is not directly transferred to the data register, but to an internal
buffer.

Used with the LIST= option, SET(FORM) allows you to initialize fields in
a VPLUS form with values from the data register rather than with values
specified through FORMSPEC. The internal buffer holding the data from the
VPLUS form buffer is partially or completely overlaid with data from the
data register, depending on the items specified in the LIST= option.
Once the overlay is complete, the VPUTBUFFER intrinsic is used to move
the data back to the VPLUS form buffer.

With the inclusion of other options, SET(FORM) also provides form
sequence control for the specified form and for the next form after that
form.

SET(FORM) opens the forms file, but not the terminal.  By default,
Transact gets records formatted for a 264X terminal.  If a different
terminal is being used, a verb which opens the terminal (e.g., GET(FORM)
or PUT(FORM)) should precede the SET. Information will therefore be
available to tell SET to use a different format.

form       A form in the VPLUS forms file that is used for the subsequent
           display.  It can be specified as one of the following:

           form-name     Name of the form as defined by FORMSPEC.

           (item-name    Name of an item that contains the form name.  It
           [(sub-        can be subscripted if an array item is being
           script)])     referenced.  (See "Array Subscripting" in
                         Chapter 3.)

           *             The form identified by the "current" form name;
                         that is, the form name most recently specified
                         in a Transact statement that references VPLUS
                         forms.  Note that this does not necessarily mean
                         the form currently displayed.

           &             The form identified as the "next" form name;
                         that is, the form name defined as "NEXT FORM" in
                         the FORMSPEC definition of the current form.

option-    One or more of the following options, separated by commas,
list       should be specified in a SET(FORM) statement:

           _____________________________________________________________ 

           NOTE  The scope of the APPEND, CLEAR, and FREEZE options is
                 both the previous form (accessed by the last form
                 specification before this SET operation) and the current
                 form.  Therefore, if the CLEAR option is used, not only
                 will the previous form be CLEARed when the specified
                 form is displayed, but also the current form will be
                 CLEARed when the next form is displayed.  This happens
                 regardless of the FORMSPEC definitions of the two forms.

           _____________________________________________________________ 

           APPEND        Appends the next form to the specified form,
                         overriding any current or next form processing
                         specified for the form in its FORMSPEC
                         definition.  APPEND sets the FREEZAPP field of
                         the VPLUS comarea to 1.

           CLEAR         Clears the specified form when the next form is
                         displayed, overriding any freeze or append
                         condition specified for the form in its FORMSPEC
                         definition.  CLEAR sets the FREEZAPP field of
                         the VPLUS comarea to zero.

           CURSOR=       Positions the cursor within the specified field.
           field-name    Field-name identifies the field and the
           |item-name    item-name identifies the item which names the
           [(sub-        field.  The item-name can be subscripted if an
           script)]      array item is being referenced.  (See "Array
                         Subscripting" in Chapter 3.)

                         If this option is omitted, the cursor is
                         positioned in the form's default field.

                         _______________________________________________ 

                         NOTE  To ensure that the cursor will be
                               positioned on the correct field, you must
                               have a one to one correspondence between
                               the fields defined in VPLUS. Transact
                               determines where to position the cursor by
                               counting the fields.

                         _______________________________________________ 

           FEDIT         After transferring data to the form, perform any
                         field edits specified in the FORMSPEC definition
                         for the form.

           FREEZE        Freezes the specified form on the screen when
                         the next form is displayed, and append the next
                         form to it.  FREEZE sets the FREEZAPP field of
                         the VPLUS comarea to 2.

           INIT          Initializes the fields in the specified form to
                         any initial values defined for the forms by
                         FORMSPEC, or performs any Init Phase processing
                         specified for the form by FORMSPEC.

           LIST=         The list of items from the list register to be
           (range-list)  transferred from the data register to the VPLUS
                         buffer for subsequent.  processing.  The list
                         can include child items.  If this option is
                         omitted, items that appear in both the list
                         register and SYSTEM definition for the form are
                         transferred.

                         For all options of range-list, the data items
                         selected are the result of scanning the data
                         items in the list register from top to bottom,
                         where top is the last or most recent entry.
                         (See Chapter 4 for more information on
                         registers.)

                         The LIST= option has a limit of 64 individually
                         listed item names and a limit of 128 items
                         specified by a range.

                         The options for range-list and the records upon
                         which they operate include the following:

                         (item-name)   A single data item.

                         (item-nameX:  All the data items in the range
                         item-nameY)   from item-nameX through
                                       item-nameY. In other words, the
                                       list register is scanned for the
                                       occurrence of item-nameY closest
                                       to the top of the list register.
                                       From that entry, the list register
                                       is scanned for item-nameX. All
                                       data items between are selected.
                                       An error is returned if item-nameX 
                                       is between item-nameY and the top
                                       of the list register.

                                       Duplicate data items can be
                                       included or excluded from the
                                       range, depending on their position
                                       on the list register.  For
                                       example, if range-list is A:D and
                                       the list register is as shown,

[]
then data items A, B, C, D, and D are selected. (item- All data items in the range from nameX:) the last entry through the occurrence of item-nameX closest to the top of the list register. (:item- All data items in the range from nameY) the occurrence of item-nameY closest to the top through the bottom of the list register. (item-nameX, The data items are selected from item-nameY, the list register. For VPLUS ... forms, data items must be item-nameZ) specified in the order of their occurrence in the form. This order need not match the order of the data items on the list register. Child items can be included in the list as long as they are defined in the VPLUS form. This option incurs some system overhead. (@) Specifies a range of all data items of form as defined in a dictionary. The range-list is defined as item-name1:item-namen for the file. (#) Specifies an enumeration of all data items of form as defined in the data dictionary. The data items are specified in the order of their occurrence in the form as defined in the dictionary. This order need not match the order of the data items in the list register. ( ) A null data item list. Does not retrieve any data. WINDOW= Places a message in the window area of the ([field], screen and, optionally, enhances a field in the message) form. The enhancement is done according to the definition of the form in FORMSPEC. If the LIST=( ) option is in effect, the window message overwrites any previous window messages for the form, but the field enhancement is in addition to any field enhancement already on the form. The parameters field and message can be specified as follows: field Either the name of the field to be enhanced, or an item-name[(subscript)] within parentheses whose data register value is the name of the field to be enhanced. The item-name can be subscripted if an array item is being referenced. (See "Array Subscripting" in Chapter 3.) message Either a "string" of characters within quotes that comprises the message to be displayed, or an item-name[(subscript)] within parentheses whose data register value is the message string to be displayed in the window. The item-name can be subscripted if an array item is being referenced. (See "Array Subscripting" in Chapter 3.) Examples of SET(FORM) This statement clears any prior forms from the screen when a subsequent statement displays the form MENU. If MENU is the current form, this statement clears the MENU when the next form is displayed, regardless of the value of the MENU's FREEZAPP option. SET(FORM) MENU, CLEAR; This example moves a value from the data register area identified by LIST-DATE to the VPLUS buffer for subsequent display by GET(FORM). It also sets up a field to be enhanced and a message for display when GET(FORM) displays LIST-FORM. SET(FORM) LIST-FORM, LIST=(LIST-DATE), WINDOW=(LIST-DATE,"Only enter orders for this date"); GET(FORM) *, LIST=(ORDER-NO:QTY-ON-HAND); This example is highly general. The first PUT(FORM) statement displays whatever form is identified by FORMNAME and freezes that form on the screen. SET(FORM) then specifies that the value of ITEM-A is to be displayed and enhanced in the next form and also specifies a message (MESSAGE) to be issued when the next form is displayed by the subsequent PUT(FORM) statement. PUT(FORM) (FORMNAME), FREEZE; SET(FORM) &, LIST=(ITEM-A), WINDOW=((ITEM-A), (MESSAGE)); PUT(FORM) *, WAIT=F1; (4) SET(KEY) LIST ({item-name}); { * } SET(KEY) sets the key and argument registers to the values associated with item-name in the list and data registers. Transact generates an error message at execution time if the item name cannot be found in the list register. You typically use this modifier on multiple data set operations where the necessary key value has been retrieved by a previous operation. If an * is used as the item-name, the last item added to the list register is used. Examples of SET(KEY) The example below identifies the key as the item named ACCT-NO and moves the associated value in the data register to the argument register for the subsequent data set retrieval by the OUTPUT statement. SET(KEY) LIST(ACCT-NO); OUTPUT(CHAIN) ORDER-DETAIL, LIST=(ACCT-NO:QTY-ON-HAND); (5) SET(LANGUAGE) [language[,STATUS]]; The SET(LANGUAGE) statement allows the programmer to specify or change the native language at run time. The user can either specify a literal language name or number in quotes (which is checked at compile time) or give the name of an item which will contain the language number at run time. This item must begin on a 32-bit storage boundary. It can be subscripted if an array item is being referenced. If the operation is successful, Transact sets the status register to the number of the language in effect before the language is changed. If an error results, Transact returns the error message to the user, sets the status register to -1, and leaves the native language unchanged. If STATUS is specified, Transact suppresses the error message, and the contents of the status register is the same as described above. If you omit language, Transact sets the status register to the number of the current language and then resets the language number to 0 (NATIVE-3000). A compiler error results if the STATUS option is specified without language. For more information see Appendix E, "Native Language Support." (6) SET(MATCH) LIST ({item-name})[,option-list]; { * } SET(MATCH) sets up a match criterion in the match register using the specified item name from the list register and its current value in the data register.[REV BEG] If the item name is an unsubscripted array, only the value in the data register for the first element of the array will be set up as match criterion in the match register.[REV END] The resulting match criterion is used for subsequent data set and file operations. By default, the relation between the item name and its value is equality. You can choose another relational operator from option-list. If an * is specified, the last item added to the list register is used. You can set up as many match criteria as you desire using separate SET(MATCH) statements for each. Match criteria set up with the same item name and no option, or the same item name and one of the options LEADER, TRAILER, or SCAN, are joined by a logical OR; those set up with different item names or with one of the options NE, LT, LE, GT, or GE are joined by a logical AND. (See the PROMPT(MATCH) and DATA(MATCH) descriptions in this chapter for other ways to set up match criteria.) option- Any one of the following options can be selected: list NE Not equal to LT Less than LE Less than or equal to GT Greater than GE Greater than or equal to LEADER Matched item must begin with the input string; equivalent to the use of trailing "^" on input SCAN Matched item must contain the input string; equivalent to the use of trailing "^^" on input TRAILER Matched item must end with the input string; equivalent to the use of a leading "^" on input Examples of SET(MATCH) This example sets up the match register with the selection criterion shown below: LET (QTY-ON-HAND) 10; SET(MATCH) LIST (QTY-ON-HAND), LT; +-------------+ | QTY-ON-HAND | | less than | | 10 | +-------------+ These statements set up the match register with the selection criteria shown below. Note that criteria with the same item name are joined by a logical OR, those with a different name by a logical AND. These criteria select entries whose value for STATE is either CA or NM and whose value for DATE is 010192. MOVE (STATE) = "CA"; SET(MATCH) LIST(STATE); MOVE (STATE) = "NM"; SET(MATCH) LIST(STATE); LET (DATE) = 010192; SET(MATCH) LIST(DATE), GE; +-----------------------------------------------+ | STATE STATE DATE | | equal to OR equal to AND greater than | | "CA" "NM" 010192 | +-----------------------------------------------+ (7) SET(OPTION) option-list; SET(OPTION) and one or more option fields included in option-list set the Transact command options or override default execution parameters. The options in option-list are separated by commas. option- Select one or more of the following options: list AUTOLOAD Causes VPLUS forms to be loaded automatically into the local form storage of the terminal at the time the form is displayed if the FSTORESIZE parameter is specified in the SYSTEM statement. Chapter 5 contains more information about the AUTOLOAD option under "Local Form Storage". DEPTH=number Sets the terminal display area depth to a line count of number. The default value is 22. The depth value defines how many lines are displayed on the terminal before Transact automatically generates the prompt "CONTINUE(Y/N)?". This option allows the video terminal user to view a listing in a controlled page mode. If number is 0, information is displayed continuously on the terminal, with no generation of the "CONTINUE (Y/N)?" prompt. END=label Transact branches to the statement marked label if an end of sequence is encountered, either by an explicit or implicit END or by "]" or "]]" input in response to a prompt at execution time. This control function can be re-assigned to a different label or reset at any point in the program logic. By default, the list register is reset before the END sequence block executes. However, if a REPEAT option or command is in effect, the list register is not reset until the END block is executed.Once the END block is executed, this option is automatically reset. FIELD[="ab"] Enhances or changes the prompts for data item fields on the terminal display. (This option with no parameter has the same effect as the FIELD command qualifier, described in Chapter 5.) By default, an item name prompt issued by a PROMPT or DATA statement shows the item name followed by the character ">". The parameters a and b specify alternate display options, where a specifies the leading prompt character, b specifies the trailing prompt character. If a is a caret, "^", then the leading prompt character is suppressed. If both a and b are omitted, the FIELD option encloses the response field with the delimiters ">" and "<". If the statement is: then the prompt is: SET(OPTION) FIELD; NAME> field-length < SET(OPTION) FIELD=":"; NAME: SET(OPTION) FIELD="^"; NAME SET(OPTION) FIELD="[]"; NAME[ field-length ] Note that the cursor is positioned in the second character position following the left delimiter. If no delimiter is used, the cursor is positioned in the second character position following the field name. Normally b sets the trailing prompt character to its value; however, if b is one of the characters "A" through "O" or "@", entry fields are enhanced as described in the forms caching terminal user handbooks. For example: SET(OPTION) FIELD= " J"; This statement enhances the response field with half bright inverse video. Transact enhances (or delimits) the number of spaces that represent the field length, except in two circumstances: * If the field being prompted for is longer than the space available on the current line on the screen, Transact only enhances (or marks with a right. delimiter) the rest of the line. * The length of the response to a DATA(MATCH) or PROMPT(MATCH) prompt cannot be known in advance, since the response might include operators and multiple values. Therefore, Transact highlights or delimits only the rest of the line. FORMSTORE= Loads the VPLUS forms in form-store-list into (form-store- local storage memory of a forms caching list) terminal. This reduces datacomm overhead with frequently used forms and causes the form to appear all at once instead of being painted line by line on the screen. Form-store-list can either be a list of VPLUS forms separated by commas or the name, enclosed in an additional set of parentheses, of a data item containing such a list. The data item can be subscripted. Forms belonging to different families can appear in the same list. To use local form storage, you must include the FSTORESIZE parameter in the SYSTEM verb. (See the FSTORESIZE parameter in the SYSTEM verb entry in this chapter.) The RESET(OPTION) FORMSTORE statement is not required with the SET(OPTION) FORMSTORE statement. (See the explanation of the RESET(OPTION) FORMSTORE statement in the RESET verb description in this chapter. Chapter 5 contains more information about the SET(OPTION) FORMSTORE statement under "Local Form Storage".) The following example loads four forms. SET(OPTION) FORMSTORE=(MENU,ADDPROD,CHGPROD,DELPROD); The following commands do the same as above with a data name specified as form-store-list. DEFINE(ITEM) FORMLIST X(40); : LIST FORMLIST; MOVE (FORMLIST) = "MENU,ADDPROD,CHGPROD,DELPROD"; SET(OPTION) FORMSTORE=((FORMLIST)); ____________________________________________ NOTE When local form storage is enabled, VPLUS automatically configures the 2626A and 2626W terminals to use datacomm port 1 and removes the HPWORD configuration from the 2626W terminal. ____________________________________________ HEAD Generates headings for the next DISPLAY verb encountered with the TABLE option, regardless of page position. LEFT Left-justifies data items for any subsequent displays set up by the DISPLAY or OUTPUT statements. Since this is the default option, it is normally used to reset justification after a SET(OPTION) RIGHT or ZEROS statement. NOBANNER Suppresses the default page banner containing date, time, and page number on any subsequent displays set up by the DISPLAY or OUTPUT statements. The default printer page depth then becomes 60. NOHEAD Suppresses data item headings on any subsequent displays set up by the DISPLAY or OUTPUT statements. NOLOCK Disables the automatic locking of a database opened in mode 1 for a DELETE, PUT, REPLACE, or UPDATE operation. NOLOCK does not reset the LOCK option specified with a database access verb (DELETE, FIND, GET, OUTPUT, PUT, REPLACE, or UPDATE). Use NOLOCK when you want to set up data set or data item locks through a PROC statement or when you are locking with the LOCK option on the LOGTRAN verb. (See Chapter 6 for more information on locking.) The NOLOCK option is turned off when processing crosses a barrier between command sequences. Therefore, NOLOCK must be set in each command sequence to which it applies. NOLOOKAHEAD Disables look-ahead loading, which is the default option when local form storage is used. Setting the NOLOOKAHEAD option has the effect of protecting explicitly loaded forms from being overwritten by automatically loaded forms. Chapter 5 contains more information about look-ahead loading under "Local Form Storage". PALIGN=number Right-justifies the prompts on a display device to column number on the display screen. PDEPTH=number Sets the printer page depth to a line count of number. The default value is 58 unless the NOBANNER option is specified, in which case the default value is 60. If number is 0, the page heading is suppressed on any subsequent displays directed to the printer. PRINT Sets the PRINT option. Any displays generated by the DISPLAY or OUTPUT statements are directed to the line printer instead of to the user terminal. This option has the same effect as the PRINT command qualifier. (See Chapter 5.) You can redirect results to the printer immediately by using this option before issuing a DISPLAY or OUTPUT statement, and then closing the print file with a CLOSE $PRINT statement. For example: SET(OPTION) PRINT; DISPLAY "PRINT THIS NOW"; CLOSE $PRINT; PROMPT=number Sets the line feed count between prompts issued by the PROMPT, DATA, or INPUT statements to number. The default value is 1. PWIDTH=number Sets the printer line width to a character count of number. The default value for PWIDTH is 132 and the maximum is 152. REPEAT Sets the REPEAT option. At execution time, Transact repeats the associated statement sequence until the user enters one of the following special characters: ] Terminates execution of the current command sequence and passes control to the first statement in the sequence. However, if there is an active SET(OPTION) END= label, the block introduced by label is executed before control is passed to the first statement of the command sequence. ]] Terminates repeated execution of this command sequence and passes control to command mode regardless of the command level or subcommand level. However, if there is an active SET(OPTION) END= label statement, the block introduced by label is executed before control is passed to command mode. The list register is reset before the current command sequence is repeated. The user can enter "REPEAT" and then a command name during execution to control a loop. This option has the same effect as the REPEAT command qualifier. Information on this procedure is in Chapter 5 under "Command Qualifiers." RIGHT Right-justifies data item values for any subsequent displays set up by the DISPLAY or OUTPUT statements. SORT Sets the SORT option. Any listing generated by subsequent OUTPUT statements is sorted before display. The sort is performed in the order that the display fields appear in the list register. This option has the same effect as the SORT command qualifier. (See "Command Qualifiers" in Chapter 5.) SUPPRESS Suppress blank lines of data; only the first of a series of blank lines is sent to the line printer. TABLE Right-justifies numeric fields and left-justifies alphabetic fields for display. TPRINT Sets the TPRINT option. Any displays generated by the DISPLAY or OUTPUT statements and directed to the terminal are line printer formatted. This option has the same effect as the TPRINT command qualifier. (See "Command Qualifiers" in Chapter 5.) VPLS=item-name Informs Transact that you want to reference [(subscript)] the VPLUS comarea directly. It directs error messages to the window, and moves the VPLUS comarea to the area in the data register identified by item-name. The item-name can be subscripted if an array item is being referenced. (See "Array Subscripting" in Chapter 3.) Item-name is the name of a data field containing all or part of the VPLUS comarea, depending on the size of the specified item. When this option is used as much of the current VPLUS comarea as will fit in the specified item is moved to the data register area associated with that item. You can then examine or change comarea fields. A SET(OPTION) VPLS statement must be followed by a RESET(OPTION) VPLS statement before any Transact statements can be used to manipulate the forms within the same Transact system and level. Otherwise, Transact returns to command mode and issues an error message. If you plan to open the forms file and terminal with PROC statements, you should use a SET(OPTION) VPLS statement just before you place the terminal in block mode with a call to VOPENTERM. Reset with a RESET(OPTION) VPLS statement following the call to VCLOSETERM to return the terminal to character mode. If you do not call VOPENTERM or VCLOSETERM directly, or if you do not plan to reference the comarea directly, you need not use SET(OPTION) VPLS. Instead, in these cases, use the VCOM parameter of the PROC statement. (See the PROC verb description.) If the VPLUS form is already open, you can use this option in conjunction with a RESET(OPTION) VPLS statement to retrieve or change comarea values. For example, you could change the window enhancement in the VPLUS comarea: DEFINE(ITEM) COMAREA X(16): <<First eight words, comarea >> WINDOW-ENH X(1) <<Right byte of eighth word >> = COMAREA(16); LIST COMAREA; : UPDATE(FORM) *; SET(OPTION) VPLS=COMAREA; MOVE (WINDOW-ENH)="K"; <<Half bright, inverse video >> RESET(OPTION) VPLS; WIDTH=number Sets the terminal line width to a character count of number. The default value is 79. ZERO[E]S Right-justifies numeric data item values and inserts leading zeros for any subsequent displays set up by the DISPLAY or OUTPUT statements. Examples of SET(OPTION) This statement aligns the prompt character on column 25, with two blank lines between the prompt lines. SET(OPTION) PALIGN25,PROMPT=2; This statement sorts subsequent OUTPUT listings to the terminal. It suppresses item headings and suppresses the usually automatic "CONTINUE (Y/N)?" prompt. SET(OPTION) NOHEAD,SORT,DEPTH=0; (8) SET(PROPER) "delimiter-string"; SET(PROPER) replaces the default characters that cause the next letter to be upshifted with the delimiter characters specified in the delimiter string. This statement is used in conjunction with the PROPER function on the MOVE verb. A maximum of 256 characters can be defined as the delimiter-string. The double quote character (") can be made one of these delimiter characters by including 2 consecutive double quotes ("") anywhere in the delimiter-string. Use the RESET(PROPER) verb to reset the delimiter which was set to the default set. Examples of SET(PROPER) SET(PROPER) " -;,:""0123456789"; MOVE (NAME) = PROPER((NAME)); Before After NAME X(12) 1doe's_joe,p 1Doe's_Joe,P SET(PROPER) " .&"; MOVE (LNAME) = PROPER("mr.&ms.smith-jones"); Before After LNAME X(18) Mr._John_Smith,jr. Mr.&Ms.Smith-jones (9) SET(STACK) LIST ({item-name}); { * } SET(STACK) moves the stack pointer for the list register from the current position to the one identified by item-name. Transact begins the search at the data item prior to the current (last) one in the list register and performs a reverse scan to the beginning of the list. Transact generates an error at execution time if it cannot find the data item in the list register. The scan does not move the stack pointer, which is moved only when the search finds the first occurrence of the data item. The stack pointer will not be moved if item-name is the current data item and it occurs only once in the list register. When the stack pointer moves down the list register, the items above the new current item are removed from the list register. When a data item has more than one appearance in the list register, each occurrence can be located by using additional SET(STACK) statements. You typically use SET(STACK) to manipulate the list register for more than one file or data set operation or to redefine the data register contents. You can choose to redefine the data register contents for the following reasons: * To transfer values from one data item to another in a different set, * To access subfields of a data item by adding several item names in place of the original item name, or * To manipulate data item arrays. Examples of SET(STACK) To move the stack pointer for the list register from the current data item to the item immediately prior to it, use the following format: SET(STACK) LIST(*); The next statement moves the stack pointer back to the item PROD-NO and removes all items above it. If PROD-NO appears more than once in the list register, the pointer is set to the first occurrence of this item going back down the list; that is, the item nearest the top of the list register stack. SET(STACK) LIST(PROD-NO); (10) SET(UPDATE) LIST({item-name}); { * } SET(UPDATE) specifies that the item-name in the list register and the current value for item-name in the data register are to be placed in the update register for a subsequent file or data set operation using the REPLACE verb. If * is used as the item name, the current item name is used.
NOTE A child item value placed in the UPDATE register is overridden by its parent's value if the parent value was placed in the update register before it.


MPE/iX 5.0 Documentation