Wednesday, December 7, 2011

MQ: What is a MQ stub program

MQ stub (MQ adapter) has all the APIs which the application programs can use to perform the MQ work.

MQ adapter name is DFHMQSTB. From the below screen, we can see that all the members are alias of DFHMQSTB.


  Menu  Functions  Confirm  Utilities  Help                                   
 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
 DSLIST            CICS.CICSTS41.SDFHLOAD.S51UN              Row 00001 of 00032
 Command ===>                                                  Scroll ===> CSR 
            Name     Prompt        Alias-of     Size      TTR     AC   AM   RM 
 _________ CSQCBFMH                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCB                  DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCLOS                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCONN                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCONX                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCTL                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCCTMH                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCDISC                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCDTMH                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCDTMP                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCGET                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCINQ                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCIQMP                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCMHBF                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCOPEN                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCPUT                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCPUT1                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSET                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSTAT                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSTMP                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSTUB                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSUB                 DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ CSQCSUBR                DFHMQSTB   00000E10   01E70B   00    31  ANY
 _________ DFHMQSTB                           00000E10   01E70B   00    31  ANY
           **End**                                                             

From the below screen, we can see that DFHMQSTB is the program name and rest are ENTRY points. The "CSQC*" Entry points are defined as alias of DFHMQSTB.

So, we can call ENTRY points ('CSQC*') dynamically from COBOL programs.

If you do not want to call them dynamically, you can link edit DFHMQSTB to your COBOL program and invoke the entry points such as MQCONN, MQOPEN etc..statically from the COBOL program. 
                                         
File-AID ADDRESS List of CICS.CICSTS41.SDFHLOAD.S51UN(CSQCST Row 1 to 19 of 53
 COMMAND ===>                                                  SCROLL ===> CSR 
 CSQCSTUB was linked on 2011/01/03 by BINDER                                   
  - Symbol - Type  ADDR   Length  Tname 1    Tdate 1  Tname 2    Tdate 2 A/Rmode
 -----------  -- -------- ------ ---------- -------- ---------- -------- -------
    DFHMQSTB  SD 00000000    E10 HLASM      10/10/28 PL/X-390   10/10/28  31/ANY
                 IDENT   11/01/03 UK61693                                      
     CSQCSTUB LD 0000011C                                                       
     MQCONN   LD 0000011C                                                      
     CSQCCONN LD 0000011C                                                      
     MQCONNX  LD 0000018E                                                       
     CSQCCONX LD 0000018E                                                      
     MQOPEN   LD 00000288                                                      
     CSQCOPEN LD 00000288                                                      
     MQCLOSE  LD 00000314                                                      
     CSQCCLOS LD 00000314                                                      
     MQGET    LD 000003A0                                                      
     CSQCGET  LD 000003A0                                                      
     MQPUT    LD 0000042C                                                      
     CSQCPUT  LD 0000042C                                                      
     MQPUT1   LD 000004B8                                                      
     CSQCPUT1 LD 000004B8                                                      
     MQINQ    LD 00000544                                                      
     CSQCINQ  LD 00000544                                                      
     MQSET    LD 000005D0                                                      
     CSQCSET  LD 000005D0                                                      
     MQBACK   LD 0000065C                                                       
     CSQBBAK  LD 0000065C                                                      
     CSQCBAK  LD 0000065C                                                      
     MQCMIT   LD 000006A4                                                       
     CSQBCMT  LD 000006A4                                                      
     CSQCCMT  LD 000006A4                                                      
     MQDISC   LD 000006EC                                                       
     CSQCDISC LD 000006EC                                                      
     MQSUB    LD 00000778                                                      
     CSQCSUB  LD 00000778                                                       
     MQSUBRQ  LD 00000804                                                      
     CSQCSUBR LD 00000804                                                      
     MQCB     LD 00000890                                                       
     CSQCCB   LD 00000890                                                      
     MQCTL    LD 0000091C                                                      
     CSQCCTL  LD 0000091C                                                      
     MQSTAT   LD 000009A8                                                      
     CSQCSTAT LD 000009A8                                                      
     MQCRTMH  LD 00000A34                                                      
     CSQCCTMH LD 00000A34                                                      
     MQDLTMH  LD 00000AC0                                                      
     CSQCDTMH LD 00000AC0                                                      
     MQSETMP  LD 00000B4C                                                      
     CSQCSTMP LD 00000B4C                                                      
     MQINQMP  LD 00000BD8                                                      
     CSQCIQMP LD 00000BD8                                                      
     MQDLTMP  LD 00000C64                                                      
     CSQCDTMP LD 00000C64                                                      
     MQMHBUF  LD 00000CF0                                                       
     CSQCMHBF LD 00000CF0                                                      
     MQBUFMH  LD 00000D7C                                                      
     CSQCBFMH LD 00000D7C                                                       
 ******************************* Bottom of data ********************************

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.