DataStage & AppWorx

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
johnno
Participant
Posts: 50
Joined: Wed Mar 05, 2003 5:33 am

DataStage & AppWorx

Post by johnno »

Hi all,

Has anyone worked in an environment where DataStage jobs are instigated via the AppWorx scheduling software? If so, could you please provide some information on how these two applications sit together and how error handling occurs? Or point me in the direction of any information available on the web?

The powers that be have dictated that the AppWorx software will be our organisational standard for job scheduling but am unsure how this will work.

Am using DSv6 on W2K

Any help greatly appreciated

Cheers
Johnno
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

You can execute DataStage jobs from any scheduling tool by using the dsjob command from a shell or batch script. Have a look at the DataStage Server Job Developers Guide for details on this command.

There are lots of options such as -wait or -param for setting parameters or -stop to stop a running job.

You will need to review the error codes returned by dsjob to ensure your scheduling tool can trap them and report them to the administrators.

Vincent McBurney
Data Integration Services
www.intramatix.com
Teej
Participant
Posts: 677
Joined: Fri Aug 08, 2003 9:26 am
Location: USA

Post by Teej »

quote:Originally posted by Johnno
[br]Has anyone worked in an environment where DataStage jobs are instigated via the AppWorx scheduling software? If so, could you please provide some information on how these two applications sit together and how error handling occurs? Or point me in the direction of any information available on the web?

We are doing exactly that here (although we're on the UNIX platform). "dsjob" as Vincent stated, is the tool we're using. You should go ahead and use the source code provided in the "Server Job Developer Guide" (servjdev.pdf under your local installation of DataStage Client) - section "Development Kit Program Example". If you want to do it the easy way, just build a script that calls "dsjob" itself using the commands detailed on the same documentation under the section, "DataStage Development Kit (Job Control Interfaces)".

-T.J.


* * *

... now if this can make breakfast, my life is complete.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

I need to do something similar, but for Control-M instead of AppWorx.

I'm not worried about the 'dsjob' part as I've been thru that before. What I'm wondering about is if there is any way to pass back 'custom' return codes to Control-M (or AppWorx) from a Sequence job?

I'm guessing (but haven't tested yet) that 'normal' return codes could be handled, but I'm considering custom codes that the controlling program would look for. Not for the standard errors, let's say, but more for issues where there is no DataStage error but I want to communicate back something specific to the controlling program, something it can use to decide whether another Sequence needs to run or not after the current one, for one example.

I'm not absolutely positive that I'll need this, but I'd still like to know if/how it can be done.

-craig
Teej
Participant
Posts: 677
Joined: Fri Aug 08, 2003 9:26 am
Location: USA

Post by Teej »

quote:Originally posted by chulett
[br]I'm not worried about the 'dsjob' part as I've been thru that before. What I'm wondering about is if there is any way to pass back 'custom' return codes to Control-M (or AppWorx) from a Sequence job?


Well... this is not a direct answer to your question, as I have not attempted to do something like this. I would rather leave the codes to Ascential (since they DO use many different status codes, especially over 90 for certain situations.)

The solution we did was to pull from the job's log (-logdetail option), and individually examine the output for what we wanted to find (in our case, "FATAL".) You can use the routine, "UtilityMessageToLog" to output the message you want your local script to find.

-T.J.


* * *

... now if this can make breakfast, my life is complete.
Post Reply