Job execution order

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
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Job execution order

Post by DS_SUPPORT »

Is there a way to know the job execution order. Say for example if i have 10 stages, which stage will be executed first, and the sequential order of execution.

I did find some thing on DS_TEMPnn and RT_CONFIGnn (like all the stages), but wanted to know their execution order.

Can we get this information somehow?
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

You mean 'Stage execution order' it seems.

Being serious here with a somewhat silly answer, but... it starts with the first stage and continues following the links until the last stage. And that's more like what each record does, inside the job all of the stages are basically running simultaneously. You'll see them all start up in the log, rows get processed and then they'll all shut down, 'Finish'.

Of course, things that introduce a 'process break' (not sure what the official term is, that's what I call it) into the flow - a passive stage - affect that. Because all input must complete before the output side can start, you'll see the same thing going on as noted above only in discrete segments. So, at its most simple...

Seq -> Trans -> Seq

One basic 'process' with everything running. However...

Seq -> Trans -> Seq -> Trans -> Seq

Will run the first 'seq to seq' section to completion before the second 'seq to seq' segment starts and runs. Hope that helps.
-craig

"You can never have too many knives" -- Logan Nine Fingers
eostic
Premium Member
Premium Member
Posts: 3838
Joined: Mon Oct 17, 2005 9:34 am

Post by eostic »

If you spend a little bit of time learning the Server Job Debugger, you can actually "watch" the stage-stepping that Craig is talking about. Put a breakpoint on a variety of output links and then step thru the job and see where it stops as you move from breakpoint to breakpoint. Link order coming from a Transformer can be easily visualized, as can the "process boundaries" (if you have any) that Craig mentions. ...btw....we're talking about "default" behavior here --- IPC Stages and settings will alter this behavior dramatically...sometimes to your advantage, and sometimes not.

Ernie
Ernie Ostic

blogit!
<a href="https://dsrealtime.wordpress.com/2015/0 ... ere/">Open IGC is Here!</a>
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Yup, 'IPC stages and settings' is a game changer here. :wink:

On the debugger front, it can certainly be enlightening to step through a job. You just need one breakpoint to get that initial stoppage, after that you can step through the job one link at a time without worrying about needing more breakpoints. Just an FYI.
-craig

"You can never have too many knives" -- Logan Nine Fingers
DS_SUPPORT
Premium Member
Premium Member
Posts: 232
Joined: Fri Aug 04, 2006 1:20 am
Location: Bangalore

Post by DS_SUPPORT »

Thanks for the answers

Code: Select all

                       Hashed File <------- LKP DB
                          |
                          |
                          |
                          |
                          |
                          |
                          v
SOurce DB ------>Transformer ------> Target
In the above job design, the Hashed File will be populated first, so the link from LKP DB will be executed first.

By seeing this design we will be able to identify this, but how and where it will be stored in Datastage perspective?

Edit : Corrected the spelling mistakes
Last edited by DS_SUPPORT on Sun Apr 19, 2009 10:39 pm, edited 1 time in total.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Stroed in Datasatge perepective? Hmmm... basically in the RT_BPnnn directory, which is where the code the compiler generates goes. Probably other places as well, never really had a need to get all that intimate with the gory details of how things are stored in the DataStage perspective, as you put it.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Stage dependencies are stored in RT_CONFIGnnn table for the job and, while the job is being designed, in DS_TEMPnnn. Structures for these tables are not documented.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply