Configurable checkpoint and restart behaviour

Do you have features you'd like to see in future releases of DataStage, MetaStage, Parameter Manager, Version Control or one of the other tools represented on this forum? Post your ideas here!

Moderators: chulett, rschirm

Post Reply
olgc
Participant
Posts: 145
Joined: Tue Nov 18, 2003 9:00 am

Configurable checkpoint and restart behaviour

Post by olgc »

It would be very nice if there is option to be able to configure by developers on how the checkpoint and restart behave: restart from Abort, restart from warning, restart from both failed (abort) and warning, restart from all stuations other than OK, on every job unchecked "Do not checkpoint run" in the sequence job. I need this ability right now!
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You can have it right now! Use the job sequence as a prototyping tool, copy the generated job control code into the Job Control tab of a new server job, and adapt to your heart's content!
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
olgc
Participant
Posts: 145
Joined: Tue Nov 18, 2003 9:00 am

Post by olgc »

You can do it, but it's hard. Do you like to see what's in the code? It's out of control.

[code]

* Tokens were replaced below as follows:
* IdV0S1%%Result2%%0 <= RunExtarctJob_ExPatronPIRDY.$UserStatus
* IdV0S1%%Result1%%1 <= RunExtarctJob_ExPatronPIRDY.$JobStatus
* IdV0S1%%Name%%2 <= RunExtarctJob_ExPatronPIRDY.$JobName
* IdV0S2%%Param%%3 <= Exception_Handler.$ErrSource
* IdV0S2%%Param%%4 <= Exception_Handler.$ErrNumber
* IdV0S2%%Param%%5 <= Exception_Handler.$ErrMessage
* IdV0S15%%Result1%%6 <= Routine_Activity_Fail.$ReturnValue
* IdV0S15%%Name%%7 <= Routine_Activity_Fail.$RoutineName
* IdV0S15%%Param%%8 <= Routine_Activity_Fail.Arg1
* IdV0S52%%Result2%%9 <= XfPatronNewUpdate.$UserStatus
* IdV0S52%%Result1%%10 <= XfPatronNewUpdate.$JobStatus
* IdV0S52%%Name%%11 <= XfPatronNewUpdate.$JobName
* IdV0S56%%Result2%%12 <= XfGamingPatronStatusCD.$UserStatus
* IdV0S56%%Result1%%13 <= XfGamingPatronStatusCD.$JobStatus
* IdV0S56%%Name%%14 <= XfGamingPatronStatusCD.$JobName
* IdV0S61%%Result2%%15 <= LdCustomerENT.$UserStatus
* IdV0S61%%Result1%%16 <= LdCustomerENT.$JobStatus
* IdV0S61%%Name%%17 <= LdCustomerENT.$JobName
* IdV0S63%%Result2%%18 <= LdPartyKeyENT.$UserStatus
* IdV0S63%%Result1%%19 <= LdPartyKeyENT.$JobStatus
* IdV0S63%%Name%%20 <= LdPartyKeyENT.$JobName
* IdV0S64%%Result2%%21 <= LdPersonENT.$UserStatus
* IdV0S64%%Result1%%22 <= LdPersonENT.$JobStatus
* IdV0S64%%Name%%23 <= LdPersonENT.$JobName
* IdV0S67%%Result2%%24 <= LdGamingPatronENTUpd.$UserStatus
* IdV0S67%%Result1%%25 <= LdGamingPatronENTUpd.$JobStatus
* IdV0S67%%Name%%26 <= LdGamingPatronENTUpd.$JobName
* IdV0S69%%Result2%%27 <= LdIndividualNameENTUpd.$UserStatus
* IdV0S69%%Result1%%28 <= LdIndividualNameENTUpd.$JobStatus
* IdV0S69%%Name%%29 <= LdIndividualNameENTUpd.$JobName
* IdV0S71%%Result2%%30 <= LdPartyENT.$UserStatus
* IdV0S71%%Result1%%31 <= LdPartyENT.$JobStatus
* IdV0S71%%Name%%32 <= LdPartyENT.$JobName
* IdV0S74%%Result2%%33 <= LdGamingPatronENT.$UserStatus
* IdV0S74%%Result1%%34 <= LdGamingPatronENT.$JobStatus
* IdV0S74%%Name%%35 <= LdGamingPatronENT.$JobName
* IdV0S82%%Result2%%36 <= LdIndividualNameENT.$UserStatus
* IdV0S82%%Result1%%37 <= LdIndividualNameENT.$JobStatus
* IdV0S82%%Name%%38 <= LdIndividualNameENT.$JobName
* IdV0S98%%Result1%%39 <= SetLastUpdate.$ReturnValue
* IdV0S98%%Name%%40 <= SetLastUpdate.$RoutineName
* IdV0S98%%Param%%41 <= SetLastUpdate.StreamName
* IdV0S98%%Param%%42 <= SetLastUpdate.StreamStartName
* IdV0S98%%Param%%43 <= SetLastUpdate.TableCode
* IdV0S114%%Result2%%44 <= XfGamingPatronStatusRej1.$UserStatus
* IdV0S114%%Result1%%45 <= XfGamingPatronStatusRej1.$JobStatus
* IdV0S114%%Name%%46 <= XfGamingPatronStatusRej1.$JobName
* IdV0S115%%Result2%%47 <= XfGamingPatronRej2.$UserStatus
* IdV0S115%%Result1%%48 <= XfGamingPatronRej2.$JobStatus
* IdV0S115%%Name%%49 <= XfGamingPatronRej2.$JobName
* IdV10S0%%Result2%%50 <= RunExtarctJob_ExProdUserPIR.$UserStatus
* IdV10S0%%Result1%%51 <= RunExtarctJob_ExProdUserPIR.$JobStatus
* IdV10S0%%Name%%52 <= RunExtarctJob_ExProdUserPIR.$JobName
* IdV0S122%%Result2%%53 <= XfEmployee.$UserStatus
* IdV0S122%%Result1%%54 <= XfEmployee.$JobStatus
* IdV0S122%%Name%%55 <= XfEmployee.$JobName
* IdV0S123%%Result2%%56 <= LdEmployee.$UserStatus
* IdV0S123%%Result1%%57 <= LdEmployee.$JobStatus
* IdV0S123%%Name%%58 <= LdEmployee.$JobName
* IdV0S124%%Result2%%59 <= LdEmpPartyENT.$UserStatus
* IdV0S124%%Result1%%60 <= LdEmpPartyENT.$JobStatus
* IdV0S124%%Name%%61 <= LdEmpPartyENT.$JobName
* IdV0S130%%Result2%%62 <= LdEmpPartyKeyENT.$UserStatus
* IdV0S130%%Result1%%63 <= LdEmpPartyKeyENT.$JobStatus
* IdV0S130%%Name%%64 <= LdEmpPartyKeyENT.$JobName
* IdV0S133%%Result2%%65 <= LdEmpPersonENT.$UserStatus
* IdV0S133%%Result1%%66 <= LdEmpPersonENT.$JobStatus
* IdV0S133%%Name%%67 <= LdEmpPersonENT.$JobName
* IdV16S0%%Result1%%68 <= RtUpdateControlTable.$ReturnValue
* IdV16S0%%Name%%69 <= RtUpdateControlTable.$RoutineName
* IdV16S0%%Param%%70 <= RtUpdateControlTable.StreamName
* IdV16S0%%Param%%71 <= RtUpdateControlTable.StreamStartName
* IdV16S0%%Param%%72 <= RtUpdateControlTable.TableCode
* IdV0S141%%Result2%%73 <= ExSurrogateKeyENT_Patron.$UserStatus
* IdV0S141%%Result1%%74 <= ExSurrogateKeyENT_Patron.$JobStatus
* IdV0S141%%Name%%75 <= ExSurrogateKeyENT_Patron.$JobName
* IdV17S0%%Result2%%76 <= ExSurrogateKeyENT_Emp.$UserStatus
* IdV17S0%%Result1%%77 <= ExSurrogateKeyENT_Emp.$JobStatus
* IdV17S0%%Name%%78 <= ExSurrogateKeyENT_Emp.$JobName
* IdV0S151%%Result2%%79 <= LdPartyKeyRejectUpdENT.$UserStatus
* IdV0S151%%Result1%%80 <= LdPartyKeyRejectUpdENT.$JobStatus
* IdV0S151%%Name%%81 <= LdPartyKeyRejectUpdENT.$JobName
*
*** [Generated at 2006-07-12 17:18:02 - 7.5.1.35]
$INCLUDE DSINCLUDE DSJ_XFUNCS.H
EQU Time$$ Lit "Oconv(Time(), 'MTS:'):': '"
****************************************
* Graphical Sequencer generated code for Job CtrlJPartyGroup
****************************************

