How does an in-house CICS Transaction ID connect up with the corresponding CA IDEAL application program ?

Document ID : KB000039014
Last Modified Date : 14/02/2018
Show Technical Document Details

Question:

Given a CICS transaction ID of MINS, how does it get connected to the first Ideal program it is to invoke?

Answer: 

1)     The transaction MINS has to be defined to the CICS TP monitor using a Program Control Table (PCT) which contains a definition for each transaction that may be run from this CICS system.  Similarly, each local transaction must be linked with a program which is defined in the Program Processing Table (PPT).

For programs that are controlled by the CA IPC Session Control Facility (SCF) three key programs are utilized.

                SC00INIT  - Signon transactions execute the program SC00INIT, which in turn consults the SC00TRAN table for information about how to process this                                            transaction.

                SC00TRANEach SCF-based product or component must be defined to SCF by an entry in SC00TRAN, the SCF Transaction Table.

                SC00OPTS - SC00INIT consults the site assembled table SC00OPTS to determine how the TP monitor is retrieved. It also affects how the identity of                                    the TP monitor user is determined.

 

For example here is how these programs may be defined to CICS:

a.        DEFINE   PROGRAM(SC00INIT)                                          [found in CA IPC 14.0 CAVQSAMP]                                  

GROUP(VQ14GRP) LANGUAGE(ASSEM) RESIDENT(NO) CEDF(NO)

b.       DEFINE   PROGRAM(SC00TRAN)                                    

GROUP(VQ14GRP) LANGUAGE(ASSEM) RESIDENT(YES) CEDF(NO)

c.        DEFINE   PROGRAM(SC00OPTS)                                  

GROUP(VQ14GRP) LANGUAGE(ASSEM) RESIDENT(NO) CEDF(NO)

d.       DEFINE TRANSACTION(MINS) PROGRAM(SC00INIT)      [might be in CA IDEAL 14.0 CAILSAMP]

GROUP(IL14GRP) TWASIZE(64) PROFILE(IL14PRF) SPURGE(NO)

 

2)     After the MINS transaction was defined to CICS it must also be defined to the CA IPC SCF Transaction Table (SC00TRAN).  Once it is placed in there, SC00TRAN will need to be re-assembled, link edited and the CICS cycled.  A typical entry for this transaction will look like:

              

 SCTRANTB TYPE=ENTRY,PROD=IDL,TRANID=MINS,     ACCTID BL65    XX00000026

              OPTIONS=(DD,EX,PS),                                    XX00000027

              TRNDATA='NDBAMINS    ', NO EXIT, USER DBA, MEMBER MINS XX00000028

              XFERCMD=IDEAL                                            00000029 

 

Once you have logged onto your CICS region and entered into IDEAL (using IDEA or IDLX) you can issue a display to find the MINS transaction.

 

=> display pct                                                                

=>                                                                            

=>

                                                                           

-------------------------------------------------------------------------------

IDEAL: DISPLAY ATZ OPTIONS   MEM                             SYS: $ID   DISPLAY

                                                                              

Command....+....1....+....2....+....3....+....4....+....5....+....6....+....7..

====== ================================ T O P =================================

000001 TRAN INITIAL  TYPE OF    TWA   PRD ---------- TRNDATA ---------------- 

000002  ID  PROGRAM  ENTRY      SIZE      PROGRAM            USR.MEMBER  SEC? 

000003  

… 

000341 MINS SC00INIT FINAL-ID    64   IDL                    DBA.MINS  

      

3)      From the above display we can see that when the transaction MINS is invoked it will call SC00INIT.  SC00INIT will in turn read the SC00TRAN table to determine what the controlMEMber name is to be used with this transaction.  In this case the MEMber name is also MINS and it is owned by the user DBA

 

So, if you now go into IDEAL and issue: 

=> DISPLAY MEM mins USER dba                                                  

=>                                                                            

=>                                                                            

                                                                              

-------------------------------------------------------------------------------

IDEAL: DISPLAY MEMBER        MEM DBA.MINS                    SYS: $ID   DISPLAY

                                                                              

Command....+....1....+....2....+....3....+....4....+....5....+....6....+....7..

====== ================================ T O P =================================

000100 SEL SYS MEN                                                            

000200 SET COMMAND LINE 0                                                     

000300 SET COMMAND SEPARATOR N                                                

000400 SET RUN QUITIDEAL YES                                                  

000500 SET RUN CLEAR QUITRUN                                                  

000600 SET ENVIRONMENT FINAL-ID NONE                                           

000601 SET ENVIRONMENT ACCOUNT-ID BL65                                        

000700 RUN MINS VER LAST                                                      

====== ============================= B O T T O M ==============================

 

Here we can see the various environmental options that have been chosen to be used when we eventually execute IDEAL program (also named) MINS

 

4)      In order to find out the name of the IDEAL application system this program is part of we can:

=> DISPLAY INDEX PGM mins                                                     

=>                                                                            

=>                                                                            

                                                                              

-------------------------------------------------------------------------------

