Closed dennis-behm closed 6 months ago
Hi Dennis, I would like to control full SYSLIB-Concatenation with the linkedit_linkEditSyslibConcatenation Property. Even better would be to have the possibility to use different Concatenations based on the Programm Language/Subsystem Combinations (e.g. CICS/DB2, PLI/DB2, PLI/IMS). Although in our cases the SCEELKED (LE-Linklib) is always the first. It can happen that the DB2-Linklib or IMS-Linklib are alternating on 2nd Position in the Concatenation
a) PLI Programm with DB2 SCEELKED DB2-Linklib IMS-Linklib Application Libs
b) PLI Programm with IMS SCEELKED IMS-Linklib DB2-Linklib Application Libs
Additionally, in the Compiler Step, we use a different SYSTEM-Parm if the Module contains DLI-Calls a) IMS Program - SYSTEM(IMS) b) Other Programs - SYSTEM(MVS)
Additionally, in the Compiler Step, we use a different SYSTEM-Parm if the Module contains DLI-Calls a) IMS Program - SYSTEM(IMS) b) Other Programs - SYSTEM(MVS)
@avalon2 ,the capability exists today via file properties to set different SYSTEM parameters:
# defining the defaults
pli_compileParms=PP(INCLUDE('ID(++INCLUDE)')),SYSTEM(MVS)
# providing the override for IMS programs
pli_compileParms=PP(INCLUDE('ID(++INCLUDE)')),SYSTEM(IMS) :: **/imsmodules/*.pli (or any other pattern filter).
Assuming, that would be sufficient.
Additionally, in the Compiler Step, we use a different SYSTEM-Parm if the Module contains DLI-Calls a) IMS Program - SYSTEM(IMS) b) Other Programs - SYSTEM(MVS)
@avalon2 ,the capability exists today via file properties to set different SYSTEM parameters:
# defining the defaults pli_compileParms=PP(INCLUDE('ID(++INCLUDE)')),SYSTEM(MVS) # providing the override for IMS programs pli_compileParms=PP(INCLUDE('ID(++INCLUDE)')),SYSTEM(IMS) :: **/imsmodules/*.pli (or any other pattern filter).
Assuming, that would be sufficient.
Thx. working.
Hi Dennis, As system(IMS) is needed for each PL/I Compile for IMS, couldn't this be leveraged with a isDLI-Parm rather then using the override based on pattern ? "The SYSTEM(IMS) compiler option must be specified for PL/I applications running under IMS" https://www.ibm.com/docs/en/zos/2.4.0?topic=ims-pli-considerations-under
IBM requires to have IMS or CICS-Libs BEFORE Db2-Lib: https://www.ibm.com/docs/en/db2-for-zos/12?topic=zos-compiling-link-editing-application
@avalon2 , I have worked on enhancing the scripts for IMS . You can see the updates in PR #454 .
Order of concatenation is CICS, IMS and then Db2, and it is dependent on the way isCICS
, isIMS
and isSQL
is configured.
Will add the PLI SYSTEM(IMS)
option for PLI.
@avalon2 these features were delivered with zAppBuild 3.6.0
This request is about enhancing the support of processing IMS programs. Especially in mixed environments with CICS and IMS, this is not covered well.
So, let's collect requirements:
Calls to DLI interface
Link phase:
When running the program in CICS, it requires to pull the
CBLTDLI
from theSDFHLOAD
library, but when running in an IMS environment (maybe IMS batch), there is no logic to add the SDFSRESL (IMS RESLIB) to pull theDFSLI000
interface (CBLTDLI is just an alias)It requires a new flag to indicate that a program will be executed in an IMS context, such as an
isIMS
flag.Library concatenation when processing link cards in LinkEdit.groovy
Link phase should be conditional to the "environment" flags as well.
https://github.com/IBM/dbb-zappbuild/blob/d177891a59a41b0947eacaf1e1e5a7ca199ac13a/languages/LinkEdit.groovy#L113-L122