Endevor

 View Only
  • 1.  Traces on Packages

    Posted 13 days ago

    Hi,

    I may have forgotten this, but I thought you could run regular traces on Packages (like EN$TRITE, etc), but I'm not getting any output from my package.  It gives me what I need in a batch job, but not in a package.  Is there another way to get that information from a package.  I need to follow the IF-THEN-ELSE logic and I'm just not getting that in my package output.

    Appreciate any help.

    Thanks,

    Felicity.



    ------------------------------
    Felicity
    ------------------------------


  • 2.  RE: Traces on Packages

    Broadcom Employee
    Posted 12 days ago

    Hi Felicity

    EN$TRITE should work in the same way regardless of whether the action that runs the processor is executed via foreground, batch, API or web services, either an isolated action or within a package. If the ddname is found to be allocated, the messages are printed to the execution report (normally C1MSGS1 DD).

    What is special about EN$TRITE is that it is checked many times during execution, while other trace ddnames are checked only once during Endevor initialization. This means that, even though you add //EN$TRITE DD SYSOUT=* to the JCL, if 'somebody' frees this ddname during execution, the trace will stop printing or maybe will not be printed all.

    If you get EN$TRITE output data during individual actions but not within packages, then you should suspect that one of your package exits frees the ddname. To check whether this is the case, you can add //EN$TRITE DD DISP=SHR,DSN=some.existing.dataset.name to the JCL that executes the package and run it. 

    Since EN$TRITE is allocated to a dataset, the SYSMSGS output will contain an IGD104I message for it when it is freed like:

    IGD104i SOME.EXISTING.DATASET.NAME            RETAINED, DDNAME=EN$TRITE

    Since EN$TRITE DD was allocated by JCL, this message should print when the system frees it after the step completion, that is, AFTER message IEF142I (step was executed). If it prints before this point, this means that EN$TRITE is being freed during the execution of the step, either by an user exit or a program executed by a processor.

    Note that, if EN$TRITE is being freed by a processor program, you should get the trace printed up to the start of that processor step.

    Hope this helps
    Regards - Eduard

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



  • 3.  RE: Traces on Packages

    Posted 12 days ago

    Eduard,

    Thank you so much for a such detailed response.  I will certainly try the above to see if I can find out what's going on.  I really appreciate your response.

    Felicity.



    ------------------------------
    Felicity
    ------------------------------