The IMS Log Reader Capture Agent configuration (.cab) file is created and maintained by the SQDCONF utility with JCL similar to sample member SQDCONIC included in the distribution. While this section focuses primarily on the initial configuration of the Capture Agent, sequences of SQDCONF commands to create and configure the capture agent should be saved both for migration to other operating environments and for recovery. See SQDCONF Utility Reference for a full explanation of each command, their respective parameters and the utility's operational considerations.
create <cab_file_name>
--type=IMS
--zlog=<log_stream_name>
Keyword | Description |
---|---|
<cab_file_name> | This is where the configuration file, including its path is first created. There is only one CAB file per Capture Agent. In our example /home/sqdata/imscdc.cab |
--type=<type> | Agent type, in the case of the IMS Log Reader Capture, is IMS. |
--zlog=<log_stream_file> | The default z/OS System LogStream used for all IMS Subsystems that do not have their own dedicated System LogStream. The LogStream created previously in our example 'SQDATA.IMSCDC.LOG1'. |
add <cab_file_name>
--ssid=<ims_system_id>
--zlog=<log_stream_name>
Keyword | Description |
---|---|
<cab_file_name> | Must be specified and must match the name specified in a previous create command. |
--ssid=<ims_system_id> | The IMS System ID. In our example IMS01 |
--zlog=<log_stream_file> | The default z/OS System LogStream used for all IMS Subsystems that do not have their own dedicated System LogStream. The LogStream created previously in our example 'SQDATA.IMSCDC.LOG1'. |
Example
//SQDCONIC JOB 1,MSGLEVEL=(1,1),MSGCLASS=H,NOTIFY=&SYSUID
//*
//*--------------------------------------------------------------------
//* Create CAB File for IMS Log Reader Capture Agent
//*--------------------------------------------------------------------
//* Note: 1) Parameter Keywords Must be Entered in lower case
//*
//* 2) Parameters Values are Case Sensitive
//*
//* Steps: 1) (optional) Delete the existing Capture CAB File
//* 2) Create a new Capture CAB File
//* 3) Add IMS Subsystem(s) to the new Capture CAB File
//* 4) Display the contents of the new CAB File
//*
//*********************************************************************
//*
//JOBLIB DD DISP=SHR,DSN=SQDATA.V400.LOADLIB
//*
//*-------------------------------------------
//* Optional - Delete existing CAB File
//*-------------------------------------------
//*DELETE EXEC PGM=IEFBR14
//*SYSPRINT DD SYSOUT=*
//*CONFFILE DD PATHDISP=(DELETE,DELETE),
//* PATH='/home/sqdata/imscdc.cab
//*
//*--------------------------------------------------------------------
//* Create a New Capture CAB File
//* --type: Must be IMS
//* --zlog: Specifies a single default z/OS LogStream used as a
//* store for subsystems that don't use a dedicated one
//*--------------------------------------------------------------------
//CRCONF EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
create /home/sqdata/imscdc/imscdc.cab
--type=IMS
--zlog='SQDATA.IMSCDC.LOG1'
/*
//*--------------------------------------------------------------------
//* Add Subsystem(s) to the Capture CAB File
//* --ssid or --key: Specifies the IMS subsystem ID
//* --zlog: Specifies a LogStream for the subsystem (overrides the
//* CAB default zlog)
//*
//* Add additional Subsystems later via Batch Job (a subset of this
//* Job) or via the ISPF Interface
//*--------------------------------------------------------------------
//*---------------------------------------------------
//* Capture Subsystem IVP1 to a specific LogStream.
//* Added subsystems are active by default.
//*---------------------------------------------------
//ADD1 EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
add /home/sqdata/imscdc/imscdc.cab
--zlog='SQDATA.IMSCDC.LOG.IVP1'
--ssid=IVP1
/*
//*---------------------------------------------------
//* Capture Subsystem IVP2 to the default LogStream.
//*---------------------------------------------------
//ADD2 EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD * \
add /home/sqdata/imscdc/imscdc.cab
--ssid=IVP2
/*
//*----------------------------------------------------
//* Display the Contents of the Capture CAB File
//*----------------------------------------------------
//DISPLAY EXEC PGM=SQDCONF
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SQDPARMS DD *
display /home/sqdata/imscdc.cab
/*
The sqdconf create command defines the location of the configuration file. Once created, this command should never be run again unless you want to destroy and recreate the Capture agent. Deleting the CAB file will cause the current position in the IMS Log to be lost and Capture will start from the current time. A CAB file cannot be modified or deleted while the Capture is running and attempting to create a new one with the same name will fail. Once a CAB file has been created, only changes in the form of add and modify commands can be used. When adding a new subsystems, capture will start from the current time, unless an LSN is specified. The sqdconf apply function used on other platforms does not apply to the IMS Log Reader Capture on zOS and all changes made to the CAB file take effect immediately when the Capture agent JOB is re-started.Captured data can be written to multiple LogStreams allowing a one-to-many relationship between Publishers and downstream Engines, as seen later in an example of the sqdconf modify command. Directory path references to [home] and a "user" named [sqdata] can be modified to conform to the operating environment but must match the zFS Directories previously created.