I am facing the issue in VAG-EGL migration. The problem is that when the EGL program(COBOL CICS) calls PLI program the parameter is not passing properly. The EGL program A calls PLI pgm B with some parameters.The PLI program validates the parameter passed and returns the flag.If flag is equal to Y then only the screen will come properly. Otherwise the screen will display with error.
We have analyzed the issue and found that we need to add the COMM_AREA in the program using COMM_PTR and refer the parameter using pointer.
But the problem is that in PLI program first line should start with procedure PROC OPTIONS(MAIN). We need to add the option REENTARNT in PROC options.
In PLI program B the first line of the program is a macro which will expand and generate the procedure statements and last line of pgm is also a macro which ends the procedure. We compiled the program using PLICICS JCL and link edit the PLI program B and copy the load that points to CICS library. The screen is abended with CICS Abend APCT.
When we comment out the macro and execute the program using PLICICS compiler and copy the load to CICS library screen is getting executed successfully.
Since we need macro to be executed and cannot take risk to change the macro since it is being used by so many programs which makes an impact to other programs too.