179 lines
3.9 KiB
Plaintext
179 lines
3.9 KiB
Plaintext
subroutine reactor_log_rpt2_prn( FromDate, ThruDate )
|
|
!
|
|
* LIST REACTOR_LOG ID-SUPP REACTOR JUSTLEN 5 START_DATE JUSTLEN 10 START_TIME JUSTLEN 10 NOTES JUSTLEN 40 ENTRY_ID_NAME JUSTLEN 20 HEADING " Run Date: 'TS39'Page 'P''LS22'Pass Down Report 02/17/97 To 02/17/97"
|
|
!
|
|
*PRINTER ON
|
|
declare function set_printer
|
|
*
|
|
* HEADING/FOOTING
|
|
TheHeader = " Pass Down 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:"Start Date":@vm:"Start Time":@vm:"Notes":@vm:"Entry Person"
|
|
ColHeader<-1> = str('-',5):@vm:str('-',10):@vm:str('-',10):@vm:str('-',62):@vm:str('-',28)
|
|
HeadPos = '.5,1.06,1.06,5.38,2'
|
|
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
|
|
*
|
|
!
|
|
READRECORD:
|
|
!
|
|
*
|
|
*
|
|
@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
|
|
Void = 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
|
|
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.STARTULDATE={START_DATE}
|
|
I.STARTULDATE=S.STARTULDATE
|
|
S.STARTULTIME={START_TIME}
|
|
I.STARTULTIME=S.STARTULTIME
|
|
*M.NOTES=FMT({NOTES},"T#40") ; P.NOTES=1 ; C.NOTES=7
|
|
M.NOTES={NOTES}; P.NOTES=1 ; C.NOTES=7
|
|
convert @tm to ' ' in M.NOTES
|
|
|
|
S.ENTRYULIDULNAME={ENTRY_ID_NAME}
|
|
I.ENTRYULIDULNAME=S.ENTRYULIDULNAME
|
|
*
|
|
PREVIOUS.MARK.LEVEL=0
|
|
*
|
|
IF FIRST.PASS THEN
|
|
FIRST.PASS=0
|
|
GOTO DETAIL
|
|
END
|
|
*
|
|
*
|
|
!
|
|
BREAKS:
|
|
!
|
|
*
|
|
*
|
|
* PERFORM LAST RECORD OUTPUT IF DONE
|
|
*
|
|
IF LAST.RECORD THEN
|
|
* 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.REACTOR NE "" THEN S.REACTOR=OCONV(S.REACTOR,"MD0")
|
|
IF S.STARTULDATE NE "" THEN S.STARTULDATE=OCONV(S.STARTULDATE,"D2/")
|
|
IF S.STARTULTIME NE "" THEN S.STARTULTIME=OCONV(S.STARTULTIME,"MTH")
|
|
*
|
|
* PRINT DETAIL LINE
|
|
*
|
|
PRINTLINE = S.REACTOR:@vm
|
|
PRINTLINE := S.STARTULDATE:@vm
|
|
PRINTLINE := S.STARTULTIME:@vm
|
|
PRINTLINE := S.NOTES:@vm
|
|
PRINTLINE := S.ENTRYULIDULNAME
|
|
TableColInfo = '>+720':@vm:'<+1526':@vm:'<+1526':@vm:'<+7747':@vm:'<+2880'
|
|
Void = set_printer( 'ADDTABLE', TableColInfo, '', PRINTLINE, '', '', 1, TB_NONE )
|
|
Void = set_printer( 'TEXT', '' )
|
|
*
|
|
IF NEW.MARK.LEVEL THEN
|
|
S.REACTOR=''
|
|
S.STARTULDATE=''
|
|
S.STARTULTIME=''
|
|
S.NOTES=''
|
|
S.ENTRYULIDULNAME=''
|
|
PREVIOUS.MARK.LEVEL=NEW.MARK.LEVEL
|
|
GOTO DETAIL
|
|
END
|
|
*
|
|
GOTO READRECORD
|
|
*
|
|
END
|
|
|