Information
Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

Milestone 4 Configure Code Debug CICS — New Installation


This section will guide you through configuration of a new installation of Code Debug CICS 17.02.

If you are performing an upgrade instead, go to Milestone 5: Configure Code Debug CICS — Upgrade.

The following roles are involved in this milestone:

  • z/OS Security Administrator
  • Code Debug CICS Installer
  • z/OS System Programmer
  • CICS System Programmer.

Task 4.1 External Security Considerations 

Complete the following tasks to configure a new installation of Code Debug CICS.

This milestone requires the z/OS Security Administrator.

Task 4.1.1 Transaction Security

To help you to set up security groups for external security, the following tables list the Code Debug CICS (and Code Coverage) transactions and their uses. The tables also identify started transactions and provide recommended external security settings.

The terms used in the “Security Recommended” column are defined as follows:

  • NO - All users of Code Debug, including the user ID associated with PLTPI programs, should be permitted to execute these transactions.
  • YES - These transactions provide capabilities beyond the needs of a typical end user of Code Debug. Access may be limited to those responsible for installation, configuration, etc.
  • EITHER - No recommendation.

Code Debug CICS Transactions

Trans

Program

Use

Started

Security
Recommended

DBFL

DBUGFILE

File utility

NO

DBPA

DBUGPPM2

PLT startup

NO

DBXG

DBUGSP00

Remote traps

NO

DMAP

DBUGMAPS

Display BMS maps

 

EITHER

NEWC

DBUGNEWC

Newcopy (PHASEIN) programs

 

EITHER

XACH

CWDEMACH

Demo program

 

EITHER

XASL

CWCEEASM

Demo program

 

EITHER

XASM

CWDEMASM

Demo program

 

EITHER

XCB2

CWDEMCB2

Demo program

 

EITHER

XCBN

CWDEMCBN

Demo program

 

EITHER

XCCC

CWDEMC

Demo program

 

EITHER

XCCH

CWDEMCCH

Demo program

 

EITHER

XDBP

DBUGDBPA

Process Code Debug CICS System Facilities and Code Coverage Test Parameters

 

YES

XIVP

DBUGINST

Installation Verification Program

 

EITHER

XLGI

DBUGLOGC

File Utility logging

NO

XLOG

DBUGLOGM

Activate, terminate, or switch data sets

 

YES

XPCH

CWCEMPCH

Demo program

 

EITHER

XPCI

DBUGCRTL

Remote Operations Command Interface (ROCI)

EITHER

XPED

DBUGSP00

Access Code Debug

 

EITHER

XPFS

DBUGCSFS

SLS Data set Services

NO

XPGD

XDPIMIRS

Secure Code Debug CICS access from Code Debug Eclipse

 

EITHER

XPLE

CWDEMPE

Demo program

 

EITHER

XPLI

CWDEMPL

Demo program

 

EITHER

XPN0

DBUGEND0

Automatic session termination

NO

XPNC

DBUGCRTL

Newcopy (PHASEIN) program from batch

 

EITHER

XPND

DBUGEND

Automatic session termination

NO

XPOF

DBUGDBXX

Shutdown Code Debug

 

EITHER

XPRT

DBUGSP00

Access Code Debug

 

EITHER

XPSP

DBUGSP00

Access Code Debug with system facilities

 

YES

XPWD

DBUGWRAM

Disable Code Debug’s dynamic transaction routing exit

 

YES

XPWI

DBUGWRAM

Enable Code Debug’s dynamic transaction routing exit

 

YES

XREL

DBUGNEWC

Internal Code Debug transaction

 

NO

XROI

DBUGROIC

Data collection for BMC’s zAdviser

NO

XSIT

DBUGSIT

Process Code Debug CICS Parameters

 

YES

XSOC

DBUGSOCK

Code Debug Eclipse connections

 

NO

XSTA

DBUGSTA0

Access Code Debug  in multiple AORs

 

EITHER

XZCH

CWDEMZCH

Demo program

 

EITHER

Code Coverage Transactions 

Trans

Program

Use

Started

Security
Recommended

XVCC

XVTCMGR

Code Coverage definition update

 

YES

XVKP

XVTCEXTR

Internal Code Coverage transaction

