The best option is to use ALTLIB with the dataset option. This avoids
almost all potential conflicts with other programs'/users' own ALTLIBs.
What appears to be a down side, that ALTLIB dataset/ddname applies only to
the current logical screen under ISPF, can be an advantage. I can set up
one screen(s) as a test environment and one/others as a development
environment.with different ALTLIBs. I can then switch freely between them
as needed, SWAP [NEXT | PREV], SWAP LIST. etc. Of course, it's not limited
to two environments. (I just happen to have two.)
Create an exec in each environment that does the ALTLIB, and any other
environmental initializations, assign the EXEC commands to PF keys. If you
can't spare two PF keys, or otherwise prefer, Issue the commands in option
6. Typically the commands are used so frequently that they never roll off
the panel.
You can also do that with a single REXX EXEC that is the same in all
environments that selects the environment based on a passed argument.
I allocate SYSUEXEC to a VIO library, for performance of code common to
both environments..
OREXXMan
Would you rather pass data in move mode (*nix piping) or locate mode
(Pipes) or via disk (JCL)?
IBM has been looking for an HLL for program products; REXX is that language.