PL/I

PL/I

PL/I

 View Only
  • 1.  Name of calling module z/OS

    Posted Fri December 13, 2013 04:48 AM

    I have a problem I can't seem to do myself - maybe someone know how?

    I have to write a PLI routine that can tell which program/module did call me (on z/OS).
    So in a submodule I need to figure out the name of the calling module.
    I have looked into LE and REG12-pointer to CEECAA (can't find a structure for that in PLI).

    So far I can call the CEE-routines but can't find something that tells the name of the calling module.

    Any help on this would be great - thanks.

    Regards Peter

    PeterOL


  • 2.  Re: Name of calling module z/OS

    Posted Mon December 16, 2013 08:19 AM

    See

    1.12.1.4 CEETBCK -- Traceback Utility (replaces CEETRCB)
    http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ceev11c0/1.12.1.4

    This does require some assembly language programming though. See

    5.2.5 Assembler Macros
    http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEA21C0/5.2.5

    for the use of CEEENTRY/CEETERM.

    brataj


  • 3.  Re: Name of calling module z/OS

    Posted Tue February 11, 2014 09:19 AM

    CEETBCK is useful, can be called from PL/I (without using ASM), but need some CPU > use another way to detect your caller if you use this Information very often.

     

     

    Patrick_Vogt (SKY)


  • 4.  Re: Name of calling module z/OS

    Posted Mon December 16, 2013 09:00 AM

    There used to be a function, PROCEDURENAME, to do that,

    but it now provdes only the name of the current procedure.

     

    You could use that function in the calling module's CALL statement

    to pass its procedure name to you.

     

    Another way could be to introduce a user-defined condition in your procedure,

    and to SIGNAL that condition (with the corresponding ON-unit containing the SNAP option).

    Robin400