NO

XVSC

XVTCMGR

Code Coverage definition update

 

YES

XVSI

XVTCSIT

Process Code Debug CICS Code Coverage Parameters

 

YES

XVTQ

XVTCCCIN

Internal Code Coverage quiesce tran ID

NO

Error
Warning

If external security checking is enabled (SEC=YES and XPCT=YES in the CICS System Initialization Table) for the started transactions identified in the above tables, CICS calls the external security manager using the default CICS resource class name CICSPCT prefixed with A or B. This is done to verify that the user ID associated with the transaction is authorized to use started transactions. For more information, see to “Security for started transactions” in IBM’s Knowledge Center and your external security manual.

• Incorrect security settings for the XPFS transaction can cause a NO SOURCE AVAILABLE condition for all program listings accessed via Shared Directory or DDIO data sets and can also cause the SLS Data sets (9.L) screen to function improperly.

• Incorrect security settings for the XREL transaction can cause erroneous failure of the new copy function for programs where breakpoints have been removed.

• Incorrect security settings for the XSRE transaction can cause erroneous failure of breakpoint, event, and visualization when using Code Debug Eclipse (Workbench for Eclipse).

• Incorrect security settings for the XVKP transaction can cause failure of periodic extract of data for Code Coverage.

Started Transaction User Security

The following tables list the recommended user security for Code Debug CICS and Code Coverage started transactions.

User Security for Code Debug CICS Started Transactions.

Trans

Program

Use

UserID

DBFL

DBUGFILE

File utility

Assigned the userID of the terminal accessing the file utility.

DBPA

DBUGPPM2

PLT startup

Assigned the same userID as the CPLT transaction.

DBXG

DBUGSP00

Remote traps

Assigned the userID of the trapping terminal.

XLGI

DBUGLOGC

Activate, terminate, or switch logging

Assigned the userID of the terminal accessing transaction XLOG.

XPCI

DBUGCRTL

Remote Operations Command Interface (ROCI)

XPFS

DBUGCSFS

SLS Data set Services

Assigned the userID of the Code Debug CICS initiator or DFLTUSER. If initiated via PLTPI, assigned PLTPIUSR or the CICS region userID.

XPGD

XDPIMIRS

Code Debug Eclipse

XPN0

DBUGEND0

Automatic session termination

Assigned the userID of the terminal at which it runs (when started via autoinstall terminal delete).

XPND

DBUGEND

Automatic session termination

Same as XPN0.

XREL

DBUGNEWC

Release held programs

Runs when all breakpoints are removed from a program. Assigned the userID of the terminal for which the breakpoints were removed.

XROI

DBUGROIC

Data collection for BMC’s zAdviser

Assigned the userID of the Code Debug CICS initiator. If initiated via PLTPI, assigned PLTPIUSR or DFLTUSER userID. If initiated via terminal, assigned userID of the terminal.

XSRE

DBUGREMS

Triggers Code Debug Eclipse remote events

Assigned the userID of the Code Debug CICS initiator or DFLTUSER.

XTMO

DBUGXTMO

Checks for inactive session termination

Assigned the userID of the Code Debug CICS initiator or DFLTUSER. If initiated via PLTPI, assigned PLTPIUSR or the CICS region userID.

Warning

Important

• If automatic session termination is performed via the XSNOFF global exit, XPN0 and XPND must be secured.

• When Code Debug CICS starts the DBFL and XREL transactions internally, the current user ID will be propagated to either the DBFL or XREL transactions.

User Security for Code Coverage Started Transactions

Trans

Program

Use

UserID

XVKP

XVTCEXTR

Code Coverage auto-extract transaction

Assigned the userID of the Code Debug CICS initiator or DFLTUSER. If initiated via PLTPI, assigned PLTPIUSR or the CICS region userID.

XVTQ

XVTCCCIN

Code Coverage quiesce transaction

Assigned the userID of the Code Debug CICS initiator or DFLTUSER. If initiated via PLTPI, assigned PLTPIUSR or the CICS region userID.

Task 4.1.2 Security Exits

If you need to control activity in the Code Debug CICS File Utility, see to the section entitled “Implementing-the-File-Utility-Security-Exit” in the Code Debug CICS Advanced Configuration Guide.

