Identifying all components in a job

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
nigel
Premium Member
Premium Member
Posts: 35
Joined: Tue May 07, 2002 2:48 am
Location: South Africa/UK
Contact:

Identifying all components in a job

Post by nigel »

Hi,

Does anyone know how to write some sort of routine to identify all dependant components of a datastage job/control job.

We need to basically prompt for a Job name and then return all controlled jobs(if a batch job is entered), and every routine and transform that is used in the job. For batch jobs, I need all controlled jobs and then all routines and transforms used in each control job. Kind of like a tree walk (top down).

I know that a the "usage analysis" option in DS Manager does the opposite of what I require. It uses a program called DSR_WHEREUSED.B to do this.

What I basically need is the opposite of this WHEREUSED program

As we are still on DS 4 and do not have Version Control or MetaStage, I unfortunately have to look at writing something....[:(]

Regards

Nigel [V][:(][xx(][;)]

Nigel
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

I'm not aware of any such utility, but am aware of a couple of obstacles to creating one.

In your case, 4.x, you would need to look in the DS_JOBxx table for all the job objects, where xx is the job number as noted in another post. In 5.x and 6.x job objects for all jobs live in the DS_JOBOBJECTS table. Metadata for these tables is (deliberately) not published.

Job control may be written to that DSAttachJob() uses a variable name for the JobName argument. That is, the actual controlled job can vary at run time.

To ascertain routines, transforms and the like you would need to traverse the job object records; there are many different formats, depending on the stage type to which the link connects. Again, metadata is (deliberately) not published.

Perhaps an enhancement request for DataStage? There's a place on this Forum where these can be entered.


Ray Wurlod
Education and Consulting Services
ABN 57 092 448 518
kjanes
Participant
Posts: 144
Joined: Wed Nov 06, 2002 2:16 pm

Post by kjanes »

Impact analysis usually comes in 2 forms, "where used" and "depends on". It appears you are looking for a "depends on" type answer. example: Jobxxx depends on componenets 1,2,3,4,5,6, etc....

It is a challenging proposition to derive that information directly from DataStage sources. I have never found the reporting tool in DataStage to be very effective. I agree with Ray that you may want to recommend an enhancement for DataStage relating to a "depends on" query.

Also, you may want to consider MetaStage for your solution especially since it supports other metabrokers as welll like ERWin, Cognos Impromptu, Essbase, and PowerDesigner to name a few. You may get more value because you may be able to extend that capability to other environments. The class models used in MetaStage to support these capabilites are extensinve. The time it takes for you to create a custom solution may be cost and time prohibitive.



Kevin Janes
nigel
Premium Member
Premium Member
Posts: 35
Joined: Tue May 07, 2002 2:48 am
Location: South Africa/UK
Contact:

Post by nigel »

Thanks Ray and Kevin,

I will certainly make that request ( some hope hey!)

I managed to install metastage and found the "where-used" and "depends on" in the imapct analysis.

This certainly does help.

My client uses PVCS as their strategic version control tool. They required some sort of automatic way of running a of report to identify all components for a system (group of groups) that they needed to check out for enhancements. I will pursue the metastage route to achieve this. As we are stuck on version 4.0 of DS for at least the next year, I cannot use the supported version of DS Version Control tool

Many Thanks

Nigel[:)]

Nigel
Post Reply