162 lines
3.1 KiB
Plaintext
162 lines
3.1 KiB
Plaintext
COMPILE FUNCTION Comm_Dialog_WO_Cass_Qty(Method, Parm1, Parm2)
|
|
|
|
/*
|
|
Commuter module for Dialog_WO_Cass_Qty window.
|
|
|
|
08/20/2004 - John C. Henry, J.C. Henry & Co., Inc.
|
|
*/
|
|
|
|
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg
|
|
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg
|
|
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Send_Message
|
|
|
|
EQU CRLF$ TO \0D0A\
|
|
|
|
$INSERT APPCOLORS
|
|
|
|
|
|
ErrTitle = 'Error in Comm_Dialog_WO_Cass_Qty'
|
|
ErrorMsg = ''
|
|
|
|
Result = ''
|
|
|
|
BEGIN CASE
|
|
CASE Method = 'Create' ; GOSUB Create
|
|
CASE Method = 'OK' ; GOSUB OK
|
|
CASE Method = 'Cancel' ; GOSUB Cancel
|
|
CASE Method = 'Refresh' ; GOSUB Refresh
|
|
CASE Method = 'Close' ; GOSUB Close
|
|
CASE Method = 'InsertRow' ; GOSUB InsertRow
|
|
CASE Method = 'DeleteRow' ; GOSUB DeleteRow
|
|
CASE 1
|
|
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
|
|
|
|
END CASE
|
|
|
|
|
|
RETURN Result
|
|
|
|
|
|
* * * * * * *
|
|
Create:
|
|
* * * * * * *
|
|
|
|
obj_AppWindow('Create')
|
|
|
|
Title = Parm1[1,@FM]
|
|
LotQty = Parm1[COL2()+1,@FM]
|
|
CassCnt = Parm1[COL2()+1,@FM]
|
|
CassQty = Parm1[COL2()+1,@FM]
|
|
|
|
Set_Property(@WINDOW,'TEXT',Title)
|
|
Set_Property(@WINDOW:'.LOT_QTY','TEXT',LotQty)
|
|
|
|
IF CassQty = '' THEN
|
|
Set_Property(@WINDOW:'.CASS_QTYS','ARRAY',STR(@VM,CassCnt-1))
|
|
END ELSE
|
|
CONVERT @SVM TO @VM IN CassQty
|
|
Set_Property(@WINDOW:'.CASS_QTYS','ARRAY',CassQty)
|
|
END
|
|
|
|
|
|
GOSUB Refresh
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Refresh:
|
|
* * * * * * *
|
|
|
|
LotQty = Get_Property(@WINDOW:'.LOT_QTY','TEXT',LotQty)
|
|
CassQtys = Get_Property(@WINDOW:'.CASS_QTYS','ARRAY')
|
|
|
|
LotQty = ICONV(LotQty,'MD0')
|
|
CassQtyTot = SUM(CassQtys)
|
|
|
|
Remainder = LotQty - CassQtyTot
|
|
|
|
Set_Property(@WINDOW:'.REMAINDER','TEXT',Remainder)
|
|
|
|
BEGIN CASE
|
|
CASE Remainder > 0
|
|
Set_Property(@WINDOW:'.REMAINDER','BACKCOLOR',YELLOW$)
|
|
Set_Property(@WINDOW:'.OK_BUTTON','ENABLED',0)
|
|
|
|
CASE Remainder = 0
|
|
Set_Property(@WINDOW:'.REMAINDER','BACKCOLOR',GREEN$)
|
|
Set_Property(@WINDOW:'.OK_BUTTON','ENABLED',1)
|
|
|
|
CASE Remainder < 0
|
|
Set_Property(@WINDOW:'.REMAINDER','BACKCOLOR',RED$)
|
|
Set_Property(@WINDOW:'.OK_BUTTON','ENABLED',0)
|
|
|
|
END CASE
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
Close:
|
|
* * * * * * *
|
|
|
|
|
|
* * * * * * *
|
|
Cancel:
|
|
* * * * * * *
|
|
|
|
End_Dialog(@WINDOW,'Cancel')
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
InsertRow:
|
|
* * * * * * *
|
|
|
|
CtrlEntID = @WINDOW:'.CASS_QTYS'
|
|
RowIndex = Parm1
|
|
Dummy = Send_Message(CtrlEntID, "DELETE", RowIndex)
|
|
|
|
ErrMsg('Close this window and change the quantity in the Cass Cnt field to increase the number of cassettes.')
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
DeleteRow:
|
|
* * * * * * *
|
|
|
|
CtrlEntID = @WINDOW:'.CASS_QTYS'
|
|
RowIndex = Parm1
|
|
DeletedRow = Parm2
|
|
|
|
Dummy = Send_Message(CtrlEntID, "INSERT", RowIndex, DeletedRow)
|
|
|
|
ErrMsg('Close this window and change the quantity in the Cass Cnt field to decrease the number of cassettes.')
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
OK:
|
|
* * * * * * *
|
|
|
|
CassQtys = Get_Property(@WINDOW:'.CASS_QTYS','ARRAY',CassQty)
|
|
|
|
LOOP
|
|
UNTIL CassQtys[-1,1] NE @VM OR CassQtys = ''
|
|
CassQtys[-1,1] = ''
|
|
REPEAT
|
|
|
|
CONVERT @VM TO @SVM IN CassQtys
|
|
|
|
End_Dialog(@WINDOW,CassQtys)
|
|
|
|
RETURN
|
|
|
|
|