Task 4.1.3 INQUIRE ASSOCIATION Considerations

The Code Debug CICS start-of-task exit uses the EXEC CICS INQUIRE ASSOCIATION call to obtain the client IP address associated with the task. This allows the terminal emulator IP address to be identified when a trap/breakpoint is taken. The ASSOCIATION command is subject to CICS command security checking using the resource identifier (ASSOCIATION). Code Debug CICS will need a profile created that allows all CICS users to have READ access for resource identifier ASSOCIATION.

Task 4.1.4 BMC PARMLIB Reports

Code Debug CICS has replaced the z/OS services (dynamic allocation and file open/write/close) used to produce the BMC PARMLIB Reports with the use of CICS Extrapartition Transient Data Queues and CICS services. As part of this refactoring, three new TDQ definitions have been included in the SMXDSAMP member CSDXDFIL. PARMLIB Parameter Reports table lists the default TDQ names, the BMC PARMLIB Report associated with the TDQ, and the PARMLIB overrides used to change the TDQ names if required.

Whether you are performing a new install or upgrading to a new release, these queues should be defined to produce the BMC PARMLIB reports during PARMLIB processing. Review member CSDXDFIL and add these queues to your RDO definitions. If you decide to modify the queue names, be aware that you must also add the appropriate parameter changes to your BMC PARMLIB members. If you decide not to install these TDQ definitions, be aware that:

  • Additional messages may be written to the CSMT queue indicating that the TDQ definitions are not present.
  • The report produced by the Installation Verification Program (transaction XIVP) will display warning messages for any missing queues.

The global tables supplied with the product have also had their default values for the report ddnames changed to reflect the new TDQ queues. If you install the new TDQ definitions and do not change the default names, you should not encounter any errors.

BMC PARMLIB parameters that are being deprecated by this change are:

  • CODE_COVERAGE_PARMLIB_REPORT_ALLOCATION
  • CODE_COVERAGE_PARMLIB_REPORT_SYSOUT_CLS
  • DBPA_REPORT_ALLOCATION
  • DBPA_REPORT_SYSOUT_CLASS
  • PARMLIB_REPORT_ALLOCATION
  • PARMLIB_REPORT_SYSOUT_CLASS

The following BMC PARMLIB parameters are being repurposed from supplying a one- to eight-character ddname to providing a one- to four-character TDQ name (if it is necessary to override the new TDQ names):

  • CODE_COVERAGE_PARMLIB_REPORT_DDNAME
  • DBPA_REPORT_DDNAME
  • PARMLIB_REPORT_DDNAME

The reports produced have had minor cosmetic changes made to better describe what the reports represent and the names of the TDQ that they are written to.

BMC PARMLIB Parameter Reports 

Queue
Name

Report Produced

PARMLIB

Member
Prefix

Parameter Override

XGBR

Code Debug CICS Parameters

XDGB

PARMLIB_REPORT_DDNAME

XDBR

Code Debug CICS System Facilities and
Code Coverage Test Parameters

XDDB

DBPA_REPORT_DDNAME

XVGR

Code Coverage Parameters

XVGB

CODE_COVERAGE_PARMLIB_REPORT_DDNAME

Task 4.1.5 Additional Considerations

The following security considerations are covered in more detail in Milestone 6: Configure Workbench Integration.

Enabling CICS Transaction for XSKL User ID

The user ID associated with transaction XSKL must be permitted to start a CICS transaction as a surrogate for the Workbench for Eclipse user (for example: read access to *.DFHSTART in CLASS SURROGAT).

Verifying Transaction Definition for Controlling Access from Workbench for Eclipse

XPGD is the default transaction code for controlling access to Code Debug CICS from Workbench for Eclipse. If XPGD is not already defined, a sample is in SMXDSAMP member CSDXDTRN.

Task 4.2 Prepare the ISPF Edit Macro

This milestone requires the Code Debug CICS Installer.

 

XDUPDATE is an ISPF edit macro that can be used to automate the entry of site-specific JCL parameters. Using this macro saves you from having to repeatedly type in the same information and ensures your JCL parameters are always entered correctly.

