Try OpenEdge Now
skip to main content
Debugging and Troubleshooting
Troubleshooting Resources : Log Entry Types Detail : Temp-table logging

Temp-table logging

The temp-table log entry type enables specific logging for temp-tables so that application developers and technical support engineers can gather more information about the temp-tables used by an application. The temp-table entry type provides the following information:
*temp-table name
*temp-table unique ID
*Number of indexes created for a temp-table
*Number of times the EMPTY TEMP-TABLE method executed
*Procedure or class name and line where temp-table was created, deleted or emptied
*Number of records, and record size.
A temp-table is defined at compile-time using the CREATE TEMP-TABLE statement. The temp-table logging only logs an entry once the dynamic temp-table is prepared, that is, when all its schema definitions are known and when the actual temp-table is created. The CREATE TEMP-TABLE statement does not create the actual temp-table at once, but only when the temp-table is prepared.
The Temp-tables log entry type logs information at the following logging levels:
*Level 2 (Basic)
*Level 3 (Verbose)
*Level 4 (Extended)
The log entry type is available to any ABL client, including the AppServer servers, WebSpeed agents and interactive and batch ABL clients.
The format of the log entries at the Basic logging level are:
Creating a temp-table:
Created TEMP-TABLE <name> (ID: <id> [DYNAMIC] [NO-UNDO] [GLOBAL] [SHARED] Indexes <num-indexes>) <proc-info>
Deleting a temp-table:
Deleted TEMP-TABLE <name> (ID: <id> [DYNAMIC]) <proc-info>
Emptying a temp-table
Emptied TEMP-TABLE <name> (ID: <id>) <proc-info>


The following is an example of log entries for the temp-table logging:

Created TEMP-TABLE mytt (ID:29 Indexes:3) myTables.p
Created TEMP-TABLE ttCustNoUndo (ID:34 NO-UNDO Indexes:5) myTables.p
Created TEMP-TABLE BeforeOrderNoUndo (ID:37 NO-UNDO Indexes:1) myTables.p
Created TEMP-TABLE ttCustDyn (ID:40 DYNAMIC NO-UNDO Indexes:1) myTables.p @ 41
Emptied TEMP-TABLE ttCustDyn (ID:40) myTables.p @ 50
Deleted TEMP-TABLE ttCustDyn (ID:40 DYNAMIC) myTables.p @ 59
Deleted TEMP-TABLE BeforeOrderNoUndo (ID:37) myTables.p @ 60
Deleted TEMP-TABLE ttCustNoUndo (ID:34) myTables.p @ 60
Deleted TEMP-TABLE mytt (ID:29) myTables.p @ 60
The format of the log entries is:
Cached TEMP-TABLE <name> (ID: <id>) <object-info>
Reused TEMP-TABLE <name> (ID: <id>) <object-info>
where <object-info> is the name of the object oriented object.