195 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			195 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| compile function RDS_SRPT1()
 | |
| begin condition
 | |
| pre:
 | |
| post:
 | |
| end condition
 | |
| declare function getprinterlist, getprofilestring, writeprofilestring, extdevicemode, Set_Printer, Printer_Select
 | |
| declare function msg, set_property, send_event, dialog_box, utility, get_property
 | |
| declare function set_printer, Get_Status, obj_Install
 | |
| declare subroutine rlist, or_view, activate_save_select, yield, Set_Status
 | |
| declare subroutine btree.extract, update_index, rlist, end_dialog
 | |
| declare subroutine activate_save_select
 | |
| declare function msg, key_sort, utility, fieldcount, ex_vm_rem
 | |
| 
 | |
| $insert lsl_users_equ
 | |
| $insert msg_equates
 | |
| $insert rlist_equates
 | |
| $INSERT PRINTSETUP_EQUATES
 | |
| 
 | |
| * IF THIS CODE IS EVER USED, IT MUST CHANGE THE MSG CALLS WITH MCOL=-2 MROW=-2
 | |
| 
 | |
| Params = dialog_box( 'RDS_SRPT1', @window, '*CENTER' )
 | |
| 
 | |
| if Params = 'CANCEL' or Params = '' then
 | |
|     return 0
 | |
| end
 | |
| 
 | |
| if Params = 'CANCEL' or Params = '' then
 | |
|     return 0
 | |
| end
 | |
| open 'SYSLISTS' to SysListsTable else
 | |
|     Void = msg( '', 'Unable to open SYSLISTS...' )
 | |
|     return 0
 | |
| end
 | |
| ListsId = 'REACTOR_LOG_SRPT1*':@station
 | |
| write '' on SysListsTable, ListsId else
 | |
|     Void = msg( '', 'Unable to clear SYSLISTS ':ListsId:'...' )
 | |
|     return 0
 | |
| end
 | |
| convert '*' to @fm in Params
 | |
| DateInFrom   = Params<1> ; *
 | |
| DateInThru   = Params<2> ; *
 | |
| CustIds      = Params<3> ; *
 | |
| Reactors     = Params<4> ; *
 | |
| Design       = Params<5> ; * GRID OPTION
 | |
| 
 | |
| If Len(Design) Then Design:=' '
 | |
| *************************************************************
 | |
| * NEXT REPORT TRY ONLY USING SLIST
 | |
| *************************************************************
 | |
| WithStmt = ''
 | |
| WithStmt = " WITH DATE_IN FROM '":DateInFrom:"' TO '": DateInThru:"' "
 | |
| 
 | |
| if ( Reactors <> '' ) then
 | |
|     swap @vm with "' '" in Reactors
 | |
|     Reactors = "'":Reactors:"'"
 | |
|     WithStmt:=' AND WITH REACTOR = ':Reactors
 | |
| end
 | |
| 
 | |
| if ( CustIDs <> '' ) then
 | |
|     swap @vm with "' '" in CustIDs
 | |
|     CustIDs = "'":CustIDs:"'"
 | |
|     WithStmt:=' AND WITH CUST_NO = ':CustIDs
 | |
| end
 | |
| 
 | |
| TblNme = "RDS"
 | |
| DatFnt='"Courier New,6" '
 | |
| HdrFnt='"Courier New,7,B" '
 | |
| TtlFnt='"Courier New,10,B" '
 | |
| 
 | |
| RptWdt = 124
 | |
| TtlMid = RptWdt/2
 | |
| RptDte = OCONV(Date(),"D4/")
 | |
| LenDte = Len(RptDte)
 | |
| RptTtl = obj_Install('Get_Prop','CompTitle'):" Wafer Process History Report"
 | |
| LenTtl = Len(RptTtl)
 | |
| RptPgs = "Pg. 'P'"
 | |
| LenPgs = Len(RptPgs)
 | |
| 
 | |
| TitleLine1 = ''
 | |
| TitleLine2 = ''
 | |
| TitleLine3 = ''
 | |
| 
 | |
| TtlBeg = TtlMid - (LenTtl/2) 
 | |
| TtlSpc = TtlBeg - LenDte
 | |
| TitleLine1 := '"':RptDte:Space(TtlSpc):RptTtl 
 | |
| 
 | |
| TtlEnd = TtlMid - (LenTtl/2) 
 | |
| TtlSpc = TtlEnd - LenPgs
 | |
| TitleLine1 := Space(TtlSpc):RptPgs:"'L'"
 | |
| 
 | |
| If Reactors <> '' then
 | |
|    TReactors = Reactors
 | |
|    swap "'" with '' in TReactors
 | |
|    Swap " " With ", " In TReactors
 | |
|    If Len(TReactors) > 3 Then 
 | |
|       TReactors[-4,4]= " & ":TReactors[-2,2]
 | |
|       RptTtl = "Reactors ":TReactors
 | |
|    End Else
 | |
|       RptTtl = "Reactor ":TReactors
 | |
|   End    
 | |
|    LenTtl = Len(RptTtl)   
 | |
|    TtlSpc = Space(TtlMid-(LenTtl/2))
 | |
|    TitleLine2 = TtlSpc:RptTtl:"'L'"
 | |
| end else
 | |
|    TitleLine2 = ''
 | |
| end
 | |
| 
 | |
| RptTtl= "Dates: ":DateInFrom:" Through ": DateInThru
 | |
| LenTtl = Len(RptTtl) 
 | |
| TtlSpc = Space(TtlMid-(LenTtl/2))
 | |
| TitleLine3 = TtlSpc:RptTtl:'" ' 
 | |
| 
 | |
| Feed = "'L'"
 | |