To use the edit macro, first copy member XDUPDATE from the SMXDSAMP member into your CLIST library. Then enter your site-specific information in the XDUPDATE macro. The macro includes instructions for entering the information. Your CLIST library must be allocated to your ISPF session. You can verify that your CLIST library is accessible to ISPF by entering the command TSO LISTA or TSO ISRDDN.

The edit macro can be used during Code Debug installation each time you are instructed to edit JCL. To run it, first open the JCL member for editing. You can then look at the JCL before any changes are made. Type XDUPDATE in the COMMAND field of the ISPF EDIT screen and press Enter.

Warning

Important

XDUPDATE can also be used to update data set names in CSDXDFIL.

Task 4.3 Integrate Code Debug CICS with MVS

This milestone requires the Code Debug CICS z/OS System Programmer

In this step, you will authorize the Code Debug CICS target library that ends with the qualifier SMXDAUTH. You will also define the Code Debug Service Provider program properties to MVS and define it as an MVS subsystem.

Error
Warning

The Code Debug CICS APF authorized library should not be included in the operating system's link list. This will allow you to protect the library and ensure only approved users can execute the Code Debug Service Provider.

Task 4.3.1 Authorize the Code Debug SMXDAUTH Library

Ensure the Code Debug CICS 17.02 SMXDAUTH library is APF authorized. The Code Debug CICS APF authorized library is backward compatible. BMC suggests you add the data set to your IEAAPFxx or PROGxx list, as appropriate, so it will be APF authorized at each system IPL.

Warning

Warning

If Code Debug CICS is deployed to additional LPARs, any copies of the SMXDAUTH library must also be APF authorized.

Task 4.3.2 Define the Code Debug Service Provider Program Properties to MVS

  1. Add program DBUGSTC to the MVS program properties table (PPT) member in SYS1.PARMLIB using either of the following methods:
    • Copy SMXDSAMP member SCHEDXD to SYS1.PARMLIB, then add XD to the SCH=(xx) directive of IEASYSxx in SYS1.PARMLIB. For example, change SCH=00 to SCH=(00,XD).
    • Append SMXDSAMP member SCHEDXD to your SCHEDxx member in SYS1.PARMLIB.
  2. Update the MVS PPT by issuing one of the following MVS operator commands:

SET SCH=(xx,XD)

where xx is the suffix of the SCHEDxx member used during the last IPL and XD is the suffix of the SCHEDxx member which contains the MVS PPT entry for DBUGSTC.

SET SCH=xx

where xx is the suffix of the SCHEDxx member which contains the MVS PPT entry for DBUGSTC.

Task 4.3.3 Define the Code Debug Service Provider as an MVS Subsystem

You may optionally specify the Code Debug CICS subsystem ID in SYS1.PARMLIB(IEFSSNxx) for system documentation purposes using either of the following methods:

    • Copy SMXDSAMP member IEFSSNXD to SYS1.PARMLIB, then add XD to the SSN=(xx) directive of IEASYSxx in SYS1.PARMLIB. For example, change SSN=00 to SSN=(00,XD).
    • Append SMXDSAMP member IEFSSNXD to your IEFSSNxx member in SYS1.PARMLIB.

You are not required to perform an IPL to use the Code Debug Service Provider. If an MVS subsystem entry has not already been defined, Code Debug CICS will build one dynamically during initialization.

Warning

Important

Make sure the MVS Performance Group used by the Code Debug Service Provider is above CICS and below VTAM to prevent runtime abends.

Task 4.4 Update the CICS Resource Definitions

This milestone requires the CICS System Programmer

This task explains how to update your site’s CICS resource definitions. Observe the following general considerations:

  • Some Code Debug CICS control blocks are GETMAINed in accordance with the TASKDATALOC specified for the transaction being tested. Code Debug’s use of below the line storage can be reduced by specifying TASKDATALOC=ANY for your eligible transactions.
  • Code Debug CICS does not support programs with RELOAD:YES in the program resource definition. Remove this option for programs that you plan to debug with Code Debug.
  • Do not define temporary storage queues with an XP prefix as remote.
  • In DFHSITxx, do not specify SRT=NO.
  • If your site will be initializing Code Debug CICS using PLT startup, observe the following conditions:
    • Add the Code Debug CICS program DBUGPPM2 to the PLT program initialization (PLTPI) table.
    • Shutdown of Code Debug CICS via the PLT is supported. To enable this support, add program DBUGPLTS to the PLTSD table. In your CICS shutdown PLT, before the line reading DFHPLT TYPE=ENTRY,PROGRAM=DFHDELIM, add the following entry:
