DataStage JOB 开发指导说明 - 图文(6)

2019-08-29 22:21

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Then * Fatal Error - No Return

ErrCode=GetJobLogs(JobName,FilePath)

Call DSLogFatal(\IFJBXX_DS10CD\

End

* Setup IFJBXX_DS20 ,run it, wait for it to finish, and test for success JobName = \IFJBXX_DS20\ GoToMainExit = \ GoSub RecoveryCheck

If GoToMainExit = \ GoTo MainExit End

hJob2 = DSAttachJob(\IFJBXX_DS20\

If NOT(hJob2) Then

Call DSLogFatal(\IFJBXX_DS20\ Abort

End

ErrCode = DSSetParam(hJob2, \DATE\

ErrCode = DSRunJob(hJob2, DSJ.RUNNORMAL) ErrCode = DSWaitForJob(hJob2)

Status = DSGetJobInfo(hJob2, DSJ.JOBSTATUS)

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Then * Fatal Error - No Return

ErrCode=GetJobLogs(JobName,FilePath)

Call DSLogFatal(\ IFJBXX_DS20\ End

** Setup IFJBXX_DS30 ,run it, wait for it to finish, and test for success JobName = \IFJBXX_DS30\ GoToMainExit = \ GoSub RecoveryCheck

If GoToMainExit = \ GoTo MainExit End

hJob3 = DSAttachJob(\IFJBXX_DS30\ If NOT(hJob3) Then

Call DSLogFatal(\ IFJBXX_DS30\ Abort End

ErrCode = DSSetParam(hJob3, \DATE\ ErrCode = DSSetParam(hJob3, \DEALDATE\

ErrCode = DSSetParam(hJob3, \ ErrCode = DSSetParam(hJob3, \ ErrCode = DSRunJob(hJob3, DSJ.RUNNORMAL) ErrCode = DSWaitForJob(hJob3)

Status = DSGetJobInfo(hJob3, DSJ.JOBSTATUS)

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Then * Fatal Error - No Return

ErrCode=GetJobLogs(JobName,FilePath)

Call DSLogFatal(\IFJBXX_DS30\ End

****###############################################################################

RecoveryCheck:

JobHandle = \

JobHandle = DSAttachJob(JobName, DSJ.ERRFATAL)

If NOT(JobHandle) Then

Call DSLogFatal(\ Abort End

Else

Status = DSGetJobInfo(JobHandle, DSJ.JOBSTATUS)

JobInfoTime = DSGetJobInfo(JobHandle, DSJ.JOBSTARTTIMESTAMP) JobStatusDate = Iconv(JobInfoTime[1,10], \

If JobRunStatus = \

If Status = DSJS.RUNOK Or Status = DSJS.RUNWARN Then

If JobStatusDate < @DATE Then

Call DSLogInfo(\: \: JobName : \job ready to run.\\

ErrCode = DSDetachJob(JobHandle) Return End Else

Call DSLogWarn(\JobInfoTime, \ GoToMainExit = \ Return End

End

End

If JobRunStatus = \

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Or Status = DSJS.STOPPED Or Status = DSJS.RESET Then

Call DSLogInfo(\: \: JobName : \job aborted in previous run\\

ErrCode = DSDetachJob(JobHandle) GoSub ResetJob

JobRunStatus = \ Return End Else

Call DSLogInfo(\: \: JobName : \job status was not aborted or stopped. Therefore job not supposed to be run.\ GoToMainExit = \ Return End End End

******If the Job's status is not compiled or aborted then Reset it. ResetJob:

JobHandle = \

JobHandle = DSAttachJob(JobName, DSJ.ERRFATAL) If NOT(JobHandle) Then

Call DSLogFatal(\ Abort End

Else

Status = DSGetJobInfo(JobHandle, DSJ.JOBSTATUS)

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Or Status = DSJS.STOPPED

Then

Call DSLogInfo(\ ErrCode = DSRunJob(JobHandle, DSJ.RUNRESET) ErrCode = DSWaitForJob(JobHandle)

Status = DSGetJobInfo(JobHandle, DSJ.JOBSTATUS)

If Status = DSJS.RUNFAILED Or Status = DSJS.CRASHED Or Status = DSJS.STOPPED Then

Call DSLogFatal(\: \: JobName : \to reset\\ End Else

Call DSLogInfo(\\: JobName : \sucessfully reset.\\

ErrCode = DSDetachJob(JobHandle) Return End

End Else

ErrCode = DSDetachJob(JobHandle) Return

End End

*退出

MainExit:


DataStage JOB 开发指导说明 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新闻好标题集锦

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: