Subject: Re: use GETSYMB macro under CICS
lezvse@aapt.net.au
Date: Thu Jun 12 2008 - 20:40:12 EDT
Hi Frank,
Without looking at the dump etc its a bit hard to tell from just the CICS
messages what went wrong. But looking at your assembler program the first thing
that stands out is that is non-reentrant. Depending upon how the
programs/transaction is defined this may not go down too well.
To me the simplest thing would be to convert it to LE-conforming. LE will then
handle the re-entrancy and the savearea conventions.
Here is your program converted to LE-conforming assembler that will work in
either a BATCH or CICS environment when called either statically or dynamically
from a LE-conforming program (eg COBOL/VSE) :
GETSYMB TITLE 'GET THE VALUE OF A SYMBOLIC PARAMETER'
R0 EQU 0
R1 EQU 1
R2 EQU 2
R3 EQU 3
R4 EQU 4
R12 EQU 12
R13 EQU 13
R14 EQU 14
R15 EQU 15
GETSYMB CEEENTRY PPA=ASMPPA,MAIN=NO,AUTO=STORLEN,EXECOPS=NO, X
PARMREG=1,BASE=(10),RMODE=ANY
USING WORKAREA,R13
B START JUMP PAST EYECATCHER
PROGID DC CL8'GETSYMB' EYECATCHER
DC CL8'V1.R0.M0'
DC CL10'&SYSPARM'
DC CL11'&SYSDATE'
DC CL7'&SYSTIME'
START DS 0H
MVC S_WS,S_EYEC
MVC E_WS,E_EYEC
MAIN DS 0H MAIN ROUTINE
LM R2,R4,0(R1) SAVE ADDRS OF PARMS IN R2,R3,R4
GETSYMB AREA=GETSYMWK,PARMNAM=(2),VALBUF=(3),LENFLD=(4)
RETURN DS 0H WE'RE DONE
CEETERM RC=(R15) RETURN, PASSING GETSYMB RESULT (R15)
LTORG
*
* CONSTANTS
*
S_EYEC DC C'<*GETSYMB*>'
E_EYEC DC C'>*GETSYMB*<'
ASMPPA CEEPPA ,
*
* WORKING STORAGE
*
WORKAREA DSECT
ORG *+CEEDSASZ
S_WS DS (L'S_EYEC)C
GETSYMWK DS CL100
E_WS DS (L'E_EYEC)C
STORLEN EQU *-WORKAREA
PRINT ON,NOGEN
CEEDSA
CEECAA
END
There's a few "excess" statements in there that I just added to try and emulate
what your batch version was doing.
Since your program is loading and calling $IJBPROC outside of CICS commands it
doesn't need to be defined to CICS since CICS isn't aware of what is happening.
If you wanted to EXEC CICS LOAD/LINK/XCTL on it then your CICS/TS system would
need to either use PGM auto install or you would need to manually define it.
Regards,
Garry Hasler
ADL/z West Perth, Perth, Australia
This archive was generated by hypermail 2b25 : Sun Jul 27 2008 - 05:20:06 EDT