DFHPLT TYPE=ENTRY,PROGRAM=DBUGPLTS

Do not put DBUGPPM2 in the PLTSD table.

Warning

Important

• Modification of the PLTSD will be required if the Code Debug Script Facility or File Utility Audit Trail is enabled later in this installation.

• When Code Debug CICS starts its DBPA transaction during PLT post-initialization, the user ID assigned is the same as the user ID assigned to the CPLT transaction.

Task 4.4.1 Using RDO to Update Resource Definitions 

  1. The previous method of using z/OS dynamic allocation and file open/close/write services to produce BMC PARMLIB reports has been removed from the product and replaced with the use of transient data queues. PARMLIB Parameter Reports table describes the queues, the report written to each queue, and the PARMLIB member prefix and parameter needed to override the queue name (if necessary). The definitions of these queues are in SMXDSAMP member CSDXDFIL. The only modifications you may need to make are to the TDQUEUE name and the ddname. The other definition values should not be changed. Changing the TDQUEUE name will require you to use the appropriate PARMLIB parameter so that the correct queue is used to produce the report during parameter processing. The ddname parameters must not conflict with existing ddnames in your region’s JCL or other TDQUEUE definitions.
    While BMC suggests defining all three queues, you can decide to define only one and use the appropriate PARMLIB parameters to point the reports to that single queue—or use INDirect queues to point to a single queue. The report queues cannot be defined as INTra or Remote.
  2. Review the supplied JCL member DBCRDO. See to the following table and use the SYSIN in resource members CSDXDFIL, CSDXDPRG, and CSDXDTRN. If Code Debug’s program autoinstall is implemented during customization, CSDXDPRG can be omitted
     

    Warning

    Important

    • If your site is not using Code Coverage, edit the CSDXDFIL, CSDXDTRN, and CSDXDPRG members and comment out the definitions for Code Coverage data sets, transactions, and programs (prefixed with XV).

    • If your site is using BAS, you may use the furnished JCL member CSD2BAS to create an input file for the BATCHREP view in the CICSPlex SM End User Interface.

    • LSRPOOLNUM or LSRPOOLID may be specified as appropriate. Be aware that for file control update requests, CICS does not support the use of LSRPOOLNUM(NONE) or LSRPOOLID(NONE) while Transaction Isolation is active. This restriction is enforced with an AFDK abend.

  3. The Code Debug CICS resource group created in this step must be added to a CICS group list, which in turn is specified in the system initialization parameter GRPLIST
  4. CSDXDFIL contains an ENQMODEL. Ensure that this ENQMODEL definition is added to all CICS regions that share the same Code Debug CICS Profile Data set.
  5. Submit JCL member DBCRDO to batch the required CEDA transactions.

    Warning

    Important

    • If you changed any of the Code Debug transaction IDs before submitting the JCL, the corresponding configuration parameters must also be changed. For details, see the Code Debug CICS Advanced Configuration Guide.

    • The section entitled Configuring-Intercommunication-Facilities in the Code Debug CICS Advanced Configuration Guide contains additional transaction definitions that may be necessary for your environment.

Resource Members 

SYSIN Member for JCL Member DBCRDO or CSD2BAS

CSDXDFIL

CSDXDPRG (omit if using autoinstall for Code Debug programs)

CSDXDTRN

CSDXDDB2 (DB2ENTRY and DB2TRAN entries for Db2 sites only)

CSDXDDYN (if using Code Debug’s CICSPlex TOR support)

Task 4.5 Initialize the Code Debug Service Provider

