open-insight/LSL2/STPROC/WO_MAT_BATCH.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

336 lines
6.9 KiB
Plaintext

COMPILE FUNCTION WO_Mat_Batch(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
/*
Commuter module for WO_Mat_Batch window
10/5/2009 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, Center_Window, Post_Event
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow,
DECLARE SUBROUTINE obj_Notes, Security_Err_Msg, End_Window, Forward_Event, Start_Window, Create_Note, Print_SAP_Cass_Ship_Label
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals
DECLARE FUNCTION Send_Message, Msg, Security_Check, Select_Into, MemberOf
$INSERT MSG_EQUATES
$INSERT APPCOLORS
$INSERT LSL_USERS_EQU
$INSERT SECURITY_RIGHTS_EQU
$INSERT WO_LOG_EQUATES
$INSERT WO_MAT_EQUATES
$INSERT REACT_RUN_EQUATES
$INSERT POPUP_EQUATES
$INSERT LOGICAL
$INSERT RTI_STYLE_EQUATES
EQU CRLF$ TO \0D0A\
EQU TAB$ TO \09\
ErrTitle = 'Error in WO_MAT_BATCH'
ErrorMsg = ''
Result = ''
BEGIN CASE
CASE EntID = @WINDOW
BEGIN CASE
CASE Event = 'CLEAR' ; GOSUB Clear
CASE Event = 'CREATE' ; GOSUB Create
CASE Event = 'CLOSE' ; GOSUB Close
CASE Event = 'READ' ; GOSUB Read
CASE Event = 'WRITE' ; GOSUB Write
CASE Event[1,3] = 'QBF' ; GOSUB Refresh
END CASE
CASE EntID = @WINDOW:'.USE_ORG_BATCH' AND Event = 'CLICK' ; GOSUB UseOrgBatch
CASE EntID = @WINDOW:'.USE_LOT_NO' AND Event = 'CLICK' ; GOSUB UseLotNo
CASE EntID = @WINDOW:'.CASS_NO' AND EVENT = 'GOTFOCUS' ; GOSUB LUCassNo
CASE EntID = @WINDOW:'.PRINT_LABELS' AND EVENT = 'CLICK' ; GOSUB PrintLabels
CASE EntID = @WINDOW:'.LU_RDS_NOS' AND EVENT = 'CLICK' ; GOSUB LURDSNos
CASE 1
DEBUG
ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter'
ErrMsg(ErrorMsg)
END CASE
IF ErrorMsg NE '' THEN
ErrMsg(ErrTitle:@SVM:ErrorMsg)
END
RETURN Result
* * * * * * *
Create:
* * * * * * *
obj_Appwindow('Create',@WINDOW)
IF MemberOf(@USER4, 'OI_SUPERUSER') THEN
Set_Property(@WINDOW:'.SEND_SPC','VISIBLE',1)
Set_Property(@WINDOW:'.SPC_DTM','VISIBLE',1)
END ELSE
Set_Property(@WINDOW:'.SEND_SPC','VISIBLE',0)
Set_Property(@WINDOW:'.SPC_DTM','VISIBLE',0)
END
* Set result table special styles (Dropdowns)
GOSUB Refresh
RETURN
* * * * * * *
Clear:
* * * * * * *
IF Get_Property(@WINDOW,'@READONLY') THEN
obj_AppWindow('ReadOnly',@RM:1) ;* Reenables data bound controls
Set_Property(@WINDOW,'@READONLY',0) ;* Clear flag on window
END
* * * * * * *
Refresh:
* * * * * * *
* Turn edit table symbolic column backgrounds to green **************************************************
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
ETCtrls = ETSymbolics<1>
ETCols = ETSymbolics<2>
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
ETCtrl = ETCtrls<1,I>
ETList = Get_Property(ETCtrl,'LIST')
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
IF ETList<Line,1> NE '' THEN
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
NEXT N
END
NEXT I
NEXT I
RETURN
* * * * * * *
LURDSNos:
* * * * * * *
RDSNos = Get_Property(@WINDOW:'.XREF_RDS','DEFPROP')
RDSCnt = COUNT(RDSNos,@VM) + (RDSNos NE '')
WOMatKeys = ''
FOR I = 1 TO RDSCnt
RDSNo = RDSNos<1,I>
IF RDSNo NE '' THEN
ReactRunRec = XLATE('REACT_RUN',RDSNo,'','X')
WONo = ReactRunRec<REACT_RUN_WO_NO$>
CassNo = ReactRunRec<REACT_RUN_CASS_NO$>
WOMatKeys<1,-1> = WONo:'*':CassNo
END
NEXT I
IF INDEX(WOMatKeys,@VM,1) THEN
Set_Property(@WINDOW,'QBFLIST',WOMatKeys)
END ELSE
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WOMatKeys)
END
Set_Property(@WINDOW:'.XREF_RDS','DEFPROP',STR(@VM,18))
RETURN
* * * * * * *
UseOrgBatch:
* * * * * * *
OrgBatch = Get_Property(@WINDOW:'.ORG_SAP_BATCH_NO','DEFPROP')
Set_Property(@WINDOW:'.SAP_BATCH_NO','DEFPROP',OrgBatch)
RETURN
* * * * * * *
UseLotNo:
* * * * * * *
LotNo = Get_Property(@WINDOW:'.LOT_NO','DEFPROP')
Set_Property(@WINDOW:'.SAP_BATCH_NO','DEFPROP',LotNo)
RETURN
* * * * * * *
LUCassNo:
* * * * * * *
WONo = Get_Property(@WINDOW:'.WO_NO','DEFPROP')
IF WONo NE '' THEN
TypeOver = ''
TypeOver<PDISPLAY$> = 'WITH WO_NO = ':WONo
TypeOver<PFIELD$> = 2 ;* Cass No(s)
PopupLines = POPUP(@WINDOW,TypeOver,'WO_MAT_FIXIT')
IF PopupLines = '' THEN RETURN
IF INDEX(PopupLines,@FM,1) THEN
LineCnt = COUNT(PopupLines,@FM) + (PopupLines NE '')
WOMatKeys = ''
FOR I = 1 TO LineCnt
WOMatKeys<1,-1> = WONo:'*':PopupLines<I,2>
NEXT I
Send_Event(@WINDOW,'QBFINIT')
Set_Property(@WINDOW,'QBFLIST',WOMatKeys)
GOSUB Refresh
Send_Event(@WINDOW,'QBFIRST')
END ELSE
CassNo = PopupLines<1,2>
Set_Property(@WINDOW:'.CASS_NO','DEFPROP',CassNo)
Send_Event(@WINDOW:'.CASS_NO','LOSTFOCUS')
END
END
RETURN
* * * * * * *
PrintLabels:
* * * * * * *
QBFList = Get_Property(@WINDOW,'QBFLIST')
IF QBFList = '' THEN
WONo = Get_Property(@WINDOW:'.WO_NO','DEFPROP')
CassNo = Get_Property(@WINDOW:'.CASS_NO','DEFPROP')
WOMatKeys = WONo:'*':CassNo
END ELSE
WOMatKeys = QBFList
END
WOMatCnt = COUNT(WOMatKeys,@FM) + (WOMatKeys NE '')
PrintLabelWOs = ''
PLSteps = ''
PLCassNos = ''
PLRDSNos = ''
FOR I = 1 TO WOMatCnt
WOMatKey = WOMatKeys<I>
WOSteps = XLATE('WO_LOG',WONo,WO_LOG_WO_STEP_KEY$,'X')[-1,'B':@VM]
StepNo = WOSteps[-1,'B*']
CassNo = FIELD(WOMatKey,'*',2)
RDSNo = XLATE('WO_MAT',WOMatKey,WO_MAT_RDS_NO$,'X')[-1,'B':@VM]
LOCATE WONo IN PrintLabelWOs BY 'AR' USING @FM SETTING Pos THEN
LOCATE CassNo IN PLCassNos<Pos> BY 'AR' USING @VM SETTING CassPos ELSE
PLSteps = INSERT(PLSteps,Pos,CassPos,0,StepNo)
PLCassNos = INSERT(PLCassNos,Pos,CassPos,0,CassNo)
PLRDSNos = INSERT(PLRDSNos,Pos,CassPos,0,RDSNo)
END
END ELSE
PrintLabelWOs = INSERT(PrintLabelWOs,Pos,0,0,WONo)
PLSteps = INSERT(PLSteps,Pos,0,0,StepNo)
PLCassNos = INSERT(PLCassNos,Pos,0,0,CassNo)
PLRDSNos = INSERT(PLRDSNos,Pos,0,0,RDSNo)
END
NEXT I
WOCnt = COUNT(PrintLabelWOs,@FM) + (PrintLabelWOs NE '')
FOR I = 1 TO WOCnt
PrintLabelWO = PrintLabelWOs<I>
PrintLabelProdOrd = XLATE('WO_LOG',PrintLabelWO,WO_LOG_PROD_ORD_NO$,'X')
IF PrintLabelProdOrd NE '' THEN
Print_SAP_Cass_Ship_Label(PrintLabelWO,PLSteps<I>,PLCassNos<I>,PLRDSNos<I>)
END
NEXT I
RETURN
* * * * * * *
Read:
* * * * * * *
GOSUB Refresh
RETURN
* * * * * * *
Write:
* * * * * * *
ParentWindow = Get_Property(@WINDOW,'PARENT')
IF ParentWindow = 'WO_MAT' THEN
ParentWindow = Get_Property(@WINDOW,'PARENT')
ParentKey = Get_Property(@WINDOW,'@RETURNKEY')
obj_AppWindow('LoadFormKeys',ParentWindow:@RM:ParentKey)
Post_Event(@WINDOW,'CLOSE')
END
RETURN
* * * * * * *
Close:
* * * * * * *
RETURN