Thursday, April 25, 2013

COBOL Trace


PART I – IDENTIFY THE TRACE SETTING

The trace setting that you choose to use will be determined by a single number that is the sum of the values corresponding to each option that you wish to include.   These are the values for each of the options available to you:

1 = SQL Statements
2 = SQL statement variables
4 = SQL connect, disconnect, commit and rollback
8 = Row Fetch (indicates that it occurred, not data)
16 = All other API calls except SSBs
32 = Set Select Buffers (holds values of columns to be selected.
64 = Database API specific calls
128 = COBOL statement timings
256 = Sybase Bind information
512 = Sybase Fetch information

So if you only wanted to trace the SQL Statements, SQL Statement variables and Row Fetch, you would use 11 (1 + 2 + 8 = 11).

If your analyst provides you with a setting to use, use that setting.

If you do not know which setting to use, use 255.

PART II – PROCESS SCHEDULER TRACING
1. Go to process type COBOL SQL and copy the parameter list
2. Search your COBOL process and go to Override parameters tab. Select override and paste the content from clipboard
3. Now locate the pair of forward slashes between INSTANCE and DBFLAG in the parameter list and insert your trace setting in between these two slashes (in my case I am using 255)



PART III – TRACING ON THE APP SERVER
Step 1 – Set the trace on the App Server Configuration File

TraceSQLMask is the variable that you will set.  Use the value that you determined in Part I.  If you do not know what setting to use, use 255.

Once the trace has been set on the App Server, ALL remote call cobol jobs will be traced, so use this judiciously in your production environment.  Once you have retreived the trace, be certain to turn it off.

Step 2 – Retrieve the trace

Once the job has been completed, you can turn off the trace at the App Server and retrieve the trace.  The trace will be located in:

<PSHOME>/Appserv/<domain>/Logs/

The name of the trace will start with ‘cobsql_xxxxxx.trc’ where xxxxxx is a date time stamp indicating when the trace was made.


No comments:

Post a Comment