This milestone requires the Code Debug CICS z/OS System Programmer

  1. The Code Debug Service Provider Subsystem can be executed as a batch job or as a started task.Edit sample SMXDSAMP member XDSSPROC to make sure the STEPLIB DD statement specifies the Code Debug CICS APF authorized data set (SMXDAUTH) used at your site.
    1. If you change the value of the SSID parameter value, make sure you change the global parameter SERVICE_PROVIDER_SUBSYSTEM_NAME to match. For details on other Code Debug Service Provider parameters, see “Specifying-Code-Debug-Service-Provider-Parameters” in the Code Debug CICS Advanced Configuration Guide.
    2. Copy member XDSSPROC from SMXDSAMP member to a JCL procedure data set defined to JES.
  2. The Code Debug Service Provider Subsystem can be executed as a batch job or as a started task.
    • To run the subsystem as a batch job:

1. If you change the value of the SSID parameter value in member XDSSJCL, make sure you change the global parameter SERVICE_PROVIDER_SUBSYSTEM_NAME to match.

2. Submit XDSSJCL.

    • To run the subsystem as a started task, issue the following operator command:

      S XDSSPROC{,SSID=xxxx}

      where {,SSID=xxxx} is an optional parameter used to override the default subsystem identifier, XDSS, with the identifier used at your site.

      If you would like the Code Debug Service Provider to be initialized automatically during MVS startup, add the following start command to SYS1.PARMLIB member COMMNDxx:

      S XDSSPROC,SSID=xxxx

      where xxxx is the subsystem identifier. XDSS is the default. Place the start command for the Code Debug Service Provider after your start of TCPIP.

      Warning

      Important

      The MVS Performance Group for the Code Debug Service Provider must be higher than CICS and less than VTAM to prevent runtime abends.

Task 4.6 Allocate a Profile File (DBCDEFPF) 

This milestone requires the 

Code Debug CICS

 Installer.

Installing the profile file enables you to individually define PF key settings, footing options, scroll values, and trap and trace options.

Submit SMXDSAMP member DBCDEFPF to define the VSAM KSDS profile file.

The resource definition for DBUGPRF was installed as part of Update the CICS Resource Definitions.

Task 4.7 Set Up Test Assets

This milestone requires the 

Code Debug CICS

 Installer.

This task will guide you through setting up test assets that will be used for installation verification and demonstration purposes.

The following table show the program name for each test program found in the SMXDSAMP library and the language that it is used for. The tables also include the name of the Assembler subroutine that is called by each of these programs.

Test Programs.

Program Name

Language

CWDEMCB2

COBOL

CWDEMCBN

COBOL (w/nested programming)

CWDEMASM

Assembler

CWCEEASM

LE-enabled Assembler

CWCDSUBA

Assembler Subroutine

CWDEMPL

PL/I

CWDEMPE

Enterprise PL/I

CWDEMC

C

Additional Test Programs Using Channels and Containers

Program Name

Language

CWDEMACH

Assembler

CWDEMCCH

COBOL

CWDEMPCH

Enterprise PL/I

CWDEMZCH

C

Setting Up CSS Language Processor JCL

For specific information on compiling your programs using the BMC Language Processors (LPs), see to the BMC AMI Common Shared Services User/Reference Guide. This guide will provide information on using the correct LP (COBOL, PL/I, Assembler, or C). If you do not already have compile JCL which uses LP, use the appropriate sample JCL provided in the Enterprise Common Components (ECC) sample library SLCXCNTL to modify your existing compile JCL. For example, member CXCOBPRE provides JCL that uses the LP COBOL preprocessor to compile a COBOL program, and member CXCOB1 provides JCL that uses the LP COBOL postprocessor when compiling a COBOL program.

Verify Test Programs Function

