SET

The SET command resets AIB subfunction values and ZZ values before you issue a DL/I call.

Format

Read syntax diagramSkip visual syntax diagramSETSUBFUNCvariableZZvariableRSNAME1variableTIMERvariable
Call Name DB/DC DBCTL DCCTL DB Batch TM Batch
SET X X X X X

Usage

The SET SUBFUNC command sets the AIB subfunction used on the next DL/I call. This value is used only if the next REXXTDLI call passes a PCB name. If the call does pass a PCB name, the IMS adapter for REXX places the subfunction name (1 to 8 characters or blank) in the AIB before the call is issued. This value initially defaults to blanks and is reset to blanks on completion of any REXXTDLI DL/I call.

The SET ZZ command is used to set the ZZ value used on a subsequent DL/I call. This command is most commonly used in IMS conversational transactions and terminal dependent applications to set the ZZ field to something other than the default of binary zeros. Use the SET command before an ISRT call that requires other than the default ZZ value.

If you are issuing a synchronous callout request by making an ICAL call, the following usage rules apply:
  • The SET SUBFUNC command must be issued with the subfunction code set to SENDRECV.
  • The SET RSNAME1 command must be issued with the variable set to the OTMA Descriptor name.
  • Optionally, the SET TIMER command can be issued to set the ICAL timeout value. The timeout value must be numeric and can contain up to six digits.

Examples

This example shows the SET SUBFUNC command used with the INQY call to get environment information.
IO="IOPCB"
Func = "ENVIRON"                       /* Sub-Function Value */
Address REXXIMS  "SET SUBFUNC Func"    /* Set the value      */
Address REXXTDLI "INQY IO EnviData"    /* Make the DL/I Call */
IMS_Identifier = Substr(EnviData,1,8)  /* Get IMS System Name*/
This example shows the SET ZZ command used with a conversational transaction for SPA processing.
Address REXXTDLI 'GU IOPCB SPA'           /* Get first Segment         */
Hold_ZZ = IMSQUERY('ZZ')                  /* Get ZZ Field (4 bytes)    */
Address REXXIMS  'SET ZZ Hold_ZZ'        /* Set ZZ for SPA ISRT       */
Address REXXTDLI 'ISRT IOPCB SPA'        /* ISRT the SPA              */
This example shows the SET ZZ command used for setting 3270 Device Characteristics Flags.
Bell_ZZ = '0040'X                        /* ZZ to Ring Bell on Term   */
Address REXXIMS  'SET ZZ Bell_ZZ'        /* Set ZZ for SPA ISRT       */
Address REXXTDLI 'ISRT IOPCB Msg'        /* ISRT the Message          */