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.

Operational Considerations


Code Debug Service Provider Operator Commands

This section describes the functions, syntaxes, and parameters of the Code Debug Service Provider administrative commands. These MVS operator commands can be entered at a console, an alternate console, or using the TSO operator command interface. The basic command functions are listed in the following table:

Service Provider Commands and Functions

Command

Function

STATUS

Displays a list of connected Service Requester address spaces.

DUMP

Schedules an SVCDUMP of the Code Debug Service Provider address space.

SHUTDOWN

Schedules termination of the Code Debug Service Provider address space.

INITTCP

Starts the TCP communications subtask.

SHOWTCP

Displays a list of Service Providers that this Service Provider is currently connected to.

TERMTCP

Terminates the TCP communications subtask.

These commands all have a similar format:

 MODIFY xdssname,COMMAND,parameterThe letter F is a valid abbreviation for MODIFY. This is followed by a required space and xdssname representing the started task or batch job name of the Code Debug Service Provider address space. This is followed immediately by a comma (,) and the actual command name.

STATUS Command

Use the STATUS command to display the status of all connected Service Requester address spaces.

image2021-10-12_0-35-47.png

An example of the STATUS command is:

 MODIFY XD01SS01,STATUSThe following is an example of output produced by using the STATUS command:

XSP2100I Service Provider Release 17.02.00 SSID(XPLX) Image(ZOS1)
XSP2101I Job Name ASID Status Type Version Ident Connects
XSP2102I -------- ---- -------------- -------- -------- -------- --------
XSP2103I ACMEASA2 0095 Initialized CICS 04.01.00 ACMEASA2 1
XSP2103I ACMEASA1 0062 Initialized CICS 04.01.00 ACMEASA1 1
XSP2103I ACMEASA4 0097 Initialized CICS 04.01.00 ACMEASA4 1
XSP2103I ACMEASA3 0096 Initialized CICS 04.01.00 ACMEASA3 1
XSP2103I ACMEASA5 0098 Initialized CICS 04.01.00 ACMEASA5 1
XSP2103I ACMEC168 0050 Initialized CICS 04.01.00 ACMEC168 1
XSP2103I ACMEC106 006C Initialized CICS 05.02.00 ACMEC106 1
XSP2103I ACMEC041 006D Initialized CICS 04.01.00 ACMEC041 1
XSP2104I 8 connected Service Requester address spaces


Column

Description

Job Name

Started task or batch job name for connected address space.

ASID

Address Space Identifier for connected address space.

Status

Connection status. Possible values are Initializing, Initialized,
Terminating, Terminated, Abterm, and Unknown.

Type

Connection type. The valid value is CICS.

Version

Connection type version.

Ident

Connection type identifier. Possible values are Applid and UserId.

Connects

Number of concurrent connections.

DUMP Command

Use the DUMP command to capture an SVCDUMP of the Service Provider address space and, optionally, a list of between 1 and 14 Service Requester address spaces. The DUMP command should only be used under the direction of Code Debug CICS Customer Solutions.

image2021-10-12_0-36-4.png

Examples of the DUMP command are

 MODIFY XD01SS01,DUMPwhich will capture an SVCDUMP of the Service Provider address space, and

 MODIFY XD01SS01,DUMP,ACMEC123which will capture an SVCDUMP of the Service Provider address space and the Service Requester address space ACMEC123.

The following is an example of output produced by using the DUMP command:

 XSP2201I Service Provider dump has been captured

SHUTDOWN Command

Use the SHUTDOWN command is used to schedule normal termination of the Code Debug Service Provider address space.

image2021-10-12_0-35-26.png

An example of the SHUTDOWN command is:

 MODIFY XD01SS01,SHUTDOWNThe following is an example of output produced by using the SHUTDOWN command:

XSP2501I Service Provider shutdown in progress
XSP0501I Monitor subtask termination initiated
XSP0502I Monitor subtask termination complete
XSP0501I Command subtask termination initiated
XSP0502I Command subtask termination complete
XSP0901I Termination routine entered for Termination processing
XSP0503I Service Provider Termination completex

The following is an example of the output produced if there are Service Requester address spaces still connected:

XSP2502E SHUTDOWN command rejected, 4 connected Service Requester address
spaces
Use the STATUS command to display the connected address spaces. The XPOF transaction can be used to terminate Code Debug in each connected address space.

Error
Warning

Code Debug CICS code relies upon the presence of the Service Provider. If the Service Provider is forcibly removed, results are unpredictable and may include failure of connected CICS regions.