seq$V0S5$count = 0
seq$V0S5$status = 0
seq$V2S1$count = 0
seq$V2S1$status = 0
seq$V0S77$count = 0
seq$V0S77$status = 0
seq$V0S103$count = 0
seq$V0S103$status = 0
seq$V0S126$count = 0
seq$V0S126$status = 0
seq$V0S148$count = 0
seq$V0S148$status = 0
handle$list = ""
id$list = ""
abort$list = ""
b$Abandoning = @False
b$NumStarted = 0
b$CPRestarted = @False
b$InErrorRef = @False
rpt$all = ""
summary$restarting = @False
*** Create new checkpoint for sequence if not restarting
If DSCheckPointExists(DSJ.ME, cp$dtm) Then GoTo L$RESTART
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0015\Starting new run of checkpointed Sequence job", ""), "@Coordinator")
If (Not(DSCheckPointValidate(DSJ.ME, cp$msg))) Then
err$source = "@Coordinator"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0016\Error creating checkpoint record<L>%1", cp$msg)
msg$id = "@Coordinator"; GoTo L$ERROR
End
GoTo L$MAINSTART
L$RESTART:
*** Validate restarted job matches prior state
summary$restarting = @True
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0017\Sequence job is being restarted after failure<L>Checkpoint record last modified at %1", cp$dtm), "@Coordinator")
b$CPRestarted = @True
If Not(DSCheckPointValidate(DSJ.ME, cp$msg)) Then
Call DSLogWarn(cp$msg, "@Coordinator")
End
L$MAINSTART:
*** Sequence start point
summary$ = DSMakeMsg("DSTAGE_JSG_M_0048\Summary of sequence run", "")
If summary$restarting Then
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0049\Sequence restarted after failure", ""))
End Else
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0050\Sequence started (checkpointing on)", ""))
End
b$NumStarted = 0
L$INITIAL:
If b$NumStarted = 1 Then GoTo L$RETURN$1
b$NumStarted += 1
GoTo L$V0S1$START
L$RETURN$1:
If b$NumStarted = 2 Then GoTo L$RETURN$2
b$NumStarted += 1
GoTo L$V10S0$START
L$RETURN$2:
GoTo L$WAITFORJOB
**************************************************
L$V0S1$START:
*** Activity "RunExtarctJob_ExPatronPIRDY": Initialize job
b$InErrorRef$V0S1 = b$InErrorRef
jb$V0S1 = "RunExtractJob":'.':("RunExtarctJob_ExPatronPIRDY")
b$V0S1skipping = @False
h$V0S1$cp = "h$V0S1"
If DSCheckPointGetValue(DSJ.ME, h$V0S1$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S1), "@RunExtarctJob_ExPatronPIRDY")
job$V0S1$status = Raise(cp$value<1>)
job$V0S1$userstatus = Raise(cp$value<2>)
IdV0S1%%Result2%%0 = job$V0S1$userstatus
IdV0S1%%Result1%%1 = job$V0S1$status
IdV0S1%%Name%%2 = jb$V0S1
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "RunExtarctJob_ExPatronPIRDY":@FM:jb$V0S1))
b$V0S1skipping = @True
Goto L$V0S1$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "RunExtarctJob_ExPatronPIRDY":@FM:jb$V0S1))
h$V0S1 = DSAttachJob(jb$V0S1, DSJ.ERRNONE)
If (Not(h$V0S1)) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S1:@FM:DSGetLastErrorMsg())
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
h$V0S1 = DSPrepareJob(h$V0S1)
If (Not(h$V0S1)) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S1:@FM:DSGetLastErrorMsg())
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
L$V0S1$PREPARED:
p$V0S1$1 = (SrcPIRDB)
err$code = DSSetParam(h$V0S1, "SourceDB", p$V0S1$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "SourceDB":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$2 = (SrcPIRUserID)
err$code = DSSetParam(h$V0S1, "SourceUserID", p$V0S1$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "SourceUserID":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$3 = (SrcPIRPW)
err$code = DSSetParam(h$V0S1, "SourcePW", p$V0S1$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "SourcePW":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$4 = (IndataFilePath)
err$code = DSSetParam(h$V0S1, "SeqFolder", p$V0S1$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "SeqFolder":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$5 = (ProcStartName)
err$code = DSSetParam(h$V0S1, "ProcStartName", p$V0S1$5)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "ProcStartName":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$6 = (StreamName)
err$code = DSSetParam(h$V0S1, "ProcName", p$V0S1$6)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "ProcName":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
p$V0S1$7 = "PAR01"
err$code = DSSetParam(h$V0S1, "TableCode", p$V0S1$7)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TableCode":@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S1, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "RunExtarctJob_ExPatronPIRDY"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S1:@FM:err$code)
msg$id = "@RunExtarctJob_ExPatronPIRDY"; GoTo L$ERROR
End
handle$list<-1> = h$V0S1
id$list<-1> = "V0S1"
GoTo L$RETURN$1
**************************************************
L$V0S1$FINISHED:
job$V0S1$status = DSGetJobInfo(h$V0S1, DSJ.JOBSTATUS)
job$V0S1$userstatus = DSGetJobInfo(h$V0S1, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "RunExtarctJob_ExPatronPIRDY":@FM:jb$V0S1:@FM:job$V0S1$status))
IdV0S1%%Result2%%0 = job$V0S1$userstatus
IdV0S1%%Result1%%1 = job$V0S1$status
IdV0S1%%Name%%2 = jb$V0S1
If (job$V0S1$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S1:@FM:DSTranslateCode(job$V0S1$status)), "@RunExtarctJob_ExPatronPIRDY")
End
rpt$V0S1 = DSMakeJobReport(h$V0S1, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S1:@FM:rpt$V0S1), "@RunExtarctJob_ExPatronPIRDY")
rpt$all := "\n":rpt$V0S1 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S1)
If b$InErrorRef$V0S1 Or (job$V0S1$status <> DSJS.RUNOK And job$V0S1$status <> DSJS.RUNWARN) Then Goto L$V0S1$SKIPPED
cp$value = Lower(job$V0S1$status)
cp$value<2> = Lower(job$V0S1$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S1$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S1), "@RunExtarctJob_ExPatronPIRDY")
**************************************************
L$V0S1$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S1else = @True
If (job$V0S1$status = DSJS.RUNOK) Then b$V0S1else = @False; GoTo L$V0S141$START
L$V0S1$RETURN$1:
If b$V0S1else Then GoSub L$V0S5$START
If b$V0S1skipping Then GoTo L$RETURN$1
GoTo L$WAITFORJOB
**************************************************
L$V0S2$START:
*** Decision "Exception_Handler"
GoTo L$V0S3$START
L$V0S2$RETURN$1:
GoTo L$WAITFORJOB
**************************************************
L$V0S3$START:
*** Activity "Notification_Activity_SystemErr": Call routine
r$V0S3$cp = "r$V0S3"
If DSCheckPointGetValue(DSJ.ME, r$V0S3$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0022\Skipped call of routine '%1' on restart", "DSSendMail"), "@Notification_Activity_SystemErr")
r$V0S3 = Raise(cp$value<1>)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0061\%1 (ROUTINE %2) skipped", "Notification_Activity_SystemErr":@FM:"DSSendMail"))
Goto L$V0S3$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0058\%1 (ROUTINE %2) started", "Notification_Activity_SystemErr":@FM:"DSSendMail"))
rtn$ok = DSCheckRoutine("DSSendMail")
If (Not(rtn$ok)) Then
err$source = "Notification_Activity_SystemErr"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0005\BASIC routine is not cataloged: %1", "DSSendMail")
msg$id = "@Notification_Activity_SystemErr"; GoTo L$ERROR
End
p$V0S3$0 = "To:":EmailRecipient:"\nFrom:Campaign Manager <":"DATASTAGEJOBS@notesmail.olc>\nSubject:FAILURE NOTICE -- PIR Party Group Job Failed with System Problem\nServer:les02\nBody:PIR Party Group Job failed with the system problem.\nPlease call Datastage administrator or Datastage Support stuff.\n":rpt$all
Call 'DSSendMail'(r$V0S3, p$V0S3$0)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0064\%1 finished, reply=%2", "Notification_Activity_SystemErr":@FM:r$V0S3))
If r$V0S3 <> 0 Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0041\Routine %1 did not finish OK, return code = '%2'", "DSSendMail":@FM:r$V0S3), "@Notification_Activity_SystemErr")
End
If (r$V0S3 <> 0) Then
err$source = "Notification_Activity_SystemErr"; err$number = 1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0042\Unhandled failure (%1) encountered calling routine %2", r$V0S3:@FM:"DSSendMail")
msg$id = "@Notification_Activity_SystemErr"; GoTo L$ERROR
End
If b$InErrorRef Or (r$V0S3 <> 0) Then Goto L$V0S3$SKIPPED
cp$value = Lower(r$V0S3)
dummy$ = DSCheckPointSetValue(DSJ.ME, r$V0S3$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0026\Checkpointed call of routine '%1'", "DSSendMail"), "@Notification_Activity_SystemErr")
**************************************************
L$V0S3$SKIPPED:
GoTo L$V0S2$RETURN$1
**************************************************
L$V0S5$START:
*** Sequencer "Err_Seq": wait until inputs ready
seq$V0S5$status = 1
If seq$V0S5$count > 0 Then Return
seq$V0S5$count += 1
seq$V0S5$status = 2
GoTo L$V0S15$START
L$V0S5$RETURN$1:
Return
**************************************************
L$V0S8$START:
*** Activity "Notification_Activity_JobErr": Call routine
r$V0S8$cp = "r$V0S8"
If DSCheckPointGetValue(DSJ.ME, r$V0S8$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0022\Skipped call of routine '%1' on restart", "DSSendMail"), "@Notification_Activity_JobErr")
r$V0S8 = Raise(cp$value<1>)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0061\%1 (ROUTINE %2) skipped", "Notification_Activity_JobErr":@FM:"DSSendMail"))
Goto L$V0S8$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0058\%1 (ROUTINE %2) started", "Notification_Activity_JobErr":@FM:"DSSendMail"))
rtn$ok = DSCheckRoutine("DSSendMail")
If (Not(rtn$ok)) Then
err$source = "Notification_Activity_JobErr"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0005\BASIC routine is not cataloged: %1", "DSSendMail")
msg$id = "@Notification_Activity_JobErr"; GoTo L$ERROR
End
p$V0S8$0 = "To:":EmailRecipient:"\nFrom:Gaming Data Repository <":"DATASTAGEJOBS@notesmail.olc>\nSubject:FAILURE NOTICE -- PIR Party Group Job Failed\nServer:les02\nBody:Please call Datastage administrator or Datastage Support stuff.\nPIR Party Group Job Failed. Please check the following:\n=================================\n":rpt$all
Call 'DSSendMail'(r$V0S8, p$V0S8$0)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0064\%1 finished, reply=%2", "Notification_Activity_JobErr":@FM:r$V0S8))
If r$V0S8 <> 0 Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0041\Routine %1 did not finish OK, return code = '%2'", "DSSendMail":@FM:r$V0S8), "@Notification_Activity_JobErr")
End
If (r$V0S8 <> 0) Then
err$source = "Notification_Activity_JobErr"; err$number = 1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0042\Unhandled failure (%1) encountered calling routine %2", r$V0S8:@FM:"DSSendMail")
msg$id = "@Notification_Activity_JobErr"; GoTo L$ERROR
End
If b$InErrorRef Or (r$V0S8 <> 0) Then Goto L$V0S8$SKIPPED
cp$value = Lower(r$V0S8)
dummy$ = DSCheckPointSetValue(DSJ.ME, r$V0S8$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0026\Checkpointed call of routine '%1'", "DSSendMail"), "@Notification_Activity_JobErr")
**************************************************
L$V0S8$SKIPPED:
GoTo L$V0S15$RETURN$1
**************************************************
L$V0S15$START:
*** Activity "Routine_Activity_Fail": Call routine
r$V0S15$cp = "r$V0S15"
If DSCheckPointGetValue(DSJ.ME, r$V0S15$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0022\Skipped call of routine '%1' on restart", "DSU.SetJobStatus"), "@Routine_Activity_Fail")
r$V0S15 = Raise(cp$value<1>)
IdV0S15%%Result1%%6 = r$V0S15
IdV0S15%%Name%%7 = "DSU.SetJobStatus"
IdV0S15%%Param%%8 = (p$V0S15$1)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0061\%1 (ROUTINE %2) skipped", "Routine_Activity_Fail":@FM:"DSU.SetJobStatus"))
Goto L$V0S15$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0058\%1 (ROUTINE %2) started", "Routine_Activity_Fail":@FM:"DSU.SetJobStatus"))
rtn$ok = DSCheckRoutine("DSU.SetJobStatus")
If (Not(rtn$ok)) Then
err$source = "Routine_Activity_Fail"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0005\BASIC routine is not cataloged: %1", "DSU.SetJobStatus")
msg$id = "@Routine_Activity_Fail"; GoTo L$ERROR
End
p$V0S15$1 = (1)
Call 'DSU.SetJobStatus'(r$V0S15, p$V0S15$1)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0064\%1 finished, reply=%2", "Routine_Activity_Fail":@FM:r$V0S15))
IdV0S15%%Result1%%6 = r$V0S15
IdV0S15%%Name%%7 = "DSU.SetJobStatus"
IdV0S15%%Param%%8 = (p$V0S15$1)
If r$V0S15 <> 0 Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0041\Routine %1 did not finish OK, return code = '%2'", "DSU.SetJobStatus":@FM:r$V0S15), "@Routine_Activity_Fail")
End
If (r$V0S15 <> 0) Then
err$source = "Routine_Activity_Fail"; err$number = 1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0042\Unhandled failure (%1) encountered calling routine %2", r$V0S15:@FM:"DSU.SetJobStatus")
msg$id = "@Routine_Activity_Fail"; GoTo L$ERROR
End
If b$InErrorRef Or (r$V0S15 <> 0) Then Goto L$V0S15$SKIPPED
cp$value = Lower(r$V0S15)
dummy$ = DSCheckPointSetValue(DSJ.ME, r$V0S15$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0026\Checkpointed call of routine '%1'", "DSU.SetJobStatus"), "@Routine_Activity_Fail")
**************************************************
L$V0S15$SKIPPED:
GoTo L$V0S8$START
L$V0S15$RETURN$1:
GoTo L$V0S5$RETURN$1
**************************************************
L$V2S0$START:
*** Activity "Notification_Activity_JobOK": Call routine
r$V2S0$cp = "r$V2S0"
If DSCheckPointGetValue(DSJ.ME, r$V2S0$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0022\Skipped call of routine '%1' on restart", "DSSendMail"), "@Notification_Activity_JobOK")
r$V2S0 = Raise(cp$value<1>)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0061\%1 (ROUTINE %2) skipped", "Notification_Activity_JobOK":@FM:"DSSendMail"))
Goto L$V2S0$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0058\%1 (ROUTINE %2) started", "Notification_Activity_JobOK":@FM:"DSSendMail"))
rtn$ok = DSCheckRoutine("DSSendMail")
If (Not(rtn$ok)) Then
err$source = "Notification_Activity_JobOK"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0005\BASIC routine is not cataloged: %1", "DSSendMail")
msg$id = "@Notification_Activity_JobOK"; GoTo L$ERROR
End
p$V2S0$0 = "To:":EmailRecipient:"\nFrom:Gaming Data Repository <":"DATASTAGEJOBS@notesmail.olc>\nSubject:SUCCESS NOTICE -- PIR Party Group Job Success\nServer:les02\nBody:Status of PIR Party Group Jobs:\n=================================\n":rpt$all
Call 'DSSendMail'(r$V2S0, p$V2S0$0)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0064\%1 finished, reply=%2", "Notification_Activity_JobOK":@FM:r$V2S0))
If r$V2S0 <> 0 Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0041\Routine %1 did not finish OK, return code = '%2'", "DSSendMail":@FM:r$V2S0), "@Notification_Activity_JobOK")
End
If (r$V2S0 <> 0) Then
err$source = "Notification_Activity_JobOK"; err$number = 1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0042\Unhandled failure (%1) encountered calling routine %2", r$V2S0:@FM:"DSSendMail")
msg$id = "@Notification_Activity_JobOK"; GoTo L$ERROR
End
If b$InErrorRef Or (r$V2S0 <> 0) Then Goto L$V2S0$SKIPPED
cp$value = Lower(r$V2S0)
dummy$ = DSCheckPointSetValue(DSJ.ME, r$V2S0$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0026\Checkpointed call of routine '%1'", "DSSendMail"), "@Notification_Activity_JobOK")
**************************************************
L$V2S0$SKIPPED:
GoTo L$V16S0$RETURN$1
**************************************************
L$V2S1$START:
*** Sequencer "Seq_OK": wait until inputs ready
seq$V2S1$status = 1
seq$V2S1$count += 1
If seq$V2S1$count < 6 Then Return
seq$V2S1$status = 2
GoTo L$V0S98$START
L$V2S1$RETURN$1:
Return
**************************************************
L$V0S52$START:
*** Activity "XfPatronNewUpdate": Initialize job
b$InErrorRef$V0S52 = b$InErrorRef
jb$V0S52 = "XfPatronNewUpdate"
b$V0S52skipping = @False
h$V0S52$cp = "h$V0S52"
If DSCheckPointGetValue(DSJ.ME, h$V0S52$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S52), "@XfPatronNewUpdate")
job$V0S52$status = Raise(cp$value<1>)
job$V0S52$userstatus = Raise(cp$value<2>)
IdV0S52%%Result2%%9 = job$V0S52$userstatus
IdV0S52%%Result1%%10 = job$V0S52$status
IdV0S52%%Name%%11 = jb$V0S52
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "XfPatronNewUpdate":@FM:jb$V0S52))
b$V0S52skipping = @True
Goto L$V0S52$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "XfPatronNewUpdate":@FM:jb$V0S52))
h$V0S52 = DSAttachJob(jb$V0S52, DSJ.ERRNONE)
If (Not(h$V0S52)) Then
err$source = "XfPatronNewUpdate"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S52:@FM:DSGetLastErrorMsg())
msg$id = "@XfPatronNewUpdate"; GoTo L$ERROR
End
h$V0S52 = DSPrepareJob(h$V0S52)
If (Not(h$V0S52)) Then
err$source = "XfPatronNewUpdate"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S52:@FM:DSGetLastErrorMsg())
msg$id = "@XfPatronNewUpdate"; GoTo L$ERROR
End
L$V0S52$PREPARED:
p$V0S52$1 = (IndataFilePath)
err$code = DSSetParam(h$V0S52, "IndataFilePath", p$V0S52$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfPatronNewUpdate"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "IndataFilePath":@FM:err$code)
msg$id = "@XfPatronNewUpdate"; GoTo L$ERROR
End
p$V0S52$2 = (OutdataFilePath)
err$code = DSSetParam(h$V0S52, "OutdataFilePath", p$V0S52$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfPatronNewUpdate"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@XfPatronNewUpdate"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S52, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfPatronNewUpdate"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S52:@FM:err$code)
msg$id = "@XfPatronNewUpdate"; GoTo L$ERROR
End
handle$list<-1> = h$V0S52
id$list<-1> = "V0S52"
GoTo L$V0S148$RETURN$1
**************************************************
L$V0S52$FINISHED:
job$V0S52$status = DSGetJobInfo(h$V0S52, DSJ.JOBSTATUS)
job$V0S52$userstatus = DSGetJobInfo(h$V0S52, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "XfPatronNewUpdate":@FM:jb$V0S52:@FM:job$V0S52$status))
IdV0S52%%Result2%%9 = job$V0S52$userstatus
IdV0S52%%Result1%%10 = job$V0S52$status
IdV0S52%%Name%%11 = jb$V0S52
If (job$V0S52$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S52:@FM:DSTranslateCode(job$V0S52$status)), "@XfPatronNewUpdate")
End
rpt$V0S52 = DSMakeJobReport(h$V0S52, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S52:@FM:rpt$V0S52), "@XfPatronNewUpdate")
rpt$all := "\n":rpt$V0S52 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S52)
If b$InErrorRef$V0S52 Or (job$V0S52$status <> DSJS.RUNOK And job$V0S52$status <> DSJS.RUNWARN) Then Goto L$V0S52$SKIPPED
cp$value = Lower(job$V0S52$status)
cp$value<2> = Lower(job$V0S52$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S52$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S52), "@XfPatronNewUpdate")
**************************************************
L$V0S52$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
If (job$V0S52$status = DSJS.RUNOK) Then GoSub L$V0S103$START
If (job$V0S52$status = DSJS.RUNWARN) Then GoSub L$V0S103$START
If (job$V0S52$status <> DSJS.RUNOK And job$V0S52$status <> DSJS.RUNWARN) Then GoSub L$V0S5$START
If b$V0S52skipping Then GoTo L$V0S148$RETURN$1
GoTo L$WAITFORJOB
**************************************************
L$V0S56$START:
*** Activity "XfGamingPatronStatusCD": Initialize job
b$InErrorRef$V0S56 = b$InErrorRef
jb$V0S56 = "XfGamingPatronStatusCD"
b$V0S56skipping = @False
h$V0S56$cp = "h$V0S56"
If DSCheckPointGetValue(DSJ.ME, h$V0S56$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S56), "@XfGamingPatronStatusCD")
job$V0S56$status = Raise(cp$value<1>)
job$V0S56$userstatus = Raise(cp$value<2>)
IdV0S56%%Result2%%12 = job$V0S56$userstatus
IdV0S56%%Result1%%13 = job$V0S56$status
IdV0S56%%Name%%14 = jb$V0S56
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "XfGamingPatronStatusCD":@FM:jb$V0S56))
b$V0S56skipping = @True
Goto L$V0S56$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "XfGamingPatronStatusCD":@FM:jb$V0S56))
h$V0S56 = DSAttachJob(jb$V0S56, DSJ.ERRNONE)
If (Not(h$V0S56)) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S56:@FM:DSGetLastErrorMsg())
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
h$V0S56 = DSPrepareJob(h$V0S56)
If (Not(h$V0S56)) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S56:@FM:DSGetLastErrorMsg())
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
L$V0S56$PREPARED:
p$V0S56$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S56, "TgtEDWDB", p$V0S56$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
p$V0S56$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S56, "TgtEDWUserId", p$V0S56$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserId":@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
p$V0S56$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S56, "TgtEDWPW", p$V0S56$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
p$V0S56$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S56, "OutdataFilePath", p$V0S56$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
p$V0S56$5 = (RejectFilePath)
err$code = DSSetParam(h$V0S56, "RejectFilePath", p$V0S56$5)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "RejectFilePath":@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S56, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "XfGamingPatronStatusCD"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S56:@FM:err$code)
msg$id = "@XfGamingPatronStatusCD"; GoTo L$ERROR
End
handle$list<-1> = h$V0S56
id$list<-1> = "V0S56"
GoTo L$V0S115$RETURN$1
**************************************************
L$V0S56$FINISHED:
job$V0S56$status = DSGetJobInfo(h$V0S56, DSJ.JOBSTATUS)
job$V0S56$userstatus = DSGetJobInfo(h$V0S56, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "XfGamingPatronStatusCD":@FM:jb$V0S56:@FM:job$V0S56$status))
IdV0S56%%Result2%%12 = job$V0S56$userstatus
IdV0S56%%Result1%%13 = job$V0S56$status
IdV0S56%%Name%%14 = jb$V0S56
If (job$V0S56$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S56:@FM:DSTranslateCode(job$V0S56$status)), "@XfGamingPatronStatusCD")
End
rpt$V0S56 = DSMakeJobReport(h$V0S56, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S56:@FM:rpt$V0S56), "@XfGamingPatronStatusCD")
rpt$all := "\n":rpt$V0S56 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S56)
If b$InErrorRef$V0S56 Or (job$V0S56$status <> DSJS.RUNOK And job$V0S56$status <> DSJS.RUNWARN) Then Goto L$V0S56$SKIPPED
cp$value = Lower(job$V0S56$status)
cp$value<2> = Lower(job$V0S56$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S56$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S56), "@XfGamingPatronStatusCD")
**************************************************
L$V0S56$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S56else = @True
If (job$V0S56$status = DSJS.RUNOK) Then b$V0S56else = @False; GoSub L$V0S77$START
If b$V0S56else Then GoSub L$V0S5$START
If b$V0S56skipping Then GoTo L$V0S115$RETURN$1
GoTo L$WAITFORJOB
**************************************************
L$V0S61$START:
*** Activity "LdCustomerENT": Initialize job
b$InErrorRef$V0S61 = b$InErrorRef
jb$V0S61 = "LdCustomerENT"
b$V0S61skipping = @False
h$V0S61$cp = "h$V0S61"
If DSCheckPointGetValue(DSJ.ME, h$V0S61$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S61), "@LdCustomerENT")
job$V0S61$status = Raise(cp$value<1>)
job$V0S61$userstatus = Raise(cp$value<2>)
IdV0S61%%Result2%%15 = job$V0S61$userstatus
IdV0S61%%Result1%%16 = job$V0S61$status
IdV0S61%%Name%%17 = jb$V0S61
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdCustomerENT":@FM:jb$V0S61))
b$V0S61skipping = @True
Goto L$V0S61$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdCustomerENT":@FM:jb$V0S61))
h$V0S61 = DSAttachJob(jb$V0S61, DSJ.ERRNONE)
If (Not(h$V0S61)) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S61:@FM:DSGetLastErrorMsg())
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
h$V0S61 = DSPrepareJob(h$V0S61)
If (Not(h$V0S61)) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S61:@FM:DSGetLastErrorMsg())
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
L$V0S61$PREPARED:
p$V0S61$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S61, "TgtEDWDB", p$V0S61$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
p$V0S61$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S61, "TgtEDWUserId", p$V0S61$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserId":@FM:err$code)
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
p$V0S61$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S61, "TgtEDWPW", p$V0S61$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
p$V0S61$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S61, "OutdataFilePath", p$V0S61$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S61, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdCustomerENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S61:@FM:err$code)
msg$id = "@LdCustomerENT"; GoTo L$ERROR
End
handle$list<-1> = h$V0S61
id$list<-1> = "V0S61"
GoTo L$V0S103$RETURN$3
**************************************************
L$V0S61$FINISHED:
job$V0S61$status = DSGetJobInfo(h$V0S61, DSJ.JOBSTATUS)
job$V0S61$userstatus = DSGetJobInfo(h$V0S61, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdCustomerENT":@FM:jb$V0S61:@FM:job$V0S61$status))
IdV0S61%%Result2%%15 = job$V0S61$userstatus
IdV0S61%%Result1%%16 = job$V0S61$status
IdV0S61%%Name%%17 = jb$V0S61
If (job$V0S61$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S61:@FM:DSTranslateCode(job$V0S61$status)), "@LdCustomerENT")
End
rpt$V0S61 = DSMakeJobReport(h$V0S61, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S61:@FM:rpt$V0S61), "@LdCustomerENT")
rpt$all := "\n":rpt$V0S61 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S61)
If b$InErrorRef$V0S61 Or (job$V0S61$status <> DSJS.RUNOK And job$V0S61$status <> DSJS.RUNWARN) Then Goto L$V0S61$SKIPPED
cp$value = Lower(job$V0S61$status)
cp$value<2> = Lower(job$V0S61$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S61$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S61), "@LdCustomerENT")
**************************************************
L$V0S61$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S61else = @True
If (job$V0S61$status = DSJS.RUNOK) Then b$V0S61else = @False; GoSub L$V2S1$START
If b$V0S61else Then GoSub L$V0S5$START
If b$V0S61skipping Then GoTo L$V0S103$RETURN$3
GoTo L$WAITFORJOB
**************************************************
L$V0S63$START:
*** Activity "LdPartyKeyENT": Initialize job
b$InErrorRef$V0S63 = b$InErrorRef
jb$V0S63 = "LdPartyKeyENT"
b$V0S63skipping = @False
h$V0S63$cp = "h$V0S63"
If DSCheckPointGetValue(DSJ.ME, h$V0S63$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S63), "@LdPartyKeyENT")
job$V0S63$status = Raise(cp$value<1>)
job$V0S63$userstatus = Raise(cp$value<2>)
IdV0S63%%Result2%%18 = job$V0S63$userstatus
IdV0S63%%Result1%%19 = job$V0S63$status
IdV0S63%%Name%%20 = jb$V0S63
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdPartyKeyENT":@FM:jb$V0S63))
b$V0S63skipping = @True
Goto L$V0S63$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdPartyKeyENT":@FM:jb$V0S63))
h$V0S63 = DSAttachJob(jb$V0S63, DSJ.ERRNONE)
If (Not(h$V0S63)) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S63:@FM:DSGetLastErrorMsg())
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
h$V0S63 = DSPrepareJob(h$V0S63)
If (Not(h$V0S63)) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S63:@FM:DSGetLastErrorMsg())
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
L$V0S63$PREPARED:
p$V0S63$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S63, "TgtEDWDB", p$V0S63$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
p$V0S63$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S63, "TgtEDWUserId", p$V0S63$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserId":@FM:err$code)
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
p$V0S63$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S63, "TgtEDWPW", p$V0S63$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
p$V0S63$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S63, "OutdataFilePath", p$V0S63$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S63, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyKeyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S63:@FM:err$code)
msg$id = "@LdPartyKeyENT"; GoTo L$ERROR
End
handle$list<-1> = h$V0S63
id$list<-1> = "V0S63"
GoTo L$V0S77$RETURN$1
**************************************************
L$V0S63$FINISHED:
job$V0S63$status = DSGetJobInfo(h$V0S63, DSJ.JOBSTATUS)
job$V0S63$userstatus = DSGetJobInfo(h$V0S63, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdPartyKeyENT":@FM:jb$V0S63:@FM:job$V0S63$status))
IdV0S63%%Result2%%18 = job$V0S63$userstatus
IdV0S63%%Result1%%19 = job$V0S63$status
IdV0S63%%Name%%20 = jb$V0S63
If (job$V0S63$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S63:@FM:DSTranslateCode(job$V0S63$status)), "@LdPartyKeyENT")
End
rpt$V0S63 = DSMakeJobReport(h$V0S63, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S63:@FM:rpt$V0S63), "@LdPartyKeyENT")
rpt$all := "\n":rpt$V0S63 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S63)
If b$InErrorRef$V0S63 Or (job$V0S63$status <> DSJS.RUNOK And job$V0S63$status <> DSJS.RUNWARN) Then Goto L$V0S63$SKIPPED
cp$value = Lower(job$V0S63$status)
cp$value<2> = Lower(job$V0S63$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S63$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S63), "@LdPartyKeyENT")
**************************************************
L$V0S63$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S63else = @True
If (job$V0S63$status = DSJS.RUNOK) Then b$V0S63else = @False; GoSub L$V2S1$START
If b$V0S63else Then GoSub L$V0S5$START
If b$V0S63skipping Then GoTo L$V0S77$RETURN$1
GoTo L$WAITFORJOB
**************************************************
L$V0S64$START:
*** Activity "LdPersonENT": Initialize job
b$InErrorRef$V0S64 = b$InErrorRef
jb$V0S64 = "LdPersonENT"
b$V0S64skipping = @False
h$V0S64$cp = "h$V0S64"
If DSCheckPointGetValue(DSJ.ME, h$V0S64$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S64), "@LdPersonENT")
job$V0S64$status = Raise(cp$value<1>)
job$V0S64$userstatus = Raise(cp$value<2>)
IdV0S64%%Result2%%21 = job$V0S64$userstatus
IdV0S64%%Result1%%22 = job$V0S64$status
IdV0S64%%Name%%23 = jb$V0S64
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdPersonENT":@FM:jb$V0S64))
b$V0S64skipping = @True
Goto L$V0S64$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdPersonENT":@FM:jb$V0S64))
h$V0S64 = DSAttachJob(jb$V0S64, DSJ.ERRNONE)
If (Not(h$V0S64)) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S64:@FM:DSGetLastErrorMsg())
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
h$V0S64 = DSPrepareJob(h$V0S64)
If (Not(h$V0S64)) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S64:@FM:DSGetLastErrorMsg())
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
L$V0S64$PREPARED:
p$V0S64$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S64, "TgtEDWDB", p$V0S64$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
p$V0S64$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S64, "TgtEDWUserId", p$V0S64$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserId":@FM:err$code)
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
p$V0S64$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S64, "TgtEDWPW", p$V0S64$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
p$V0S64$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S64, "OutdataFilePath", p$V0S64$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S64, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPersonENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S64:@FM:err$code)
msg$id = "@LdPersonENT"; GoTo L$ERROR
End
handle$list<-1> = h$V0S64
id$list<-1> = "V0S64"
GoTo L$V0S103$RETURN$1
**************************************************
L$V0S64$FINISHED:
job$V0S64$status = DSGetJobInfo(h$V0S64, DSJ.JOBSTATUS)
job$V0S64$userstatus = DSGetJobInfo(h$V0S64, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdPersonENT":@FM:jb$V0S64:@FM:job$V0S64$status))
IdV0S64%%Result2%%21 = job$V0S64$userstatus
IdV0S64%%Result1%%22 = job$V0S64$status
IdV0S64%%Name%%23 = jb$V0S64
If (job$V0S64$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S64:@FM:DSTranslateCode(job$V0S64$status)), "@LdPersonENT")
End
rpt$V0S64 = DSMakeJobReport(h$V0S64, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S64:@FM:rpt$V0S64), "@LdPersonENT")
rpt$all := "\n":rpt$V0S64 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S64)
If b$InErrorRef$V0S64 Or (job$V0S64$status <> DSJS.RUNOK And job$V0S64$status <> DSJS.RUNWARN) Then Goto L$V0S64$SKIPPED
cp$value = Lower(job$V0S64$status)
cp$value<2> = Lower(job$V0S64$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S64$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S64), "@LdPersonENT")
**************************************************
L$V0S64$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S64else = @True
If (job$V0S64$status = DSJS.RUNOK) Then b$V0S64else = @False; GoSub L$V2S1$START
If b$V0S64else Then GoSub L$V0S5$START
If b$V0S64skipping Then GoTo L$V0S103$RETURN$1
GoTo L$WAITFORJOB
**************************************************
L$V0S67$START:
*** Activity "LdGamingPatronENTUpd": Initialize job
b$InErrorRef$V0S67 = b$InErrorRef
jb$V0S67 = "LdGamingPatronENTUpd"
b$V0S67skipping = @False
h$V0S67$cp = "h$V0S67"
If DSCheckPointGetValue(DSJ.ME, h$V0S67$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S67), "@LdGamingPatronENTUpd")
job$V0S67$status = Raise(cp$value<1>)
job$V0S67$userstatus = Raise(cp$value<2>)
IdV0S67%%Result2%%24 = job$V0S67$userstatus
IdV0S67%%Result1%%25 = job$V0S67$status
IdV0S67%%Name%%26 = jb$V0S67
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdGamingPatronENTUpd":@FM:jb$V0S67))
b$V0S67skipping = @True
Goto L$V0S67$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdGamingPatronENTUpd":@FM:jb$V0S67))
h$V0S67 = DSAttachJob(jb$V0S67, DSJ.ERRNONE)
If (Not(h$V0S67)) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S67:@FM:DSGetLastErrorMsg())
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
h$V0S67 = DSPrepareJob(h$V0S67)
If (Not(h$V0S67)) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S67:@FM:DSGetLastErrorMsg())
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
L$V0S67$PREPARED:
p$V0S67$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S67, "TgtEDWDB", p$V0S67$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
p$V0S67$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S67, "TgtEDWUserID", p$V0S67$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserID":@FM:err$code)
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
p$V0S67$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S67, "TgtEDWPW", p$V0S67$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
p$V0S67$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S67, "OutdataFilePath", p$V0S67$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S67, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdGamingPatronENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S67:@FM:err$code)
msg$id = "@LdGamingPatronENTUpd"; GoTo L$ERROR
End
handle$list<-1> = h$V0S67
id$list<-1> = "V0S67"
GoTo L$V0S103$RETURN$5
**************************************************
L$V0S67$FINISHED:
job$V0S67$status = DSGetJobInfo(h$V0S67, DSJ.JOBSTATUS)
job$V0S67$userstatus = DSGetJobInfo(h$V0S67, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdGamingPatronENTUpd":@FM:jb$V0S67:@FM:job$V0S67$status))
IdV0S67%%Result2%%24 = job$V0S67$userstatus
IdV0S67%%Result1%%25 = job$V0S67$status
IdV0S67%%Name%%26 = jb$V0S67
If (job$V0S67$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S67:@FM:DSTranslateCode(job$V0S67$status)), "@LdGamingPatronENTUpd")
End
rpt$V0S67 = DSMakeJobReport(h$V0S67, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S67:@FM:rpt$V0S67), "@LdGamingPatronENTUpd")
rpt$all := "\n":rpt$V0S67 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S67)
If b$InErrorRef$V0S67 Or (job$V0S67$status <> DSJS.RUNOK And job$V0S67$status <> DSJS.RUNWARN) Then Goto L$V0S67$SKIPPED
cp$value = Lower(job$V0S67$status)
cp$value<2> = Lower(job$V0S67$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S67$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S67), "@LdGamingPatronENTUpd")
**************************************************
L$V0S67$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S67else = @True
If (job$V0S67$status = DSJS.RUNOK) Then b$V0S67else = @False; GoSub L$V0S77$START
If b$V0S67else Then GoSub L$V0S5$START
If b$V0S67skipping Then GoTo L$V0S103$RETURN$5
GoTo L$WAITFORJOB
**************************************************
L$V0S69$START:
*** Activity "LdIndividualNameENTUpd": Initialize job
b$InErrorRef$V0S69 = b$InErrorRef
jb$V0S69 = "LdIndividualNameENTUpd"
b$V0S69skipping = @False
h$V0S69$cp = "h$V0S69"
If DSCheckPointGetValue(DSJ.ME, h$V0S69$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S69), "@LdIndividualNameENTUpd")
job$V0S69$status = Raise(cp$value<1>)
job$V0S69$userstatus = Raise(cp$value<2>)
IdV0S69%%Result2%%27 = job$V0S69$userstatus
IdV0S69%%Result1%%28 = job$V0S69$status
IdV0S69%%Name%%29 = jb$V0S69
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdIndividualNameENTUpd":@FM:jb$V0S69))
b$V0S69skipping = @True
Goto L$V0S69$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdIndividualNameENTUpd":@FM:jb$V0S69))
h$V0S69 = DSAttachJob(jb$V0S69, DSJ.ERRNONE)
If (Not(h$V0S69)) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S69:@FM:DSGetLastErrorMsg())
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
h$V0S69 = DSPrepareJob(h$V0S69)
If (Not(h$V0S69)) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S69:@FM:DSGetLastErrorMsg())
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
L$V0S69$PREPARED:
p$V0S69$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S69, "TgtEDWDB", p$V0S69$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
p$V0S69$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S69, "TgtEDWUserID", p$V0S69$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserID":@FM:err$code)
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
p$V0S69$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S69, "TgtEDWPW", p$V0S69$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
p$V0S69$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S69, "OutdataFilePath", p$V0S69$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S69, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdIndividualNameENTUpd"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S69:@FM:err$code)
msg$id = "@LdIndividualNameENTUpd"; GoTo L$ERROR
End
handle$list<-1> = h$V0S69
id$list<-1> = "V0S69"
GoTo L$V0S103$RETURN$2
**************************************************
L$V0S69$FINISHED:
job$V0S69$status = DSGetJobInfo(h$V0S69, DSJ.JOBSTATUS)
job$V0S69$userstatus = DSGetJobInfo(h$V0S69, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdIndividualNameENTUpd":@FM:jb$V0S69:@FM:job$V0S69$status))
IdV0S69%%Result2%%27 = job$V0S69$userstatus
IdV0S69%%Result1%%28 = job$V0S69$status
IdV0S69%%Name%%29 = jb$V0S69
If (job$V0S69$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S69:@FM:DSTranslateCode(job$V0S69$status)), "@LdIndividualNameENTUpd")
End
rpt$V0S69 = DSMakeJobReport(h$V0S69, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S69:@FM:rpt$V0S69), "@LdIndividualNameENTUpd")
rpt$all := "\n":rpt$V0S69 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S69)
If b$InErrorRef$V0S69 Or (job$V0S69$status <> DSJS.RUNOK And job$V0S69$status <> DSJS.RUNWARN) Then Goto L$V0S69$SKIPPED
cp$value = Lower(job$V0S69$status)
cp$value<2> = Lower(job$V0S69$userstatus)
dummy$ = DSCheckPointSetValue(DSJ.ME, h$V0S69$cp, cp$value)
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0025\Checkpointed run of job '%1'", jb$V0S69), "@LdIndividualNameENTUpd")
**************************************************
L$V0S69$SKIPPED:
If b$Abandoning Then GoTo L$WAITFORJOB
b$V0S69else = @True
If (job$V0S69$status = DSJS.RUNOK) Then b$V0S69else = @False; GoTo L$V0S82$START
L$V0S69$RETURN$1:
If b$V0S69else Then GoSub L$V0S5$START
If b$V0S69skipping Then GoTo L$V0S103$RETURN$2
GoTo L$WAITFORJOB
**************************************************
L$V0S71$START:
*** Activity "LdPartyENT": Initialize job
b$InErrorRef$V0S71 = b$InErrorRef
jb$V0S71 = "LdPartyENT"
b$V0S71skipping = @False
h$V0S71$cp = "h$V0S71"
If DSCheckPointGetValue(DSJ.ME, h$V0S71$cp, cp$value) = DSJE.NOERROR Then
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0021\Skipped run of job '%1' on restart", jb$V0S71), "@LdPartyENT")
job$V0S71$status = Raise(cp$value<1>)
job$V0S71$userstatus = Raise(cp$value<2>)
IdV0S71%%Result2%%30 = job$V0S71$userstatus
IdV0S71%%Result1%%31 = job$V0S71$status
IdV0S71%%Name%%32 = jb$V0S71
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0060\%1 (JOB %2) skipped", "LdPartyENT":@FM:jb$V0S71))
b$V0S71skipping = @True
Goto L$V0S71$SKIPPED
End
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0057\%1 (JOB %2) started", "LdPartyENT":@FM:jb$V0S71))
h$V0S71 = DSAttachJob(jb$V0S71, DSJ.ERRNONE)
If (Not(h$V0S71)) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0001\Error calling DSAttachJob(%1)<L>%2", jb$V0S71:@FM:DSGetLastErrorMsg())
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
h$V0S71 = DSPrepareJob(h$V0S71)
If (Not(h$V0S71)) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0012\Error calling DSPrepareJob(%1)<L>%2", jb$V0S71:@FM:DSGetLastErrorMsg())
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
L$V0S71$PREPARED:
p$V0S71$1 = (TgtEDWDB)
err$code = DSSetParam(h$V0S71, "TgtEDWDB", p$V0S71$1)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWDB":@FM:err$code)
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
p$V0S71$2 = (TgtEDWUserID)
err$code = DSSetParam(h$V0S71, "TgtEDWUserId", p$V0S71$2)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWUserId":@FM:err$code)
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
p$V0S71$3 = (TgtEDWPW)
err$code = DSSetParam(h$V0S71, "TgtEDWPW", p$V0S71$3)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "TgtEDWPW":@FM:err$code)
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
p$V0S71$4 = (OutdataFilePath)
err$code = DSSetParam(h$V0S71, "OutdataFilePath", p$V0S71$4)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0002\Error calling DSSetParam(%1), code=%2[E]", "OutdataFilePath":@FM:err$code)
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
err$code = DSRunJob(h$V0S71, DSJ.RUNNORMAL)
If (err$code <> DSJE.NOERROR) Then
err$source = "LdPartyENT"; err$number = -1
msg$ = DSMakeMsg("DSTAGE_JSG_M_0003\Error calling DSRunJob(%1), code=%2[E]", jb$V0S71:@FM:err$code)
msg$id = "@LdPartyENT"; GoTo L$ERROR
End
handle$list<-1> = h$V0S71
id$list<-1> = "V0S71"
GoTo L$V0S103$RETURN$4
**************************************************
L$V0S71$FINISHED:
job$V0S71$status = DSGetJobInfo(h$V0S71, DSJ.JOBSTATUS)
job$V0S71$userstatus = DSGetJobInfo(h$V0S71, DSJ.USERSTATUS)
summary$<1,-1> = Time$$:Convert(@VM, " ", DSMakeMsg("DSTAGE_JSG_M_0063\%1 (JOB %2) finished, status=%3[E]", "LdPartyENT":@FM:jb$V0S71:@FM:job$V0S71$status))
IdV0S71%%Result2%%30 = job$V0S71$userstatus
IdV0S71%%Result1%%31 = job$V0S71$status
IdV0S71%%Name%%32 = jb$V0S71
If (job$V0S71$status <> DSJS.RUNOK) Then
Call DSLogWarn(DSMakeMsg("DSTAGE_JSG_M_0030\Job %1 did not finish OK, status = '%2'", jb$V0S71:@FM:DSTranslateCode(job$V0S71$status)), "@LdPartyENT")
End
rpt$V0S71 = DSMakeJobReport(h$V0S71, 1, "CRLF")
Call DSLogInfo(DSMakeMsg("DSTAGE_JSG_M_0004\Report on job: %1<L>%2", jb$V0S71:@FM:rpt$V0S71), "@LdPartyENT")
rpt$all := "\n":rpt$V0S71 ;* accumulate job reports
dummy$ = DSDetachJob(h$V0S71)
If b$InErrorRef$V0S71 Or (job$V0S71$status <> DSJS.RUNOK And job$V0S71$status <> DSJS.RUNWARN) Then Goto L$V0S71$SKIPPED
cp$value = Lower(job$V0S71$status)
cp$value<2&
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Olgc, You forgot to put the ending code tag.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

It's not as hard as it appears.

Create a job control routine via the Add Job button. That is the essence of running a job, albeit primitive: attach, set parameters, request run, wait, check status, detach.

Job sequences use a "busy wait", and lists for keeping track of which activity is running, checkpoints, and so on. Plus it uses computer-generated variable names, so that they're all legal names (these might map from Asian-language stage/link names for example).

Other than that, a job sequence is just a number of blocks of code with a line of asterisks separating each; you can readily separate them out (with blank lines) and add more documentation (I'll concede that the generated code is sparse when it comes to documentation, but I guess it's not meant to be read by humans very often).

You have search-and-replace facilities in the code editor window, or you can use your favourite code editor and paste the result back in to the Job Properties dialog.

Go for it!
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Why would you post your Sequence job code? For the points? :roll:

If anyone wants to see something like that, simply check the 'Code' tab of any Sequence job in your library. And I agree with Ray - it's generated code for goodness sake, not all that pretty but certainly not 'out of control'. Or all that hard to read when you get right down to it.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply