Since version 9.0.1, Rational Business Developer has the ability to remotely access DL/I databases on VSE when debugging your EGL programs. This is done through the VSE Connectors, which is included with VSE. RBD sends the DL/I call (using the VSE Connector Client) to the VSE Connector Server, which in turn sends the request to a CICS mirror task, which performs the DL/I call.
If you have used the Remote DL/I functionality included with VAGen's Interactive Testing Facility (ITF), then no additional configuration needs to be performed on VSE in order for RBD's remote DL/I functionality to work.
If you haven't set up your VSE system for remote DL/I access, then you will need to ensure the following:
- The AIBTDLI interface must be installed
- DL/I VSE 1.11 or later must be installed
- APAR PQ39683 for DL/I must be applied
- Your CICS/DLI system must have an active MPS system (in the CICS log, look for the line "DLZ093I MPS STARTED WITH APPLID=MYCICS").
- The CICS online nucleus DLZNUC* must have an entry for the CICS DL/I mirror task DLZBPC00 and any PSB that you need to access remotely.
For example: DLZACT TYPE=PROGRAM,PGMNAME=DLZBPC00,PSBNAME=(myPSB1,myPSB2...)
- The DL/I task termination exit DLZBSEOT must be resident in the SVA.
In case above requirements are not met, you may get a exception telling that the DLI Plugin (IESDLIPL) is disabled. You will need to restart the VSE Connector Server in order to enable the plugin.
The EGL Build Descriptor used for debugging will need to be set as follows:
destHost: The VSE host name or IP address
destUserID and destPassword: The userID and password for connecting to the VSE host
destPort: The port number that the VSE Connector Server is listening on. If this option is not specified, port 2893 will be used.
imsID: The APPLID of the CICS region to be used for Remote DL/I access (the CICS region must have an active MPS system).
system: Either VSEBATCH or VSECICS
debugTrace: Set this to yes if an error occurs with the debugger. Trace output is written to the RBD console.
imsPSB (optional): The PSB to be used for debugging. This overrides the PSB setting in the EGL Debug IMS DLI preferences.
The EGL Debug preferences will also need to be set (Window->Preferences->EGL->Debug)
1) Ensure that VSEConnector.jar and cci.jar are in the classpath (these files are included in the installation of the VSE Connector Server)
2) Ensure that the DL/I Debug settings are correct. In particular, ensure that the Conversion Table is correct for your environment (it should correspond to the EBCDIC conversion table used by your VSE Connector Server). You will also need to specify how the PSB name is obtained for debugging
Select one of the following options for specifying the PSB name:
- Review the build descriptor option imsPSB
A non-blank value in build description option imsPSB takes precedence over any other source of PSB name.
- Prompt user for PSB name
At the start of each debug session, the user is prompted to enter the PSB name used to access DL/I data.
- Use PSB name from DLILib.psbData
The PSB name comes from the psbData record in dliLib.
- Use program name for PSB name
This is either the value of the alias property (if used), or the program name. This value is folded to upper case.
The EGL Debugger requires one of the following in your EGL program:
For callInterface = DLICallInterfaceKind.CBLTDLI
the EGL PSB must have the PCBS in the same order as the VSE PSB (in terms of the number of PCBs and their respective positions)
For callInterface = DLICallInterfaceKind.AIBTDLI (the default if no callInterface option is specified)
the PCBs in the EGL PSB must have the same name as the PCBs in the VSE PSB.