Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SETJV Set job variable

&pagelevel(4)&pagelevel

General

Domain:

Job variables

Macro type:

Type S (standard form/C/D/E/L form) see section “The MF operand”

In the C and D forms of the macro, a prefix (PREFIX = pre, where pre is 1..3 letters) can be specified (see section “The PREFIX operand”).

Default value: 

PREFIX=IDJ

Macro description

The SETJV macro assigns a value to a job variable and stores it in an area of the user program.

Macro call format and operand description

Operation

Operands

SETJV

jvid1 / (jvid1[,[start][,length]])

,area / ,EXPR = jvid2

[,PASS=password]

,VERSION=0 / 1

,PARMOD=24 / 31

,MF=S / C / (E,..) / D / L

,PREFIX=IDJ / pre


jvid1
Identifies the job variable; jvid can be:

jvname

Fully qualified path name of a permanent or temporary job variable.

*jvlink

Valid job variable link name.

start
Start position (first byte to be modified) in the JV value.

length
Number of characters to be set.

area
Address of an area in the user program containing the job variable value. The area must begin with a 4-byte length field whose first half word contains the length of the value + the 4-byte length field.

EXPR=jvid2
Specifies that the job variable “jvid” is to be set to the value of the job variable “jvid2”. The JV names permitted for “jvid2” are the same as those permitted for “jvid1” as well as those permitted for special job variables.

PASS=password
Read or write password.

VERSION=
Specifies which BS2000 version the macro expansion is to be compatible with.

0
Default value; the macro expansion is compatible with JV <= V8.7.
The operand MF=D/C, which generates a DSECT or CSECT respectively, is not supported in this version (see note on DSECT).

1
The macro expansion is compatible with JV >= V10.0.

PARMOD=
Controls macro expansion. Either the 24-bit or the 31-bit interface is generated.
PARMOD is evaluated only when VERSION=0 applies.
If PARMOD is not specified here, macro expansion is performed according either to the specification for the GPARMOD macro or 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.

MF=
PREFIX=
For a description of the MF and PREFIX operands, see section "The MF operand ".
Their permitted values are indicated at the beginning of the macro description and in the macro call format.


Note concerning the operand list

Unlike at command level, a length of 0 may be specified in the operand list; this then represents the overall job variable length.

Notes concerning the DSECT

  • Calling the SETJV macro with the operands MF=D and VERSION=1 generates a DSECT for the operand list of the SETJV macro (VERSION=1).

  • A CSECT/DSEC for the macro with VERSION=0 is generated by calling the macro IDJSE [D][,prefix] [,PARMOD=24/31].

Return information and error flags

see section "Macro level".

DSECT

  SETJV    SETJV MF=D,VERSION=1
