Posted: Sat Sep 11, 2004 2:06 am Post subject: XCTL from Macro level PL1 to cmd level CICS in PL1 & COB
Hi,
We have a scenario where a PL/1 macro level program XCTLs (without passing commarea) to a PL/1 command level program. When the EIBCALEN in the called module (cmd-level PL/1) is checked through XPEDITOR, it is shown as 0. but when the same is checked through CEDF, it comes out to be 64.
Also we have a similar situation in another CICS region, where the same PL/1 macro level program XCTLs (without paasing commarea) to a command level COBOL program (this program is the COBOL version of the previously mentioned command level PL/1 program). Here, the value of EIBCALEN is 64 when checked with XPEDITOR as well as CEDF.
What might be the reason for this discrepancy?
We want the EIBCALEN to be 0 in when the program XCTLs to the command-level COBOL program ... how can this be achieved?
Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Sun Sep 12, 2004 8:04 pm Post subject:
Chandanm,
If no commarea has been passed, the value of EIBCALEN is 0; otherwise, EIBCALEN always contains the value specified in the LENGTH option of the LINK, XCTL, or RETURN command, regardless of the size of the data area in the invoked program. You should ensure that the value in EIBCALEN matches the value in the DSECT for your program, and make sure that your transaction is accessing data within that area.
In a PL/I program, the data area can have any name, but it must be declared as a based variable, based on the parameter passed to the program. The pointer to this based variable should be declared explicitly as a pointer rather than contextually by its appearance in the declaration for the area. This prevents the generation of a PL/I error message. No ALLOCATE statement can be processed within the receiving program for any variable based on this pointer. This pointer must not be updated by the application program.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum