Program A (CICS LINK) calls B which in turn calls (CICS LINK) C which in turn (COBOL CALL)calls D more than once. Program A is a CICS program that is executed from Java via the CICS transaction Gateway. When called like this, on the second call, program D looses its working storage contents from the first call and this causes issues in execution of the program D.
To test the above programs from within mainframe, we created a clone of A and introduced the pointers and the SET ADDRESS OF statement as the first in the PROCEDURE DIVISION. It runs under a regular CICS transaction and the working storage contents of D are retained between CALLs.
Any ideas as to why is it that we loose the WS in the first scenario?
Any ideas will be appreciated.