IDEAL: DISPLAY INDEX         PGM                             SYS: MEN   DISPLAY

                                                                               

Command Name    Ver S R-S SYS Lang  Description              Created  Updated 

====== ================================ T O P =================================

000001 MINS     006 H PRV MEN IDEAL institution files        03/17/89 06/12/90

000002 MINS     008 H PRV MEN IDEAL institution files        06/12/90 04/24/14

000003 MINS     009 H SHR MEN IDEAL institution files        04/24/14 10/06/14

000004 MINS     010 P SHR MEN IDEAL institution files        10/06/14 10/06/14

000005 MINS     011 T PRV MEN IDEAL institution files        10/15/15 11/09/15

====== ============================= B O T T O M ==============================

 

5)      Now with the SYS name we can look at the various sections of the program.  For example, in the Resource section we can see that MINS appears to be a menu driven program designed to call other sub-programs to Add, Browse, Change, Delete and check Security levels while displaying a panel.  Note these programs and panel are derived from other IDEAL application systems.

 

=> DISPLAY PROGRAM mins VERSION last res                                     

                                                                  

------------------------------------------------------------------------------

IDEAL: Resource Edit Panel   PGM MINS (011) TEST             SYS: MEN   DISPLA

                                                                             

Command Type    Name of DVW/PGM/PNL or RPT         Version  System  Qual?    

======  ===     ========== T O P ===============     ====     ===     =      

000001  PGM     AINSCTL                              022      BLI            

000002  PGM     BINSCTL                              023      BLI            

000003  PGM     CINSCTL                              023      BLI            

000004  PGM     DINS                                 041      BLI            

000005  PGM     PCHKSEC                              001      SEC            

000006  PNL     MINS                                 001      MEN            

======  ===     ======= B O T T O M ============     ====     ===     =    

 

6)      Normally IDEAL programs execute as a compile, load and go configuration.  However, once the program/panel has been promoted to a PROD version, you have the capability to create an executable load module using the IDEAL CREATE MODULE program/panel command.  The maximum length of the program nodule name can only be 7 characters.  When the transaction calls the program, the load module version will be fetched from the CICS DFHRPL library concatenation.

If you are in doubt as to whether the particular IDEAL program has be created as a load module, once you have signed into CICS, you can issue DBUT M=xxxxxxxR.  If the program is a load module, it will be loaded and the hexadecimal version of the program will be displayed.  If it has not been created as a load module, then you’ll get PROGRAM NOT IN CSD.

Another way to determine this is to get into IDEAL, issue a SELECT SYS yyy for the application system that the program belongs to then issue, DISPLAY INDEX MODULE.  This will provide a list of programs and panels that are in load module format.  For example:

=> display index module                                                       

=>                                                                             

=>                                                                            

                                                                              

-------------------------------------------------------------------------------

IDEAL: DISPLAY INDEX         MOD                             SYS: MEN   DISPLAY

                                                                              

Command  Name  For IDEAL entity            Last compiled at   Linked    Verify

====== ================================ T O P =================================

000025 MFTG    PGM MFTG     (001) SYS MEN  02/15/02 08:48:55  02/19/02        

000026 MFTQ    PGM MFTQ     (016) SYS MEN  01/27/10 14:20:24  12/02/10        

000027 MFTR    PGM MFTR     (001) SYS MEN  01/31/02 13:48:41  02/24/02        

000028 MHRT    PGM MHRT     (001) SYS MEN  03/12/09 10:08:41  05/02/09        

000029 MINSDUP PGM MINSDUP  (006) SYS MEN  12/07/01 08:19:23  12/09/01         

000030 MISD    PGM MISD     (005) SYS MEN  05/04/98 12:02:05  07/12/98          

 

 The DISPLAY LMT (Load Module Table) can also be used to provide you with a cross reference of the IDEAL system and program name vs. the module name (which is normally the same as the program name).

 

=> display lmt                                                                

=>                                                                            

=>                                                                            

                                                                               

-------------------------------------------------------------------------------

IDEAL: DISPLAY ATZ OPTIONS   MEM                             SYS: MEN   DISPLAY

                                                                               

Command....+....1....+....2....+....3....+....4....+....5....+....6....+....7..

====== ================================ T O P =================================

000555 PGM  MFG  MFT3PG8   (PRD)  IS MODULE  MFT3PG8                           

000556 PGM  MFG  MFT3PG9   (PRD)  IS MODULE  MFT3PG9                          

000557 PGM  MFG  MFT4PG1   (PRD)  IS MODULE  MFT4PG1                          

000558 PGM  MFG  MFT4PG2   (PRD)  IS MODULE  MFT4PG2                           

000559 PGM  MFG  MFT5PG1   (PRD)  IS MODULE  MFT5PG1                          

000560 PGM  MEN  MHRT      (PRD)  IS MODULE  MHRT                             

000561 PGM  MEN  MINSDUP   (PRD)  IS MODULE  MINSDUP                          

 

000562 PGM  MEN  MISD      (PRD)  IS MODULE  MISD