I've been poking around in various resources in the Internet, but couldn't find a definitive answer that I understood, so I'm asking here:
How can I invoke z/OS UNIX code from z/OS MVS?
I'm aware that BPXBATCH PGM ... can invoke a z/OS UNIX Program from z/OS MVS TSO.
But can I do that e. g. inside a z/OS MVS PL/I program?
What I want to say is,
My use case is: I have an old PL/I library from the 1970s that now gets the requirement to do networking. And as far as I understood, networking would go smoothly in the z/OS UNIX world.
The old PL/I library is statically linked against multiple other software that I cannot influence directly.
P.S.: Can someone with more reputation please establish a stackoverflow PLI tag? ;-)
One purpose of IBM's Language Environment (LE) runtime was to make COBOL, PL/I, Assembler, and FORTRAN interoperable. C and C++ later came along for the ride.
The compilers that generated non-LE conforming code didn't play well with each other (you could get all the players to work together if you were careful). The compilers that generate LE conforming code do play well with each other. I've written COBOL code that uses C runtime routines (fopen, fseek, fread, fclose, various regex routines) and that worked fine due to LE.
Your response of "Well, kind of" to my question about whether you're using IBM Enterprise PL/I may indicate you're already in an unsupported configuration.
If your runtime is LE, you should be okay calling C runtime routines IBM supplies. If your runtime includes some of the old unsupported OS PL/I routines, you might be able to get calls to C runtime routines IBM supplies to work -- but it it were me in that situation I wouldn't sleep soundly. If you can relink your old code to use LE versions of the old OS PL/I runtime routines you may find yourself on more solid ground.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With