DataLoader/MX Reference Manual (G06.24+)
Creating a Customized Version of DataLoader/MX
DataLoader/MX Reference Manual—525872-002
5-7
EXITSDESCRIPTION
EXITSDESCRIPTION 
The EXITSDESCRIPTION exit is called to obtain a string that is descriptive of the user 
exits. This string is printed in DataLoader/MX’s startup banner. 
The syntax is:
Because an installation can have many versions of DataLoader/MX, each customized 
with its own set of user exits, use this exit to help debug a load scenario where the 
wrong version of DataLoader/MX is being run.
This exit should move the string of text to be used in the startup banner to the buffer 
pointed to by DescBuf. The length of that string should be moved to DescLen. Before 
moving the string, check that this exit moves no more characters than DescBufLen.
GETNEXTRECORD 
The GETNEXTRECORD exit is called when you specify the -G parameter in the 
command line or when -I= is not specified in the command line. Use 
GETNEXTRECORD to provide the next input record. 
The syntax is:
You can get the data from any source, such as Enscribe’s FILE_OPEN_ and READX. 
You can also use OSS file I/O to read the data. If you want to get data from a SQL 
table or view, you can open a cursor and FETCH rows from it. You can open a file with 
DTLOpen and read records with DTLRead. If you want DataLoader/MX to open the file 
but not read it, specify the file in the -I= parameter, include the -G= parameter, and use 
file number -1 with DTLRead.
If you need to specify user-supplied values in the DataLoader/MX command line, use 
the CHECKARG user exit.
This exit should pass the next record to the buffer pointed to by Buf. The length of the 
record should be moved to RecLen. Check that the record is no longer than BufLen. If 
there are no more records to return, move -1 to RecLen.
INITIALIZE1
The INITIALIZE1 exit is called once at the beginning of program execution. Use it to do 
initializations, such as allocation of memory or opening files whose names are not 
passed as arguments, and to place SQL CONTROL statements that are to have global 
effect. 
void EXITSDESCRIPTION( char* DescBuf, long* DescBufLen,
 long* DescLen )
void GETNEXTRECORD( char* Buf,long* BufLen, long* RecLen )










