trace_table_entry
Explanation: SFMJD001 maintains an internal trace table in which each entry is 96 bytes and there are 300 entries. In response to the MVS console command MODIFY agent_job_or_stc_name,SHOW TRACE agent_task, it displays SFMJD001 program’s internal trace table in descending sequence from newest to oldest entry. In the following extract from the full 300 entry trace table display, the first line has an “*” in column one that indicates it is the most recent table entry. One consequence of displaying the entries in this order is that the return from a subroutine is listed before the call to the subroutine.
SFM0330I 2007042609554652 00775 Returned from SFMJD020, RC= 00000
SFM0330I 2007042609551387 00770 Call SFMJD020, wait & get next work element PlistAdr= 0275841704
SFM0330I 2007042609551387 00770 Returned from SFMJD030, RC= 00002
SFM0330I 2007042609551387 00770 Call SFMJD030, get next dspace rcd for DB PlistAdr= 0275841736
SFM0330I 2007042609551346 00770 Call AgentDBIO, execute update
SFM0330I 2007042609551346 00770 Call AgentDBIO, prepare for insert/update RcdType= 0000000009
SFM0330I 2007042609551346 00770 Returned from SFMJD160, RC= 00000
SFM0330I 2007042609551346 00770 Call SFMJD160, process TDU fields PlistAdr= 0275841904
The time stamp format is YYYYMMDDHHMMSSth. After the time stamp is the work element code in decimal. The cross reference table below shows the equivalent hex and decimal WE codes. Following the WE code is a description of what happened, usually it is a call to or return from a database interface task subroutine, but it may also be an internal error. For a call to a subroutine, the address of the parameter list in decimal is displayed. Parameter list storage resides in SFMJD001 program’s local storage which is effectively static for the life of the task. Local storage is unique to each task. For a return from a subroutine, the return code is displayed. For all JD task subroutines, a return code of zero is normal, except SFMJD030. For SFMJD030 a return code of 1 means “more records to process in buffer” and a return code of 2 means “no more records to process”. When there are no more records to process, SFMJD001 calls SFMJD020 to wait for the next WE.
| Symbolic-name | Hex | Decimal | Description |
| WE_JD_GetACR | EQU X’0300′ | 768 | Fetch agent config record |
| WE_JD_IniDSP | EQU X’0301′ | 769 | Activate dataspace component |
| WE_JD_ReadDSP | EQU X’0302′ | 770 | Process dataspace buffer |
| WE_JD_UpdHB | EQU X’0303′ | 771 | Update agent heartbeat rcd |
| WE_JD_GetLC | EQU X’0304′ | 772 | Fetch product license codes |
| WE_JD_CkUVal | EQU X’0305′ | 773 | Check msgq for Uid validate |
| WE_JD_CkACR | EQU X’0306′ | 774 | Check msgq for ACR updates |
| WE_JD_CkCMD | EQU X’0307′ | 775 | Check command structure |
Action: If the trace table was written to the SFMOUT DD spool file automatically followed by message SFM0336I, it indicates that an internal error occurred. Save all the spool files from the agent job or started task and contact SDS Technical Support for assistance. Normally, you should never issue the show trace command unless directed to do so by SDS Technical Support.
