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
DataStage & AppWorx
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 3593
- Joined: Thu Jan 23, 2003 5:25 pm
- Location: Australia, Melbourne
- Contact:
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
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
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.
[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.
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
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
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.
[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.