Static file validation and tracing

Transformation Extender (TX) validates a static input file in a compiled map only once, when the map loads, and produces a trace file only if the static file fails validation. TX validates other map inputs each time the map runs, and logs them in the map trace file as specified by the map settings.

When a static input file fails validation, the map does not load. TX logs the validation error in the appropriate log for the runtime environment, for example, the Launcher's CompoundSystem log or the IBM Integration Bus log. The error includes the location of the static input trace file. TX creates the static input trace file as in the map directory. If the map loads from memory, TX creates the file in the map working directory.

When a a static input file fails validation on a z/OS® system running in batch, CICS® or IMS™, the trace is written to the DD name DTX#TRCE. Because the trace is written as a byte stream, it lacks formatting if the DTX#TRCE is directed to SYSOUT. If formatting is required, direct the DD card to a zFS file. For example:

//DTX#TRCE DD PATH='/tmp/',          
//            	PATHDISP=(KEEP),                   
//            	PATHOPTS=(ORDWR,OCREAT),           

When you trace a static input file and the static file passes validation, the map trace file describes the static input as an existing work file. For example, you might trace two map inputs. Input 1 is not a static file and the input is invalid. Input 2 is a static file that passed validation during load. The trace file includes messages similar to the following:

(Level 2: Offset 389, len 6, comp 3 of 3, #1, DI 000000000053:)
Data at offset 389 ('00000<CR>') is INVALID data of TYPE
   X'0012' (total_hours element example).

(Level 1: Offset 297, len 98, comp 1 of 1, #4, DI 000000000054:)
Data at offset 297 ('Work A.         ...') is INVALID data of TYPE
   X'0003' (timesheet example).

(Level 0: Offset 0, len 396, comp 1 of 0, #1, DI 000000000055:)
Data at offset 0 ('FirstName       ...') is INVALID data of TYPE
   X'0002' (all_employees example).

   INPUT 1 exists, but its type is in error.

   End of Validation messages for INPUT CARD 1.

   Reusing an earlier work file for INPUT CARD 2.

   End of Execution messages.