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
 | |
| 
 |