Logging Transaction Program Processing

Logging for transaction program (TP) processing is different from logging for other MVS work such as batch jobs, because TP processing is done in two phases. Batch jobs go through the converter/interpreter every time they execute, and all errors go to the job log. In contrast, TP processing separates the converter/interpreter phase from the execution phase and places errors from each phase in different logs.
Converter/Interpreter Phase
When the APPC administration utility adds and modifies a TP profile, it checks the TP profile and its JCL for syntax errors. Output from this phase consists of TP profile syntax error messages, utility processing messages, and JCL conversion statements. Logging for messages from this phase is controlled by the SYSPRINT DD statement for the utility, as shown in the highlighted SYSPRINT DD statement in the following example of adding a TP profile. (For more information about the APPC administration utility, see Using the APPC/MVS Administration Utility.)
Execution Phase
When a TP executes, the TP runtime messages, such as allocation and termination messages, go to a log named in its TP profile. Logging for messages from this second phase is defined in two places: an ASCHPMxx parmlib member and the TP profile. An ASCHPMxx parmlib member defines general message characteristics, and the TP profile defines specific log data set characteristics, as shown in the three highlighted parameters in the following example of adding a TP profile.
Figure 1. Example of Adding a TP Profile
     ...

     //STEP     EXEC PGM=ATBSDFMU
     //SYSPRINT DD   SYSOUT=A
     //SYSSDLIB DD   DSN=SYS1.APPCTP,DISP=SHR
     //SYSSDOUT DD   DSN=UTILITY.OUTPUT,
     //         DISP=(NEW,CATLG),
     //         UNIT=SYSDA,VOL=SER=ICF003,
     //         DCB=(RECFM=FB,LRECL=133,BLKSIZE=133),
     //         SPACE=(TRK,(5,1))
     //SYSIN    DD   DATA,DLM=XX
       TPADD
          TPNAME(RUN_TEST)
          USERID(IBMUSER)
          ACTIVE(YES)
          TPSCHED_DELIMITER(##)
             TAILOR_SYSOUT(YES)
             TAILOR_ACCOUNT(YES)
             CLASS(A)
             TPSCHED_TYPE(STANDARD)
             JCL_DELIMITER(END_OF_JCL)
     //TEST1    JOB  ,IBMUSER
     //STEP     EXEC PGM=TESTRUN
     END_OF_JCL
       KEEP_MESSAGE_LOG(ALWAYS)
       MESSAGE_DATA_SET(&SYSUID;&SYSWUID;TESTLOG)
       DATASET_STATUS(NEW)
     ##
     XX

If your installation uses SMS, you may also specify parameters in the TP profile that control the allocation of an SMS-managed data set for a TP message log. Even if you do not specify those parameters, the TP message log might automatically be an SMS-managed data set anyway, depending on your installation's defaults.

TPs are not scheduled by a job entry subsystem, so the TP message log is not a system data set, such as JESJCL and JESYSMSG, and no such system data sets are created for logged TP information. To access the TP message log, use ISPF options rather than the mechanisms for controlling system data sets.