PL/I Customization

This article describes the REXX Exec and JCL Procedure that you can use to integrate modern integrated development environments (IDEs) with PL/I programs running under CA IDMS.
idms19
This article describes the REXX Exec and JCL Procedure that you can use to integrate modern integrated development environments (IDEs) with PL/I programs running under CA IDMS.
2
2
Sample REXX Exec
IDMSEMLP
The IDMSEMLP REXX Exec invokes the CA IDMS DML Precompiler for PL/I. IDMSEMLP must be configured both within z/OS and the IDE. You may want to move IDMSEMLP to your TSO CLIST library to facilitate its invocation from IDEs.
IDMSIMLP
IDMSIMLP is a sample version of the parameter file that is generated by IDEs that can be used as input to the IDMSEMLP exec. IDMSIMLP must be tailored to your site-specific requirements. It can be used in a local invocation of IDMSEMLP, for example, under TSO/ISPF to validate the proper functioning of the exec.
To invoke the IDMSEMLP exec, type the following code at a TSO prompt. IDMSEMLP must be in a library that exists within your TSO clist library concatenation.
IDMSEMLP site-specific-idms-samples-lib(IDMSIMLP
)
JCL Procedure
IDMSJMLP
IDMSJMLP is a JCL Procedure that invokes the CA IDMS DML Precompiler for programs that either run-under or access CA IDMS. This procedure also invokes the PL/I compiler and Linkage Editor.  IDMSJMLP is invoked when certain menu actions are performed within IDEs, and should be added to one of your system PROCLIBs.
Customizing Sample REXX Exec and JCL Procedure
The PL/I REXX Exec and JCL Procedure must be configured both within z/OS and IDEs.
z/OS
The following variables must be configured within IDMSEMLP:
  • cdmslib_dsn1
    Identifies the name of the first Data Set in the CDMSLIB concatenation.
  • cdmslib_dsn2
    Identifies the name of the second Data Set in the CDMSLIB concatenation.
  • cdmslib_dsn3
    Identifies the name of the third Data Set in the CDMSLIB concatenation.
  • sysidms_dsn
    Identifies the default Data Set Name that is used in the SYSIDMS DD statement.
  • syslst_dsn
    Identifies the default Data Set Name that is used in the SYSLST DD statement.
  • unit
    Identifies the UNIT that is used to allocate all DASD files.
Modern IDEs
To make use of the pre-processor exec, modify the following items in the
Remote preprocessor configuration
section within the
Property Group
that is associated with your sub-project.
To locate
Remote preprocessor configuration
, follow this navigation:
  1. Within the IDE Property Group window, edit the
    Property Group
    that is associated with your sub-project.
  2. Select the
    PL/I
    tab.
  3. Select
    Editor Configurations
    .
  4. Expand
    Preprocessor Integration
    .
  5. Select
    Use
    remote preprocessors
    .
  6. Expand
    Remote preprocessor configuration
    .
  7. Configure the following items:
    When specifying your DSN, other than the Preprocessor Parameters, do not add more spaces before or after the DSN.
    • REXX or CLIST invoking preprocessor
      Set to the DSN (including member name) where the IDMSEMLP list resides on your mainframe LPAR.
    • Preprocessor output location
      Set to the DSN of the SYSPCH file that is created by the invocation of the IDMSDMLP precompiler.
    • High-level qualifier for preprocessor data
      Set to the high-level-qualifier (HLQ) that you want to use for all non-explicit DSN references in the exec, for example, the SYS00X work files. Typically, this HLQ is your TSO User-ID.
    • Preprocessor Parameters
      Preprocessor parameters allow you to override the default specification for both the SYSIDMS and SYSLST DSN specifications in the exec. The parameters must be separated using one or more spaces.
      • SYSIDMS=
        Set to the DSN of an existing SYSIDMS file. Example:  SYSIDMS=
        <data set name>
      • SYSPCH=
        Set to the DSN of the SYSPCH file that is created by the DMLP precompiler.  Example:  SYSPCH=
        <data set name>
z/OS
This section describes how to set pre-processor integration preferences, and configure JCL Procedure variables.
Setting Pre-Processor Integration Preferences
For the IDE samples, we recommend that you configure the following pre-processor integration preference settings to determine how the pre-processor statements are processed.
To locate the
Preprocessor Integration
, follow this navigation:
  1. Within the IDE, select
    Window
    .
  2. Select
    Preferences
    .
  3. Expand
    PL/I
    .
  4. Expand
    Editor
    .
  5. Select
    Preprocessor Integration
    .
  6. Within the Identifying preprocessor statements, the following configuration is recommended:
    1. Check
      Ignore changes in case.
    2. Check
      Ignore changes to tab and space characters.
    3. Uncheck
      Ignore changes in the sequence numbering areas.
Configuring JCL Procedure Variables
The following variables must be configured within IDMSJMLP:
  • LNGPRFX
    The high-level-qualifier of your PL/I library.
  • LODPRFX
    The high-level-qualifier of your CA Development Environment for z Systems library for PL/I.
  • CICSLIB
    The high-level-qualifier of your CICS SDFHLOAD library, for PL/I.
  • UNITDMLP
    The unit name for all files that are allocated in the DMLP precompile step.
  • UNITPLI
    The unit name for all files that are allocated in the PLI step.
  • IDMSLIB1
    The Data Set Name for your Network loadlib or DBA load library.
  • IDMSLIB2
    The Data Set Name for your Custom load library.
  • IDMSLIB3
    The Data Set Name for your complete CA IDMS load library.
  • SYSIDMS
    The Data Set Name for the SYSIDMS DD statement in the DMLP step.
Modern IDEs
To invoke the IDMSJMLP proc, modify the following items in the
Procedures and Steps
section within the
Property Group
that is associated with your sub-project.
To locate the
Procedures and Steps
section,
follow this navigation:
  1. Within the IDE Property Group window, edit the
    Property Group
    that is associated with your sub-project.
  2. Select the
    PL/I
    tab.
  3. Select
    Procedures and Steps
    .
  4. Expand
    Step options
    , and add the following
    Procedure & Steps:
    1. IDMSJMLP - DMLP
    2. IDMSJMLP - PLI
  5. Configure the following items for the DMLP step:
    1. Options:
      Specify NOINSTALL. This setting prevents the storage of the RCM into the dictionary for programs that use SQL.
    2. Support Error Feedback:
      Do not check this box.
  6. Configure the following items for the PLI step:
    1. Listing output data set
      The Data Set Name that is used to store the listing file generated by the compiler.
    2. Object deck data set
      The Data Set Name that is used to store the Object module generated by the compiler.
    3. SYSLIB
      The Data Set Name that is used for the PL/I, SYSLIB DD statement.
    4. Support Error Feedback
      Check this box if you want to use the automated mechanism for reporting compiler errors through the
      Remote Error List
      in CA Development Environment for z Systems.
    5. Data set qualifier for compiler errors
      The Data Set prefix that is used to communicate compiler errors to CA Development Environment for z Systems.
Using CICS
PL/I programs that run under CICS (and contain IDMS DML statements) can also be maintained using IDEs.
To enable CICS support, check mark the CICS button on the
Runtime Environments
window within the PL/I tab, for the Property Group associated with your sub-project.