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-4
Single Source Parallel Maintenance
4>dbl1 /NOWAIT, NAME $dbl3/ -E=err3 &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
...
5>dbl1 /NOWAIT, NAME $dbln/ -E=errn &
-I=$RECEIVE(recform=fb<recsize=200>) -X=c -O=$RECEIVE
Command lines 6 through 9 start the SQLCI processes that read the converted and
blocked records and do a PARTONLY load so that each record goes into its
appropriate partition.
6>SQLCI /NOWAIT/ LOAD $dbl1,=part1,RECIN 215, BLOCKIN 31820,
PARTONLY; EXIT
7>SQLCI /NOWAIT/ LOAD $dbl2,=part2, RECIN 215, BLOCKIN 31820,
PARTONLY; EXIT
8>SQLCI /NOWAIT/ LOAD $dbl3,=part3, RECIN 215, BLOCKIN 31820,
PARTONLY; EXIT
...
9>SQLCI /NOWAIT/ LOAD $dbln,=partn, RECIN 215, BLOCKIN 31820,
PARTONLY; EXIT
Single Source Parallel Maintenance
This highly parallel and self-balancing maintenance scenario is implemented by writing
only three user exits. In this case, the downstream DataLoader/MP processes have
user exits that are able to insert and update records.
Figure 6-2 shows a single input stream. Suppose you are inserting or updating a
database as appropriate—not doing a load, but updating changed data.
Again, you must have one initial DataLoader/MP process for your single data source.
You must figure out the best number of additional DataLoader/MP processes by using
DataLoader/MP’s statistics report.
The steps that DataLoader/MP performs are as follows:
1. The initial DataLoader/MP process reads a block of records from the input stream
and sends it to whichever downstream DataLoader/MP process next requests a
block.
2. DataLoader/MP process 1 reads a block of records from the initial DataLoader/MP
process, does any needed data conversions, and performs an insert or update
operation.
3. At the same time, DataLoader/MP process 2 reads a block of records from the
initial DataLoader/MP process, does any needed data conversions, and performs
an insert or update operation. An optimum number of DataLoader/MP processes
should run in parallel.
Figure 6-2 illustrates this process.