There is an alternative to using XPOF in each connected address space. The optional Remote Operations Command Interface (ROCI) allows both startup and shutdown of 

Code Debug CICS

 in multiple CICS regions with one command entered on an ISPF panel. See Installing-and-Customizing-the-Remote-Operations-Command-Interface to implement ROCI. For additional information on the use of ROCI, see section entitled “Remote-Operations-Command-Interface” in the Code Debug CICS Reference space.

INITTCP Command

Use the INITTCP command to start the TCP communications subtask. The INITTCP command can be abbreviated ITCP.

image2021-10-12_0-34-57.png

Examples of the INITTCP command are:

MODIFY XD01SS01,INITTCP
MODIFY XD01SS01,INITTCP,PORT=54006
MODIFY XD01SS01,INITTCP,MEMBER=abcdefgh

The PORT parameter is optional, allowing the user to override the PORT number originally specified. The PORT parameter can be abbreviated P.

The MEMBER parameter is optional, allowing the user to override the MEMBER name originally specified. The MEMBER parameter can be abbreviated M.

The following is an example of output produced by using the INITTCP command regardless of whether or not PORT or MEMBER are specified:

RESPONSE=CW40 XSP0460I TCP subtask initialization started

SHOWTCP Command

Use the SHOWTCP command to display a list of Service Providers to which this Service Provider is currently connected. The SHOWTCP command can be abbreviated STCP.

image2021-10-12_0-36-28.png

An example of the SHOWTCP command is:

MODIFY XD01SS01,SHOWTCPThe output produced from this command provides information about the “modify” Service Provider in the XSP2100 message and about all other connected Service Providers in XSP3103 messages. The following is an example of output produced by using the SHOWTCP command:

RESPONSE=CW01
XSP2100I Service Provider Release 17.02.00 SSID(XPM1) Image(CW01)
XSP3101I Release SSID Image Port IP Address
XSP3102I -------- ---- ---- ----- ---------------
XSP3103I 17.02.00 XPM4 CW04 55006 10.10.0.204
XSP3103I 17.02.00 XPM6 CW06 55006 10.10.0.206


TERMTCP Command

Use the TERMTCP command to terminate the TCP communications subtask. The TERMTCP command can be abbreviated TTCP.

image2021-10-12_0-37-43.png

An example of the TERMTCP command is:

MODIFY XD01SS01,TERMTCPThe following is an example of output produced by using the TERMTCP command:

RESPONSE=CW40 XSP0501I TCP subtask termination initiated

Product Termination

To completely shut off Code Debug CICS in an entire CICS region, enter the XPOF transaction from any terminal. XPOF is useful when maintenance has been applied to an Code Debug CICSor BMC AMI Common Shared Services module and you want it to take effect without cycling your CICS system.

Because all active sessions must be terminated before shutting off Code Debug CICS, this transaction notifies you of any active sessions and tells you which terminals are running them. Once you have terminated active Code Debug CICS sessions, XPOF removes all Code Debug CICS product hooks and deletes all Code Debug CICS programs.

Warning

Important

To limit who can shut down Code Debug in an entire region, BMC recommends securing XPOF through CICS to restrict its use.

If XPOF is entered and an Code Debug session exists on one or more terminals, messages will be issued as illustrated in XPOF Messages. Whenever feasible, the Code Debug sessions should be ended prior to continuing with XPOF. If necessary, the existence of Code Debug sessions may be ignored by entering XPOF FORCE.

Error
Warning

The use of XPOF FORCE can lead to unpredictable results, possibly including the failure of the CICS region. It should only be used in exceptional conditions. For more information on disallowing the use of XPOF FORCE, see ALLOW_FORCE_PARM_FOR_XPOF.

BMC recommends that following use of the XPOF FORCE transaction, a CICS cold restart be performed to clean up any residuals from the global/local catalogs.

XPOF Messages

 *---- Code Debug shutdown proceeding For SYSID=C123
Error-other Code Debug sessions exist
End Code Debug sessions on terminals:
    T008  userid:USER001

Single Point Product Startup and Shutdown

The optional Remote Operations Command Interface (ROCI) allows both startup and shutdown of the product in multiple CICS regions with one command entered on an ISPF panel. See Installing-and-Customizing-the-Remote-Operations-Command-Interface to implement ROCI. For additional information on the use of ROCI, see section entitled “Remote-Operations-Command-Interface” in the Code Debug CICS Reference space.

