This section contains a description of the restrictions which apply to non-SDF-P commands in S procedures as well as the restrictions for SDF-P commands during procedure execution.
(Branch) tags and AID sequences
(Branch) tags
Tags in the format .tag can be used only in connection with SKIP commands and the commands used for conditional job control (see below).
Tags in the format tag: can be used only with SDF-P commands.
AID sequences
AID sequences are sequences of commands to AID which are separated by semicolons.SDF-P control flow commands cannot be used in these sequences.
AID commands which are followed by a command or subcommand list cannot be created by means of variable replacement.
Non-SDF-P commands
ADD-CJC-ACTION (or ON)
Only ENTER-JOB, ENTER-PROCEDURE and MODIFY-JV commands are permitted in ADD-CJC-ACTION blocks.
BEGIN-PROCEDURE (or PROCEDURE)
Not supported.
CALL-PROCEDURE (or CALL)
A semicolon not enclosed in brackets and not in a comment is interpreted as a command separator.
CANCEL-PROCEDURE
If the CANCEL-PROCEDURE command is used in order to terminate an error situation, is must be preceded by the following commands:IF-BLOCK-ERROR
END-IF
DO (ISP command)
Should not be used when calling procedures in which procedure parameters are declared with TRANSFER-TYPE = *BY-REFERENCE.
A semicolon not enclosed in brackets is interpreted as a command separator.
EXIT-JOB (or ABEND)
If the EXIT-JOB command is used to terminate the job in the case of an error, it must be enclosed within the following commands:
IF-BLOCK-ERROR
END-IF
INTR (ISP command)
A semicolon not enclosed in brackets is interpreted as a command separator.
LOGOFF
If the LOGOFF command is used to terminate a job in an error situation, it must be enclosed by the following commands:IF-BLOCK-ERROR
END-IF
LOGON
Not supported.
PAUSE (ISP command)
The equals sign cannot be the first significant character. Otherwise, the command is interpreted as a value assignment (as SET-VARIABLE without a command name).
A semicolon not enclosed in brackets is interpreted as a command separator.
REMARK
As usual for SDF commands, it must be noted that
The equals sign cannot be the first significant character. Otherwise, the command is interpreted as a value assignment (as SET-VARIABLE without a command name).
A semicolon not enclosed in brackets is interpreted as a command separator.
Parentheses, single and double quotation marks, must not appear singly but only in matching pairs.
SET-JOB-STEP(STEP)
Cannot be created by means of variable replacement.
SET-LOGON-PARAMETERS
Is not supported.
SKIP-COMMANDS (ISP commands SKIP, SKIPJV, SKIPUS)
Can branch only to nesting level 0, i.e. only to the top block level.
TYPE (ISP command)
The equals sign cannot be the first significant character. Otherwise, the command is interpreted as a value assignment (as SET-VARIABLE without a command name).
A semicolon not enclosed in brackets is interpreted as a command separator.
WAIT-EVENT (and WAIT), MODIFY-JV-CONDITIONALLY
Since this permits only branch commands with non-S tags, the WAIT-EVENT command should not be used within blocks.
User-defined commands
You can use SDF to define your own commands. Such commands can be defined with the operand value “command-rest”, in which semantic semicolons are permitted.
If such commands are used in S procedures, it should be noted that - as usual in normal SDF commands:
The equals sign cannot be the first significant character. Otherwise, the command is interpreted as a value assignment (as SET-VARIABLE without a command name).
A semicolon not enclosed in brackets is interpreted as a command separator.
Parentheses, single and double quotation marks, must not appear singly but only in matching pairs.
SDF-P commands
EXIT-PROCEDURE
If the EXIT-PROCEDURE command is used to terminate the job in an error situation, it must be enclosed in the following commands:IF-BLOCK-ERROR
END-IF
MODIFY-PROCEDURE-TEST-OPTIONS
Has no effect on non-S procedures.
Restrictions for records
If the S procedure is an ISAM file, the records in this file are passed to the reading program without their ISAM keys.