Page 1 of 1

Identifying all components in a job

Posted: Wed Mar 19, 2003 3:19 am
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

Posted: Wed Mar 19, 2003 10:27 pm
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

Posted: Thu Mar 20, 2003 7:56 am
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

Posted: Mon Mar 31, 2003 1:38 pm
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