Routine for writing Log to Sequential file
Posted: Thu Jun 02, 2005 2:30 am
I ran the below routine which writes logs to Sequential somewhere picked up from this forum.
But it is just writing very fews logs instead of whole logs.
Pls guide what changes are required in this routine to get whole log written to sequential file.
Thanks
Prashant
$IFNDEF JOBCONTROL.H
$INCLUDE DSINCLUDE JOBCONTROL.H
$ENDIF
StartDate = DSGetJobInfo (DSJ.ME, DSJ.JOBSTARTTIMESTAMP)
SummaryArray = DSGetLogSummary (DSJ.ME,DSJ.LOGINFO,StartDate,"9999-12-31", 0)
Answer=""
NLines=0
Loop
Str = Field(SummaryArray,@FM,NLines+1)
If Str<>"" Then
NLines=NLines+1
EventId=Field(Str,"\",1)
TimeStamp=Field(Str,"\",2)
EventMessage=Field(Str,"\",6)
Answer<-1>=EventId:" ":TimeStamp:" ":EventMessage
End
Until Str=""
Repeat
Answer=OConv(Answer,"MCP")
Loop
I= Index(Answer,"'",1)
If I>0 Then Answer=Answer[1,I-1]:Answer[I+1,Len(Answer)]
Until I=0
Repeat
x=Answer
ValidOpen = @FALSE
filename = "/ascl/dsadm/Ascential/DataStage/Projects/LETS/LogToSequentialFile_PA.txt"
OPENSEQ filename TO FILE Then
ValidOpen = @TRUE
End Else
CREATE FILE Then ValidOpen = @TRUE
End
If NOT(ValidOpen) Then
Call DSLogFatal("Could not create the file: ":filename, "OutputFile")
End
AM.CNT = DCOUNT(x, @AM)
For i=1 to AM.CNT
WRITESEQ x TO FILE else
Call DSLogFatal("Could not update the file: ":filename, "OutputFile")
End
Next i
WEOFSEQ FILE
ErrorCode = 0 ;* set this to non-zero to stop the stage/job
Ans =1
ErrorCode = 0 ;* set this to non-zero to stop the stage/job
But it is just writing very fews logs instead of whole logs.
Pls guide what changes are required in this routine to get whole log written to sequential file.
Thanks
Prashant
$IFNDEF JOBCONTROL.H
$INCLUDE DSINCLUDE JOBCONTROL.H
$ENDIF
StartDate = DSGetJobInfo (DSJ.ME, DSJ.JOBSTARTTIMESTAMP)
SummaryArray = DSGetLogSummary (DSJ.ME,DSJ.LOGINFO,StartDate,"9999-12-31", 0)
Answer=""
NLines=0
Loop
Str = Field(SummaryArray,@FM,NLines+1)
If Str<>"" Then
NLines=NLines+1
EventId=Field(Str,"\",1)
TimeStamp=Field(Str,"\",2)
EventMessage=Field(Str,"\",6)
Answer<-1>=EventId:" ":TimeStamp:" ":EventMessage
End
Until Str=""
Repeat
Answer=OConv(Answer,"MCP")
Loop
I= Index(Answer,"'",1)
If I>0 Then Answer=Answer[1,I-1]:Answer[I+1,Len(Answer)]
Until I=0
Repeat
x=Answer
ValidOpen = @FALSE
filename = "/ascl/dsadm/Ascential/DataStage/Projects/LETS/LogToSequentialFile_PA.txt"
OPENSEQ filename TO FILE Then
ValidOpen = @TRUE
End Else
CREATE FILE Then ValidOpen = @TRUE
End
If NOT(ValidOpen) Then
Call DSLogFatal("Could not create the file: ":filename, "OutputFile")
End
AM.CNT = DCOUNT(x, @AM)
For i=1 to AM.CNT
WRITESEQ x TO FILE else
Call DSLogFatal("Could not update the file: ":filename, "OutputFile")
End
Next i
WEOFSEQ FILE
ErrorCode = 0 ;* set this to non-zero to stop the stage/job
Ans =1
ErrorCode = 0 ;* set this to non-zero to stop the stage/job