── INSTRUCTION ──<integer constant primary>────────────────────────────► ┌◄─────────────────────────┐ ►─┴─┬──────────────────────┬─┴─────────────────────────────────────────┤ └─ <instruction text> ─┘
Explanation
The INSTRUCTION statement supplies job instructions to operators. The integer constant primary must be in the range from 1 through 63. If the statement does not include an integer constant primary, a syntax error occurs.
An INSTRUCTION statement must be terminated by a semicolon (;) or the <i> construct. The list of string characters cannot include any semicolons. Once an INSTRUCTION statement has been declared with a number and a string message, you can reuse that instruction (make it the current instruction) by using the “INSTRUCTION <number>;” form of the statement.
As a WFL job executes, any INSTRUCTION statements encountered are stored in a table. When an INSTRUCTION statement is executed, the system marks it as the most current instruction until another INSTRUCTION statement is executed. At any point during execution of the job, any individual instruction can be displayed by number through the IB (Instruction Block) system command. If an instruction number is not specified, the system displays the most current instruction.
For further information, refer to the System Commands Reference.
<instruction text>
From 1 to 1500 EBCDIC characters. The characters can be any combination of letters, numbers, blanks, and punctuation except for the semicolon (;) character.
Examples
This first example shows simple INSTRUCTION statements.
INSTRUCTION 5 DS MY JOB IF NO FILE A; INSTRUCTION 2 MOUNT TAPE TEST3; INSTRUCTION 5;
The second “INSTRUCTION 5;” statement makes the “INSTRUCTION 5 DS MY JOB IF NO FILE A” the current instruction.
In the next example, the system needs tape TESTTAPE during execution of the COPY statement. If the operator asks for the most recent instruction, instruction 1 is displayed to indicate where TESTTAPE can be found. Subsequently, the job needs files T17 and T17A; an instruction request at that point causes instruction 2 to be displayed with instructions regarding the action to be taken if T17 and T17A are not present.
?BEGIN JOB COMPILE/TESTS; FAMILY DISK = USERS OTHERWISE DISK; INSTRUCTION 1 TESTTAPE IS IN TAPE RACK 3.; COPY = FROM TESTTAPE TO USERS(DISK); INSTRUCTION 2 IF T17 OR T17A WERE NOT COPIED FROM TESTTAPE TO USERS, DS THIS JOB AND LEAVE JK A NOTE; COMPILE TEST/17 WITH ALGOL LIBRARY; ALGOL FILE CARD(TITLE=T17, KIND=DISK); FILE F(TITLE=T17A); ?END JOB.