The IMS/DC (Data Communications) system provides users with online "real time" access to information in IMS databases. MPP transaction programs are NOT submitted with OS JCL. The online IMS Control Region automatically schedules the MPP program necessary to process a transaction. This page summarizes how the Mainframe Analyzer handles IMS/DC.
|Support for IMS/DC was introduced in CAST AIP 8.3.19.|
Inside a PSB file, the PCB connects to the database:
PCB TYPE=GSAM,DBDNAME=GSAM01,PROCOPT=A,PCBNAME=GSAPCB *-------------- PSBGEN ----------------------------------------------* PSBGEN LANG=COBOL,PSBNAME=COBIMSB1 PRINT NOGEN
Then we have the definition of the DBD IMS file:
DBD NAME=GSAM01,ACCESS=(GSAM,BSAM), X VERSION='09/22/0812.01' DSG1 DATASET DD1=GSAM01, X DD2=GSAM01,RECFM=FB DBDGEN FINISH
This IMS file calls the dataset of the JCL file, that calls the PSB file. The logic dataset name is set as GSAM01 and this is found when creating the JCL dataset:
//COBOLB1 EXEC PGM=DFSRRC00,PARM='DLI,COBIMSB1,COBIMSB1' //STEPLIB DD DSN=SYSCAST.IMS.SDFSRESL,DISP=SHR //* * IMS DBD AND PSB LIBS //IMS DD DSN=APPCAST.IMS.PSBLIB,DISP=SHR // DD DSN=APPCAST.IMS.DBDLIB,DISP=SHR //* * IMS STATISTICS //DFSSTAT DD SYSOUT=P //* * IMS SYSTEM LOG //IEFRDER DD DUMMY //GSAM01 DD DSN=MYTELCO.IMSGSAM.DATA,DISP=OLD
The Mainframe Analyzer will handle this scenario by linking the IMS file to the JCL dataset via a prototype link:
The Mainframe Analyzer will analyze the IMS Transaction file (*.tra) to resolve two macros:
APPLCTN PSB=IMMMBHI,PGMTYPE=TP,SCHDTYP=PARALLEL 06036000 TRANSACT CODE=IMMMBHI,MSGTYPE=(MULTSEG,RESPONSE,65), *06037000 PARLIM=0,SEGNO=400, *06038000 MODE=SNGL,PROCLIM=(03,01) 06039000
In this example, when the TRANSACT macro is created as code, the Mainframe Analyzer will create an IMS transaction object with the code name, then link it to the Cobol program named as PSB = XXX inside the APPLCTN macro.
Click to enlarge
The input data from the terminal is read by the data communication modules. After editing by MFS, if appropriate, and verifying that the user is allowed to execute this transaction, this input data is put in the IMS message queue. The messages in the queue are sequenced by destination, which could be either transaction code (TRAN) or logical terminal (LTERM).
From a Cobol file, the Alternal-PCB contains the destination code (IMS Trans code or LTERM code). Example ALT-PCB:
01 GNSALTIO-PCB. 02 GNSALTIO-DESTCODE PIC X(008) VALUE 'ICLRSELT'. 02 GNSALTIO-IMS-RESERVED PIC X(002). 02 GNSALTIO-STATUS-CODE PIC X(002). 02 GNSALTIO-CURRENT-DATE PIC S9(007) COMP-3. 02 GNSALTIO-CURRENT-TIME PIC S9(007) COMP-3. 02 GNSALTIO-MSG-SEQ-NUMBER PIC S9(008) COMP. 02 GNSALTIO-MOD-NAME PIC X(008). 02 GNSALTIO-USER-ID PIC X(008).
Only the CHNG DLI Call could change the value of destination code. The ISRT DLI Call will send the message to LTERM or IMS Transaction:
Click to enlarge
|Support introduced in CAST AIP 8.3.25.|
The Mainframe Analyzer will analyze the IMS MFS Maps file (*.mfs) so that it is possible to find out which Cobol programs use an MFS Map:
As a result:
|IMS Message Format Service|
|IMS Message Input Descriptor|
|IMS Message Output Descriptor|