diff --git a/LSL2/OIWIN/WO_REC.json b/LSL2/OIWIN/WO_REC.json index 34f3db7..86f739a 100644 --- a/LSL2/OIWIN/WO_REC.json +++ b/LSL2/OIWIN/WO_REC.json @@ -1964,7 +1964,7 @@ "<11,21>": "", "<11,22>": "", "<11,23>": "WO_LOG", - "<11,24>": "XCUST_NO", + "<11,24>": "CUST_NO", "<11,25>": "", "<11,26>": "", "<11,27>": "", @@ -2218,7 +2218,7 @@ "<13,10,2>": "0x200" }, "<13,11>": { - "<13,11,1>": "0x0", + "<13,11,1>": "0x80000", "<13,11,2>": "0x80000000" }, "<13,12>": "13", @@ -2254,7 +2254,7 @@ "<13,21>": "", "<13,22>": "", "<13,23>": "WO_LOG", - "<13,24>": "XCUST_NAME", + "<13,24>": "CUST_NAME", "<13,25>": "", "<13,26>": "", "<13,27>": "", @@ -3152,9 +3152,9 @@ "<19,2>": "", "<19,3>": "EDITTABLE", "<19,4>": "WO_REC", - "<19,5>": "39", - "<19,6>": "137", - "<19,7>": "775", + "<19,5>": "28", + "<19,6>": "136", + "<19,7>": "812", "<19,8>": "424", "<19,9>": "", "<19,10>": { @@ -3198,26 +3198,26 @@ "<19,21>": "", "<19,22>": "", "<19,23>": { - "<19,23,1>": "WO_LOG", - "<19,23,2>": "WO_LOG", - "<19,23,3>": "WO_LOG", - "<19,23,4>": "WO_LOG", - "<19,23,5>": "WO_LOG", - "<19,23,6>": "WO_LOG", - "<19,23,7>": "WO_LOG", - "<19,23,8>": "WO_LOG", - "<19,23,9>": "WO_LOG" + "<19,23,1>": "", + "<19,23,2>": "", + "<19,23,3>": "", + "<19,23,4>": "", + "<19,23,5>": "", + "<19,23,6>": "", + "<19,23,7>": "", + "<19,23,8>": "", + "<19,23,9>": "" }, "<19,24>": { - "<19,24,1>": "WO_MAT_CASS_NO", - "<19,24,2>": "WO_MAT_LOT_NO", - "<19,24,3>": "WO_MAT_WAFER_QTY", - "<19,24,4>": "WO_MAT_CUST_PART_NO", - "<19,24,5>": "WO_MAT_SUB_PART_NO", - "<19,24,6>": "WO_MAT_VEND_CD", - "<19,24,7>": "WO_MAT_RX_DTM", - "<19,24,8>": "WO_MAT_RX_BY", - "<19,24,9>": "WO_MAT_ORDER_ITEM" + "<19,24,1>": "", + "<19,24,2>": "", + "<19,24,3>": "", + "<19,24,4>": "", + "<19,24,5>": "", + "<19,24,6>": "", + "<19,24,7>": "", + "<19,24,8>": "", + "<19,24,9>": "" }, "<19,25>": "", "<19,26>": "", @@ -3600,14 +3600,14 @@ "<19,39,4>": "80", "<19,39,5>": "80", "<19,39,6>": "80", - "<19,39,7>": "80", + "<19,39,7>": "90", "<19,39,8>": "20", "<19,39,9>": "80" }, "<19,40>": "9", "<19,41>": { "<19,41,1>": "0", - "<19,41,2>": "0", + "<19,41,2>": "2", "<19,41,3>": "0", "<19,41,4>": "-2", "<19,41,5>": "-2", @@ -3622,15 +3622,15 @@ "<19,41,14>": "1" }, "<19,42>": { - "<19,42,1>": "16402", - "<19,42,2>": "16386", - "<19,42,3>": "16402", - "<19,42,4>": "16386", - "<19,42,5>": "16386", - "<19,42,6>": "16400", - "<19,42,7>": "16402", - "<19,42,8>": "16386", - "<19,42,9>": "16400" + "<19,42,1>": "2147500050", + "<19,42,2>": "2147500034", + "<19,42,3>": "2147500050", + "<19,42,4>": "2147500034", + "<19,42,5>": "2147500034", + "<19,42,6>": "2147500048", + "<19,42,7>": "2147500050", + "<19,42,8>": "2147500034", + "<19,42,9>": "2147500048" }, "<19,43>": { "<19,43,1>": "32", @@ -3639,7 +3639,7 @@ "<19,43,4>": "135", "<19,43,5>": "135", "<19,43,6>": "53", - "<19,43,7>": "120", + "<19,43,7>": "130", "<19,43,8>": "80", "<19,43,9>": "48" }, @@ -3664,10 +3664,50 @@ "<19,52>": "", "<19,53>": "", "<19,54>": "", - "<19,55>": "", - "<19,56>": "", - "<19,57>": "", - "<19,58>": "", + "<19,55>": { + "<19,55,1>": "", + "<19,55,2>": "", + "<19,55,3>": "", + "<19,55,4>": "", + "<19,55,5>": "", + "<19,55,6>": "", + "<19,55,7>": "", + "<19,55,8>": "", + "<19,55,9>": "" + }, + "<19,56>": { + "<19,56,1>": "", + "<19,56,2>": "", + "<19,56,3>": "", + "<19,56,4>": "", + "<19,56,5>": "", + "<19,56,6>": "", + "<19,56,7>": "", + "<19,56,8>": "", + "<19,56,9>": "" + }, + "<19,57>": { + "<19,57,1>": "", + "<19,57,2>": "", + "<19,57,3>": "", + "<19,57,4>": "", + "<19,57,5>": "", + "<19,57,6>": "", + "<19,57,7>": "", + "<19,57,8>": "", + "<19,57,9>": "" + }, + "<19,58>": { + "<19,58,1>": "", + "<19,58,2>": "", + "<19,58,3>": "", + "<19,58,4>": "", + "<19,58,5>": "", + "<19,58,6>": "", + "<19,58,7>": "", + "<19,58,8>": "", + "<19,58,9>": "" + }, "<19,59>": "", "<19,60>": { "<19,60,1>": "18", @@ -3713,11 +3753,322 @@ "<19,91>": "", "<19,92>": "", "<19,93>": "", - "<19,94>": "", - "<19,95>": "", - "<19,96>": "", - "<19,97>": "", - "<19,98>": "", + "<19,94>": { + "<19,94,1>": "", + "<19,94,2>": "", + "<19,94,3>": "", + "<19,94,4>": "", + "<19,94,5>": "", + "<19,94,6>": "", + "<19,94,7>": "", + "<19,94,8>": "", + "<19,94,9>": "" + }, + "<19,95>": { + "<19,95,1>": "", + "<19,95,2>": "", + "<19,95,3>": "", + "<19,95,4>": "", + "<19,95,5>": "", + "<19,95,6>": "", + "<19,95,7>": "", + "<19,95,8>": "", + "<19,95,9>": "" + }, + "<19,96>": { + "<19,96,1>": { + "<19,96,1,1>": "", + "<19,96,1,2>": "" + }, + "<19,96,2>": { + "<19,96,2,1>": "", + "<19,96,2,2>": "" + }, + "<19,96,3>": { + "<19,96,3,1>": "", + "<19,96,3,2>": "" + }, + "<19,96,4>": { + "<19,96,4,1>": "", + "<19,96,4,2>": "" + }, + "<19,96,5>": { + "<19,96,5,1>": "", + "<19,96,5,2>": "" + }, + "<19,96,6>": { + "<19,96,6,1>": "", + "<19,96,6,2>": "" + }, + "<19,96,7>": { + "<19,96,7,1>": "", + "<19,96,7,2>": "" + }, + "<19,96,8>": { + "<19,96,8,1>": "", + "<19,96,8,2>": "" + }, + "<19,96,9>": { + "<19,96,9,1>": "", + "<19,96,9,2>": "" + } + }, + "<19,97>": { + "<19,97,1>": { + "<19,97,1,1>": "Tahoma", + "<19,97,1,2>": "-11", + "<19,97,1,3>": "400", + "<19,97,1,4>": "0", + "<19,97,1,5>": "0", + "<19,97,1,6>": "0", + "<19,97,1,7>": "0", + "<19,97,1,8>": "34", + "<19,97,1,9>": "0", + "<19,97,1,10>": "3", + "<19,97,1,11>": "2", + "<19,97,1,12>": "1" + }, + "<19,97,2>": { + "<19,97,2,1>": "Tahoma", + "<19,97,2,2>": "-11", + "<19,97,2,3>": "400", + "<19,97,2,4>": "0", + "<19,97,2,5>": "0", + "<19,97,2,6>": "0", + "<19,97,2,7>": "0", + "<19,97,2,8>": "34", + "<19,97,2,9>": "0", + "<19,97,2,10>": "3", + "<19,97,2,11>": "2", + "<19,97,2,12>": "1" + }, + "<19,97,3>": { + "<19,97,3,1>": "Tahoma", + "<19,97,3,2>": "-11", + "<19,97,3,3>": "400", + "<19,97,3,4>": "0", + "<19,97,3,5>": "0", + "<19,97,3,6>": "0", + "<19,97,3,7>": "0", + "<19,97,3,8>": "34", + "<19,97,3,9>": "0", + "<19,97,3,10>": "3", + "<19,97,3,11>": "2", + "<19,97,3,12>": "1" + }, + "<19,97,4>": { + "<19,97,4,1>": "Tahoma", + "<19,97,4,2>": "-11", + "<19,97,4,3>": "400", + "<19,97,4,4>": "0", + "<19,97,4,5>": "0", + "<19,97,4,6>": "0", + "<19,97,4,7>": "0", + "<19,97,4,8>": "34", + "<19,97,4,9>": "0", + "<19,97,4,10>": "3", + "<19,97,4,11>": "2", + "<19,97,4,12>": "1" + }, + "<19,97,5>": { + "<19,97,5,1>": "Tahoma", + "<19,97,5,2>": "-11", + "<19,97,5,3>": "400", + "<19,97,5,4>": "0", + "<19,97,5,5>": "0", + "<19,97,5,6>": "0", + "<19,97,5,7>": "0", + "<19,97,5,8>": "34", + "<19,97,5,9>": "0", + "<19,97,5,10>": "3", + "<19,97,5,11>": "2", + "<19,97,5,12>": "1" + }, + "<19,97,6>": { + "<19,97,6,1>": "Tahoma", + "<19,97,6,2>": "-11", + "<19,97,6,3>": "400", + "<19,97,6,4>": "0", + "<19,97,6,5>": "0", + "<19,97,6,6>": "0", + "<19,97,6,7>": "0", + "<19,97,6,8>": "34", + "<19,97,6,9>": "0", + "<19,97,6,10>": "3", + "<19,97,6,11>": "2", + "<19,97,6,12>": "1" + }, + "<19,97,7>": { + "<19,97,7,1>": "Tahoma", + "<19,97,7,2>": "-11", + "<19,97,7,3>": "400", + "<19,97,7,4>": "0", + "<19,97,7,5>": "0", + "<19,97,7,6>": "0", + "<19,97,7,7>": "0", + "<19,97,7,8>": "34", + "<19,97,7,9>": "0", + "<19,97,7,10>": "3", + "<19,97,7,11>": "2", + "<19,97,7,12>": "1" + }, + "<19,97,8>": { + "<19,97,8,1>": "Tahoma", + "<19,97,8,2>": "-11", + "<19,97,8,3>": "400", + "<19,97,8,4>": "0", + "<19,97,8,5>": "0", + "<19,97,8,6>": "0", + "<19,97,8,7>": "0", + "<19,97,8,8>": "34", + "<19,97,8,9>": "0", + "<19,97,8,10>": "3", + "<19,97,8,11>": "2", + "<19,97,8,12>": "1" + }, + "<19,97,9>": { + "<19,97,9,1>": "Tahoma", + "<19,97,9,2>": "-11", + "<19,97,9,3>": "400", + "<19,97,9,4>": "0", + "<19,97,9,5>": "0", + "<19,97,9,6>": "0", + "<19,97,9,7>": "0", + "<19,97,9,8>": "34", + "<19,97,9,9>": "0", + "<19,97,9,10>": "3", + "<19,97,9,11>": "2", + "<19,97,9,12>": "1" + } + }, + "<19,98>": { + "<19,98,1>": { + "<19,98,1,1>": "Tahoma", + "<19,98,1,2>": "-11", + "<19,98,1,3>": "400", + "<19,98,1,4>": "0", + "<19,98,1,5>": "0", + "<19,98,1,6>": "0", + "<19,98,1,7>": "0", + "<19,98,1,8>": "34", + "<19,98,1,9>": "0", + "<19,98,1,10>": "3", + "<19,98,1,11>": "2", + "<19,98,1,12>": "1" + }, + "<19,98,2>": { + "<19,98,2,1>": "Tahoma", + "<19,98,2,2>": "-11", + "<19,98,2,3>": "400", + "<19,98,2,4>": "0", + "<19,98,2,5>": "0", + "<19,98,2,6>": "0", + "<19,98,2,7>": "0", + "<19,98,2,8>": "34", + "<19,98,2,9>": "0", + "<19,98,2,10>": "3", + "<19,98,2,11>": "2", + "<19,98,2,12>": "1" + }, + "<19,98,3>": { + "<19,98,3,1>": "Tahoma", + "<19,98,3,2>": "-11", + "<19,98,3,3>": "400", + "<19,98,3,4>": "0", + "<19,98,3,5>": "0", + "<19,98,3,6>": "0", + "<19,98,3,7>": "0", + "<19,98,3,8>": "34", + "<19,98,3,9>": "0", + "<19,98,3,10>": "3", + "<19,98,3,11>": "2", + "<19,98,3,12>": "1" + }, + "<19,98,4>": { + "<19,98,4,1>": "Tahoma", + "<19,98,4,2>": "-11", + "<19,98,4,3>": "400", + "<19,98,4,4>": "0", + "<19,98,4,5>": "0", + "<19,98,4,6>": "0", + "<19,98,4,7>": "0", + "<19,98,4,8>": "34", + "<19,98,4,9>": "0", + "<19,98,4,10>": "3", + "<19,98,4,11>": "2", + "<19,98,4,12>": "1" + }, + "<19,98,5>": { + "<19,98,5,1>": "Tahoma", + "<19,98,5,2>": "-11", + "<19,98,5,3>": "400", + "<19,98,5,4>": "0", + "<19,98,5,5>": "0", + "<19,98,5,6>": "0", + "<19,98,5,7>": "0", + "<19,98,5,8>": "34", + "<19,98,5,9>": "0", + "<19,98,5,10>": "3", + "<19,98,5,11>": "2", + "<19,98,5,12>": "1" + }, + "<19,98,6>": { + "<19,98,6,1>": "Tahoma", + "<19,98,6,2>": "-11", + "<19,98,6,3>": "400", + "<19,98,6,4>": "0", + "<19,98,6,5>": "0", + "<19,98,6,6>": "0", + "<19,98,6,7>": "0", + "<19,98,6,8>": "34", + "<19,98,6,9>": "0", + "<19,98,6,10>": "3", + "<19,98,6,11>": "2", + "<19,98,6,12>": "1" + }, + "<19,98,7>": { + "<19,98,7,1>": "Tahoma", + "<19,98,7,2>": "-11", + "<19,98,7,3>": "400", + "<19,98,7,4>": "0", + "<19,98,7,5>": "0", + "<19,98,7,6>": "0", + "<19,98,7,7>": "0", + "<19,98,7,8>": "34", + "<19,98,7,9>": "0", + "<19,98,7,10>": "3", + "<19,98,7,11>": "2", + "<19,98,7,12>": "1" + }, + "<19,98,8>": { + "<19,98,8,1>": "Tahoma", + "<19,98,8,2>": "-11", + "<19,98,8,3>": "400", + "<19,98,8,4>": "0", + "<19,98,8,5>": "0", + "<19,98,8,6>": "0", + "<19,98,8,7>": "0", + "<19,98,8,8>": "34", + "<19,98,8,9>": "0", + "<19,98,8,10>": "3", + "<19,98,8,11>": "2", + "<19,98,8,12>": "1" + }, + "<19,98,9>": { + "<19,98,9,1>": "Tahoma", + "<19,98,9,2>": "-11", + "<19,98,9,3>": "400", + "<19,98,9,4>": "0", + "<19,98,9,5>": "0", + "<19,98,9,6>": "0", + "<19,98,9,7>": "0", + "<19,98,9,8>": "34", + "<19,98,9,9>": "0", + "<19,98,9,10>": "3", + "<19,98,9,11>": "2", + "<19,98,9,12>": "1" + } + }, "<19,99>": { "<19,99,1>": { "<19,99,1,1>": "-2", diff --git a/LSL2/STPROC/COMM_WO_REC.txt b/LSL2/STPROC/COMM_WO_REC.txt index dccad7e..989aa99 100644 --- a/LSL2/STPROC/COMM_WO_REC.txt +++ b/LSL2/STPROC/COMM_WO_REC.txt @@ -12,7 +12,7 @@ DECLARE SUBROUTINE Logging_Services, Post_Event, Work_Order_Services, Error_Serv DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists, obj_Prod_Spec DECLARE FUNCTION obj_Schedule, Dialog_Box, obj_WO_Log, obj_Order_Det, FindWindow,ShowWindow, obj_Tables, obj_WO_Mat, MemberOf DECLARE FUNCTION Logging_Services, Environment_Services, Work_Order_Services, Error_Services, Service_Services -DECLARE FUNCTION SRP_Array, GetTickCount, Datetime +DECLARE FUNCTION SRP_Array, GetTickCount, Datetime, Wo_Mat_Services $INSERT POPUP_EQUATES $INSERT LOGICAL @@ -173,6 +173,26 @@ Read: Set_Property(@WINDOW:'.RX_DTM','TEXT',CurrDTM) END + Def = "" + Def = "Loading cassette data..." + Def = "U" + MsgUp = Msg(@window, Def) + Columns = 'CASS_NO':@VM:'LOT_NO':@VM:'WAFER_QTY':@VM:'CUST_PART_NO':@VM:'SUB_PART_NO':@VM:'SUB_VEND_CD':@VM:'RX_DTM':@VM:'RX_BY':@VM:'ORDER_ITEM' + WOMatKeys = Wo_Mat_Services('GetWOMatKeys', WONo) + If Error_Services('NoError') then + CassData = WO_Mat_Services('GetWOMatData', WOMatKeys, Columns) + If Error_Services('NoError') then + Set_Property(@Window:'.CASS_NO', 'ARRAY', CassData) + Msg(@window, MsgUp) + end else + Msg(@window, MsgUp) + Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage')) + end + end else + Msg(@window, MsgUp) + Msg(@Window, '', 'OK', '', 'Process Error':@FM:Error_Services('GetMessage')) + end + GOSUB Refresh RETURN @@ -625,12 +645,7 @@ Scan: end else LogData<8> = 'N/A' end - Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM) - - Def = "" - Def = "Processing complete. Refreshing form..." - Def = "T5" - Msg(@window, Def) + Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM) Post_Event(@Window, 'READ') end @@ -916,3 +931,4 @@ AddLeftover: RETURN + diff --git a/LSL2/STPROC/RDS_SERVICES.txt b/LSL2/STPROC/RDS_SERVICES.txt index 0c01b7c..dee6baa 100644 --- a/LSL2/STPROC/RDS_SERVICES.txt +++ b/LSL2/STPROC/RDS_SERVICES.txt @@ -110,12 +110,16 @@ EQU COL$MET_TWSIG_Z2 TO 21 EQU COMMA$ to ',' +EQU NEW_EXIST$ To 0 ; * Reduce Mode 0 +equ NEXT_CUR$ To 1 +equ ADD_EXIST$ to 2 + AutoDisplayErrors = FALSE$ ; // Set this to True$ when debugging so all errors will automatically display. Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON, Logging_Services Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Extract_SI_Keys, Obj_WO_Mat, Obj_WO_Mat_Log Declare subroutine Dialog_Box, Obj_Notes, RList, Set_Status, Errmsg, Obj_React_Status , Reactor_Services -Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services, Transaction_Services +Declare subroutine Rds_Services, Obj_Post_Log, Mona_Services, Transaction_Services, Reduce Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Error_Services Declare function Memberof, Obj_WO_Mat, Obj_WO_Mat_Log, SRP_Array, DateTime, Dialog_Box, obj_Prod_Spec @@ -1984,7 +1988,9 @@ Service PushSigProfileToWoMat(RDSNo) end service + Service AllTWUseSigned(RDSNo) + If RDSNo NE '' then LSKeys = Xlate('RDS', RDSNo, 'RDS_LS_SORTED', 'X') AllMetKeys = XLATE('RDS_LAYER', LSKeys, RDS_LAYER_RDS_TEST_KEYS$, 'X') @@ -2007,6 +2013,55 @@ Service AllTWUseSigned(RDSNo) Error_Services('Add', ErrorMessage) end end + +end service + + +Service GetRDSKeys(WONo) + + Response = '' + ErrorMsg = '' + If (WONo NE '') then + If RowExists('WO_LOG', WONo) then + Open 'DICT.RDS' to hDict then + TableName = 'RDS' + SortList = 'RUN_ORDER_NUM' + ReduceScript = 'WITH {WO} EQ ':Quote(WONo) + Mode = NEXT_CUR$ + Flag = '' + Cursor = '' + GoSub ClearCursors + Reduce(ReduceScript, SortList, Mode, TableName, Cursor, Flag) + If Flag then + Select TableName by SortList using Cursor then + Open TableName to hTable then + EOF = False$ + Loop + Readnext KeyId using Cursor by AT else EOF = True$ + Until EOF + Response<0, -1> = KeyId + Repeat + end else + ErrorMsg = 'Error in ':Service:' service. Error opening ':TableName:' table.' + end + end else + ErrorMsg = 'Error in ':Service:' service. Error selecting ':TableName:' table.' + end + end else + ErrorMsg = 'Error in ':Service:' service. Error calling Reduce' + end + end else + ErrorMsg = 'Error in ':Service:' service. Error opening DICT.RDS' + end + end else + ErrorMsg = 'Error in ':Service:' service. WO_LOG ':WONo:' does not exist.' + end + end else + ErrorMsg = 'Error in ':Service:' service. Null WONo passed into service.' + end + + If ErrorMsg NE '' then Error_Services('Add', ErrorMsg) + end service //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -2021,4 +2076,3 @@ ClearCursors: return - diff --git a/LSL2/STPROC/WORK_ORDER_SERVICES.txt b/LSL2/STPROC/WORK_ORDER_SERVICES.txt index 0aaa875..814b548 100644 --- a/LSL2/STPROC/WORK_ORDER_SERVICES.txt +++ b/LSL2/STPROC/WORK_ORDER_SERVICES.txt @@ -59,7 +59,7 @@ Declare subroutine obj_WO_Mat, obj_Post_Log Declare function SRP_Array, Work_Order_Services, Memory_Services, Database_Services, SRP_Sort_Array, SRP_JSON Declare function Company_Services, obj_Prod_Spec, Schedule_Services, obj_WO_Log, obj_WO_Step, Memberof, Datetime Declare function Environment_Services, Logging_Services, Hold_Services, Signature_Services, Lot_Services -Declare function SRP_Datetime, RTI_CreateGUID +Declare function SRP_Datetime, RTI_CreateGUID, RDS_Services LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG' LogDate = Oconv(Date(), 'D4/') @@ -938,8 +938,7 @@ Service PrintLabels(WONo) Msg(@WINDOW,MsgUp) end ELSE - WOMatKeys = Xlate('WO_LOG', WONo, WO_LOG_WO_MAT_KEY$, 'X') - RDSNos = Xlate('WO_MAT', WOMatKeys, WO_MAT_RDS_NO$, 'X') + RDSNos = RDS_Services('GetRDSKeys', WONo) end If INDEX(RDSNos,@VM,1) then @@ -2075,3 +2074,4 @@ ClearCursors: return + diff --git a/LSL2/STPROC/WO_MAT_SERVICES.txt b/LSL2/STPROC/WO_MAT_SERVICES.txt index 35fd64f..0653074 100644 --- a/LSL2/STPROC/WO_MAT_SERVICES.txt +++ b/LSL2/STPROC/WO_MAT_SERVICES.txt @@ -1,16 +1,17 @@ Compile function WO_MAT_Services(@Service, @Params) #pragma precomp SRP_PreCompiler -Declare function Database_Services, Error_Services, SRP_Json, SRP_Com, Environment_Services, Logging_Services -Declare function Datetime, Rds_Services, GetTickCount -Declare subroutine Error_Services, SRP_Json, SRP_Com, Wo_Mat_Services, Database_Services, Logging_Services -Declare subroutine obj_wo_mat_log, Set_Status, Rds_Services, Signature_Services, Mona_Services - $insert LOGICAL $Insert APP_INSERTS $insert WO_MAT_EQUATES $Insert WO_LOG_EQUATES $Insert SERVICE_SETUP +$Insert DICT_EQUATES + +Declare function Database_Services, Error_Services, SRP_Json, SRP_Com, Environment_Services, Logging_Services +Declare function Datetime, Rds_Services, GetTickCount, SRP_Array +Declare subroutine Error_Services, SRP_Json, SRP_Com, Wo_Mat_Services, Database_Services, Logging_Services +Declare subroutine obj_wo_mat_log, Set_Status, Rds_Services, Signature_Services, Mona_Services, Btree.Extract LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_Mat\InvActionsSyncUp' LogDate = Oconv(Date(), 'D4/') @@ -281,7 +282,9 @@ Service GetWaferMap(WOMatKey) end service + Service CheckInvActionsSignatureSync() + hSysLists = Database_Services('GetTableHandle', 'SYSLISTS') Lock hSysLists, ServiceKeyID then Script = "SELECT WO_MAT_SIG_PROFILE.WO_NO, WO_MAT_SIG_PROFILE.CASS_NO,WO_MAT_SIG_PROFILE.CASS_ID_SAP, WO_MAT_SIG_PROFILE.SIG_DTM, WO_MAT_SIG_PROFILE.SIGNATURE, WMSP.SIG_PROFILE FROM WO_MAT_SIG_PROFILE " @@ -313,9 +316,12 @@ Service CheckInvActionsSignatureSync() end Unlock hSysLists, ServiceKeyID else Null end + end service + Service SyncWOMatInvActionsAndSigProfile(WOMatKey) + If RowExists('WO_MAT', WOMatKey) then OrigWOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) WOMatRec = OrigWOMatRec @@ -383,9 +389,12 @@ Service SyncWOMatInvActionsAndSigProfile(WOMatKey) LogData<5> = 'WO_MAT record did not exist in OpenInsight.' Logging_Services('AppendLog', objSyncLog, LogData, @RM, @FM) end + end service + Service CassetteIsLastInWo(WoMatKey) + StartTick = GetTickCount() MetricName = 'CassetteIsLastInWo' @@ -437,9 +446,12 @@ Service CassetteIsLastInWo(WoMatKey) EndTick = GetTickCount() Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick) + end service + Service SetWoMatVoidFlag(WoMatKey, Username) + ErrorMessage = '' If RowExists('WO_MAT', WoMatKey) then WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey, True$, 0, False$) @@ -483,10 +495,10 @@ Service SetWoMatVoidFlag(WoMatKey, Username) If ErrorMessage NE '' then Error_Services('Add', ErrorMessage) end + end service - Service MakeupFlagOn(RDSNo) EpiCheck = Rds_Services('IsEpiPro', RDSNo) @@ -519,4 +531,56 @@ Service MakeupFlagOn(RDSNo) end service +Service GetWOMatData(WOMatKeys, Columns) + + Response = '' + ErrorMsg = '' + If ( (WOMatKeys NE '') and (Columns NE '') ) then + For each Column in Columns using @VM setting ColPos + Vals = Xlate('WO_MAT', WOMatKeys, Column, 'X') + Conv = Xlate('DICT.WO_MAT', Column, DICT_CONV$, 'X') + If Conv EQ '' then + Response = Vals + end else + Response = OConv(Vals, Conv) + end + Next Column + end else + ErrorMsg = 'Error in ':Service:' service. Null WOMatKeys or Columns passed into service' + end + + If ErrorMsg NE '' then Error_Services('Add', ErrorMsg) + +end service + +Service GetWOMatKeys(WONo) + + Response = '' + ErrorMsg = '' + If (WONo NE '') then + If RowExists('WO_LOG', WONo) then + Open 'DICT.WO_MAT' to hDict then + Query = 'WO_NO':@VM:WONo:@FM + WOMatKeys = '' + Flag = '' + ErrCode = '' + Btree.Extract(Query, 'WO_MAT', hDict, WOMatKeys, 'E', Flag) + If Not(Get_Status(ErrCode)) then + If WOMatKeys NE '' then + Response = SRP_Array('SortRows', WOMatKeys, 'AR2', 'LIST', @VM, '*') + end + end else + ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract. Error code: ':ErrCode + end + end + end else + ErrorMsg = 'Error in ':Service:' service. WO_LOG ':WONo:' does not exist.' + end + end else + ErrorMsg = 'Error in ':Service:' service. Null WONo passed into service.' + end + + If ErrorMsg NE '' then Error_Services('Add', ErrorMsg) + +end service