Complete the following steps to ensure that the test programs function properly:

  1. Assemble program CWCDSUBA. If you have the Assembler option, process it using the BMC Assembler language processor. For detailed information, see “Assembler Language Processor” in theBMC AMI Common Shared Services User/Reference Guide. The CWCDSUBA routine does not contain any CICS commands and, therefore, does not need to be translated. CWCDSUBA must be included when CWDEMCB2, CWDEMCCH, CWDEMPE, or CWDEMPCH are link-edited.

    Warning

    Important

    For the following steps, only the step for your site’s primary language needs to be performed. You can perform the steps for any other languages your site has support for as well.

  2. If you have the COBOL option, compile the CWDEMCB2 program with the modified compile/link-edit JCL that includes the BMC COBOL language processor. Use the NODYNAM parameter in the COBOL compile step and make sure that the library for CWCDSUBA is in the SYSLIB data set. For detailed information, see “COBOL https://docs.compuware.com/cy/CY1702/html/CSS_UserRef/Responsive%20HTML5/index.html#t=CSS_UserRef%2Fcobol_lp%2Fcobol_lp.htmLanguage Processor” in the BMC AMI Common Shared Services User/Reference Guide. (You may also compile CWDEMCCH.)

  3. If you have the PL/I option, compile the CWDEMPE program with the modified compile/link-edit JCL that includes the BMC PL/I language processor. Make sure that the library for CWCDSUBA is in the SYSLIB data set. For detailed information, see “PL/I confluencePage:id:995987012Language Processor” in the BMC AMI Common Shared Services User/Reference Guide. (You may also compile CWDEMPCH.)

  4. If you have the Assembler option, assemble CWDEMASM using the modified assembly/link-edit JCL that includes the BMC Assembler language processor. For detailed information, see “Assembler Assembler-Language-ProcessorLanguage Processor” in the BMC AMI Common Shared Services User/Reference Guide. (You may also assemble CWCEEASM and CWDEMACH.)

  5. If you have the C option, compile the CWDEMC program with the modified compile/link-edit JCL that includes the BMC C language processor. (You may also compile CWDEMZCH.) For detailed information, see “Compiling-and-Binding-C-Test-Programs” in the  Code Debug CICS Advanced Configuration Guide.

Task 4.7.2 Allocate and Initialize the Employee File (DBCDEFEM)

The employee data set (keyed sequential) is required to run the test (demonstration) programs.

Define a VSAM KSDS file using the JCL in SMXDSAMP member DBCDEFEM. The JCL loads the file with five records. The test programs require that these records be present.

The resource definition for DBUGEMP was installed as part of Update the CICS Resource Definitions.

Task 4.8 Update the CICS Startup JCL

This milestone requires the 

Code Debug CICS

 Installer.