Using the Batch Interface to Code Debug CICS NEWCOPY

This section describes the Batch Interface to Code Debug CICS NEWCOPY.

The Batch Interface to Code Debug CICS NEWCOPY allows batch compile and link jobs (or standalone linkedit jobs) to communicate with one or more CICS regions and request the NEWCOPY (PHASEIN) of the just-linked load module.

Code Debug CICS does not need to be turned on in a CICS region to use this feature. However, Code Debug CICS transaction and program definitions must be installed in each CICS region referenced, and the Code Debug CICS load library must be in the DFHRPL concatenation or in an installed LIBRARY.

Sample JCL to merge into your existing compile and link (or standalone linkedit) procedures is in SAMPLIB member JCLNEWC. Customize the data set name in the TPCONFIG DD statement. This data set was created in Create and Use TPCONFIG. Then modify the two related parameters LMOD and CFGMBR to fit into your procedures. Specify the load module name of the newly-linked program in LMOD. Specify your TPCONFIG member name in CFGMBR. Depending on the requirements of your environment, CFGMBR could be a static value.

You may use this jobstep independent of compile and/or linkedit JCL and specify multiple load module names to NEWCOPY. In addition to providing an EXEC parameter, you can supply load module names and/or the MEMBER= parameter via input DDname NEWCINP. You can also provide all data via input DDname NEWCINP and omit the EXEC parameter. Data provided via the EXEC parameter is parsed before any data provided via input DDname NEWCINP. Regardless of input source, only one TP configuration file MEMBER name may be provided.

Warning

Important

You may submit this jobstep without specifying DDname NEWCINP. All input must then be within the EXEC parameter.

Your data set allocated to NEWCINP may be blocked or unblocked, fixed length or variable. Input statements may contain a single load module name or multiple load module names. Use a comma to separate multiple load module names. The final load module name on each input statement should also be followed by a comma if more input statements follow.

Comment statements, identified by an asterisk (*) in position 1, may be included in the NEWCINP input data.

Batch Interface to Code Debug CICS NEWCOPY Usage of the Code Debug TP Configuration File

The Code Debug TP configuration file (TPCONFIG) is used for two purposes:

  • To identify Code Debug Service Providers that are to share CICSPlex information.
  • To identify all of the CICS regions that should be contacted by the Batch Interface to Code Debug CICS NEWCOPY.

Efficiency Considerations

Technically, each member of the TPCONFIG partitioned data set may contain entries for both possible uses mentioned above. This is because each record within a member starts with a record identifier, and records with an identifier for a different purpose are ignored. However, even though it is technically feasible to have all of the information in one member, doing so would be inefficient.

It is possible to lump all Batch NEWCOPY records (NEWC) into one TPCONFIG member, but then each time the Batch Interface to Code Debug CICS NEWCOPY is used, the program will try to contact all CICS regions. The volume of regions contacted could clutter the report produced and extend the Batch Interface’s runtime. In addition, regions that do not contain the program being newcopied would always report errors, increasing the likelihood of other errors being overlooked. Therefore, BMC recommends logically grouping your NEWC entries into members that mirror your site’s program (load library) distribution.

Record Identifiers for Batch Interface to Code Debug CICS NEWCOPY Records

Records in a TPCONFIG member with an asterisk in position one are considered comment records and are ignored. Records that have a blank in position one are scanned for a following record identifier.

The record identifier for the Batch Interface to Code Debug CICS NEWCOPY records is NEWC. Each CICS region that you want to be contacted to attempt NEWCOPY should have a record in the member.

Following the NEWC record identifier are:

  • one or more blanks
  • the transaction ID to be initiated in CICS (XPNC is recommended)
  • one or more blanks
  • the IP Port Number for the CICS region (or keyword EXCI if the EXCI communication method is to be used)
  • one or more blanks
  • the IP Address for the CICS region (or APPLID of the CICS region if the EXCI communication method is to be used).

If a Domain Name Server is available for GETHOSTBYNAME calls, then the Domain Name may be specified instead of the IP Address.

Sample TPCONFIG Records for Batch Interface to Code Debug CICS NEWCOPY

To enable the Batch Interface to Code Debug CICS NEWCOPY, add records similar to those shown in the following figure to your TPCONFIG data set.

TPCONFIG Records for Batch Interface to Code Debug CICS NEWCOPY

