General
Application areas: | Requesting and accessing lists and tables; see "Requesting and accessing lists and tables" |
Macro type: | Type S, MF format 1: 24-bit interface: standard/E/L form |
A job begins with the SET-LOGON-PARAMETERS command and ends with the EXIT-JOB command. A job can also be created by transferring a procedure file to the system using the ENTER-PROCEDURE command. A job is categorized in a job class by the operating system according to its job data (attributes). Both user-specific (accounting) data and jobspecific data (job name, job class, job priority, start time,...) are included in the job data. The user transfers the latter specifications to the operating system in the SET-LOGON-PARAMETERS or ENTER-JOB or ENTER-PROCEDURE commands.
Macro description
The JINF macro transfers a list of job data to an area to be specified. The list is subdivided into data that is specified in the SET-LOGON-PARAMETERS or ENTER-JOB command and data on the current job (job start time, number of job repetitions). The DJINF macro generates a description (DSECT/data section) of the output list. The lengths of the areas to be created should be taken from this description.
In 31-bit addressing mode, the area to be created (PARLIST=...) must start with the standard header.
Macro format and description of operands
JINF |
{ [PARMOD=24] [,JATTR={addr / (r)}] [,RUNTIME={addr / (r)}] [,MF={L / (E,..)}] / [PARMOD=31],PARLIST={addr / (r)} } |
PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
If PARMOD is not specified here, macro expansion is performed according to the specification for the GPARMOD macro or according to the default setting for the assembler (= 24-bit interface).
24
The 24-bit interface is generated. Data lists and instructions use 24-bit addresses. (Address space <= 16 Mb).
31
The 31-bit interface is generated. Data lists and instructions use 31-bit addresses. (Address space <= 2 Gb). Data lists start with the standard header.
JATTR=
Defines the address of an area to receive the job data at job generation time. The area should be aligned on a word boundary.
addr
Symbolic address (name) of the area.
(r)
Register containing the address value “addr”.
RUNTIME=
Defines the address of an area to receive the current job data (job start time, number of job repetitions). The area should be aligned on a word boundary.
addr
Symbolic address (name) of the area.
(r)
Register containing the address value “addr”.
PARLIST=
Gives the address of an area to receive the job data. The area should be aligned on a word boundary and must start with the standard header. When using the data list created by means of DJINF, the standard header is initialized automatically; in all other cases, it is the user's task to initialize the standard header.
addr
Symbolic address (name) of the area.
(r)
Register containing the address value “addr”.
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see "S-type macros". The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
Return information and error flags
During macro processing, register R1 contains the operand list address.
R15:
+---------------+ | | | | | |0|0|a|a|a|a|a|a| +---------------+
A return code relating to the execution of the JINF macro is transferred in register R15.
X'aaaaaa' | Meaning |
X'000000' | Normal execution. |
X'000008' | Operand error or insufficient length or PARLIST specified with PARMOD=24. |
X'00000C' | System error. |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).
Example
JINF START JINF AMODE ANY PRINT NOGEN BALR 3,0 USING *,3 JINF PARLIST=JIJOBDPL,PARMOD=31 —————————————————————————————— (1) MVC EMPF1,JIJOUID ——————————————————————————————————————————— (2) MVC EMPF2,JIJOACC MVC EMPF3,JIJOJCLA MVC EMPF4,JIJOTSN WROUT AUS1,ERROR,MODE=LINE,PARMOD=31 TERM TERM ERROR TERM DUMP=Y DS 0F AUS1 DC Y(AUS1END-AUS1) DS CL3 DC C'USER ID: ' EMPF1 DS CL8 F1 DC X'15' DC C'ACCOUNT NUMBER: ' EMPF2 DS CL8 F2 DC X'15' DC C'JOB CLASS: ' EMPF3 DS CL8 F3 DC X'15' DC C'TSN: ' EMPF4 DS CL4 AUS1END EQU * DJINF DSECT=NO,PARLIST=YES ———————————————————————————————————— (3) END
This program, in conjunction with the use of the symbolic names in the data list (macro DJINF) output certain job data (user ID, account number, job class, task sequence number = TSN). The program is executed in 31-bit addressing mode.
Runtime log:
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,jinf), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,jinf)) % ASS6011 ASSEMBLY TIME: 344 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 81 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=jinf % BLS0523 ELEMENT 'JINF', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'JINF', VERSION ' ' OF '<date> <time>' LOADED USER ID: QM212 ———————————————————————————————————————————————————— (4) ACCOUNT NUMBER: 89002 JOB CLASS: JCDSTD TSN: 2QSE
(1) | The JINF macro is called. |
(2) | Transfer the job data to the output field and output it line by line with the WROUT macro. |
(3) | The DJINF macro is called to generate the data list (output area). The initialization values for the standard header are entered. |
(4) | Line-by-line output to SYSOUT of the selected job data. |