Quantcast
Channel: IBM Mainframe Computers Forums
Viewing all articles
Browse latest Browse all 8500

COBOL Programming :: RE: How to get the program name of calling module in called prog

$
0
0
Author: steve-myers
Posted: Mon Aug 01, 2016 5:30 am (GMT 5.5)

I can't think of a way to do this. You can try this.
  1. Get a load module map of the module using JCL like this -
Code:
//A       EXEC PGM=IMBLIST
//SYSPRINT DD  SYSOUT=*
//SYSLIB   DD  DISP=SHR,DSN=--your load module library--
//SYSIN    DD  *
 LISTLOAD OUTPUT=XREF,MEMBER=--your program's load module--

  • Part of this listing will look like this -
  • Code:
    -------------------------------------------------------------------------------
          LMOD LOC  CSECT LOC    IN CSECT              REFERS TO SYMBOL  AT LMOD LO
              580       580      LOGTIME                   SMFETIME            690
              584       584      LOGTIME                   LOGTMSGS            5C0
    Look for your program in the REFERS TO SYMBOL AT LMOD column. The symbol in the IN CSECT column is usually (though not always) the calling program. Many compilers will put data (like the address of modules it is calling) in a CSECT separate from the program text. For example -
    Code:
    LMOD LOC  CSECT LOC    IN CSECT              REFERS TO SYMBOL  AT LMOD LOC
         24        24      ICH408                    ICH408D            2178
       2675       4FD      ICH408D                   ICH408               00
       271C       5A4      ICH408D                   ICH408               00 
       2728       5B0      ICH408D                   ICH408               00 
       2734       5BC      ICH408D                   ICH408               00 
       2740       5C8      ICH408D                   ICH408               00 
       274C       5D4      ICH408D                   ICH408               00 
       2758       5E0      ICH408D                   ICH408               00 
       2764       5EC      ICH408D                   ICH408               00 
       27A8       630      ICH408D                   ICH408               00 
       27B4       63C      ICH408D                   ICH408               00 
       28F0       778      ICH408D                   MINIFMT            16E8 
       2954       7DC      ICH408D                   ICH408               00 
       2994       81C      ICH408D                   QSORTL             15D0
    Figuring out relations in this kind of structure is doable, though painful.

    Viewing all articles
    Browse latest Browse all 8500

    Trending Articles