Dataloader/MP Reference Manual

Table Of Contents
Creating a Customized Version of DataLoader/MP
DataLoader/MP Reference Manual424148-003
5-5
CHECKARG
CHECKARG
The CHECKARG exit is called if DataLoader/MP is given a parameter that is not
recognized by DataLoader/MP itself.
The syntax for this procedure follows:
This exit provides a way to pass parameters to your other user exits. When you
process a parameter that you recognize, save whatever information from it is needed
in your global variables so it is accessible to your other user exits. If the parameter is
one that is recognized by your user exits, it should be processed and a nonzero value
returned Status. If is not recognized, a zero (0) value should be returned in Status.
CONVERTIT
The CONVERTIT exit is called when you explicitly request it by specifying either an
uppercase or lowercase letter c (C) in the list of user exits associated with the -X
parameter. Its purpose is to convert the record passed it into a format suitable for
processing by subsequent user exits or by the output file. This exit is usually the first
user exit to be called.
The syntax for this procedure follows:
To minimize unnecessary data movement, CONVERTIT has a choice of whether to
convert the record in the same place it was passed to CONVERTIT (such as in RecIn)
or to build the converted record in the output buffer provided (such as in RecOutBuf).
If the record is converted in place, its new length is returned in RecInLen. If the
converted record is built in RecOutBuf, its length is returned in RecOutLen.
Both RecIn and RecOutBuf are buffers whose length is RecOutBufLen bytes long.
It is permissible to extend the record, even when converting in place in RecIn, as long
as the new length is less than RecOutBufLen bytes.
The value of Status indicates where the converted record is located. If the converted
record appears in RecIn, Status should be set to a value of 1. If the converted
record appears in RecOutBuf, Status should be set to a value of 2.
If CONVERTIT is unable to do the conversion, it should return a negative value in
Status. To stop processing this record and go back to the read cycle for the next
record without executing the write record logic and partition boundary estimation logic,
set Status to 0.
void CHECKARG( char* Arg, long* ArgLen, short* Status )
void CONVERTIT(char* RecIn,
long* RecInLen,
char* RecOutBuf,
long* RecOutBufLen,
long* RecOutLen,
short* Status )