Joined: 18 Jan 2007 Posts: 28 Location: Bank of communications
I have test my program for many times, and summarize the following scenario for my abend code.
*A program is a PL/I DB2 program, and need a DBP, I can compile the program successfully, and in the A program, it calls a COBOL DB2 program B, also, B has a DBP,and in A using Fetch Declaration, and call the B program, it is depend on a parameter as a bridge, and I am sure the length of the variable are the same. When it runs, it post S0C4 abend code. And I use debug tool to monitor A program, it abends while calling B program, and debug can not go into the B program.
*C is a PL/I Datacom program, not having a DBP, all the situation are similar with A program, and calls B program, it can run successfully.
I am doubt with this problem ,can anyone help me on this?
Joined: 07 Nov 2005 Posts: 1105 Location: The Netherlands at Hole 19
thank you George,
But I am not quite clear about the AMODE and RMODE, could you tell me more exactly?
Memory is devided in two parts. One is called LOWER and has 16 MB in which also OS is running leaving about 7 MB for your program. The other is called UPPER and is 'unlimitied'. If one module runs in UPPER (AMODE=31) and call a module in LOWER (AMODE=24) transferring parameters or pointers one often gets a protection exception.
Check the modules in the loadlibrary for the attributes AMODE (31 or 24) and RMODE (with AMODE 31 it should be ANY).
Or indeed like Dick wrote; check with your systemprogrammer.