1 SETJV    $SETJV ,,EXPR=,PASS=NONE,ENCR=YES,MF=D,                       C
1                PARMOD=,VERSION=1,CALLER=USER,                          C
1                PREFIX=IDJ,JVTYPE=STRING,NULLSTR=NO
2 **********************************************************************
2 *        VERSION 203
2 *********************************************************************** 
2 *       S E T J V   P A R A M E T E R   L I S T                       * 
2 *********************************************************************** 
2          #INTF REFTYPE=REQUEST,                                        C
2                INTNAME=SETJV,INTCOMP=002
2 SETJV    DSECT
2 *********************************************************************** 
2 *       UNIT=41, FUNCTION=1,   VERSION=2  (V10.0)                     * 
2 *********************************************************************** 
2          FHDR   MF=(C,IDJS)
3          DS    0A
3 IDJSFHE  DS    0XL8            0   GENERAL PARAMETER AREA HEADER
3 *
3 IDJSIFID DS    0A              0   INTERFACE IDENTIFIER
3 IDJSFCTU DS    AL2             0   FUNCTION UNIT NUMBER
3 *                                  BIT 15    HEADER FLAG BIT,
3 *                                  MUST BE RESET UNTIL FURTHER NOTICE
3 *                                  BIT 14-12 UNUSED, MUST BE RESET
3 *                                  BIT 11-0  REAL FUNCTION UNIT NUMBER
3 IDJSFCT  DS    AL1             2   FUNCTION NUMBER
3 IDJSFCTV DS    AL1             3   FUNCTION INTERFACE VERSION NUMBER
3 *
3 IDJSRET  DS    0A              4   GENERAL RETURN CODE 
3 *
3 * GENERAL_RETURN_CODE CLEARED (X'00000000') MEANS
3 * REQUEST SUCCESSFUL PROCESSED AND NO ADDITIONAL INFORMATION
3 *
3 IDJSSRET DS    0AL2            4   SUB RETURN CODE
3 IDJSSR2  DS    AL1             4   SUB RETURN CODE 2
3 * ALWAYS CLEARED (X'00') IF MAIN_RETURN_CODE IS X'FFFF'
3 * Standard subcode2 values as defined by convention:
3 IDJSR2OK EQU   X'00'               All correct, no additional info
3 IDJSR2NA EQU   X'01'               Successful, no action was necessary
3 IDJSR2WA EQU   X'02'               Warning, particular situation
3 IDJSSR1  DS    AL1             5   SUB RETURN CODE 1
3 *
3 * GENERAL INDICATION OF ERROR CLASSES
3 *
3 * CLASS A    X'00'           FUNCTION WAS SUCCESSFULLY PROCESSED
3 * CLASS B    X'01' - X'1F'   PARAMETER SYNTAX ERROR
3 * CLASS C    X'20'           INTERNAL ERROR IN CALLED FUNCTION
3 * CLASS D    X'40' - X'7F'   NO CLASS SPECIFIC REACTION POSSIBLE
3 * CLASS E    X'80' - X'82'   WAIT AND RETRY
3 *
3 IDJSRFSP EQU   X'00'               FUNCTION SUCCESSFULLY PROCESSED
3 IDJSRPER EQU   X'01'               PARAMETER SYNTAX ERROR
3 *  3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F'
3 IDJSRFNS EQU   X'01'               CALLED FUNCTION NOT SUPPORTED
3 IDJSRFNA EQU   X'02'               CALLED FUNCTION NOT AVAILABLE
3 IDJSRVNA EQU   X'03'               INTERFACE VERSION NOT SUPPORTED
3 *
3 IDJSRAER EQU   X'04'               ALIGNMENT ERROR
3 IDJSRIER EQU   X'20'               INTERNAL ERROR
3 IDJSRCAR EQU   X'40'               CORRECT AND RETRY
3 *  2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F'
3 IDJSRECR EQU   X'41'               SUBSYSTEM (SS) MUST BE CREATED
3 *                                  EXPLICITELY BY CREATE-SS
3 IDJSRECN EQU   X'42'               SS MUST BE EXPLICITELY CONNECTED
3 *
3 IDJSRWAR EQU   X'80'               WAIT FOR A SHORT TIME AND RETRY
3 IDJSRWLR EQU   X'81'                    "     LONG       "
3 IDJSRWUR EQU   X'82'               WAIT TIME IS UNCALCULABLY LONG
3 *                                  BUT RETRY IS POSSIBLE
3 *  2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'80' - X'82'
3 IDJSRTNA EQU   X'81'               SS TEMPORARILY NOT AVAILABLE
3 IDJSRDH  EQU   X'82'               SS IN DELETE / HOLD
3 *
3 IDJSMRET DS    0AL2            6   MAIN RETURN CODE
3 IDJSMR2  DS    AL1             6   MAIN RETURN CODE 2
3 IDJSMR1  DS    AL1             7   MAIN RETURN CODE 1
3 *
3 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY')
3 *
3 IDJSRLNK EQU   X'FFFF'             LINKAGE ERROR / REQ. NOT PROCESSED
3 IDJSFHL  EQU   8               8   GENERAL OPERAND LIST HEADER LENGTH
3 *
2 *********************************************************************** 
2 *  END OF STANDARD HEADER. START OF SPECIAL SETJV PARAMETER LIST      * 
2 *********************************************************************** 
2 IDJSHDRI      EQU   X'00290102',4
2 IDJSJV        DS    CL54                    JVNAME (JV TO BE SET)
2 IDJSPOS       DS    H                       SUBSTRING START POSITION
2 IDJSLEN       DS    H                       SUBSTRING LENGTH
2          DS    H                       RESERVED
2 IDJSPASS      DS    CL4                     PASSWORD
2          DS    XL12                    RESERVED
2 IDJSAR31      DS    A                       SET VALUE ADDR
2 IDJSLENV      DS    CL1                     LENGTH OF SET VALUE
2 *                                          ONLY USED BY CMD PROCESSING
2 IDJSJV2       DS    CL54                    JVNAME2 (JV TO BE READ)
2          DS    XL1                     ALIGNMENT
2 IDJSPOS2      DS    H                       SUBSTRING START POSITION
2 IDJSLEN2      DS    H                       SUBSTRING LENGTH
2 IDJSOP        DS    CL1                     RESERVED
2 IDJSF         DS    X                       FLAGS
2 IDJSFSE1      EQU   X'80'                   7-7 PRIV SETJV REQUEST
2 *                                          0=P1 CALLER,1=P2 CALLER
2 IDJSFRD       EQU   X'40'                   6-6 TYPE=READ
2 IDJSFWT       EQU   X'20'                   5-5 TYPE=WRITE
2 IDJSFUN       EQU   X'10'                   4-4 TYPE=UNLOCK
2 IDJSFSH       EQU   X'08'                   3-3 PROT=SHARE
2 IDJSFEX       EQU   X'04'                   2-2 PASSWD IS GIVEN
2 IDJSRW        EQU   X'02'                   1-1 RDPSTYPE=READ
2 IDJNOTF       EQU   X'01'                   0-0 NOTIF=NO
2 IDJSF1        DS    X                       FLAGS
2 IDJSENCR      EQU   X'80'                   7-7 0=YES, 1=NO
2 *                                          (ENCRYPTION)
2 IDJSF1NV      EQU   X'40'                   6-6 0=NO,  1=YES
2 *                                          (NUMERIC VALUE)
2 IDJSJVIX      EQU   X'20'                   5-5 0=NO,  1=YES
2 *                                          (JVID (1 OR 2) INDEXED)
2 *                                      4-4 RESERVED FOR MONJV-HANDLER
2 IDJSECT       EQU   X'08'              3-3 1=SET BY CMD PROCESSING
2 IDJSF1BV      EQU   X'04'                   2-2 0=NO,  1=YES
2 *                                          (BOOLEAN VALUE)
2 IDJSNSTR      EQU   X'02'                   1-1 0=NO,  1=YES
2 *                                          (NULLSTRING DEFINED)
2          DS    XL1                     ALIGNMENT
2 IDJSCTAD      DS    A                       CATALOG ENTRY ADDR 
2 IDJSJVER      DS    CL54                    JV IN ERROR
2          DS    XL2                     RESERVED
2 IDJSJVS       DS    A                       RESERVED
2 IDJSPLLN      EQU   *-SETJV              LENGTH OF DSECT
2 *********************************************************************** 
2          SPACE