Hello, everyone! I am attempting to update a 31-bit application to 64-bit. This application includes two COBOL programs, let's call them PROGA and PROGB, where PROGA is supposed to call PROGB, but the call doesn't seem to work and there's no error.
PROGA defines a variable something like this:
PGM-TO-CALL PIC X(10) VALUE 'PROGB '.
Then later, as you would expect:
CALL PGM-TO-CALL
USING [etc]
DISPLAY statements placed just before and after the call show up in the output. A DISPLAY statement placed at the start of PROGB does not.
The latest attempt to compile PROGB used these parameters: NODYNAM,PGMNAME(LONGMIXED),LIB,OBJ,RENT,OPT,APOST,MAP,XREF,VBREF,LP(64)
The latest attempt to bind PROGB used these parameters: LIST,XREF,NOLET,RMODE=ANY,CASE=(MIXED),DYNAM(DLL),RENT,MAP,COMPAT(CURRENT)
I have tried a lot of different variations on these parameters but nothing has worked.
I have seen Compiling and binding AMODE 64 programs under z/OS - IBM Documentation and everything on that list is in place. I have looked at the page linked there about dynamic calls and wound up going down a rabbit hole of research on DLLs that just left me confused.
This worked fine for ages in 31-bit.
What am I overlooking?