modified WO_REC form to select WO_MAT keys instead of relying on WO_LOG<WO_MAT_KEY> field.

refactored print cass labels to select on RDS table for list of RDSes instead of using relational column in WO_STEP table
This commit is contained in:
Infineon\StieberD
2025-07-24 16:57:21 -07:00
parent 6396264e64
commit a48f47ddc9
5 changed files with 548 additions and 63 deletions

View File

@ -1964,7 +1964,7 @@
"<11,21>": "", "<11,21>": "",
"<11,22>": "", "<11,22>": "",
"<11,23>": "WO_LOG", "<11,23>": "WO_LOG",
"<11,24>": "XCUST_NO", "<11,24>": "CUST_NO",
"<11,25>": "", "<11,25>": "",
"<11,26>": "", "<11,26>": "",
"<11,27>": "", "<11,27>": "",
@ -2218,7 +2218,7 @@
"<13,10,2>": "0x200" "<13,10,2>": "0x200"
}, },
"<13,11>": { "<13,11>": {
"<13,11,1>": "0x0", "<13,11,1>": "0x80000",
"<13,11,2>": "0x80000000" "<13,11,2>": "0x80000000"
}, },
"<13,12>": "13", "<13,12>": "13",
@ -2254,7 +2254,7 @@
"<13,21>": "", "<13,21>": "",
"<13,22>": "", "<13,22>": "",
"<13,23>": "WO_LOG", "<13,23>": "WO_LOG",
"<13,24>": "XCUST_NAME", "<13,24>": "CUST_NAME",
"<13,25>": "", "<13,25>": "",
"<13,26>": "", "<13,26>": "",
"<13,27>": "", "<13,27>": "",
@ -3152,9 +3152,9 @@
"<19,2>": "", "<19,2>": "",
"<19,3>": "EDITTABLE", "<19,3>": "EDITTABLE",
"<19,4>": "WO_REC", "<19,4>": "WO_REC",
"<19,5>": "39", "<19,5>": "28",
"<19,6>": "137", "<19,6>": "136",
"<19,7>": "775", "<19,7>": "812",
"<19,8>": "424", "<19,8>": "424",
"<19,9>": "", "<19,9>": "",
"<19,10>": { "<19,10>": {
@ -3198,26 +3198,26 @@
"<19,21>": "", "<19,21>": "",
"<19,22>": "", "<19,22>": "",
"<19,23>": { "<19,23>": {
"<19,23,1>": "WO_LOG", "<19,23,1>": "",
"<19,23,2>": "WO_LOG", "<19,23,2>": "",
"<19,23,3>": "WO_LOG", "<19,23,3>": "",
"<19,23,4>": "WO_LOG", "<19,23,4>": "",
"<19,23,5>": "WO_LOG", "<19,23,5>": "",
"<19,23,6>": "WO_LOG", "<19,23,6>": "",
"<19,23,7>": "WO_LOG", "<19,23,7>": "",
"<19,23,8>": "WO_LOG", "<19,23,8>": "",
"<19,23,9>": "WO_LOG" "<19,23,9>": ""
}, },
"<19,24>": { "<19,24>": {
"<19,24,1>": "WO_MAT_CASS_NO", "<19,24,1>": "",
"<19,24,2>": "WO_MAT_LOT_NO", "<19,24,2>": "",
"<19,24,3>": "WO_MAT_WAFER_QTY", "<19,24,3>": "",
"<19,24,4>": "WO_MAT_CUST_PART_NO", "<19,24,4>": "",
"<19,24,5>": "WO_MAT_SUB_PART_NO", "<19,24,5>": "",
"<19,24,6>": "WO_MAT_VEND_CD", "<19,24,6>": "",
"<19,24,7>": "WO_MAT_RX_DTM", "<19,24,7>": "",
"<19,24,8>": "WO_MAT_RX_BY", "<19,24,8>": "",
"<19,24,9>": "WO_MAT_ORDER_ITEM" "<19,24,9>": ""
}, },
"<19,25>": "", "<19,25>": "",
"<19,26>": "", "<19,26>": "",
@ -3600,14 +3600,14 @@
"<19,39,4>": "80", "<19,39,4>": "80",
"<19,39,5>": "80", "<19,39,5>": "80",
"<19,39,6>": "80", "<19,39,6>": "80",
"<19,39,7>": "80", "<19,39,7>": "90",
"<19,39,8>": "20", "<19,39,8>": "20",
"<19,39,9>": "80" "<19,39,9>": "80"
}, },
"<19,40>": "9", "<19,40>": "9",
"<19,41>": { "<19,41>": {
"<19,41,1>": "0", "<19,41,1>": "0",
"<19,41,2>": "0", "<19,41,2>": "2",
"<19,41,3>": "0", "<19,41,3>": "0",
"<19,41,4>": "-2", "<19,41,4>": "-2",
"<19,41,5>": "-2", "<19,41,5>": "-2",
@ -3622,15 +3622,15 @@
"<19,41,14>": "1" "<19,41,14>": "1"
}, },
"<19,42>": { "<19,42>": {
"<19,42,1>": "16402", "<19,42,1>": "2147500050",
"<19,42,2>": "16386", "<19,42,2>": "2147500034",
"<19,42,3>": "16402", "<19,42,3>": "2147500050",
"<19,42,4>": "16386", "<19,42,4>": "2147500034",
"<19,42,5>": "16386", "<19,42,5>": "2147500034",
"<19,42,6>": "16400", "<19,42,6>": "2147500048",
"<19,42,7>": "16402", "<19,42,7>": "2147500050",
"<19,42,8>": "16386", "<19,42,8>": "2147500034",
"<19,42,9>": "16400" "<19,42,9>": "2147500048"
}, },
"<19,43>": { "<19,43>": {
"<19,43,1>": "32", "<19,43,1>": "32",
@ -3639,7 +3639,7 @@
"<19,43,4>": "135", "<19,43,4>": "135",
"<19,43,5>": "135", "<19,43,5>": "135",
"<19,43,6>": "53", "<19,43,6>": "53",
"<19,43,7>": "120", "<19,43,7>": "130",
"<19,43,8>": "80", "<19,43,8>": "80",
"<19,43,9>": "48" "<19,43,9>": "48"
}, },
@ -3664,10 +3664,50 @@
"<19,52>": "", "<19,52>": "",
"<19,53>": "", "<19,53>": "",
"<19,54>": "", "<19,54>": "",
"<19,55>": "", "<19,55>": {
"<19,56>": "", "<19,55,1>": "",
"<19,57>": "", "<19,55,2>": "",
"<19,58>": "", "<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,59>": "",
"<19,60>": { "<19,60>": {
"<19,60,1>": "18", "<19,60,1>": "18",
@ -3713,11 +3753,322 @@
"<19,91>": "", "<19,91>": "",
"<19,92>": "", "<19,92>": "",
"<19,93>": "", "<19,93>": "",
"<19,94>": "", "<19,94>": {
"<19,95>": "", "<19,94,1>": "",
"<19,96>": "", "<19,94,2>": "",
"<19,97>": "", "<19,94,3>": "",
"<19,98>": "", "<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>": {
"<19,99,1>": { "<19,99,1>": {
"<19,99,1,1>": "-2", "<19,99,1,1>": "-2",

View File

@ -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 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 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 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 POPUP_EQUATES
$INSERT LOGICAL $INSERT LOGICAL
@ -173,6 +173,26 @@ Read:
Set_Property(@WINDOW:'.RX_DTM','TEXT',CurrDTM) Set_Property(@WINDOW:'.RX_DTM','TEXT',CurrDTM)
END END
Def = ""
Def<MTEXT$> = "Loading cassette data..."
Def<MTYPE$> = "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 GOSUB Refresh
RETURN RETURN
@ -625,12 +645,7 @@ Scan:
end else end else
LogData<8> = 'N/A' LogData<8> = 'N/A'
end end
Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM) Logging_Services('AppendLog', objReceiveLog, LogData, @RM, @FM)
Def = ""
Def<MTEXT$> = "Processing complete. Refreshing form..."
Def<MTYPE$> = "T5"
Msg(@window, Def)
Post_Event(@Window, 'READ') Post_Event(@Window, 'READ')
end end
@ -916,3 +931,4 @@ AddLeftover:
RETURN RETURN

View File

@ -110,12 +110,16 @@ EQU COL$MET_TWSIG_Z2 TO 21
EQU COMMA$ to ',' 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. 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 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 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 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 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 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 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 end service
Service AllTWUseSigned(RDSNo) Service AllTWUseSigned(RDSNo)
If RDSNo NE '' then If RDSNo NE '' then
LSKeys = Xlate('RDS', RDSNo, 'RDS_LS_SORTED', 'X') LSKeys = Xlate('RDS', RDSNo, 'RDS_LS_SORTED', 'X')
AllMetKeys = XLATE('RDS_LAYER', LSKeys, RDS_LAYER_RDS_TEST_KEYS$, 'X') AllMetKeys = XLATE('RDS_LAYER', LSKeys, RDS_LAYER_RDS_TEST_KEYS$, 'X')
@ -2007,6 +2013,55 @@ Service AllTWUseSigned(RDSNo)
Error_Services('Add', ErrorMessage) Error_Services('Add', ErrorMessage)
end end
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 end service
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -2021,4 +2076,3 @@ ClearCursors:
return return

View File

@ -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 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 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 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' LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
LogDate = Oconv(Date(), 'D4/') LogDate = Oconv(Date(), 'D4/')
@ -938,8 +938,7 @@ Service PrintLabels(WONo)
Msg(@WINDOW,MsgUp) Msg(@WINDOW,MsgUp)
end ELSE end ELSE
WOMatKeys = Xlate('WO_LOG', WONo, WO_LOG_WO_MAT_KEY$, 'X') RDSNos = RDS_Services('GetRDSKeys', WONo)
RDSNos = Xlate('WO_MAT', WOMatKeys, WO_MAT_RDS_NO$, 'X')
end end
If INDEX(RDSNos,@VM,1) then If INDEX(RDSNos,@VM,1) then
@ -2075,3 +2074,4 @@ ClearCursors:
return return

View File

@ -1,16 +1,17 @@
Compile function WO_MAT_Services(@Service, @Params) Compile function WO_MAT_Services(@Service, @Params)
#pragma precomp SRP_PreCompiler #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 LOGICAL
$Insert APP_INSERTS $Insert APP_INSERTS
$insert WO_MAT_EQUATES $insert WO_MAT_EQUATES
$Insert WO_LOG_EQUATES $Insert WO_LOG_EQUATES
$Insert SERVICE_SETUP $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' LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_Mat\InvActionsSyncUp'
LogDate = Oconv(Date(), 'D4/') LogDate = Oconv(Date(), 'D4/')
@ -281,7 +282,9 @@ Service GetWaferMap(WOMatKey)
end service end service
Service CheckInvActionsSignatureSync() Service CheckInvActionsSignatureSync()
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS') hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
Lock hSysLists, ServiceKeyID then 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 " 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 end
Unlock hSysLists, ServiceKeyID else Null Unlock hSysLists, ServiceKeyID else Null
end end
end service end service
Service SyncWOMatInvActionsAndSigProfile(WOMatKey) Service SyncWOMatInvActionsAndSigProfile(WOMatKey)
If RowExists('WO_MAT', WOMatKey) then If RowExists('WO_MAT', WOMatKey) then
OrigWOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey) OrigWOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
WOMatRec = OrigWOMatRec WOMatRec = OrigWOMatRec
@ -383,9 +389,12 @@ Service SyncWOMatInvActionsAndSigProfile(WOMatKey)
LogData<5> = 'WO_MAT record did not exist in OpenInsight.' LogData<5> = 'WO_MAT record did not exist in OpenInsight.'
Logging_Services('AppendLog', objSyncLog, LogData, @RM, @FM) Logging_Services('AppendLog', objSyncLog, LogData, @RM, @FM)
end end
end service end service
Service CassetteIsLastInWo(WoMatKey) Service CassetteIsLastInWo(WoMatKey)
StartTick = GetTickCount() StartTick = GetTickCount()
MetricName = 'CassetteIsLastInWo' MetricName = 'CassetteIsLastInWo'
@ -437,9 +446,12 @@ Service CassetteIsLastInWo(WoMatKey)
EndTick = GetTickCount() EndTick = GetTickCount()
Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick) Mona_Services('QueueLatencyAndCountMetrics', MonaResource, MetricName, StartTick, EndTick)
end service end service
Service SetWoMatVoidFlag(WoMatKey, Username) Service SetWoMatVoidFlag(WoMatKey, Username)
ErrorMessage = '' ErrorMessage = ''
If RowExists('WO_MAT', WoMatKey) then If RowExists('WO_MAT', WoMatKey) then
WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey, True$, 0, False$) WoMatRec = Database_Services('ReadDataRow', 'WO_MAT', WoMatKey, True$, 0, False$)
@ -483,10 +495,10 @@ Service SetWoMatVoidFlag(WoMatKey, Username)
If ErrorMessage NE '' then If ErrorMessage NE '' then
Error_Services('Add', ErrorMessage) Error_Services('Add', ErrorMessage)
end end
end service end service
Service MakeupFlagOn(RDSNo) Service MakeupFlagOn(RDSNo)
EpiCheck = Rds_Services('IsEpiPro', RDSNo) EpiCheck = Rds_Services('IsEpiPro', RDSNo)
@ -519,4 +531,56 @@ Service MakeupFlagOn(RDSNo)
end service 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<ColPos> = Vals
end else
Response<ColPos> = 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