| 
 | |
| WithStmt = 'SELECT RDS BY REACTOR BY DATE_IN BY TIME_IN ':WithStmt
 | |
| 
 | |
| Void = utility( 'CURSOR', 'H' )
 | |
| 
 | |
| rlist( WithStmt, target_savelist$, ListsId, '', '' )
 | |
| 
 | |
| activate_save_select( ListsId )
 | |
| 
 | |
| Stmt = ''
 | |
| BreakOnVar = '"':"'V'":'" '
 | |
| 
 | |
| *Set up fields to print on report, one field per line.
 | |
| Fld01 = 'ABBREV_OR_CO_NAME COLHEAD "':Feed:'Customer" JUSTLEN "T20" COLFONT ':DatFnt
 | |
| Fld02 = 'BREAK-ON REACTOR ':BreakOnVar:'COLHEAD "':Feed:'R#" JUSTLEN "C4" COLFONT ':DatFnt 
 | |
| Fld03 = 'PART_NUM COLHEAD "':Feed:'Part No." JUSTLEN 20 COLFONT ':DatFnt
 | |
| Fld04 = 'WO COLHEAD "':Feed:'WO" JUSTLEN C7 COLFONT ':DatFnt
 | |
| Fld05 = 'SEQ COLHEAD "':Feed:'RDS#" JUSTLEN 8 COLFONT ':DatFnt 
 | |
| Fld06 = 'RUN_ORDER_NUM COLHEAD "':Feed:'RO#" JUSTLEN C4 COLFONT ':DatFnt 
 | |
| Fld07 = 'TOTAL WAFERS_IN COLHEAD "Wafers':Feed:'In" JUSTLEN 8 COLFONT ':DatFnt 
 | |
| Fld08 = 'TOTAL WFRS_OUT COLHEAD "Wafers':Feed:'Out" JUSTLEN 8 COLFONT ':DatFnt 
 | |
| Fld09 = 'TOTAL TOT_REJ COLHEAD "':Feed:'Rejects" JUSTLEN "R9" COLFONT ':DatFnt
 | |
| Fld10 = 'DATE_IN COLHEAD "Date':Feed:'In" JUSTLEN C8 COLFONT ':DatFnt  
 | |
| Fld11 = 'TIME_IN COLHEAD "Time':Feed:'In" JUSTLEN C8 COLFONT ':DatFnt
 | |
| Fld12 = 'DATE_OUT COLHEAD "Date':Feed:'Out" JUSTLEN C8 COLFONT ':DatFnt  
 | |
| Fld13 = 'TIME_OUT COLHEAD "Time':Feed:'Out" JUSTLEN C8 COLFONT ':DatFnt
 | |
| Fld14 = 'TOTAL HRS_LOAD_TO_UNLOAD COLHEAD "Elapsed':Feed:'Hours" JUSTLEN R9 COLFONT ':DatFnt 
 | |
| Fld15 = 'HOURS_PER_CASSETTE COLHEAD "Hours':Feed:'Cassette" JUSTLEN R10 COLFONT ':DatFnt 
 | |
| Fld16 = 'TOTAL PRICE_CASSETTE COLHEAD "Price Per':Feed:'Cassette"  JUSTLEN 12 COLFONT ':DatFnt
 | |
| Fld17 = 'STATUS COLHEAD "':Feed:'Status" JUSTLEN "T12" COLFONT ':DatFnt
 | |
| 
 | |
| Stmt:= "LIST ":TblNme:" "
 | |
| Stmt:= Fld01 
 | |
| Stmt:= Fld02 
 | |
| Stmt:= Fld03 
 | |
| Stmt:= Fld04 
 | |
| Stmt:= Fld05 
 | |
| Stmt:= Fld06 
 | |
| Stmt:= Fld07 
 | |
| Stmt:= Fld08 
 | |
| Stmt:= Fld09 
 | |
| Stmt:= Fld10 
 | |
| Stmt:= Fld11 
 | |
| Stmt:= Fld12 
 | |
| Stmt:= Fld13 
 | |
| Stmt:= Fld14 
 | |
| Stmt:= Fld15 
 | |
| Stmt:= Fld16 
 | |
| Stmt:= Fld17
 | |
| 
 | |
| Hdng = ""
 | |
| Hdng:= 'HEADING '
 | |
| Hdng:= TitleLine1
 | |
| Hdng:= TitleLine2 
 | |
| Hdng:= TitleLine3
 | |
| Hdng:= 'HDRFONT ':TtlFnt 
 | |
| Hdng:= 'COLHDRFONT ':HdrFnt
 | |
| Hdng:= ' ID-SUPP KEEP-TOGETHER BOX ':Design:'LANDSCAPE'
 | |
| 
 | |
| Stmt:= Hdng
 | |
| 
 | |
| * Added after upgrade to OI4.13a to reset default printer in OIPI32 engine.
 | |
| 
 | |
| PrintPath = Printer_Select('',1)	;* Select Default printer
 | |
| 
 | |
| Void = set_printer( 'INIT', '', '', .63:@fm:.63:@fm:.25:@fm:'', 0,'',PrintPath )
 | |
| Void = Set_Printer('TERM')
 | |
| 
 | |
| Set_Status(0)
 | |
| call slist( Stmt )
 | |
| 
 | |
| IF Get_Status(errCode) THEN DEBUG
 | |
| 
 | |
| 
 | |
| 
 | |
| Void = utility( 'CURSOR', 'A' )
 | |
| write '' on SysListsTable, ListsId else
 | |
|     Void = msg( '', 'Unable to clear SYSLISTS ':ListsId:'...' )
 | |
|     return 0
 | |
| end
 | |
| return 0
 |