When calling a non-Ideal subprogram, CA Ideal places the parameter list into the TWA before the call. To access the parameters, you must establish addressability to the data with the COBOL subprogram.
The following command-level CICS COBOL II subprogram uses two parameters:
IDENTIFICATION DIVISION. PROGRAM-ID. COB2PGM. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-370. OBJECT-COMPUTER. IBM-370. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. 01 TWA-LAYOUT. 02 TWA-ADDR-1 USAGE IS POINTER. 02 TWA-ADDR-2 USAGE IS POINTER. 01 FIRST-PARM PIC X(20). 01 SECOND-PARM. 02 ZONED-UNSIGNED PIC 99. 02 ZONED-SIGNED PIC S99. 02 PACKED-SIGNED PIC S9(4) COMP-3. 02 BINARY-SIGNED PIC S9 COMP. PROCEDURE DIVISION. ADDRESS-TWA. EXEC CICS ADDRESS TWA(ADDRESS OF TWA-LAYOUT) END-EXEC. SET ADDRESS OF FIRST-PARM TO TWA-ADDR-1. SET ADDRESS OF SECOND-PARM TO TWA-ADDR-2. SET-PARM-VALUES. MOVE 'FROM COBOL II ' TO FIRST-PARM. MOVE 22 TO ZONED-UNSIGNED. MOVE 33 TO ZONED-SIGNED. MOVE 4444 TO PACKED-SIGNED. MOVE 1 TO BINARY-SIGNED. RETURN-TO-IDEAL. EXEC CICS RETURN END-EXEC.
The following illustration shows program parameter definitions for COBOL II subprogram:
IDEAL: PARAMETER DEFINITION PGM COB2PGM (001) TEST COMMAND LEVEL FIELD NAME T I CH/DG OCCUR U ------ ----- ------------------- - - ----- ----- - ====== ===== ======= TOP ======= = = ===== ===== = 000100 1 COB-PARM1 X 20 U 000200 1 COB-PARM2 U 000300 2 COB-ZONE-U U Z 2 000400 2 COB-ZONE-SIGN N Z 2 000500 2 COB-PACKED N P 4 000600 2 COB-BINARY N B 1 ====== ===== ===== BOTTOM ====== = = ===== ===== =
The following illustration shows command-level CICS Assembler subprogram, two parameters:
SAMPASM DFHEIENT CODEREG= (12),DATAREG=(13),EIBREG=(11) B SAMPEP DC AL1(*-SAMPEP) DC CÆSAMPLE CMD LEVEL ASSEMBLERÆ
*----------------------------------------------------------------------------------* * This is a sample assembler application that could be called from CA Ideal. * * It passes two 01 level parameters. The first parameter contains two numeric * * fields that will be added together and passed back in the second parameter. * * * * REGISTER USAGE: * * 1 - INCOMING PARAMETER LIST * * 5 - BASE FOR FIRST PARAMETER * * 6 - BASE FOR SECOND PARAMETER * * 12 - BASE FOR THIS CODE * * 13 - CALLER'S SAVE AREA * * 14 - RETURN ADDRESS * *----------------------------------------------------------------------------------* SAMPEP DS OH EXEC CICS ASSIGN TWALENG(TWALENG) CLC TWALENG,=H'O' BE RETURN EXEC CICS ADDRESS TWA(1) *---------------------------------------------------------------------------------* * Two parameters passed, two addresses in the TWA * *----------------------------------------------------------------------------------* LM 5,6,0(1) USING PARAM1,5 Establish addressability to parms USING PARAM2,6 *----------------------------------------------------------------------------------* * The following code should be replaced with your own * *----------------------------------------------------------------------------------* ZAP SUM,ADD1 AP SUM,ADD2 *----------------------------------------------------------------------------------* * Return control to CA Ideal * *----------------------------------------------------------------------------------* RETURN DS OH EXEC CICS RETURN *----------------------------------------------------------------------------------* * PARAMETER DSECTS * * The following DSECT maps the first parameter * *----------------------------------------------------------------------------------* PARAM1 DSECT ADD1 DS PL3 ADD2 DS PL3 *----------------------------------------------------------------------------------* * The following DSECT maps the second parameter * *----------------------------------------------------------------------------------* PARAM2 DSECT SUM DS PL4 *----------------------------------------------------------------------------------* * The following DSECT is the program's local storage * *----------------------------------------------------------------------------------* DFHEISTG DSECT TWALENG DS H END
The following shows a non-Ideal subprogram parameter definition:
------------------------------------------------------------------------------------- IDEAL: PARAMETER DEFINITION PGM SAMPASM (001) TEST SYS: $ID DISPLAY Level Field Name T I Ch/Dg Occur U Comments/Dep on/Copy Command ===== ======= TOP ======= = = ===== ===== = ======================== ======= 1 ADDENDS 000100 2 FIRST_ADDEND N P 5 :DS PL3 ASSEMBLER 000200 2 SECOND_ADDEND N P 5 :DS PL3 ASSEMBLER 000300 1 RESULT N P 6 U :DS PL4 ASSEMBLER 000400 ===== ===== BOTTOM ====== = = ===== ===== = ==================== =======
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|