Execution sequence

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Emma

I assume you are talking about batch jobs if I understand your question. In a batch job when you build it then it has a line like:

ErrCode = DSWaitForJob(hJob1)

You can move this line and the following code to make jobs run at the same time otherwise the jobs run one at a time and the batch job waits for that job to finish before starting the next job.

If you are talking about within one job then if a stage is both input and output then it waits for the stage to write out its data before starting the next part. In other words make one the end of one stage the start of the next transform.

stage1->trans1->stage1->trans2->stage2

instead of:

stage1->trans1->stage1
stage2->trans2->stage2

To force an order then separate this job into 2 jobs and control it in the batch job.

like:

Job1:
stage1->trans1->stage1
Job2:
stage2->trans2->stage2

Thanks Kim.

Kim Duke
DwNav - ETL Navigator
www.Duke-Consulting.com
spracht
Participant
Posts: 105
Joined: Tue Apr 15, 2003 11:30 pm
Location: Germany

Post by spracht »

Emma

I think, there is no 'execution order' in a normal job with stages independent from each other (not linked together). These groups of transformers would all start simultaneously. To ensure that processing is done in a particular order, you would have to create multiple jobs to be executed one after another. Otherwise you would have to link together the 'independent groups of transformers' (doing some dummy processing) to enforce a certain order of execution.

Stephan
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Emma

$INCLUDE DSINCLUDE JOBCONTROL.H
RunHandle = DSAttachJob(JobName, DSJ.ERRNONE)
JStat = DSStopJob(RunHandle)
JStat = DSDetachJob(RunHandle)

Kim.

Kim Duke
DwNav - ETL Navigator
www.Duke-Consulting.com
Post Reply