The :P option

When the :P option is specified using the Input File Override (-I) or Output File Override (-O) execution command, the data is profiled, that is, a table will be built in memory that cross-references record identifiers to corresponding file offsets. It is the responsibility of the map to place record separators in the output data so that the profiling operation can interpret where one record ends and the next begins.

The following examples demonstrate how to specify the :P option using the Input File Override (-I) and Output File Override (-O) execution commands:

Example
Description
-I1:P MYINPUT
Input 1 is a TSQ of variable length records; it will be profiled.
-O1@K:PX25 MYKSDS
Output 1, VSAM KSDS MYKSDS, contains variable length records; build a profile of the output using hex 25 as a record separator.

When using the :W or :P options, a delimiter list can also be specified for record separators to be used for input cards.

This can be useful in a situation in which you defined a map on the PC that reads a text file as input. A text file, by definition, consists of lines delimited by carriage-return/line-feed pairs (0D 0A). If you transfer this data to a z/OS environment as TEXT, the record separators are removed and variable length records are created. Mapping this data is a problem because the map as defined expects each record to be terminated by a carriage-return/line-feed pair that no longer exists. You can specify the following command string:

-I1:PX0D,X0A MYINPUT

This example command string would result in the bytes 0D 0A being added to the end of each record at the time it is read in.