This is quite a deep situation so I hope I manage to explain it correctly.
I have a COBOL program which normally runs in batch under JCL. Let's call it MAINPROG.
Now MAINPROG calls a dynamic subroutine RNCAL which in turns calls the dynamic subroutine POSTB.
MAINPROG also calls POSTB directly.
In the JCL the STEPLIB contains the library PRDQ.B.LOADLIB which contains MAINPROG and it also contains PROD.B.LOADLIB which contains RNCAL and POSTB.
In my REXX program, I allocate all the files required by MAINPROG, POSTB & RNCAL and then call MAINPROG thus:
This fails because it cannot find RNCAL and POSTB, which I would expect.
If I copy RNCAL and POSTB to a library that is already in my ISPLLIB concatenation, all is well.
However, what I would rather do is to temporarily add the PROD.B.LOADLIB library to my ISPLLIB so that I always pick up the current versions of POSTB & RNCAL.
My reading of the subject seems to suggest that invoking:
address ISPEXEC "LIBDEF ISPLLIB EXCLDATA ID('PROD.B.LOADLIB')"
should achieve what I require, but MAINPROG still complains that it cannot find the dynamic subroutines.
I know that the LIBDEF call is doing something because if I change it to:
address ISPEXEC "LIBDEF ISPLLIB EXCLDATA ID('PRDQ.B.LOADLIB','PROD.B.LOADLIB')"
then I can change the call to:
and MAINPROG is found, but the execution still fails to fine the subroutines.
Does anyone here have any idea as to what magic words I need to chant to achieve my aim?
Pinned topic COBOL Dynamic subroutines in ISPLLIB for REXX execution
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2012-02-03T19:16:35Z at 2012-02-03T19:16:35Z by tonysam