Commit to save progress.
Feature complete. Ready for UAT. Minor changes to ZPL Hold header and darkness. Implement post UAT changes. fixed small bug in WMO reprint event logic formatted code and removed commented out code
This commit is contained in:
committed by
Infineon\StieberD
parent
6050b346a5
commit
507c6bffba
@ -14,6 +14,7 @@ EQU CRLF$ TO \0D0A\
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$Insert LOGICAL
|
||||
|
||||
|
||||
ErrTitle = 'Error in Comm_Dialog_Hold'
|
||||
@ -41,49 +42,59 @@ RETURN Result
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
obj_AppWindow('Create')
|
||||
|
||||
Transition = Parm1<1>
|
||||
TableName = Parm1<2>
|
||||
HoldType = Parm1<3>
|
||||
|
||||
IF HoldType = '' THEN HoldType = 'HOLD'
|
||||
|
||||
BEGIN CASE
|
||||
CASE Transition = 'ON' AND HoldType = 'HOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Hold On')
|
||||
WinText = 'Hold Change'
|
||||
|
||||
CASE Transition = 'OFF' AND HoldType = 'HOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Hold Off')
|
||||
WinText = 'Hold Change'
|
||||
|
||||
CASE Transition = 'ON' AND HoldType = 'SHOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Ship Hold On')
|
||||
WinText = 'Ship Hold Change'
|
||||
|
||||
CASE Transition = 'OFF' AND HoldType = 'SHOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Ship Hold Off')
|
||||
WinText = 'Ship Hold Change'
|
||||
|
||||
CASE Transition = 'ESC'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Start Escalation')
|
||||
WinText = TableName:' Escalation Change'
|
||||
|
||||
CASE Transition = 'D-ESC'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Stop Escalation')
|
||||
WinText = TableName:' Escalation Change'
|
||||
END CASE
|
||||
|
||||
Set_Property(@WINDOW,'TEXT',WinText) ; * Window title in top bar
|
||||
|
||||
UserName = OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Set_Property(@WINDOW:'.USER_ID','DEFPROP',@USER4)
|
||||
Set_Property(@WINDOW:'.USER_NAME','DEFPROP',UserName)
|
||||
Set_Property(@WINDOW:'.REASON','FOCUS',1)
|
||||
|
||||
obj_AppWindow('Create')
|
||||
|
||||
Transition = Parm1<1>
|
||||
TableName = Parm1<2>
|
||||
HoldType = Parm1<3>
|
||||
Stage = Parm1<4>
|
||||
Interrupted = Parm1<5>
|
||||
|
||||
IF HoldType = '' THEN HoldType = 'HOLD'
|
||||
|
||||
BEGIN CASE
|
||||
CASE Transition = False$ AND HoldType = 'HOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Hold On')
|
||||
WinText = 'Hold Change'
|
||||
Set_Property(@Window : '.RAD_STAGE', 'ENABLED', True$)
|
||||
Set_Property(@Window : '.CHK_INTERRUPTED', 'ENABLED', True$)
|
||||
|
||||
CASE Transition = True$ AND HoldType = 'HOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Hold Off')
|
||||
WinText = 'Hold Change'
|
||||
Set_Property(@Window : '.RAD_STAGE', 'VALUE', Stage)
|
||||
Set_Property(@Window : '.CHK_INTERRUPTED', 'CHECK', Interrupted)
|
||||
|
||||
CASE Transition = False$ AND HoldType = 'SHOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Ship Hold On')
|
||||
WinText = 'Ship Hold Change'
|
||||
Set_Property(@Window : '.RAD_STAGE', 'ENABLED', True$)
|
||||
Set_Property(@Window : '.CHK_INTERRUPTED', 'ENABLED', True$)
|
||||
|
||||
CASE Transition = True$ AND HoldType = 'SHOLD'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Ship Hold Off')
|
||||
WinText = 'Ship Hold Change'
|
||||
Set_Property(@Window : '.RAD_STAGE', 'Value', Stage)
|
||||
Set_Property(@Window : '.CHK_INTERRUPTED', 'CHECK', Interrupted)
|
||||
|
||||
CASE Transition = 'ESC'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Start Escalation')
|
||||
WinText = TableName:' Escalation Change'
|
||||
|
||||
CASE Transition = 'D-ESC'
|
||||
Set_Property(@WINDOW:'.WINDOW_LABEL_FIX','TEXT','Stop Escalation')
|
||||
WinText = TableName:' Escalation Change'
|
||||
END CASE
|
||||
|
||||
Set_Property(@WINDOW,'TEXT',WinText) ; * Window title in top bar
|
||||
|
||||
UserName = OCONV(@USER4,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
|
||||
Set_Property(@WINDOW:'.USER_ID','DEFPROP',@USER4)
|
||||
Set_Property(@WINDOW:'.USER_NAME','DEFPROP',UserName)
|
||||
Set_Property(@WINDOW:'.REASON','FOCUS',1)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -91,68 +102,75 @@ RETURN
|
||||
* * * * * * *
|
||||
LU_UserID:
|
||||
* * * * * * *
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PSELECT$> = 1
|
||||
TypeOver<PDISPLAY$> = 'BY LAST_FIRST'
|
||||
|
||||
UserID = Popup(@WINDOW,TypeOver,'SHOW_USERS')
|
||||
|
||||
IF UserID NE '' THEN
|
||||
Set_Property(@WINDOW:'.USER_ID','DEFPROP',UserID)
|
||||
END ELSE
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PSELECT$> = 1
|
||||
TypeOver<PDISPLAY$> = 'BY LAST_FIRST'
|
||||
|
||||
UserID = Popup(@WINDOW,TypeOver,'SHOW_USERS')
|
||||
|
||||
IF UserID NE '' THEN
|
||||
Set_Property(@WINDOW:'.USER_ID','DEFPROP',UserID)
|
||||
END ELSE
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
* * * * * * *
|
||||
UserIDLF:
|
||||
* * * * * * *
|
||||
|
||||
UserID = Get_Property(@WINDOW:'.USER_ID','DEFPROP')
|
||||
|
||||
UserName = OCONV(UserID,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
Set_Property(@WINDOW:'.USER_NAME','DEFPROP',UserName)
|
||||
|
||||
|
||||
UserID = Get_Property(@WINDOW:'.USER_ID','DEFPROP')
|
||||
|
||||
UserName = OCONV(UserID,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
Set_Property(@WINDOW:'.USER_NAME','DEFPROP',UserName)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Close:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Cancel:
|
||||
* * * * * * *
|
||||
|
||||
End_Dialog(@WINDOW,'Cancel')
|
||||
|
||||
|
||||
End_Dialog(@WINDOW,'Cancel')
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
OK:
|
||||
* * * * * * *
|
||||
|
||||
UserID = Get_Property(@WINDOW:'.USER_ID','DEFPROP')
|
||||
Reason = Get_Property(@WINDOW:'.REASON','DEFPROP')
|
||||
Extended = Get_Property(@WINDOW:'.HOLD_EXTENDED','CHECK')
|
||||
|
||||
Result = UserID:@FM:Reason:@FM:Extended
|
||||
|
||||
End_Dialog(@WINDOW,Result)
|
||||
|
||||
|
||||
StageEnabled = Get_Property(@WINDOW:'.RAD_STAGE','ENABLED')
|
||||
Stage = Get_Property(@WINDOW:'.RAD_STAGE','VALUE')
|
||||
If (Stage NE '') OR (StageEnabled EQ False$) then
|
||||
UserID = Get_Property(@WINDOW:'.USER_ID','DEFPROP')
|
||||
Reason = Get_Property(@WINDOW:'.REASON','DEFPROP')
|
||||
Extended = Get_Property(@WINDOW:'.HOLD_EXTENDED','CHECK')
|
||||
Interrupted = Get_Property(@WINDOW:'.CHK_INTERRUPTED','CHECK')
|
||||
If (Reason NE '') then
|
||||
Result = UserID:@FM:Reason:@FM:Extended:@FM:Stage:@FM:Interrupted
|
||||
End_Dialog(@WINDOW,Result)
|
||||
end else
|
||||
Errmsg('A reason is required to change hold status.')
|
||||
end
|
||||
end else
|
||||
Errmsg('Please select either PRE or POST.')
|
||||
end
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
@ -15,12 +15,13 @@ DECLARE SUBROUTINE Print_Prod_Labels, obj_WO_Mat_Log, obj_Post_Log, obj_Tables,
|
||||
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Start_Window,Print_Cleanroom_Labels_Thermal, Error_Services
|
||||
DECLARE SUBROUTINE obj_RDS_Test, obj_Notes, Print_Control_Plan, obj_WO_Mat, Send_Event, Print_RDS_Instruction, obj_RDS
|
||||
DECLARE SUBROUTINE Start_Window, Development_Services, Dialog_Box, SAP_Services, End_Window, Logging_Services, Rds_Services
|
||||
Declare subroutine Labeling_Services
|
||||
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, obj_RDS_Makeup, Msg, obj_RDS
|
||||
DECLARE FUNCTION obj_Tables, obj_Clean_Insp, obj_WO_Mat_QA, obj_RDS_Test, obj_WO_Mat, Signature_Services
|
||||
DECLARE FUNCTION obj_WO_Step, Security_Check, obj_RDS_Audit, obj_WM_In, Create_Dialog, obj_NCR, obj_WO_Mat, MemberOf
|
||||
DECLARE FUNCTION Start_Window, Database_Services, Development_Services, RDS_Services, RTI_Lock_Owner, Logging_Services
|
||||
DECLARE FUNCTION Environment_Services, Wafer_Counter_Services, Error_Services, Hold_Services
|
||||
DECLARE FUNCTION Environment_Services, Wafer_Counter_Services, Error_Services, Hold_Services, Datetime
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
@ -200,7 +201,7 @@ BEGIN CASE
|
||||
CASE Method = 'OverrideLog' ; GOSUB OverrideLog
|
||||
CASE Method = 'AddComment' ; GOSUB AddComment
|
||||
CASE Method = 'ViewComments' ; GOSUB ViewComments
|
||||
CASE Method = 'ViewLotHistory' ; GOSUB ViewLotHistory
|
||||
CASE Method = 'ViewLotHistory' ; GOSUB ViewLotHistory
|
||||
CASE Method = 'Close' ; GOSUB Close
|
||||
CASE 1
|
||||
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
|
||||
@ -211,6 +212,7 @@ END CASE
|
||||
RETURN Result
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
RdsLF:
|
||||
* * * * * * *
|
||||
@ -314,8 +316,10 @@ Refresh:
|
||||
HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
|
||||
IF HoldCheck THEN
|
||||
Set_Property(@WINDOW:'.HOLD_BUTTON2','TEXT','Remove Hold')
|
||||
Set_Property(@Window:'.MENU.PRINT.REPRINT_HOLD_LABEL', 'ENABLED', True$)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.HOLD_BUTTON2','TEXT','Place on Hold')
|
||||
Set_Property(@Window:'.MENU.PRINT.REPRINT_HOLD_LABEL', 'ENABLED', False$)
|
||||
END
|
||||
|
||||
|
||||
@ -2054,6 +2058,14 @@ HoldClick:
|
||||
|
||||
RDSNo = Get_Property(@WINDOW:'.RDS_NO','DEFPROP')
|
||||
CtrlEnt = Get_Property(@WINDOW,'FOCUS')
|
||||
PSN = Get_Property(@WINDOW:'.PSN','TEXT')
|
||||
ReactorType = Get_Property(@WINDOW:'.REACTOR_TYPE','TEXT')
|
||||
|
||||
If ReactorType = 'EPP' then
|
||||
Reactor = 'EPP'
|
||||
end else
|
||||
Reactor = Get_Property(@WINDOW:'.REACTOR','TEXT')
|
||||
end
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
Send_Event(@WINDOW,'CLEAR') ; // 12/21/2017 - DMB - Although WRITE normally clears the form, QBF mode will prevent the clear so do this explicitly so the lock is removed from the RDS record.
|
||||
@ -2063,14 +2075,33 @@ HoldClick:
|
||||
WOMatKey = Xlate('RDS', RDSNo, 'WO_MAT_KEY', 'X', '')
|
||||
//obj_WO_Mat('ToggleHold',WOMatKey:@RM:HoldEntity:@RM:HoldEntityID:@RM:CtrlEnt)
|
||||
Transition = Hold_Services('CheckForHold', WOMatKey, CtrlEnt)
|
||||
Stage = Xlate('WO_MAT', WOMatKey, WO_MAT_HOLD_STAGE$, 'X')
|
||||
Interrupted = Xlate('WO_MAT', WOMatKey, WO_MAT_HOLD_INTERRUPTED$, 'X')
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType:@FM:Stage:@FM:Interrupted)
|
||||
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEnt, '', HoldData, '')
|
||||
IF Error_Services("HasError") THEN
|
||||
ErrCode = Error_Services("GetMessage")
|
||||
ErrMsg(errCode)
|
||||
end else
|
||||
If Transition EQ False$ then
|
||||
MsgInfo = ''
|
||||
MsgInfo<MTYPE$> = 'BNY'
|
||||
MsgInfo<MTEXT$> = 'Hold Successful. Would you like to print label(s)?'
|
||||
MsgInfo<MICON$> = '!'
|
||||
PrintLabel = Msg(@WINDOW,MsgInfo,'')
|
||||
HoldBy = HoldData<1>
|
||||
Reason = HoldData<2>
|
||||
Stage = HoldData<4>
|
||||
Interrupted = HoldData<5>
|
||||
DTM = Datetime()
|
||||
If PrintLabel EQ True$ then
|
||||
Labeling_Services('PrintHoldLabel', HoldEntity, HoldEntityID, Stage, Reason, HoldBy, DTM, PSN, Reactor, Interrupted)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -2737,6 +2768,7 @@ LUPostCode:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
SigProfile:
|
||||
* * * * * * *
|
||||
@ -2792,24 +2824,24 @@ RETURN
|
||||
Overridelog:
|
||||
* * * * * * * *
|
||||
|
||||
RDSNo = Get_Property(@WINDOW:'.RDS_NO','TEXT')
|
||||
orKeys = XLATE('RDS',RDSNo, 295, 'X')
|
||||
RDSNo = Get_Property(@WINDOW:'.RDS_NO','TEXT')
|
||||
orKeys = XLATE('RDS',RDSNo, 295, 'X')
|
||||
|
||||
Display = ''
|
||||
overriderec = ''
|
||||
i = 1
|
||||
For Each orKey in orKeys using @VM
|
||||
overriderec = Xlate('OVERRIDE_LOG', orKey, '', 'X')
|
||||
Display<1,I,1> = overriderec<3>
|
||||
Display<1,I,2> = overriderec<4>
|
||||
Display<1,I,3> = overriderec<5>
|
||||
Display<1,I,4> = overriderec<6>
|
||||
i = i + 1
|
||||
Next orKey
|
||||
Display = ''
|
||||
overriderec = ''
|
||||
i = 1
|
||||
For Each orKey in orKeys using @VM
|
||||
overriderec = Xlate('OVERRIDE_LOG', orKey, '', 'X')
|
||||
Display<1,I,1> = overriderec<3>
|
||||
Display<1,I,2> = overriderec<4>
|
||||
Display<1,I,3> = overriderec<5>
|
||||
Display<1,I,4> = overriderec<6>
|
||||
i = i + 1
|
||||
Next orKey
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = Display
|
||||
void = Popup(@WINDOW,TypeOver,'OVERRIDES')
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = Display
|
||||
void = Popup(@WINDOW,TypeOver,'OVERRIDES')
|
||||
|
||||
RETURN
|
||||
|
||||
@ -2826,6 +2858,7 @@ AddComment:
|
||||
|
||||
return
|
||||
|
||||
|
||||
* * * * * * * *
|
||||
ViewComments:
|
||||
* * * * * * * *
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -19,6 +19,7 @@ DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, E
|
||||
DECLARE SUBROUTINE Send_Message, Print_Cass_Out, obj_WM_Out, obj_Notes, obj_WO_Mat, obj_Tables, Set_Property, obj_WO_Wfr
|
||||
DECLARE SUBROUTINE Start_Window, Obj_RDS, Database_Services, Rds_Services, Signature_Services, Wm_Out_Services, Sleepery
|
||||
DECLARE SUBROUTINE Logging_Services, Wo_Mat_Qa_Services, Error_Services, Post_Event, Wafer_Counter_Services, Hold_Services
|
||||
Declare subroutine Labeling_Services
|
||||
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists, obj_Tables
|
||||
DECLARE FUNCTION Dialog_Box, obj_WO_Log, MemberOf, obj_NCR, Send_Message, MemberOf, obj_WM_Out, NextKey, obj_MUWafers
|
||||
@ -177,6 +178,7 @@ BEGIN CASE
|
||||
CASE Instruction = 'CIClick' ; GOSUB CIClick
|
||||
CASE Instruction = 'AddComment' ; GOSUB AddComment
|
||||
CASE Instruction = 'ViewComments' ; GOSUB ViewComments
|
||||
CASE Instruction = 'ReprintHold' ; GOSUB ReprintHold
|
||||
|
||||
CASE 1
|
||||
ErrorMsg = 'Unknown Instruction ':QUOTE(Instruction):' passed to routine'
|
||||
@ -392,6 +394,20 @@ WONoLF:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ReprintHold:
|
||||
* * * * * * *
|
||||
|
||||
WONo = Get_Property(@WINDOW:'.WO_NO','DEFPROP')
|
||||
CassNo = Get_Property(@WINDOW:'.OUT_CASS_NO','DEFPROP')
|
||||
WOStep = Get_Property(@WINDOW:'.PROC_STEP_NO','DEFPROP')
|
||||
WMOKey = WONo:'*':WOStep:'*':CassNo
|
||||
Labeling_Services('ReprintHoldLabel', 'WM_OUT', WMOKey)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
********
|
||||
Refresh:
|
||||
********
|
||||
@ -404,8 +420,10 @@ Refresh:
|
||||
|
||||
IF Get_Property(@WINDOW:'.HOLD_CHECKBOX','CHECK') THEN
|
||||
Set_Property(@WINDOW:'.HOLD_BUTTON','TEXT','Remove Hold')
|
||||
Set_Property(@Window:'.MENU.PRINT.REPRINT_HOLD_LABEL', 'ENABLED', True$)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.HOLD_BUTTON','TEXT','Place on Hold')
|
||||
Set_Property(@Window:'.MENU.PRINT.REPRINT_HOLD_LABEL', 'ENABLED', False$)
|
||||
END
|
||||
|
||||
QuoteSigs = XLATE('CONFIG','QUOTE_SIGS','','X')
|
||||
@ -1530,6 +1548,10 @@ HoldClick:
|
||||
WOMatKey = WONo:'*':CassNo
|
||||
HoldEntity = 'WM_OUT'
|
||||
HoldEntityID = WMOutKey
|
||||
Stage = Xlate('WO_MAT', WOMatKey, WO_MAT_HOLD_STAGE$, 'X')
|
||||
Interrupted = Xlate('WO_MAT', WOMatKey, WO_MAT_HOLD_INTERRUPTED$, 'X')
|
||||
Reactor = 'EPP'
|
||||
PSN = Get_Property(@Window:'.PS_NO', 'TEXT')
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
@ -1539,12 +1561,28 @@ HoldClick:
|
||||
Transition = Hold_Services('CheckForHold', WOMatKey, CtrlEnt)
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType:@FM:Stage:@FM:Interrupted)
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEnt, '', HoldData)
|
||||
IF Error_Services("HasError") THEN
|
||||
ErrCode = Error_Services("GetMessage")
|
||||
ErrMsg(errCode)
|
||||
end else
|
||||
If Transition EQ False$ then
|
||||
MsgInfo = ''
|
||||
MsgInfo<MTYPE$> = 'BNY'
|
||||
MsgInfo<MTEXT$> = 'Hold Successful. Would you like to print label(s)?'
|
||||
MsgInfo<MICON$> = '!'
|
||||
PrintLabel = Msg(@WINDOW,MsgInfo,'')
|
||||
HoldBy = HoldData<1>
|
||||
Reason = HoldData<2>
|
||||
Stage = HoldData<4>
|
||||
Interrupted = HoldData<5>
|
||||
DTM = Datetime()
|
||||
If PrintLabel EQ True$ then
|
||||
Labeling_Services('PrintHoldLabel', HoldEntity, HoldEntityID, Stage, Reason, HoldBy, DTM, PSN, Reactor, Interrupted)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -2297,5 +2335,3 @@ RefreshWaferCounterData:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
@ -71,7 +71,6 @@ Return Response or ""
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// ToggleHold
|
||||
//
|
||||
@ -114,6 +113,7 @@ Service ToggleHold(WOMatKey, HoldEntity, HoldEntityID, CtrlEntID, OriginFlag, Ho
|
||||
|
||||
End Service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// ToggleMultipleHolds
|
||||
//
|
||||
@ -154,6 +154,7 @@ Service ToggleMultipleHolds(WOMatKeys, HoldEntity, HoldEntityIDs, CtrlEntID, Ori
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// EnableMultipleHolds
|
||||
//
|
||||
@ -194,11 +195,6 @@ Service EnableMultipleHolds(WOMatKeys, HoldEntity, HoldEntityIDs, CtrlEntID, Ori
|
||||
For I = 1 to WOMatCount
|
||||
If Hold_Services('CheckForHold', WOMatKeys<I>) EQ False$ then
|
||||
Hold_Services('OnHold', WOMatKeys<I>, HoldEntity, HoldEntityIDs<I>, HoldType, HoldData)
|
||||
* If Error_Services("NoError") then
|
||||
* Hold_Services("HoldNotification", HoldEntity, HoldEntityIDs<I>, Reason, True$, HoldType)
|
||||
* end else
|
||||
* Response = Error_Services("GetMessage")
|
||||
* end
|
||||
end
|
||||
If CtrlEntID EQ 'NDW_RDS_QUERY' OR CtrlEntID EQ 'NDW_WM_OUT_QUICK_QUERY' then Msg(@window, MsgUp, I, MSGINSTUPDATE$)
|
||||
Next I
|
||||
@ -208,6 +204,7 @@ Service EnableMultipleHolds(WOMatKeys, HoldEntity, HoldEntityIDs, CtrlEntID, Ori
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// DisableMultipleHolds
|
||||
//
|
||||
@ -248,11 +245,6 @@ Service DisableMultipleHolds(WOMatKeys, HoldEntity, HoldEntityIDs, CtrlEntID, Or
|
||||
For I = 1 to WOMatCount
|
||||
If Hold_Services('CheckForHold', WOMatKeys<I>) EQ True$ then
|
||||
Hold_Services('OffHold', WOMatKeys<I>, HoldEntity, HoldEntityIDs<I>, HoldType, HoldData)
|
||||
* If Error_Services("NoError") then
|
||||
* Hold_Services("HoldNotification", HoldEntity, HoldEntityIDs<I>, Reason, False$, HoldType)
|
||||
* end else
|
||||
* Response = Error_Services("GetMessage")
|
||||
* end
|
||||
end
|
||||
If CtrlEntID EQ 'NDW_RDS_QUERY' OR CtrlEntID EQ 'NDW_WM_OUT_QUICK_QUERY' then Msg(@window, MsgUp, I, MSGINSTUPDATE$)
|
||||
Next I
|
||||
@ -262,6 +254,7 @@ Service DisableMultipleHolds(WOMatKeys, HoldEntity, HoldEntityIDs, CtrlEntID, Or
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// OnHold
|
||||
//
|
||||
@ -302,6 +295,8 @@ Service OnHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, OperatorI
|
||||
UserID = HoldData<1>
|
||||
Reason = HoldData<2>
|
||||
Extended = HoldData<3>
|
||||
Stage = HoldData<4>
|
||||
Interrupted = HoldData<5>
|
||||
|
||||
CurrDate = OCONV(Date(),'D4/')
|
||||
CurrTime = OCONV(Time(),'MTS')
|
||||
@ -319,7 +314,8 @@ Service OnHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, OperatorI
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_HOLD_STOP_REASON$,1,0,'')
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_HOLD_ENTITY$,1,0,HoldEntity)
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_HOLD_ENTITY_ID$,1,0,HoldEntityID)
|
||||
|
||||
WOMatRec<WO_MAT_HOLD_STAGE$> = Stage
|
||||
WOMatRec<WO_MAT_HOLD_INTERRUPTED$> = Interrupted
|
||||
***********************************************************
|
||||
|
||||
// - djs - 10/29/2019
|
||||
@ -349,6 +345,8 @@ Service OnHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, OperatorI
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_SHIP_HOLD_STOP_DTM$,1,0,'')
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_SHIP_HOLD_STOP_USER$,1,0,'')
|
||||
WOMatRec = INSERT(WOMatRec,WO_MAT_SHIP_HOLD_STOP_REASON$,1,0,'')
|
||||
WOMatRec<WO_MAT_HOLD_STAGE$> = Stage
|
||||
WOMatRec<WO_MAT_HOLD_INTERRUPTED$> = Interrupted
|
||||
END
|
||||
|
||||
IF HoldEntity = 'WM_OUT' THEN
|
||||
@ -371,6 +369,7 @@ Service OnHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, OperatorI
|
||||
|
||||
End Service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// OffHold
|
||||
//
|
||||
@ -425,6 +424,8 @@ Service OffHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, Operator
|
||||
WOMatRec<WO_MAT_HOLD_STOP_USER$,1> = UserID
|
||||
WOMatRec<WO_MAT_HOLD_STOP_REASON$,1> = Reason
|
||||
WOMatRec<WO_MAT_HOLD_EXTENDED$,1> = 0
|
||||
WOMatRec<WO_MAT_HOLD_STAGE$> = ''
|
||||
WOMatRec<WO_MAT_HOLD_INTERRUPTED$> = ''
|
||||
|
||||
***********************************************************
|
||||
|
||||
@ -457,6 +458,8 @@ Service OffHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, Operator
|
||||
WOMatRec<WO_MAT_SHIP_HOLD_STOP_USER$,1> = UserID
|
||||
WOMatRec<WO_MAT_SHIP_HOLD_STOP_REASON$,1> = Reason
|
||||
WOMatRec<WO_MAT_SHIP_HOLD_EXTENDED$,1> = 0
|
||||
WOMatRec<WO_MAT_HOLD_STAGE$> = ''
|
||||
WOMatRec<WO_MAT_HOLD_INTERRUPTED$> = ''
|
||||
END
|
||||
|
||||
IF HoldEntity = 'WM_OUT' THEN
|
||||
@ -480,9 +483,9 @@ Service OffHold(WOMatKey, HoldEntity, HoldEntityID, HoldType, HoldData, Operator
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
End Service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// CheckForHold
|
||||
//
|
||||
@ -693,6 +696,7 @@ Service EditHoldReason(WOMatKey, ColName, ColValNo, UpdatedText)
|
||||
|
||||
End Service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// CreateComment
|
||||
//
|
||||
@ -765,4 +769,3 @@ Service CreateComment(HoldEntity, HoldEntityID, Reason, Transition, HoldType, Op
|
||||
|
||||
end service
|
||||
|
||||
|
||||
|
@ -3,12 +3,14 @@ Compile function Labeling_Services(@Service, @Params)
|
||||
|
||||
Declare Function Database_Services, Environment_Services, Set_Printer, Direct_Print, Printer_Select, Error_Services
|
||||
Declare Function Logging_Services, Datetime
|
||||
Declare subroutine Error_Services, Labeling_Services, Lot_Services
|
||||
Declare subroutine Error_Services, Labeling_Services, Lot_Services, SRP_Set_Clipboard
|
||||
|
||||
$insert LOGICAL
|
||||
$Insert LOT_EQUATES
|
||||
$Insert TEST_WAFER_PROD_EQUATES
|
||||
$Insert RETURN_TO_FAB_LOTS_EQUATES
|
||||
$Insert LSL_USERS_EQUATES
|
||||
$Insert WO_MAT_EQUATES
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\LabelPrinting'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -27,6 +29,7 @@ Return Response or ""
|
||||
// Service Parameter Options
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
Options LOAD_LOCK_SIDE = 'Left', 'Right', 'Both'
|
||||
Options STAGES = 'PRE', 'POST'
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// SERVICES
|
||||
@ -77,6 +80,153 @@ Service PrintLabel(ZPLString, PrinterId)
|
||||
end service
|
||||
|
||||
|
||||
Service ReprintHoldLabel(EntityType, LotID)
|
||||
|
||||
WOMatKey = ''
|
||||
Begin Case
|
||||
Case EntityType EQ 'RDS'
|
||||
WOMatKey = Xlate('RDS', LotID, 'WO_MAT_KEY', 'X')
|
||||
Reactor = Xlate('RDS', LotID, 'REACTOR', 'X')
|
||||
PSN = Xlate('RDS', LotID, 'PROD_SPEC_ID', 'X')
|
||||
Case EntityType EQ 'WM_IN'
|
||||
WOMatKey = Xlate('WM_IN', LotID, 'WO_MAT_KEY', 'X')
|
||||
Reactor = 'EPP'
|
||||
PSN = Xlate('WM_IN', LotID, 'PS_NO', 'X')
|
||||
Case EntityType EQ 'WM_OUT'
|
||||
WOMatKey = Xlate('WM_OUT', LotID, 'WO_MAT_KEY', 'X')
|
||||
Reactor = 'EPP'
|
||||
PSN = Xlate('WM_OUT', LotID, 'PS_NO', 'X')
|
||||
End Case
|
||||
WOMatRec = Xlate('WO_MAT', WOMatKey, '', 'X')
|
||||
Stage = WOMatRec<WO_MAT_HOLD_STAGE$>
|
||||
Reason = WOMatRec<WO_MAT_HOLD_START_REASON$,1>
|
||||
HoldBy = WOMatRec<WO_MAT_HOLD_START_USER$,1>
|
||||
DTM = WOMatRec<WO_MAT_HOLD_START_DTM$,1>
|
||||
Interrupted = WOMatRec<WO_MAT_HOLD_INTERRUPTED$>
|
||||
If (Stage NE '') AND (Reason NE '') AND (HoldBy NE '') AND (DTM NE '') then
|
||||
Labeling_Services('PrintHoldLabel', EntityType, LotID, Stage, Reason, HoldBy, DTM, PSN, Reactor, Interrupted)
|
||||
end else
|
||||
Error_Services('Add', 'Error reprinting label.')
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service PrintHoldLabel(EntityType, LotID, Stage=STAGES, Reason, HoldBy, DTM, PSN, Reactor, Interrupted, PrinterSelect)
|
||||
|
||||
If (EntityType NE '') AND (LotID NE '') AND (Stage NE '') AND (Reason NE '') AND (HoldBy NE '') AND (DTM NE '') then
|
||||
ZPLString = ''
|
||||
// Print Params
|
||||
ZPLString := '^XA'
|
||||
ZPLString := '^LH0,0'
|
||||
ZPLString := '^PR1'
|
||||
ZPLString := '^LL406'
|
||||
ZPLString := '^PW900'
|
||||
ZPLString := '^MD22'
|
||||
ZPLString := '^MMT'
|
||||
// Hold Header
|
||||
ZPLString := '^FO350,24,2^FWN^A050,50^FDHold^FS'
|
||||
// Lot ID
|
||||
ZPLString := '^FO40,80,2^FWN^A035,35^FDLot ID:^FS'
|
||||
ZPLString := '^FO140,80,2^FWN^A035,35^FD<LotVal>^FS'
|
||||
// Reactor
|
||||
ZPLString := '^FO450,80,2^FWN^A035,35^FDReactor:^FS'
|
||||
ZPLString := '^FO570,80,2^FWN^A035,35^FD<ReactorVal>^FS'
|
||||
// PSN
|
||||
ZPLString := '^FO640,80,2^FWN^A035,35^FDPSN:^FS'
|
||||
ZPLString := '^FO715,80,2^FWN^A035,35^FD<PSNVal>^FS'
|
||||
// Pre box and X
|
||||
ZPLString := '^FO40,125,2^FWN^A035,35^FDPre:^FS'
|
||||
ZPLString := '^FO120,120^GB35,35,2^FS'
|
||||
ZPLString := '^FO127,125,2^FWN^A035,35^FD<PreX>^FS'
|
||||
// Post box and X
|
||||
ZPLString := '^FO170,125,2^FWN^A035,35^FDPost:^FS'
|
||||
ZPLString := '^FO252,120^GB35,35,2^FS'
|
||||
ZPLString := '^FO259,125,2^FWN^A035,35^FD<PostX>^FS'
|
||||
// Process interrupted box and X
|
||||
ZPLString := '^FO465,125,2^FWN^A035,35^FDProcess Interrupted:^FS'
|
||||
ZPLString := '^FO760,120^GB35,35,2^FS'
|
||||
ZPLString := '^FO767,125,2^FWN^A035,35^FD<InterruptX>^FS'
|
||||
// Reason
|
||||
ZPLString := '^FO40,175,2^FWN^A035,35^FDReason:^FS'
|
||||
ZPLString := '^FO160,175,2^FWN^A035,35^FD<ReasonVal1>^FS'
|
||||
ZPLString := '^FO40,220,2^FWN^A035,35^FD<ReasonVal2>^FS'
|
||||
ZPLString := '^FO40,265,2^FWN^A035,35^FD<ReasonVal3>^FS'
|
||||
// Hold By
|
||||
ZPLString := '^FO40,310,2^FWN^A035,35^FDOn Hold By:^FS'
|
||||
ZPLString := '^FO210,310,2^FWN^A035,35^FD<HoldByVal>^FS'
|
||||
// Date/Time
|
||||
ZPLString := '^FO40,355,2^FWN^A035,35^FDDate/Time:^FS'
|
||||
ZPLString := '^FO195,355,2^FWN^A035,35^FD<DTMVal>^FS'
|
||||
// End
|
||||
ZPLString := '^XZ'
|
||||
|
||||
Begin Case
|
||||
Case EntityType EQ 'WM_IN'
|
||||
EntityType = 'WMI'
|
||||
Case EntityType EQ 'WM_OUT'
|
||||
EntityType = 'WMO'
|
||||
Case Otherwise$
|
||||
End Case
|
||||
EntityString = EntityType :'-': LotID
|
||||
UserRec = Database_Services('ReadDataRow', 'LSL_USERS', HoldBy)
|
||||
FullName = UserRec<LSL_USERS_FIRST$> : ' ' : UserRec<LSL_USERS_LAST$>
|
||||
DTM = Oconv(DTM, 'DT2/^H')
|
||||
|
||||
If Len(Reason) GE 45 then
|
||||
// Breaks the reason up to fit the lines
|
||||
Dummy = Reason[45, 'B':' ']
|
||||
ReasonLine1 = Reason[1, Col1()]
|
||||
Reason = Reason[Col1() + 1, 999]
|
||||
Dummy = Reason[55, 'B':' ']
|
||||
ReasonLine2 = Reason[1, Col1()]
|
||||
Reason = Reason[Col1() + 1, 999]
|
||||
Dummy = Reason[55, 'B':' ']
|
||||
ReasonLine3 = Reason[1, Col1()]
|
||||
end else
|
||||
ReasonLine1 = Reason
|
||||
ReasonLine2 = ''
|
||||
ReasonLine3 = ''
|
||||
end
|
||||
|
||||
Swap '<LotVal>' With EntityString in ZPLString
|
||||
Swap '<PSNVal>' With PSN in ZPLString
|
||||
Swap '<ReactorVal>' With Reactor in ZPLString
|
||||
|
||||
If Stage EQ 'PRE' then
|
||||
Swap '<PreX>' With 'X' in ZPLString
|
||||
Swap '<PostX>' With '' in ZPLString
|
||||
end else
|
||||
Swap '<PreX>' With '' in ZPLString
|
||||
Swap '<PostX>' With 'X' in ZPLString
|
||||
end
|
||||
|
||||
If Interrupted EQ True$ then
|
||||
Swap '<InterruptX>'with 'X' in ZPLString
|
||||
end else
|
||||
Swap '<InterruptX>'with '' in ZPLString
|
||||
end
|
||||
|
||||
Swap '<ReasonVal1>' With ReasonLine1 in ZPLString
|
||||
Swap '<ReasonVal2>' With ReasonLine2 in ZPLString
|
||||
Swap '<ReasonVal3>' With ReasonLine3 in ZPLString
|
||||
|
||||
Swap '<HoldByVal>' With FullName in ZPLString
|
||||
Swap '<DTMVal>' With DTM in ZPLString
|
||||
|
||||
If PrinterSelect NE '' then
|
||||
Labeling_Services('PrintLabel', ZPLString, PrinterSelect)
|
||||
end else
|
||||
Labeling_Services('PrintLabel', ZPLString, Printer)
|
||||
end
|
||||
|
||||
end else
|
||||
Error_Services('Add', 'Missing parameter. EntityType, LotID, Stage, Reason, HoldBy, DTM, PSN, Reactor, and Interrupted are required fields.')
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service PrintTestWaferLotLabel(LotId, Username, PrinterId)
|
||||
|
||||
ErrorMessage = ''
|
||||
@ -118,7 +268,6 @@ Service PrintTestWaferLotLabel(LotId, Username, PrinterId)
|
||||
end else
|
||||
//Log Error for lot
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
|
||||
end
|
||||
end
|
||||
end else
|
||||
@ -178,7 +327,8 @@ Service GetAllZebraPrinters()
|
||||
ZebraPrinterList<7> = 'MESZBRPRT008' : @VM : '10.95.164.24' : @VM : 9100
|
||||
ZebraPrinterList<8> = 'MESZBRPRT0011' : @VM : '10.95.15.33' : @VM : 6101
|
||||
ZebraPrinterList<9> = 'FI_ZEBRA_PRINTER' : @VM : '10.95.164.55' : @VM : 9100
|
||||
If Server EQ 'MESTSA01EC' OR Server EQ 'MESSA01EC' or Server EQ 'MESTSA09EC' or Server EQ 'MESTSA010EC' or Server EQ 'MESTSA011EC' or Server EQ 'MESTSA012EC' then
|
||||
If Server EQ 'MESTSA01EC' OR Server EQ 'MESSA01EC' or Server EQ 'MESTSA09EC' |
|
||||
or Server EQ 'MESTSA010EC' or Server EQ 'MESTSA011EC' or Server EQ 'MESTSA012EC' then
|
||||
ZebraPrinterList<10> = 'JONATHAN_HOME_TEST' : @VM : '192.168.0.123' : @VM : 9100
|
||||
end
|
||||
|
||||
@ -218,7 +368,9 @@ Service PrintReactorLabel(ReactNo, LoadLockSide=LOAD_LOCK_SIDE)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service GetReturnToFabLabelZPL(RTFId)
|
||||
|
||||
ZPLStringLabel = ''
|
||||
LotRec = Database_Services('ReadDataRow', 'RETURN_TO_FAB_LOTS', RTFId)
|
||||
CassId = LotRec<RETURN_TO_FAB_LOTS_CASS_ID$>
|
||||
@ -249,10 +401,6 @@ Service GetReturnToFabLabelZPL(RTFId)
|
||||
ZPLStringLabel := '^FO500,105^CI28'
|
||||
ZPLStringLabel := '^XZ'
|
||||
Response = ZPLStringLabel
|
||||
|
||||
end service
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -15,7 +15,7 @@ Compile Function NDW_RDS_Query_Events(CtrlEntId, Event, @PARAMS)
|
||||
|
||||
If the form needs to call the commuter module directly then the QuickEvent parameters should be
|
||||
formatted like this:
|
||||
|
||||
`
|
||||
'@SELF','@EVENT',['@PARAM1','@PARAMx']
|
||||
|
||||
Parameters :
|
||||
@ -44,8 +44,9 @@ $insert SUPPLEMENTS_EQUATES
|
||||
equ WOCust$ to 2
|
||||
|
||||
Declare subroutine SRP_Show_Window, Rds_Services, ErrMsg, Start_Window, Placedialog, Supplement_Services, Hold_Services
|
||||
Declare subroutine Labeling_Services
|
||||
Declare function Database_Services, Material_Services, Rds_Services, RGB, SRP_Array, MemberOf, Supplement_Services
|
||||
Declare function Hold_Services
|
||||
Declare function Hold_Services, Datetime, Printer_Select
|
||||
|
||||
CRLF = \0D0A\
|
||||
|
||||
@ -58,11 +59,11 @@ If Event EQ 'OLE' then
|
||||
Transfer Param1 to Event
|
||||
Transfer Param2 to Param1
|
||||
Transfer Param3 to Param2
|
||||
* Transfer Param4 to Param3
|
||||
* Transfer Param5 to Param4
|
||||
* Transfer Param6 to Param5
|
||||
* Transfer Param7 to Param6
|
||||
* Transfer Param8 to Param7
|
||||
* Transfer Param4 to Param3
|
||||
* Transfer Param5 to Param4
|
||||
* Transfer Param6 to Param5
|
||||
* Transfer Param7 to Param6
|
||||
* Transfer Param8 to Param7
|
||||
end
|
||||
|
||||
GoToEvent Event for CtrlEntID
|
||||
@ -90,34 +91,34 @@ Event WINDOW.CREATE(CreateParam)
|
||||
End Case
|
||||
|
||||
If View NE '' then
|
||||
Set_Property(@Window:'.RAG_VIEW', 'VALUE', View)
|
||||
Set_Property(@Window:'.RAG_VIEW', 'VALUE', View)
|
||||
end
|
||||
|
||||
GoSub GetRdsColumns
|
||||
|
||||
RDSList = RDS_Services('GetRDSData', ThisWorkOrderNo, RDSColumns, True$, RDSOverrideList)
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
|
||||
OrigSize = Get_Property(@Window, 'SIZE')
|
||||
Set_Property(@Window, '@ORIG_SIZE', OrigSize)
|
||||
|
||||
GoSub Setup_OLE_Controls
|
||||
|
||||
// Turn off AutoPopulate for performance reasons
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', False$)
|
||||
|
||||
Set_Property(@Window:'.EDL_SEARCH', 'TEXT', ThisWorkOrderNo)
|
||||
|
||||
// Turn AutoPopulate back on
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', True$)
|
||||
Set_Property(RDSRptCtrl, "OLE.AlwaysShowSelection", True$)
|
||||
Send_Message(RDSRptCtrl, "OLE.UnselectAll")
|
||||
Send_Message(@Window, "SET_ZORDER", '')
|
||||
|
||||
SRP_Show_Window(@Window, 'SYSTEM', 'C', 'C', False$, '', False$, False$, FormSize)
|
||||
// Show the form in the center of the screen
|
||||
Placedialog(-2, -2)
|
||||
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
|
||||
OrigSize = Get_Property(@Window, 'SIZE')
|
||||
Set_Property(@Window, '@ORIG_SIZE', OrigSize)
|
||||
|
||||
GoSub Setup_OLE_Controls
|
||||
|
||||
// Turn off AutoPopulate for performance reasons
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', False$)
|
||||
|
||||
Set_Property(@Window:'.EDL_SEARCH', 'TEXT', ThisWorkOrderNo)
|
||||
|
||||
// Turn AutoPopulate back on
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', True$)
|
||||
Set_Property(RDSRptCtrl, "OLE.AlwaysShowSelection", True$)
|
||||
Send_Message(RDSRptCtrl, "OLE.UnselectAll")
|
||||
Send_Message(@Window, "SET_ZORDER", '')
|
||||
|
||||
SRP_Show_Window(@Window, 'SYSTEM', 'C', 'C', False$, '', False$, False$, FormSize)
|
||||
// Show the form in the center of the screen
|
||||
Placedialog(-2, -2)
|
||||
|
||||
end event
|
||||
|
||||
|
||||
@ -131,21 +132,21 @@ end event
|
||||
|
||||
|
||||
Event PUB_OK.CLICK()
|
||||
|
||||
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
|
||||
RDSKeys = SelRDSList<4>
|
||||
End_Dialog(@Window, RDSKeys)
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_CANCEL.CLICK()
|
||||
|
||||
|
||||
Result = ''
|
||||
// Perhaps add a savewarn prompt if list has been edited.
|
||||
End_Dialog(@Window, Result)
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
@ -153,14 +154,14 @@ Event PUB_SELECT_ALL.CLICK()
|
||||
|
||||
Send_Message(@Window : '.OLE_RPT_RDS_LIST', "OLE.SelectAll")
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.Focus', True$)
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_CLEAR.CLICK()
|
||||
|
||||
|
||||
Send_Message(@Window : '.OLE_RPT_RDS_LIST', "OLE.UnselectAll")
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
@ -190,7 +191,7 @@ Event PUB_ENG_OPTIONS.CLICK()
|
||||
Caption = "Updating Clean & Insp specs for selected RDS cassettes..."
|
||||
ServiceModules = 'CLEAN_INSP_SERVICES'
|
||||
Services = 'UpdateAllCleanInsp'
|
||||
|
||||
|
||||
Case SelOpt EQ 'QA_MET'
|
||||
|
||||
Caption = "Updating QA Metrology specs for selected RDS cassettes..."
|
||||
@ -238,80 +239,104 @@ end event
|
||||
|
||||
|
||||
Event PUB_ON_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
|
||||
RDSKeys = SelRDSList<4>
|
||||
Swap @VM with @FM in RDSKeys
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = False$
|
||||
HoldEntity = 'RDS'
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
If HoldData NE 'Cancel' then
|
||||
GoSub GetView
|
||||
Hold_Services('EnableMultipleHolds', WOMatKeys, 'RDS', RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'On Hold')
|
||||
end else
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'On Hold')
|
||||
end
|
||||
Next L
|
||||
HoldOffFlag = True$
|
||||
HoldOnFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
|
||||
GoSub GetView
|
||||
Hold_Services('EnableMultipleHolds', WOMatKeys, HoldEntity, RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
|
||||
IF Error_Services("HasError") THEN
|
||||
ErrCode = Error_Services("GetMessage")
|
||||
ErrMsg(errCode)
|
||||
end else
|
||||
MsgInfo = ''
|
||||
MsgInfo<MTYPE$> = 'BNY'
|
||||
MsgInfo<MTEXT$> = 'Hold Successful. Would you like to print label(s)?'
|
||||
MsgInfo<MICON$> = '!'
|
||||
PrintLabel = Msg(@WINDOW,MsgInfo,'')
|
||||
HoldBy = HoldData<1>
|
||||
Reason = HoldData<2>
|
||||
Stage = HoldData<4>
|
||||
Interrupted = HoldData<5>
|
||||
DTM = Datetime()
|
||||
If PrintLabel EQ True$ then
|
||||
PrinterId = Printer_Select(PrinterID)
|
||||
end
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'On Hold')
|
||||
end else
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'On Hold')
|
||||
end
|
||||
PSN = Xlate('RDS', RDSKeys<L>, 'PROD_SPEC_ID', 'X', '')
|
||||
Reactor = Xlate('RDS', RDSKeys<L>, 'REACTOR', 'X', '')
|
||||
If PrintLabel EQ True$ then
|
||||
Labeling_Services('PrintHoldLabel', HoldEntity, RDSKeys<L>, Stage, Reason, HoldBy, DTM, PSN, Reactor, Interrupted, PrinterId)
|
||||
end
|
||||
Next L
|
||||
HoldOffFlag = True$
|
||||
HoldOnFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_OFF_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
|
||||
RDSKeys = SelRDSList<4>
|
||||
Swap @VM with @FM in RDSKeys
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = False$
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
WOMatKeys = Xlate('RDS', RDSKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
If HoldData NE 'Cancel' then
|
||||
GoSub GetView
|
||||
Hold_Services('DisableMultipleHolds', WOMatKeys, 'RDS', RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'Off Hold')
|
||||
end else
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'Off Hold')
|
||||
end
|
||||
Next L
|
||||
HoldOffFlag = False$
|
||||
HoldOnFlag = True$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
|
||||
GoSub GetView
|
||||
Hold_Services('DisableMultipleHolds', WOMatKeys, 'RDS', RDSKeys, 'NDW_RDS_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[16;' : ThisPos : ']', 'Off Hold')
|
||||
end else
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.ItemValue[19;' : ThisPos : ']', 'Off Hold')
|
||||
end
|
||||
Next L
|
||||
HoldOffFlag = False$
|
||||
HoldOnFlag = True$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event OLE_SUBCLASS.OnComboClick(CtrlId, Sel, Value)
|
||||
|
||||
|
||||
Send_Event(CtrlId, 'LOSTFOCUS')
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event OLE_RPT_RDS_LIST.OnSelChange()
|
||||
|
||||
|
||||
If MemberOf(@User4, 'ENGINEERING') then
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
Enabled = (SelRDSList NE '')
|
||||
@ -320,50 +345,50 @@ Event OLE_RPT_RDS_LIST.OnSelChange()
|
||||
HoldOnFlag = False$
|
||||
HoldOffFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_RUN.CLICK()
|
||||
|
||||
GoSub GetRdsColumns
|
||||
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.List', '')
|
||||
Set_Property(@Window, '@OrigList', '')
|
||||
|
||||
WoNo = ''
|
||||
|
||||
SearchBy = Get_Property(@Window:'.RAG_SEARCH_BY', 'VALUE')
|
||||
SearchValue = Get_Property(@Window:'.EDL_SEARCH', 'TEXT')
|
||||
If SearchBy _EQC 'reactor' then
|
||||
ReactorConfigKey = 'WO_DAILY_SCHED':SearchValue
|
||||
WoNo = Field(Xlate('CONFIG', ReactorConfigKey, WOCust$, 'X'), ' ', 1)
|
||||
end
|
||||
|
||||
If SearchBy _EQC 'wono' then
|
||||
WoNo = SearchValue
|
||||
end
|
||||
|
||||
RDSList = ''
|
||||
If WoNo then
|
||||
RDSList = RDS_Services('GetRDSData', WoNo, RDSColumns, True$, '')
|
||||
end
|
||||
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
|
||||
GoSub Setup_OLE_Controls
|
||||
|
||||
// Turn off AutoPopulate for performance reasons
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', False$)
|
||||
|
||||
SRP_Show_Window(@Window, 'SYSTEM', 'C', 'C', 1, '', False$, False$, FormSize)
|
||||
|
||||
// Turn AutoPopulate back on
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', True$)
|
||||
Set_Property(RDSRptCtrl, "OLE.AlwaysShowSelection", True$)
|
||||
Send_Message(RDSRptCtrl, "OLE.UnselectAll")
|
||||
Send_Message(@Window, "SET_ZORDER", '')
|
||||
|
||||
|
||||
GoSub GetRdsColumns
|
||||
|
||||
Set_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.List', '')
|
||||
Set_Property(@Window, '@OrigList', '')
|
||||
|
||||
WoNo = ''
|
||||
|
||||
SearchBy = Get_Property(@Window:'.RAG_SEARCH_BY', 'VALUE')
|
||||
SearchValue = Get_Property(@Window:'.EDL_SEARCH', 'TEXT')
|
||||
If SearchBy _EQC 'reactor' then
|
||||
ReactorConfigKey = 'WO_DAILY_SCHED':SearchValue
|
||||
WoNo = Field(Xlate('CONFIG', ReactorConfigKey, WOCust$, 'X'), ' ', 1)
|
||||
end
|
||||
|
||||
If SearchBy _EQC 'wono' then
|
||||
WoNo = SearchValue
|
||||
end
|
||||
|
||||
RDSList = ''
|
||||
If WoNo then
|
||||
RDSList = RDS_Services('GetRDSData', WoNo, RDSColumns, True$, '')
|
||||
end
|
||||
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
|
||||
GoSub Setup_OLE_Controls
|
||||
|
||||
// Turn off AutoPopulate for performance reasons
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', False$)
|
||||
|
||||
SRP_Show_Window(@Window, 'SYSTEM', 'C', 'C', 1, '', False$, False$, FormSize)
|
||||
|
||||
// Turn AutoPopulate back on
|
||||
Set_Property(RDSRptCtrl, 'OLE.AutoPopulate', True$)
|
||||
Set_Property(RDSRptCtrl, "OLE.AlwaysShowSelection", True$)
|
||||
Send_Message(RDSRptCtrl, "OLE.UnselectAll")
|
||||
Send_Message(@Window, "SET_ZORDER", '')
|
||||
|
||||
end event
|
||||
|
||||
|
||||
@ -372,11 +397,11 @@ end event
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Setup_OLE_Controls:
|
||||
|
||||
|
||||
Qualify = ''
|
||||
Qualify<1> = 1
|
||||
Qualify<4> = 0
|
||||
|
||||
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
RDSPicCtrl = @Window : '.OLE_PIC_RDS_LIST_DIV'
|
||||
|
||||
@ -404,7 +429,7 @@ Setup_OLE_Controls:
|
||||
// Adjust the form and ReportTable control size based on the number of RDS records in the work order.
|
||||
AdditionalRowsAdj = 0
|
||||
AdditionalRowsAdj += (NumRDS - 1) * 20
|
||||
|
||||
|
||||
// Ensure window and controls are sized within client machine's max resolution.
|
||||
ProposedNewHeight = FormSize<4> + AdditionalRowsAdj
|
||||
SystemWindowSize = Get_Property('SYSTEM', 'SIZE')
|
||||
@ -427,16 +452,16 @@ Setup_OLE_Controls:
|
||||
GoSub RefreshRowColors
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
RefreshRowColors:
|
||||
|
||||
|
||||
RDSRptCtrl = @Window : '.OLE_RPT_RDS_LIST'
|
||||
NumRDS = DCount(RDSList, @FM)
|
||||
|
||||
// Fill report table with RDS data
|
||||
Set_Property(RDSRptCtrl, 'OLE.List', RDSList)
|
||||
|
||||
|
||||
// Color every other cell to increase row distinguishability
|
||||
Colors = ''
|
||||
If NumRDS GT 1 then
|
||||
@ -455,106 +480,106 @@ return
|
||||
|
||||
GetRdsColumns:
|
||||
|
||||
GoSub GetView
|
||||
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
RDSColumns = ''
|
||||
RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME'
|
||||
RDSColumns<0, 2> = 'WO'
|
||||
RDSColumns<0, 3> = 'WO_STEP'
|
||||
RDSColumns<0, 4> = 'SEQ'
|
||||
RDSColumns<0, 5> = 'REACTOR'
|
||||
RDSColumns<0, 6> = 'RUN_ORDER_NUM'
|
||||
RDSColumns<0, 7> = 'UNLOAD_THICK_TEST'
|
||||
RDSColumns<0, 8> = 'HGCV_TEST'
|
||||
RDSColumns<0, 9> = 'DATE_IN'
|
||||
RDSColumns<0, 10> = 'TIME_IN'
|
||||
RDSColumns<0, 11> = 'DATE_OUT'
|
||||
RDSColumns<0, 12> = 'TIME_OUT'
|
||||
RDSColumns<0, 13> = 'PART_NUM'
|
||||
RDSColumns<0, 14> = 'LOT_NUM'
|
||||
RDSColumns<0, 15> = 'SUPPL_INST'
|
||||
RDSColumns<0, 16> = 'HOLD_STATUS'
|
||||
end else
|
||||
RDSColumns = ''
|
||||
RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME'
|
||||
RDSColumns<0, 2> = 'WO'
|
||||
RDSColumns<0, 3> = 'WO_STEP'
|
||||
RDSColumns<0, 4> = 'SEQ'
|
||||
RDSColumns<0, 5> = 'REACTOR'
|
||||
RDSColumns<0, 6> = 'RUN_ORDER_NUM'
|
||||
RDSColumns<0, 7> = 'UNLOAD_THICK_TEST'
|
||||
RDSColumns<0, 8> = 'HGCV_TEST'
|
||||
RDSColumns<0, 9> = 'DATE_IN'
|
||||
RDSColumns<0, 10> = 'TIME_IN'
|
||||
RDSColumns<0, 11> = 'DATE_OUT'
|
||||
RDSColumns<0, 12> = 'TIME_OUT'
|
||||
RDSColumns<0, 13> = 'ELAPSED_HOURS'
|
||||
RDSColumns<0, 14> = 'PART_NUM'
|
||||
RDSColumns<0, 15> = 'LOT_NUM'
|
||||
RDSColumns<0, 16> = 'COMB_STATUS'
|
||||
RDSColumns<0, 17> = 'NCR_SUM'
|
||||
RDSColumns<0, 18> = 'NCR_REJ_CNT_SUM'
|
||||
RDSColumns<0, 19> = 'HOLD_STATUS'
|
||||
RDSColumns<0, 20> = 'SUPPL_INST'
|
||||
end
|
||||
|
||||
GoSub GetView
|
||||
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
RDSColumns = ''
|
||||
RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME'
|
||||
RDSColumns<0, 2> = 'WO'
|
||||
RDSColumns<0, 3> = 'WO_STEP'
|
||||
RDSColumns<0, 4> = 'SEQ'
|
||||
RDSColumns<0, 5> = 'REACTOR'
|
||||
RDSColumns<0, 6> = 'RUN_ORDER_NUM'
|
||||
RDSColumns<0, 7> = 'UNLOAD_THICK_TEST'
|
||||
RDSColumns<0, 8> = 'HGCV_TEST'
|
||||
RDSColumns<0, 9> = 'DATE_IN'
|
||||
RDSColumns<0, 10> = 'TIME_IN'
|
||||
RDSColumns<0, 11> = 'DATE_OUT'
|
||||
RDSColumns<0, 12> = 'TIME_OUT'
|
||||
RDSColumns<0, 13> = 'PART_NUM'
|
||||
RDSColumns<0, 14> = 'LOT_NUM'
|
||||
RDSColumns<0, 15> = 'SUPPL_INST'
|
||||
RDSColumns<0, 16> = 'HOLD_STATUS'
|
||||
end else
|
||||
RDSColumns = ''
|
||||
RDSColumns<0, 1> = 'ABBREV_OR_CO_NAME'
|
||||
RDSColumns<0, 2> = 'WO'
|
||||
RDSColumns<0, 3> = 'WO_STEP'
|
||||
RDSColumns<0, 4> = 'SEQ'
|
||||
RDSColumns<0, 5> = 'REACTOR'
|
||||
RDSColumns<0, 6> = 'RUN_ORDER_NUM'
|
||||
RDSColumns<0, 7> = 'UNLOAD_THICK_TEST'
|
||||
RDSColumns<0, 8> = 'HGCV_TEST'
|
||||
RDSColumns<0, 9> = 'DATE_IN'
|
||||
RDSColumns<0, 10> = 'TIME_IN'
|
||||
RDSColumns<0, 11> = 'DATE_OUT'
|
||||
RDSColumns<0, 12> = 'TIME_OUT'
|
||||
RDSColumns<0, 13> = 'ELAPSED_HOURS'
|
||||
RDSColumns<0, 14> = 'PART_NUM'
|
||||
RDSColumns<0, 15> = 'LOT_NUM'
|
||||
RDSColumns<0, 16> = 'COMB_STATUS'
|
||||
RDSColumns<0, 17> = 'NCR_SUM'
|
||||
RDSColumns<0, 18> = 'NCR_REJ_CNT_SUM'
|
||||
RDSColumns<0, 19> = 'HOLD_STATUS'
|
||||
RDSColumns<0, 20> = 'SUPPL_INST'
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
GetColumnList:
|
||||
|
||||
GoSub GetView
|
||||
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
ColumnList = ''
|
||||
ColumnList<1> = 'Customer' : @VM : 'TEXT' : @VM : 120 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<2> = 'WO No' : @VM : 'NUMBER' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<3> = 'Step' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<4> = 'RDS' : @VM : 'NUMBER' : @VM : 60 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '###' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<5> = 'Rx' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<6> = 'Run' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 25 : @VM : 'Center' : @VM : @VM :'##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<7> = 'UL Thk' : @VM : 'BOOL' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<8> = 'HgCv' : @VM : 'BOOL' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<9> = 'Date In' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<10> = 'Time In' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<11> = 'Date Out' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<12> = 'Time Out' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<13> = 'Cust Part No' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<14> = 'Lot Number' : @VM : 'TEXT' : @VM : 80 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<15> = 'Supplement' : @VM : 'P' : @VM : 160 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<16> = 'Hold Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
end else
|
||||
ColumnList = ''
|
||||
ColumnList<1> = 'Customer' : @VM : 'TEXT' : @VM : 120 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<2> = 'WO No' : @VM : 'NUMBER' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<3> = 'Step' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<4> = 'RDS' : @VM : 'NUMBER' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '###' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<5> = 'Rx' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<6> = 'Run' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 25 : @VM : 'Center' : @VM : @VM :'##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<7> = 'UL Thk' : @VM : 'BOOL' : @VM : 55 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<8> = 'HgCv' : @VM : 'BOOL' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<9> = 'Date In' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<10> = 'Time In' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<11> = 'Date Out' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<12> = 'Time Out' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<13> = 'Elapsed Hours' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<14> = 'Cust Part No' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<15> = 'Lot Number' : @VM : 'TEXT' : @VM : 100 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<16> = 'Combined Status' : @VM : 'TEXT' : @VM : 125 : @VM : @VM : @VM : @VM : @VM : @VM : 125 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<17> = 'NCR Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<18> = 'NCR Wfr Cnt' : @VM : 'NUMBER' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<19> = 'Hold Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<20> = 'Supplement' : @VM : 'P' : @VM : 160 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
end
|
||||
|
||||
GoSub GetView
|
||||
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
ColumnList = ''
|
||||
ColumnList<1> = 'Customer' : @VM : 'TEXT' : @VM : 120 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<2> = 'WO No' : @VM : 'NUMBER' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<3> = 'Step' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<4> = 'RDS' : @VM : 'NUMBER' : @VM : 60 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '###' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<5> = 'Rx' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<6> = 'Run' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 25 : @VM : 'Center' : @VM : @VM :'##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<7> = 'UL Thk' : @VM : 'BOOL' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<8> = 'HgCv' : @VM : 'BOOL' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<9> = 'Date In' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<10> = 'Time In' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<11> = 'Date Out' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<12> = 'Time Out' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<13> = 'Cust Part No' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<14> = 'Lot Number' : @VM : 'TEXT' : @VM : 80 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<15> = 'Supplement' : @VM : 'P' : @VM : 160 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<16> = 'Hold Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
end else
|
||||
ColumnList = ''
|
||||
ColumnList<1> = 'Customer' : @VM : 'TEXT' : @VM : 120 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<2> = 'WO No' : @VM : 'NUMBER' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<3> = 'Step' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<4> = 'RDS' : @VM : 'NUMBER' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : '###' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<5> = 'Rx' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : '#######' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<6> = 'Run' : @VM : 'NUMBER' : @VM : 30 : @VM : @VM : @VM : @VM : @VM : @VM : 25 : @VM : 'Center' : @VM : @VM :'##': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<7> = 'UL Thk' : @VM : 'BOOL' : @VM : 55 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<8> = 'HgCv' : @VM : 'BOOL' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : 'Yes' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<9> = 'Date In' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<10> = 'Time In' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA' : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<11> = 'Date Out' : @VM : 'DATE' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'MM/DD/YY': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<12> = 'Time Out' : @VM : 'TIME' : @VM : 50 : @VM : @VM : @VM : @VM : @VM : @VM : 60 : @VM : 'Center' : @VM : @VM : 'hh:mmAA': @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<13> = 'Elapsed Hours' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 50 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<14> = 'Cust Part No' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<15> = 'Lot Number' : @VM : 'TEXT' : @VM : 100 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<16> = 'Combined Status' : @VM : 'TEXT' : @VM : 125 : @VM : @VM : @VM : @VM : @VM : @VM : 125 : @VM : 'Left' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<17> = 'NCR Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<18> = 'NCR Wfr Cnt' : @VM : 'NUMBER' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 30 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<19> = 'Hold Status' : @VM : 'TEXT' : @VM : 75 : @VM : @VM : @VM : @VM : @VM : @VM : 40 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
ColumnList<20> = 'Supplement' : @VM : 'P' : @VM : 160 : @VM : @VM : @VM : @VM : @VM : @VM : 75 : @VM : 'Center' : @VM : @VM : @VM : @VM : 'Segoe UI,9'
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
GetView:
|
||||
|
||||
CurrentViewSelection = Get_Property(@Window:'.RAG_VIEW', 'VALUE')
|
||||
|
||||
CurrentViewSelection = Get_Property(@Window:'.RAG_VIEW', 'VALUE')
|
||||
|
||||
return
|
||||
|
||||
|
||||
@ -581,11 +606,11 @@ GetExistingSupps:
|
||||
Next J
|
||||
end
|
||||
If RDSSupps NE '' then
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
RDSList<I,15> = RDSSupps
|
||||
end else
|
||||
RDSList<I,20> = RDSSupps
|
||||
end
|
||||
If CurrentViewSelection _EQC 'quick' then
|
||||
RDSList<I,15> = RDSSupps
|
||||
end else
|
||||
RDSList<I,20> = RDSSupps
|
||||
end
|
||||
end
|
||||
End
|
||||
Next I
|
||||
@ -594,36 +619,36 @@ return
|
||||
|
||||
|
||||
CheckSelectedForHolds:
|
||||
|
||||
If Unassigned(HoldOnFlag) then HoldOnFlag = False$
|
||||
|
||||
If Unassigned(HoldOnFlag) then HoldOnFlag = False$
|
||||
If Unassigned(HoldOffFlag) then HoldOffFlag = False$
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
If SelRDSList NE '' then
|
||||
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
|
||||
RDSKeys = SelRDSList<4>
|
||||
Swap @VM with @FM in RDSKeys
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
|
||||
For K = 1 to SelCount
|
||||
WOMatKey = Xlate('RDS', RDSKeys<K>, 'WO_MAT_KEY', 'X', '')
|
||||
HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
|
||||
If HoldCheck EQ True$ AND HoldOffFlag EQ False$ then
|
||||
HoldOffFlag = True$
|
||||
end
|
||||
If HoldCheck EQ False$ AND HoldOnFlag EQ False$ then
|
||||
HoldOnFlag = True$
|
||||
end
|
||||
Until HoldOnFlag EQ True$ and HoldOffFlag EQ True$
|
||||
Next K
|
||||
SelRDSList = Get_Property(@Window : '.OLE_RPT_RDS_LIST', 'OLE.SelList')
|
||||
If SelRDSList NE '' then
|
||||
SelRDSList = SRP_Array('Rotate', SelRDSList, @FM, @VM)
|
||||
RDSKeys = SelRDSList<4>
|
||||
Swap @VM with @FM in RDSKeys
|
||||
SelCount = DCount(RDSKeys, @FM)
|
||||
|
||||
For K = 1 to SelCount
|
||||
WOMatKey = Xlate('RDS', RDSKeys<K>, 'WO_MAT_KEY', 'X', '')
|
||||
HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
|
||||
If HoldCheck EQ True$ AND HoldOffFlag EQ False$ then
|
||||
HoldOffFlag = True$
|
||||
end
|
||||
If HoldCheck EQ False$ AND HoldOnFlag EQ False$ then
|
||||
HoldOnFlag = True$
|
||||
end
|
||||
Until HoldOnFlag EQ True$ and HoldOffFlag EQ True$
|
||||
Next K
|
||||
end
|
||||
if MemberOf(@USER4, 'ENG_TECH') OR MemberOf(@USER4, 'LEAD') OR MemberOf(@USER4, 'SUPERVISOR') then
|
||||
// IF ANY SELECTED LOTS ARE ON HOLD, ENABLE PUB_OFF_HOLD
|
||||
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', HoldOffFlag)
|
||||
// IF ANY SELECTED LOTS ARE ON HOLD, ENABLE PUB_OFF_HOLD
|
||||
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', HoldOffFlag)
|
||||
end else
|
||||
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', False$)
|
||||
Set_Property(@Window:'.PUB_OFF_HOLD', 'ENABLED', False$)
|
||||
end
|
||||
// IF ANY SELECTED LOTS ARE NOT ON HOLD, ENABLE PUB_ON_HOLD
|
||||
Set_Property(@Window:'.PUB_ON_HOLD', 'ENABLED', HoldOnFlag)
|
||||
|
||||
Set_Property(@Window:'.PUB_ON_HOLD', 'ENABLED', HoldOnFlag)
|
||||
|
||||
return
|
||||
|
||||
|
@ -38,8 +38,9 @@ $insert EVENT_SETUP
|
||||
$insert WO_MAT_EQUATES
|
||||
$insert MSG_EQUATES
|
||||
|
||||
Declare subroutine SRP_Show_Window, ErrMsg, Error_Services, Hold_Services
|
||||
Declare subroutine SRP_Show_Window, ErrMsg, Error_Services, Hold_Services, Labeling_Services
|
||||
Declare function Database_Services, WM_Out_Services, RGB, SRP_Array, MemberOf, Error_Services, Hold_Services
|
||||
Declare function Datetime, Printer_Select
|
||||
|
||||
SubclassInfo = Form_Services('FindSubclassControl')
|
||||
Subclass = SubclassInfo<1>
|
||||
@ -138,12 +139,11 @@ Event PUB_OK.CLICK()
|
||||
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ON_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
* SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
* SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
WMOutKeys = ''
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
@ -160,20 +160,44 @@ Event PUB_ON_HOLD.CLICK()
|
||||
Swap @VM with @FM in WMOutKeys
|
||||
Swap @VM with @FM in WOMAtKeys
|
||||
SelCount = DCount(WMOutKeys, @FM)
|
||||
* WOMatKeys = Xlate('WM_OUT', WMOutKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
Transition = False$
|
||||
HoldEntity = 'WM_OUT'
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType)
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('EnableMultipleHolds', WOMatKeys, 'WM_OUT', WMOutKeys, 'NDW_WM_OUT_QUICK_QUERY', '', HoldData)
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
Set_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.ItemValue[8;' : ThisPos : ']', 'On Hold')
|
||||
Next L
|
||||
Hold_Services('EnableMultipleHolds', WOMatKeys, HoldEntity, WMOutKeys, 'NDW_WM_OUT_QUICK_QUERY', '', HoldData)
|
||||
IF Error_Services("HasError") THEN
|
||||
ErrCode = Error_Services("GetMessage")
|
||||
ErrMsg(errCode)
|
||||
end else
|
||||
MsgInfo = ''
|
||||
MsgInfo<MTYPE$> = 'BNY'
|
||||
MsgInfo<MTEXT$> = 'Hold Successful. Would you like to print label(s)?'
|
||||
MsgInfo<MICON$> = '!'
|
||||
PrintLabel = Msg(@WINDOW,MsgInfo,'')
|
||||
HoldBy = HoldData<1>
|
||||
Reason = HoldData<2>
|
||||
Stage = HoldData<4>
|
||||
Interrupted = HoldData<5>
|
||||
DTM = Datetime()
|
||||
If PrintLabel EQ True$ then
|
||||
PrinterId = Printer_Select(PrinterID)
|
||||
end
|
||||
Reactor = 'EPP'
|
||||
For L = 1 to SelCount
|
||||
ThisPos = SelPos<L>
|
||||
Set_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.ItemValue[8;' : ThisPos : ']', 'On Hold')
|
||||
PSN = Xlate('WM_OUT', WMOutKeys<L>, 'PS_NO', 'X')
|
||||
If PrintLabel EQ True$ then
|
||||
Labeling_Services('PrintHoldLabel', HoldEntity, WMOutKeys<L>, Stage, Reason, HoldBy, DTM, PSN, Reactor, Interrupted, PrinterID)
|
||||
end
|
||||
Next L
|
||||
|
||||
HoldOffFlag = True$
|
||||
HoldOnFlag = False$
|
||||
Gosub CheckSelectedForHolds
|
||||
end
|
||||
end
|
||||
|
||||
end event
|
||||
@ -183,8 +207,6 @@ Event PUB_OFF_HOLD.CLICK()
|
||||
|
||||
SelPos = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelPos')
|
||||
SelCount = Dcount(SelPos, @VM)
|
||||
* SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
* SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
WMOutKeys = ''
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
@ -201,7 +223,6 @@ Event PUB_OFF_HOLD.CLICK()
|
||||
Swap @VM with @FM in WMOutKeys
|
||||
Swap @VM with @FM in WOMAtKeys
|
||||
SelCount = DCount(WMOutKeys, @FM)
|
||||
* WOMatKeys = Xlate('WM_OUT', WMOutKeys, 'WO_MAT_KEY', 'X', '')
|
||||
Transition = True$
|
||||
HoldType = 'HOLD'
|
||||
HoldData = ''
|
||||
@ -433,6 +454,7 @@ RefreshRowColors:
|
||||
|
||||
return
|
||||
|
||||
|
||||
CheckSelectedForHolds:
|
||||
|
||||
If Unassigned(HoldOnFlag) then HoldOnFlag = False$
|
||||
@ -440,17 +462,11 @@ CheckSelectedForHolds:
|
||||
SelWMOList = Get_Property(@Window : '.OLE_RPT_WM_OUT_LIST', 'OLE.SelList')
|
||||
If SelWMOList NE '' then
|
||||
SelWMOList = SRP_Array('Rotate', SelWMOList, @FM, @VM)
|
||||
* WMOutKeys = SelWMOList<4>
|
||||
HoldStatuses = SelWMOList<8>
|
||||
* Swap @VM with @FM in WMOutKeys
|
||||
* SelCount = DCount(WMOutKeys, @FM)
|
||||
|
||||
Swap @VM with @FM in HoldStatuses
|
||||
SelCount = DCount(HoldStatuses, @FM)
|
||||
|
||||
For K = 1 to SelCount
|
||||
* WOMatKey = Xlate('WM_OUT', WMOutKeys<K>, 'WO_MAT_KEY', 'X', '')
|
||||
* HoldCheck = Hold_Services('CheckForHold', WOMatKey, '')
|
||||
HoldText = HoldStatuses<K>
|
||||
If HoldText = 'On Hold' then
|
||||
HoldCheck = True$
|
||||
|
@ -147,6 +147,7 @@ Event WINDOW.READ()
|
||||
Set_Property(@Window:'.WAFERS_IN', 'BACKCOLOR', '')
|
||||
end
|
||||
end
|
||||
|
||||
end event
|
||||
|
||||
|
||||
@ -581,6 +582,7 @@ Setup_OLE_Controls:
|
||||
return
|
||||
|
||||
ChangeLLStatus:
|
||||
|
||||
If ReactNo EQ '' then
|
||||
return
|
||||
end
|
||||
@ -624,7 +626,9 @@ ChangeLLStatus:
|
||||
|
||||
return
|
||||
|
||||
|
||||
OLE_LL_Status:
|
||||
|
||||
IF @Window EQ 'RDS' then
|
||||
|
||||
RedNormal = "Vertical(Gradient(Red L=90, Red L=80, 30%), Gradient(Red L=75, Red L=80), Border(Red))"
|
||||
@ -636,7 +640,6 @@ OLE_LL_Status:
|
||||
OrangePushed = "Vertical(Gradient(Orange L=90, Orange L=80, 5%), Gradient(Orange L=75, Orange L=80), Border(Orange))"
|
||||
|
||||
GreenNormal = "Vertical(Gradient(Green L=90, Green L=80, 30%), Gradient(Green L=75, Green L=80), Border(Green))"
|
||||
//GreenHover = "Vertical(Gradient(Green L=90, Green L=80, 90%), Gradient(Green L=75, Green L=80), Border(Green))"
|
||||
|
||||
bgUp = ''
|
||||
bgUp<1> = GreenNormal
|
||||
@ -727,13 +730,3 @@ OLE_LL_Status:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user