Dataloader/MP Reference Manual
Table Of Contents
- What’s New in This Manual
- About This Manual
- 1 Introduction to DataLoader/MP
- 2 DataLoader/MP Components
- 3 Running DataLoader/MP
- 4 Specifying File-Related Options for DataLoader/MP
- 5 Creating a Customized Version of DataLoader/MP- User Exits
- User Exit Descriptions- BUILDKEY
- CHECKARG
- CONVERTIT
- DELETEIT
- DONEWITHTRANSACTION
- EXITSDESCRIPTION
- GETNEXTRECORD
- INITIALIZE1
- INITIALIZE2
- INSERTIT
- INSTRUCTIONS
- MISC1, MISC2, MISC3, and MISC4
- NEWTRANSACTION
- NEXTINDIRECTFILE
- SKIPPING
- STATISTICSTIME
- TERMINATING
- T0330U00_DEFAULTEXITS_C
- T0330U00-DEFAULTEXITS-COBOL
- T7900D41_DEFAULTEXITS_C
- T7900V00-DEFAULTEXITS-COBOL
- UPDATEIT
 
- Default User Exits
- DataLoader/MP Library
- The MAKE Routine for NM DataLoader/MP
- The MAKE Routine for Nonnative Mode DataLoader/MP
 
- 6 DataLoader/MP Examples
- 7 Recovery Strategies
- A Error and Warning Messages
- B Processing Flowcharts
- C C-Only Error Functions
- Index

DataLoader/MP Examples
DataLoader/MP Reference Manual—424148-003
6-9
Multiple Source Parallel Loading
The file kr is an edit file with these contents:
"" $dbl1
"D" $dbl2
"G" $dbl3
...
"Y" $dbln
Because the DataLoader/MP process was instructed to interpret this output file as a 
keyrange file, the output records are not written to kr itself. Instead, the contents of kr, 
together with the key of each record, are used to determine where the records are 
written. Records with keys greater than or equal to "" (NULL) but less than "D" are 
written to $dbl1, records with keys greater than or equal to "D" but less than "G" are 
written to $dbl2, and so on.
Command lines 4 through 7 start the downstream DataLoader/MP processes, which 
are customized versions of DataLoader/MP with user exits that convert the raw input 
records.
•
-E gives each of these downstream DataLoader/MP processes different files (err1, 
err2, ...) in which to record their execution time errors.
•
-I directs processes to get their input from $RECEIVE, unblocking to 200-byte 
records. You did not specify a block size, so the DataLoader/MP process blocks as 
many records as will fit into a 32,000-byte message. 
•
-X directs each DataLoader/MP process to call user exit CONVERTIT to do the 
data conversion. 
•
 -O directs processes to use $RECEIVE as their output file. Processes then take 
the converted records (in this case, 215 bytes long), block them into 32,000-byte 
blocks (148 of them or 31,820 bytes), put them into a output buffer pool, and wait 
for another process to read them. 
4>dbl1 /NOWAIT, NAME $dbl1/ -E=err1 &
 -I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
5>dbl1 /NOWAIT, NAME $dbl2/ -E=err2 &
 -I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
6>dbl1 /NOWAIT, NAME $dbl3/ -E=err3 &
 -I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
 ...
7>dbl1 /NOWAIT, NAME $dbln/ -E=errn &
 -I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
Command lines 8 through 11 start the SQLCI processes that read the converted and 
blocked records and do a PARTONLY load so that each record goes into an 
appropriate partition.
8>SQLCI /NOWAIT/ LOAD $dbl1,=part1,RECIN 215, BLOCKIN 
31820,PARTONLY; EXIT
9>SQLCI /NOWAIT/ LOAD $dbl2,=part2, RECIN 215, BLOCKIN 31820, 
PARTONLY; EXIT
10>SQLCI /NOWAIT/ LOAD $dbl3,=part3, RECIN 215, BLOCKIN 31820, 