************************************************************************
*            DEFINE CICS REGIONS TO NEWCOPY IN                         *
************************************************************************
*     Tranid  Port   Host name or IP address  Comments                  
*     ------  -----  -----------------------  --------------------------
NEWC  XPNC   54106  CW01.ACME.COM            MVS Sockets
 NEWC  CSMI   EXCI   H01AC087                 EXCI (Specific) connection
 NEWC  XPNC   27448  CW01.ACME.COM            TCPIPSERVICE (HTTP)

Batch Interface to Code Debug CICS NEWCOPY JCL

To utilize the Batch Interface to Code Debug CICS NEWCOPY, add the JCL provided in SMXDSAMP member JCLNEWC to your existing compile/link JCL procedure.

This jobstep communicates to CICS via MVS Sockets, TCPIPSERVICE, or EXCI. This communication is similar to that used for Code Debug’s ROCI capability as described in Installing-and-Customizing-the-Remote-Operations-Command-Interface. You should choose the communications method you are familiar with and that already exists in your CICS environments. BMC recommends using the same connection technique and connection name that was used for ROCI.

Example Batch SYSPRINT Messages

The Batch Interface to Code Debug CICS NEWCOPY writes a message to the log listing the date, SYSID, and APPLID for the program PHASEIN and indicating whether the action was successful. An example is shown in the following figure.

Example of SYSPRINT Messages from Batch Interface to Code Debug CICS NEWCOPY

       RELEASE 17.02.00. - BATCH INTERFACE TO NEWCOPY         PAGE  1

XDP0061I EXECUTION PARAMETERS: CWDEMCB2,MEMBER=TSTNEWC
------------------------------------------------------------------------------------
XDP0062I MVS SOCKET CONNECTION WITH TRAN XPNC TO PORT 54106 CW01.ACME.COM
XDP0063I MXDNC0001I 04 Mar 2008 15:12:43 - SYSID=C106 - APPLID=H01AC106
XDP0063I  Program 'CBUMOVE4' phasein successful  Len(00047D8)
XDP0063I  From(XD.TEST.BENCH.LOADLIB)
------------------------------------------------------------------------------------
XDP0062I SPECIFIC EXCI CONNECTION WITH TRAN CSMI TO APPLID  H01AC087
XDP0063I MXDNC0001I 04 Mar 2008 15:12:44 - SYSID=C087 - APPLID=H01AC087
XDP0063I  Program 'CBUMOVE4' phasein successful  Len(00047D8)
XDP0063I From(XD.TEST.BENCH.LOADLIB)
------------------------------------------------------------------------------------
XDP0062I HTTP TCPIPS CONNECTION WITH TRAN XPNC TO PORT 52054 CW01.ACME.COM
XDP0063I MXDNC0001I 04 Mar 2008 15:12:45 - SYSID=C054 - APPLID=H01AC054
XDP0063I  Program 'CBUMOVE4' phasein successful  Len(00047D8)
XDP0063I From(XD.TEST.BENCH.LOADLIB)
------------------------------------------------------------------------------------
XDP0062I HTTP TCPIPS CONNECTION WITH TRAN XPNC TO PORT 27448 CW01.ACME.COM
XDP0063I MXDNC0001I 04 Mar 2008 15:12:46 - SYSID=C006 - APPLID=H01AC006
XDP0063I  Program 'CBUMOVE4' phasein successful  Len(00046E0)
XDP0063I  From(ACMJET0.XD.LOAD)

Canceling AID Blocks

You can use CICS commands to cancel Automatic Initiator Descriptor (AID) control blocks. This is done using the SET TERMINAL or SET CONNECTION operands of the CEMT transaction, the CECI transaction, or EXEC CICS system programming commands. This facility must be used with care when Code Debug CICS is active. Code Debug CICS uses START requests (creating AIDs) to initiate display tasks (DBXG) for remote debugging sessions.

If these tasks are deleted, the remote trap will not be automatically scheduled on the trapping terminal, and the program being debugged will be left in a wait state. These tasks will then have to be manually selected for debugging using the List Abends screen (1.3) or the List All Tasks screen (9.3). For more information on the List Abends (1.3) and List All Tasks (9.3) screens, see Code Debug CICS Reference space.

Suppressing System Dumps Resulting from ASRA and ASRB Abends

CICS by default produces MVS system dumps preceding ASRA and ASRB abends. This is controlled by the System Initialization Table (SIT) parameter DUMP and the entries in the CICS System Dump table. To suppress these system dumps, see DUMP parameter and the section “Suppressing system dumps that precede ASRx abends” in the IBM documentation 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