added LSL2 stored procedures
This commit is contained in:
340
LSL2/STPROC/REACTOR_LOG_RPT1_PRN.txt
Normal file
340
LSL2/STPROC/REACTOR_LOG_RPT1_PRN.txt
Normal file
@ -0,0 +1,340 @@
|
||||
SUBROUTINE REACTOR_LOG_RPT1_PRN( FromDate, ThruDate )
|
||||
!
|
||||
* LIST REACTOR_LOG ID-SUPP BREAK-ON REACTOR "'V'" JUSTLEN 5 BREAK-ON CATEGORY "'V'" JUSTLEN 11 BREAK-ON SERVICE "'V'" JUSTLEN 13 NOTES START_DATE JUSTLEN 10 START_TIME JUSTLEN 10 END_DATE JUSTLEN 8 END_TIME JUSTLEN 8 TOTAL ELAPSED_HOURS JUSTLEN 7 COLHEAD 'Hours' HEADING " Run Date: 'TS39'Page 'P''LS22'Reactor Log Report 03/11/96 To 03/11/96"
|
||||
!
|
||||
*PRINTER ON
|
||||
declare function set_printer
|
||||
* IF THIS CODE IS EVER USED, IT MUST CHANGE TO USE THE ADDTABLE OIPI CALLING METHOD
|
||||
*
|
||||
* HEADING/FOOTING
|
||||
TheHeader = " Reactor Log Report 'T' PAGE # 'P' "
|
||||
if FromDate or ThruDate then
|
||||
TheHeader := "for Selected Dates From (":oconv( FromDate, 'D2/' ):") Thru (":oconv( ThruDate, 'D2/' ):")"
|
||||
end
|
||||
ColHeader = "React" : @vm : "Category" : @vm : "Service" : @vm : "Notes" : @vm : "Start Date": @vm:"Start Time":@vm:"End Date":@vm:"End Time":@vm:"Hours"
|
||||
ColHeader<-1> = str( '-', 5 ):@vm:str( '-', 13 ):@vm:str( '-', 20 ):@vm:str( '-', 22 ):@vm:str( '-', 10 ):@vm:str( '-', 10):@vm:str( '-', 10 ):@vm:str( '-', 10 ):@vm:str( '-', 10 )
|
||||
HeadPos = '.5,1,1.25,2,1.06,1.06,1,1,1'
|
||||
convert ',' to @fm in HeadPos
|
||||
*FOOTING ""
|
||||
Void = set_printer( 'FONTHEADFOOT' )
|
||||
Void = set_printer( 'HEADER', TheHeader, HeadPos, ColHeader )
|
||||
|
||||
*
|
||||
@RECCOUNT=0
|
||||
FIRST.PASS=1
|
||||
LAST.RECORD=0
|
||||
READERR=0
|
||||
*
|
||||
* OPEN DICT AND DATA FILES
|
||||
*
|
||||
OPEN "DICT","REACTOR_LOG" TO @DICT ELSE return
|
||||
OPEN "","REACTOR_LOG" TO FILE.IN ELSE return
|
||||
*
|
||||
* MAKE COLUMN HEADING
|
||||
*
|
||||
* ZERO ACCUMULATORS FOR EACH BREAK
|
||||
*
|
||||
ELAPSEDULHOURS.REACTOR.TOTAL=0
|
||||
ELAPSEDULHOURS.REACTOR.COUNT=0
|
||||
ELAPSEDULHOURS.CATEGORY.TOTAL=0
|
||||
ELAPSEDULHOURS.CATEGORY.COUNT=0
|
||||
ELAPSEDULHOURS.SERVICE.TOTAL=0
|
||||
ELAPSEDULHOURS.SERVICE.COUNT=0
|
||||
ELAPSEDULHOURS.GRAND.TOTAL=0
|
||||
ELAPSEDULHOURS.GRAND.COUNT=0
|
||||
*
|
||||
* NULL PREVIOUS BREAK BUCKETS
|
||||
*
|
||||
PREV.REACTOR=''
|
||||
LAST.REACTOR.BREAK = 1
|
||||
PREV.CATEGORY=''
|
||||
LAST.CATEGORY.BREAK = 1
|
||||
PREV.SERVICE=''
|
||||
LAST.SERVICE.BREAK = 1
|
||||
*
|
||||
!
|
||||
READRECORD:
|
||||
!
|
||||
*
|
||||
*
|
||||
* ZERO BREAK FLAGS TO FALSE
|
||||
*
|
||||
REACTOR.BREAK=0
|
||||
CATEGORY.BREAK=0
|
||||
SERVICE.BREAK=0
|
||||
*
|
||||
*
|
||||
@FILE.ERROR.MODE=1
|
||||
READNEXT @ID,WHICH.VALUE ELSE
|
||||
@FILE.ERROR.MODE=0
|
||||
IF STATUS() GT 0 THEN
|
||||
@ANS=@FILE.ERROR<1>
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_5} )
|
||||
return
|
||||
END
|
||||
IF @FILE.ERROR<1> EQ 421 THEN
|
||||
Viod = set_printer( 'TEXT', {RLIST_TEXT_6} )
|
||||
GOTO READRECORD
|
||||
END
|
||||
IF @FILE.ERROR<1> NE 111 THEN
|
||||
@ANS=@FILE.ERROR<1>
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_4} )
|
||||
READERR+=1
|
||||
GOTO READRECORD
|
||||
END
|
||||
LAST.RECORD=1
|
||||
REACTOR.BREAK=1
|
||||
REACTOR=PREV.REACTOR
|
||||
CATEGORY.BREAK=1
|
||||
CATEGORY=PREV.CATEGORY
|
||||
SERVICE.BREAK=1
|
||||
SERVICE=PREV.SERVICE
|
||||
END
|
||||
@FILE.ERROR.MODE=0
|
||||
*
|
||||
S.ATID=@ID
|
||||
*
|
||||
IF FIRST.PASS AND LAST.RECORD THEN
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_2} )
|
||||
return
|
||||
END
|
||||
*
|
||||
IF LAST.RECORD THEN GOTO BREAKS
|
||||
*
|
||||
IF @REDUCTION.DONE THEN
|
||||
@FILE.ERROR.MODE=1
|
||||
READO @RECORD FROM FILE.IN,@ID ELSE
|
||||
@FILE.ERROR.MODE=0
|
||||
IF STATUS() GT 0 THEN
|
||||
@ANS=@FILE.ERROR<1>
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_5} )
|
||||
return
|
||||
END
|
||||
IF @FILE.ERROR<1> NE 100 THEN
|
||||
@ANS=@FILE.ERROR<1>
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_4} )
|
||||
READERR+=1
|
||||
END
|
||||
GOTO READRECORD
|
||||
END
|
||||
@FILE.ERROR.MODE=0
|
||||
END
|
||||
*
|
||||
@RECCOUNT+=1
|
||||
*
|
||||
*
|
||||
* CALCULATE VALUE(S) FOR COLUMN(S)
|
||||
*
|
||||
S.ATID={@ID}
|
||||
I.ATID=S.ATID
|
||||
S.REACTOR={REACTOR}
|
||||
I.REACTOR=S.REACTOR
|
||||
S.CATEGORY={CATEGORY}
|
||||
I.CATEGORY=S.CATEGORY
|
||||
S.SERVICE={SERVICE}
|
||||
I.SERVICE=S.SERVICE
|
||||
*M.NOTES=FMT({NOTES},"T#20") ; P.NOTES=1 ; C.NOTES=7
|
||||
M.NOTES={NOTES}; P.NOTES=1 ; C.NOTES=7
|
||||
convert @tm to ' ' in M.NOTES
|
||||
*
|
||||
* INITIALIZE TEXT BREAK CHECK VARIABLE(S)
|
||||
*
|
||||
S.NOTES = M.NOTES
|
||||
S.STARTULDATE={START_DATE}
|
||||
I.STARTULDATE=S.STARTULDATE
|
||||
S.STARTULTIME={START_TIME}
|
||||
I.STARTULTIME=S.STARTULTIME
|
||||
S.ENDULDATE={END_DATE}
|
||||
I.ENDULDATE=S.ENDULDATE
|
||||
S.ENDULTIME={END_TIME}
|
||||
I.ENDULTIME=S.ENDULTIME
|
||||
S.ELAPSEDULHOURS={ELAPSED_HOURS}
|
||||
I.ELAPSEDULHOURS=S.ELAPSEDULHOURS
|
||||
*
|
||||
PREVIOUS.MARK.LEVEL=0
|
||||
*
|
||||
* TEST FOR CONTROL BREAK(S)
|
||||
*
|
||||
IF (S.REACTOR NE PREV.REACTOR) OR REACTOR.BREAK THEN
|
||||
REACTOR=PREV.REACTOR
|
||||
PREV.REACTOR=S.REACTOR
|
||||
REACTOR.BREAK+=1
|
||||
CATEGORY.BREAK=3
|
||||
SERVICE.BREAK=3
|
||||
END
|
||||
*
|
||||
IF (S.CATEGORY NE PREV.CATEGORY) OR CATEGORY.BREAK THEN
|
||||
CATEGORY=PREV.CATEGORY
|
||||
PREV.CATEGORY=S.CATEGORY
|
||||
CATEGORY.BREAK+=1
|
||||
SERVICE.BREAK=3
|
||||
END
|
||||
*
|
||||
IF (S.SERVICE NE PREV.SERVICE) OR SERVICE.BREAK THEN
|
||||
SERVICE=PREV.SERVICE
|
||||
PREV.SERVICE=S.SERVICE
|
||||
SERVICE.BREAK+=1
|
||||
END
|
||||
*
|
||||
*
|
||||
IF FIRST.PASS THEN
|
||||
FIRST.PASS=0
|
||||
GOTO DETAIL
|
||||
END
|
||||
*
|
||||
*
|
||||
!
|
||||
BREAKS:
|
||||
!
|
||||
*
|
||||
* PRINT BREAK TOTAL(S) AND ACCUMULATE TOTAL(S)
|
||||
*
|
||||
*
|
||||
IF SERVICE.BREAK THEN
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
PRINTLINE = '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:=SERVICE:@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= fmt( OCONV(ELAPSEDULHOURS.SERVICE.TOTAL ,"MD2"), "R#9" )
|
||||
Void = set_printer( 'TEXTCOL', PRINTLINE )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
*
|
||||
ELAPSEDULHOURS.CATEGORY.TOTAL+=ELAPSEDULHOURS.SERVICE.TOTAL
|
||||
ELAPSEDULHOURS.SERVICE.TOTAL=0
|
||||
ELAPSEDULHOURS.CATEGORY.COUNT+=ELAPSEDULHOURS.SERVICE.COUNT
|
||||
ELAPSEDULHOURS.SERVICE.COUNT=0
|
||||
END
|
||||
*
|
||||
IF CATEGORY.BREAK THEN
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
PRINTLINE = '':@vm
|
||||
PRINTLINE:=OCONV(CATEGORY,"[REACT_LOG_CAT_CONV]"):@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= fmt( OCONV(ELAPSEDULHOURS.CATEGORY.TOTAL ,"MD2"), "R#9" )
|
||||
Void = set_printer( 'TEXTCOL', PRINTLINE )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
*
|
||||
ELAPSEDULHOURS.REACTOR.TOTAL+=ELAPSEDULHOURS.CATEGORY.TOTAL
|
||||
ELAPSEDULHOURS.CATEGORY.TOTAL=0
|
||||
ELAPSEDULHOURS.REACTOR.COUNT+=ELAPSEDULHOURS.CATEGORY.COUNT
|
||||
ELAPSEDULHOURS.CATEGORY.COUNT=0
|
||||
END
|
||||
*
|
||||
IF REACTOR.BREAK THEN
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
PRINTLINE = REACTOR:@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= fmt( OCONV(ELAPSEDULHOURS.REACTOR.TOTAL ,"MD2"), "R#9" )
|
||||
Void = set_printer( 'TEXTCOL', PRINTLINE )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
*
|
||||
ELAPSEDULHOURS.GRAND.TOTAL+=ELAPSEDULHOURS.REACTOR.TOTAL
|
||||
ELAPSEDULHOURS.REACTOR.TOTAL=0
|
||||
ELAPSEDULHOURS.GRAND.COUNT+=ELAPSEDULHOURS.REACTOR.COUNT
|
||||
ELAPSEDULHOURS.REACTOR.COUNT=0
|
||||
END
|
||||
*
|
||||
* PERFORM LAST RECORD OUTPUT IF DONE
|
||||
*
|
||||
IF LAST.RECORD THEN
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
PRINTLINE = "***":@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= '':@vm
|
||||
PRINTLINE:= fmt( OCONV(ELAPSEDULHOURS.GRAND.TOTAL ,"MD2"), "R#9" )
|
||||
Void = set_printer( 'TEXTCOL', PRINTLINE )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
* PRINT
|
||||
* @ANS=@RECCOUNT
|
||||
* PRINT {RLIST_TEXT_1}
|
||||
IF READERR THEN
|
||||
@ANS=READERR
|
||||
Void = set_printer( 'TEXT', {RLIST_TEXT_3} )
|
||||
END
|
||||
return
|
||||
END
|
||||
*
|
||||
!
|
||||
DETAIL:
|
||||
!
|
||||
*
|
||||
* REMOVE APPROPRIATE VALUE FROM MULTI-VALUED COLUMN(S)
|
||||
*
|
||||
NEW.MARK.LEVEL=0
|
||||
*
|
||||
IF C.NOTES GE PREVIOUS.MARK.LEVEL THEN
|
||||
REMOVE I.NOTES FROM M.NOTES AT P.NOTES SETTING C.NOTES
|
||||
S.NOTES=I.NOTES
|
||||
END
|
||||
IF C.NOTES GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.NOTES
|
||||
*
|
||||
* DO CONVERSIONS IF ANY
|
||||
*
|
||||
IF S.CATEGORY NE "" THEN S.CATEGORY=OCONV(S.CATEGORY,"[REACT_LOG_CAT_CONV]")
|
||||
IF S.STARTULDATE NE "" THEN S.STARTULDATE=OCONV(S.STARTULDATE,"D2/")
|
||||
IF S.STARTULTIME NE "" THEN S.STARTULTIME=OCONV(S.STARTULTIME,"MTH")
|
||||
IF S.ENDULDATE NE "" THEN S.ENDULDATE=OCONV(S.ENDULDATE,"D2/")
|
||||
IF S.ENDULTIME NE "" THEN S.ENDULTIME=OCONV(S.ENDULTIME,"MTH")
|
||||
IF S.ELAPSEDULHOURS NE "" THEN S.ELAPSEDULHOURS=OCONV(S.ELAPSEDULHOURS,"MD2")
|
||||
*
|
||||
* ACCUMULATE TOTAL(S)
|
||||
*
|
||||
IF NUM(I.ELAPSEDULHOURS) AND I.ELAPSEDULHOURS NE "" THEN
|
||||
ELAPSEDULHOURS.SERVICE.TOTAL+=I.ELAPSEDULHOURS
|
||||
ELAPSEDULHOURS.SERVICE.COUNT+=1
|
||||
I.ELAPSEDULHOURS=''
|
||||
END
|
||||
*
|
||||
* PRINT DETAIL LINE
|
||||
*
|
||||
PRINTLINE = S.REACTOR:@vm
|
||||
PRINTLINE:= S.CATEGORY:@vm
|
||||
PRINTLINE:= S.SERVICE:@vm
|
||||
PRINTLINE:= S.NOTES:@vm
|
||||
PRINTLINE:= S.STARTULDATE:@vm
|
||||
PRINTLINE:= S.STARTULTIME:@vm
|
||||
PRINTLINE:= S.ENDULDATE:@vm
|
||||
PRINTLINE:= S.ENDULTIME:@vm
|
||||
PRINTLINE:= fmt( S.ELAPSEDULHOURS, "R#9" )
|
||||
Void = set_printer( 'TEXTCOL', PRINTLINE )
|
||||
Void = set_printer( 'TEXT', '' )
|
||||
*
|
||||
IF NEW.MARK.LEVEL THEN
|
||||
S.REACTOR=''
|
||||
S.CATEGORY=''
|
||||
S.SERVICE=''
|
||||
S.NOTES=''
|
||||
S.STARTULDATE=''
|
||||
S.STARTULTIME=''
|
||||
S.ENDULDATE=''
|
||||
S.ENDULTIME=''
|
||||
S.ELAPSEDULHOURS=''
|
||||
PREVIOUS.MARK.LEVEL=NEW.MARK.LEVEL
|
||||
GOTO DETAIL
|
||||
END
|
||||
*
|
||||
GOTO READRECORD
|
||||
*
|
||||
END
|
||||
|
Reference in New Issue
Block a user