Change your site’s CICS startup JCL as follows:

  1. Make the CSS load library accessible to Code Debug CICS by adding it to the DFHRPL concatenation in the CICS startup JCL. The CSS load library is named CPWR.LCXnnn.SLCXLOAD (nnn is the release of CSS) and is included in the installation of Enterprise Common Components.
  2. Add the appropriate Code Debug CICS load library listed in the following table to the DFHRPL concatenation:
    Load Libraries for CICS Release Support. 

    CICS Release

    Data set Name

    CICS TS 5.6

    CPWR.VMXD170.SMXDO73L

    CICS TS 6.1

    CPWR.WMXD170.SMXDO74L

    CICS TS 6.2

    CPWR.XMXD170.SMXDO75L

    CICS TS 6.3CPWR.YMXD170.SMXDO76L
  3. Define one or more SLS data sets to CICS using one or any combination of the following methods. (The maximum number of ddnames is specified by PARMLIB parameter MAXIMUM_SLS_FILES_TO_SEARCH. For more information, see the section entitled “Configuration-Parameters” in the Code Debug CICS Advanced Configuration Guide.
    • Enable dynamic allocation by using PARMLIB parameter ENABLE_DYNAMIC_FILE_DEF_FOR_SLS_FILES and naming the SLS data sets as required for that feature. For more information, see the description of ENABLE_DYNAMIC_FILE_DEF_FOR_SLS_FILES in the section entitled “Configuration-Parameters” in the Code Debug CICS Advanced Configuration Guide.
    • Add a DD statement and/or RDO definition for each SLS standard DDIO data set or shared directory to the CICS startup JCL.

      Warning

      Important

      • If you use a non-IBM dynamic allocation product, ensure that the source listing data sets are excluded from automatic opens performed by these products when the data set is allocated. If you fail to do so, you may be unable to access source listings through Code Debug CICS.

      • The optional data sets described in the remainder of this step have not yet been created.

  4. If you are not dynamically allocating CICS data sets, add a DD statement for the profile file created in Allocate a Profile File(DBCDEFPF).
  5. If you are not dynamically allocating CICS data sets, add a DD statement for the employee file created in Allocate and Initialize the Employee File (DBCDEFEM).

Task 4.9 Verify the Basic Code Debug CICS Installation and Configuration

This milestone requires the Code Debug CICS Installer.

To verify that the Code Debug CICS installation has been successful, Code Debug CICS runs the Installation Verification Process (IVP). This procedure, performed automatically when the product is initialized in the CICS region, detects any changes introduced in the region that would cause the product not to function. You may request verification by using the XIVP transaction. This transaction routes the resulting output messages to the destination of your choice. The syntax for XIVP is as follows:

image2021-2-5_15-44-37.png

DEST=TERMINAL

Causes the output to go to the terminal at which XIVP is entered. This is the default.

DEST=NONE

Causes all output to go only to transient data destination CSMT.

DEST=tempstg-queue

Causes the output to go to the temporary storage queue name supplied.

The PARMLIB parameter SEVERITY_OF_IVP_MESSAGES_TO_CSMT_QUEUE controls the destination of messages. To change this parameter, see to Milestone 7: Specifying Additional Configuration Parameters and “Parameter-Descriptions” in the Code Debug CICS Advanced Configuration Guide.

All discrepancies detected by XIVP are assigned a severity level of SEVERE, ERROR, WARNING, or INFORMATIONAL.

If severe errors are detected during initialization, they are placed in the temporary storage queue XPEDXIVP, and Code Debug CICS abends with a code of DBI0. For information on the abend code, see to the section entitled “Abend-Codes” in the Code Debug CICS Messages and Codes section. If the product is being initialized at a terminal where errors are detected, the following messages are directed to the terminal user before the abend is issued:

ERRORS WERE DETECTED DURING INITIALIZATION

USE CEBR TO BROWSE TEMPSTG QUEUE XPEDXIVP, OR
EXAMINE TRANSDATA DESTINATION CSMT FOR MESSAGES, OR
EXECUTE TRANSACTION XIVP DEST=TERMINAL TO SEE ERRORS
If ERROR level discrepancies are detected during initialization, they are placed in the temporary storage queue XPEDXIVP, and Code Debug CICS initialization will continue. If the product is being initialized at a terminal, the messages shown as follows will be directed to the terminal user. If the user responds NO to the CONTINUE INITIALIZATION prompt, Code Debug CICS abends with DBI0.

ERRORS DETECTED THE PRODUCT MAY BE USED, BUT UNPREDICTABLE RESULTS

MAY OCCUR, UP TO AND INCLUDING POSSIBLE REGION
OUTAGES. CORRECT THESE ERRORS AS SOON AS POSSIBLE.
CONTINUE INITIALIZATION? ==> (YES/NO)If product is initialized with ERROR level discrepancies, a message “Code Debug initialization error, execute XIVP” will be issued to the terminal when a new Code Debug CICS session is started. This will alert each user to the fact that there may be problems with the product's configuration. These errors should be corrected as soon as possible.

Task 4.10 Review Automatic Session Termination

This milestone requires the CICS System Programmer.

Code Debug CICS can be tailored to terminate an active debugging session automatically if a terminal is disconnected, logged off, and/or signed off from CICS. BMC highly recommends that you install automatic session termination to release the resources of sessions that have not been manually terminated.

The following tasks will be sufficient for most sites where terminal autoinstall is used. For other methods, see to the section entitled “Configuring-Automatic-Session-Termination” in the  Code Debug CICS Advanced Configuration Guide.

Task 4.10.1 Modify the Terminal Autoinstall Exit DFHZATDX

If your site uses a different autoinstall exit, its name can be found in the SIT parameter AIEXIT.

  1. Add the following line of code to DFHZATDX in the “Delete Processing Section” after the IBM Put Delete Code Here comment:
    EXEC CICS START INTERVAL (0) TRANSID (’XPN0’) FROM (DELETE_TERM_ID)

    Warning

    Important

    • Add the above line in the section labeled DELETE_TERMINAL. Do not add the line to the section labeled DELETE_SHIPPED_TERMINAL.

    • Consider adding “NOHANDLE”—or other appropriate condition handling—for exception conditions such as TRANSIDERR.

  2. Reassemble and link edit DFHZATDX (or whatever VTAM terminal autoinstall exit is used at your site).

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI DevX Code Debug for CICS 17.02