1 | Qualified input source file name | Input | Char(20) |
2 | Input source member name | Input | Char(10) |
3 | Qualified output source file name | Input | Char(20) |
4 | Output source member name | Input | Char(10) |
5 | Qualified exit program name | Input | Char(20) |
6 | Exit program data | Input | Char(*) |
7 | Length of exit program data | Input | Binary(4) |
8 | Error code | I/O | Char(*) |
The End Preprocessor (QbnEndPreProcessor) API must be called by every preprocessor after the output source file and preprocessor information is created. It records the fact that a preprocessor was called and may be used to pass information used during module creation. This information can be classified as follows:
The End Preprocessor API then moves the above information in the output source file member where it is used at module creation time. The initial preprocessor may get input from inline data, but all subsequent preprocessors must get their input from the output file member of the previous preprocessor.
The output source file created by a previous preprocessor must not be
changed. If the output file has been changed, module creation fails.
The qualified name of the input source file to the preprocessor. The first 10 characters contain the input source file name, which is left-justified and padded with blanks. The second 10 characters contain the input source file library, which is left-justified and padded with blanks. The input source file name can be specified with the following special value:
*INLINE | The input source data is specified as an inline data file. |
The name of the member within the input source file, which is left-justified and padded with blanks. This parameter is ignored if the qualified input source file name parameter is *INLINE.
The qualified name of the output source file to the preprocessor. The first 10 characters contain the output source file name. The file is left-justified and padded with blanks. The second 10 characters contain the output source file library name. The file is left-justified and padded with blanks.
The name of the member within the output source file. The file is left-justified and padded with blanks.
The qualified name of the exit program to be called during module creation. The first 10 characters contain the exit program name, which is left-justified and padded with blanks. The second 10 characters contain the exit program library where the exit program is located, which is left-justified and padded with blanks. You can use this special value for the exit program name:
*NONE | This indicates that there is no exit program. |
You can use this special value for the exit program library:
*LIBL | The library list. |
The exit program is passed five parameters when called. The first two parameters are the exit program data and the exit program data length. The third parameter is reserved CHAR(10). The fourth and fifth parameters are both reserved BINARY(4).
The exit program data being used in this API is defined by the user.
Data that is stored with the output source file member. When module creation calls the exit program, a copy of the data is passed. The format of this data is specified by the preprocessor. This value is ignored if *NONE is specified for the qualified exit program name parameter.
The length of the data contained in the exit program data parameter. This value is ignored if *NONE is specified for the qualified exit program name parameter.
The structure in which to return error information. For the format of the structure, see Error Code Parameter.
Message ID | Error Message Text |
---|---|
CPF2207 E | Not authorized to use object &1 in library &3 type *&2. |
CPF24B4 E | Severe error while addressing parameter list. |
CPF3C90 E | Literal value cannot be changed. |
CPF3CF1 E | Error code parameter not valid. |
CPF5CA0 E | Input source file name &1 is not valid. |
CPF5CA1 E | Exit program name &1 is not valid. |
CPF5CEA E | Library value &1 is not valid. |
CPF5CA4 E | Error occurred while addressing API Parameter. |
CPF5D20 E | Not able to open source file member &3. |
CPF5D21 E | Not able to open source file member &3. |
CPF5D22 E | Not able to locate internal data. |
CPF5D23 E | Source file member has been changed. |
CPF5D24 E | Unexpected error occurred during preprocessor processing. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
Top | Program and CL Command APIs | APIs by category |