230 lines
6.6 KiB
Plaintext
230 lines
6.6 KiB
Plaintext
compile subroutine wo_log_rpt1_prn( Dummy )
|
|
!
|
|
* LIST WO_LOG ID-SUPP WO JUSTLEN 6 CUST_NO JUSTLEN 6 COLHEAD 'CustNo' ABBREV_OR_CO_NAME JUSTLEN 18 PROD_SPEC_ID JUSTLEN 5 THICK_TARGET_L1 JUSTLEN 5 COLHEAD 'Thick' RES_TARGET_L1 JUSTLEN 5 COLHEAD 'Res' WAFER_INCHES JUSTLEN 4 QTY JUSTLEN 4 CUST_SHIP_DATE JUSTLEN 8 COLHEAD 'Ship Req' RECEIVED_DATE JUSTLEN 8 REACTORS JUSTLEN 5 COLHEAD 'R#(s)' SCHEDULED JUSTLEN 3 COLHEAD 'Sch' CLOSE_DATE JUSTLEN 8 HEADING " Run Date: 'TS59'Page'P''LS32'Work Order Log Report by WO# "
|
|
!
|
|
*PRINTER ON
|
|
$insert oiprint_equates
|
|
declare function set_printer
|
|
Font = 'Times New Roman,9,L,0'
|
|
convert ',' to @fm in Font
|
|
HeadPos = '.56/.38/1.06/.38/.63/.56/.5/.5/.63/.63/.75/.31/.63'
|
|
convert '/' to @fm in HeadPos
|
|
*TheHeader = " Work Order Log Report by WO# 'D' 'T' PAGE # 'P'":@fm
|
|
TheHeader = ''
|
|
COLHEADER = "WO#" : @vm : "CNo" : @vm : "Customer" : @vm : "PSN" : @vm : "Thick" : @vm : "Res" : @vm : "Inch" : @vm : "Qty" : @vm : "Ship Req" : @vm : "Received" : @vm : "Reactor#" : @vm : "Sch" : @vm : "Close"
|
|
*COLHEADER:= "" : @vm : "" : @vm : "" : @vm : "" : @vm : "" : @vm : "" : @vm : "" : @vm : "" : @vm : "" : @vm : "Date" : @vm : "" : @vm : "" : @vm : "Date":@fm
|
|
*COLHEADER:= str('_',7):@vm:str('_',5):@vm:str('_',10):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',5):@vm:str('_',3):@vm:str('_',5)
|
|
HeadFont = Font
|
|
HeadFont<3> = 'C'
|
|
HeadFont<4> = 1
|
|
ColJusts = 'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C':@fm:'C'
|
|
Void = set_printer( 'FONTHEADFOOT', HeadFont )
|
|
Void = set_printer( 'HEADER', TheHeader, HeadPos, ColHeader, ColJusts )
|
|
Void = set_printer( 'FONT', Font )
|
|
*
|
|
@RECCOUNT=0
|
|
FIRST.PASS=1
|
|
LAST.RECORD=0
|
|
READERR=0
|
|
*
|
|
* OPEN DICT AND DATA FILES
|
|
*
|
|
OPEN "DICT","WO_LOG" TO @DICT ELSE return
|
|
OPEN "","WO_LOG" TO FILE.IN ELSE return
|
|
*RowsPrinted = 0
|
|
*
|
|
* 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.WO={WO}
|
|
I.WO=S.WO
|
|
S.CUSTULNO={CUST_NO}
|
|
I.CUSTULNO=S.CUSTULNO
|
|
S.ABBREVULORULCOULNAME={ABBREV_OR_CO_NAME}
|
|
I.ABBREVULORULCOULNAME=S.ABBREVULORULCOULNAME
|
|
S.PRODULSPECULID={PROD_SPEC_ID}
|
|
I.PRODULSPECULID=S.PRODULSPECULID
|
|
S.THICKULTARGETULLONE={THICK_TARGET_L1}
|
|
I.THICKULTARGETULLONE=S.THICKULTARGETULLONE
|
|
S.RESULTARGETULLONE={RES_TARGET_L1}
|
|
I.RESULTARGETULLONE=S.RESULTARGETULLONE
|
|
S.WAFERULINCHES={WAFER_INCHES}
|
|
I.WAFERULINCHES=S.WAFERULINCHES
|
|
S.QTY={QTY}
|
|
I.QTY=S.QTY
|
|
S.CUSTULSHIPULDATE={CUST_SHIP_DATE}
|
|
I.CUSTULSHIPULDATE=S.CUSTULSHIPULDATE
|
|
S.RECEIVEDULDATE={RECEIVED_DATE}
|
|
I.RECEIVEDULDATE=S.RECEIVEDULDATE
|
|
*M.REACTORS={REACTORS}<1,WHICH.VALUE> ; P.REACTORS=1 ; C.REACTORS=7
|
|
*REMOVED ABOVE CAUSE RICK DID NOT WANT TO SEE MULTI LINED SO CONVERT TO ','
|
|
M.REACTORS = {REACTORS_ONE_LINE} ; P.REACTORS=1 ; C.REACTORS=7
|
|
* THIS MAKES THE CHECK FOR MULTI VALUE BELOW OBSOLETE WHERE IT DOES A REMOVE
|
|
* BUT WILL NOT HURT ANYTHING TO KEEP IT
|
|
* OK
|
|
S.SCHEDULED={SCHEDULED}
|
|
I.SCHEDULED=S.SCHEDULED
|
|
S.CLOSEULDATE={CLOSE_DATE}
|
|
I.CLOSEULDATE=S.CLOSEULDATE
|
|
*
|
|
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=@REC.COUNT
|
|
* Void = set_printer( 'TEXT', {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.REACTORS GE PREVIOUS.MARK.LEVEL THEN
|
|
REMOVE I.REACTORS FROM M.REACTORS AT P.REACTORS SETTING C.REACTORS
|
|
S.REACTORS=I.REACTORS
|
|
END
|
|
IF C.REACTORS GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.REACTORS
|
|
*
|
|
* DO CONVERSIONS IF ANY
|
|
*
|
|
IF S.WO NE "" THEN S.WO=OCONV(S.WO,"MD0")
|
|
IF S.PRODULSPECULID NE "" THEN S.PRODULSPECULID=OCONV(S.PRODULSPECULID,"MD0")
|
|
IF S.THICKULTARGETULLONE NE "" THEN S.THICKULTARGETULLONE=OCONV(S.THICKULTARGETULLONE,"MD2")
|
|
IF S.RESULTARGETULLONE NE "" THEN S.RESULTARGETULLONE=OCONV(S.RESULTARGETULLONE,"MD3")
|
|
IF S.QTY NE "" THEN S.QTY=OCONV(S.QTY,"MD0")
|
|
IF S.CUSTULSHIPULDATE NE "" THEN S.CUSTULSHIPULDATE=OCONV(S.CUSTULSHIPULDATE,"D2/")
|
|
IF S.RECEIVEDULDATE NE "" THEN S.RECEIVEDULDATE=OCONV(S.RECEIVEDULDATE,"D2/")
|
|
IF S.REACTORS NE "" THEN S.REACTORS=OCONV(S.REACTORS,"MD0")
|
|
IF S.SCHEDULED NE "" THEN S.SCHEDULED=OCONV(S.SCHEDULED,"BX ")
|
|
IF S.CLOSEULDATE NE "" THEN S.CLOSEULDATE=OCONV(S.CLOSEULDATE,"D2/")
|
|
*
|
|
* PRINT DETAIL LINE
|
|
*
|
|
*if RowsPrinted = 50 then
|
|
* RowsPrinted = 0
|
|
* Void = set_printer( 'PAGEBREAK' )
|
|
*end
|
|
PRINTLINE = S.WO:@vm
|
|
PRINTLINE:= S.CUSTULNO:@vm
|
|
PRINTLINE:= S.ABBREVULORULCOULNAME:@vm
|
|
PRINTLINE:= S.PRODULSPECULID:@vm
|
|
PRINTLINE:= S.THICKULTARGETULLONE:@vm
|
|
PRINTLINE:= S.RESULTARGETULLONE:@vm
|
|
PRINTLINE:= S.WAFERULINCHES:@vm
|
|
PRINTLINE:= S.QTY:@vm
|
|
PRINTLINE:= S.CUSTULSHIPULDATE:@vm
|
|
PRINTLINE:= S.RECEIVEDULDATE:@vm
|
|
PRINTLINE:= S.REACTORS:@vm
|
|
PRINTLINE:= S.SCHEDULED:@vm
|
|
PRINTLINE:= S.CLOSEULDATE
|
|
TableColInfo = '^+~806':@vm:'^+~547':@vm:'^+~1526':@vm:'^+~547':@vm:'^+~907':@vm:'^+~806':@vm:'^+~720':@vm:'^+~720'
|
|
TableColInfo:= @vm:'^+~907':@vm:'^+~907':@vm:'^+~1080':@vm:'^+~447':@vm:'^+~907'
|
|
Void = set_printer( 'ADDTABLE', TableColInfo, '', PRINTLINE, '', '', 1, TB_ALL )
|
|
*RowsPrinted += 1
|
|
*
|
|
IF NEW.MARK.LEVEL THEN
|
|
S.WO=''
|
|
S.CUSTULNO=''
|
|
S.ABBREVULORULCOULNAME=''
|
|
S.PRODULSPECULID=''
|
|
S.THICKULTARGETULLONE=''
|
|
S.RESULTARGETULLONE=''
|
|
S.WAFERULINCHES=''
|
|
S.QTY=''
|
|
S.CUSTULSHIPULDATE=''
|
|
S.RECEIVEDULDATE=''
|
|
S.REACTORS=''
|
|
S.SCHEDULED=''
|
|
S.CLOSEULDATE=''
|
|
PREVIOUS.MARK.LEVEL=NEW.MARK.LEVEL
|
|
GOTO DETAIL
|
|
END
|
|
*
|
|
GOTO READRECORD
|
|
*
|
|
END
|
|
|