open-insight/LSL2/STPROC/DIALOG_FTP_QUEUE.txt
Infineon\Mitchem 8dce7988c6 Add monitoring for COC file generation and
transmission.

Commit to save progress.

Commit to save progress.

Finished ListDirectory service with full 'mls'
command functionality.

Final commit for COC availability checks.

Implement further changes requested by Daniel.
Add notifications to critical statuses and automatic status clearing.

Change Mona resource from dev to prod.
2024-12-03 09:57:32 -07:00

318 lines
6.8 KiB
Plaintext

COMPILE FUNCTION DIALOG_FTP_QUEUE(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
/*
Commuter module for DIALOG_FTP_QUEUE (Select waiting shipments and calls obj_Shipment('SendTechnical' to transmit to destination.
09/18/2014 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, obj_Shipment, obj_Tables
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow,
DECLARE SUBROUTINE End_Window, Mona_Services
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals
DECLARE FUNCTION Send_Message, Msg, Security_Check, obj_Shipment
$INSERT MSG_EQUATES
$INSERT APPCOLORS
$INSERT LSL_USERS_EQU
$INSERT SECURITY_RIGHTS_EQU
$INSERT COC_EQUATES
$INSERT FTP_QUEUE_EQUATES
$INSERT COMPANY_EQUATES
$INSERT POPUP_EQUATES
$INSERT LOGICAL
EQU CRLF$ TO \0D0A\
EQU TAB$ TO \09\
EQU COL$CUST_NO TO 1
EQU COL$CUST_NAME TO 2
EQU COL$SHIP_NO TO 1
EQU COL$SAP_DEL_NO TO 2
EQU COL$WO_NO TO 3
EQU COL$SHIP_CUST_NO TO 4
EQU COL$SHIP_CUST_INFO TO 5
EQU COL$SHIP_DTM TO 6
EQU COL$SEND_DTM TO 7
EQU COL$SEND_USER TO 8
EQU COL$SEND_REASON TO 9
ErrTitle = 'Error in Dialog_FTP_Queue commuter module'
ErrorMsg = ''
Result = ''
BEGIN CASE
CASE EntID = @WINDOW
BEGIN CASE
CASE Event = 'CREATE' ; GOSUB Create
CASE Event = 'CLOSE' ; GOSUB Close
END CASE
CASE EntID = @WINDOW:'.SELECT_QUEUE' AND Event = 'CLICK' ; GOSUB SelectQueue
CASE EntID = @WINDOW:'.SELECT_SHIPMENTS' AND Event = 'CLICK' ; GOSUB SelectShipments
CASE EntID = @WINDOW:'.TX_BUTTON' AND Event = 'CLICK' ; GOSUB TxShipments
CASE EntID = @WINDOW:'.CANCEL_BUTTON' AND Event = 'CLICK' ; GOSUB Cancel
CASE 1
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)
TimeStamp = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
*Set_Property(@WINDOW:'.READ_DTM','DEFPROP',TimeStamp)
SearchString = 'FTP_QUEUE':@VM:'#'
OPEN 'DICT.COMPANY' TO DictVar ELSE
ErrMsg('Unable to open DICT.COMPANY for Btree.Extract')
RETURN
END
Btree.Extract(SearchString,'COMPANY',DictVar,CustNos,'','')
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
CustArray = '' ;* Array of customers with the FTP_QUEUE flag set on
CustCnt = COUNT(CustNos,@VM) + (CustNos NE '')
FOR I = 1 TO CustCnt
CustNo = CustNos<1,I>
CustRec = XLATE('COMPANY',CustNo,'','X')
CustName = CustRec<COMPANY_CO_NAME$>
IF CustRec<COMPANY_CITY$> NE '' THEN
CustName := ', ':CustRec<COMPANY_CITY$>
END
CustArray<COL$CUST_NO,I> = CustNo
CustArray<COL$CUST_NAME,I> = CustName
NEXT I
Set_Property(@WINDOW:'.QUEUED_CUST','DEFPROP',CustArray)
NullTxArray = Get_Property(@WINDOW:'.TX_SHIP','DEFPROP')
Set_Property(@WINDOW,'@NULL_TX_ARRAY',NullArray)
RETURN
* * * * * * *
Close:
* * * * * * * *
RETURN
* * * * * * *
Refresh:
* * * * * * *
RETURN
* * * * * * *
Cancel:
* * * * * * *
End_Dialog(@WINDOW,'Cancel')
RETURN
* * * * * * *
SelectQueue:
* * * * * * *
ShipNos = Popup(@WINDOW,'','FTP_QUEUE')
IF ShipNos = '' THEN RETURN
IF ShipNos = CHAR(27) THEN RETURN
ShipArray = ''
ShipCnt = COUNT(ShipNos,@VM) + (ShipNos NE '')
ShipLine = 0
FOR I = 1 TO ShipCnt
ShipNo = ShipNos<1,I>
ShipRec = XLATE('COC',ShipNo,'','X')
SendDTM = ShipRec<COC_SEND_DTM$,1>
* IF SendDTM = '' THEN
ShipLine += 1
ShipArray<COL$SHIP_NO,ShipLine> = ShipNo
ShipArray<COL$SAP_DEL_NO,ShipLine> = ShipRec<COC_SAP_DEL_NO$>
ShipArray<COL$WO_NO,ShipLine> = ShipRec<COC_WO_NO$>
ShipArray<COL$SHIP_CUST_NO,ShipLine> = XLATE('COC',ShipNo,'CUST_NO','X')
ShipArray<COL$SHIP_CUST_INFO,ShipLine> = XLATE('COC',ShipNo,'CUST_CITY','X')
ShipArray<COL$SHIP_DTM,ShipLine> = OCONV(SendDTM,'DT4/^S')
SendDTMs = ShipRec<COC_SEND_DTM$>[-1,'B':@VM]
SendUsers = ShipRec<COC_SEND_DTM$>[-1,'B':@VM]
SendReasons = ShipRec<COC_SEND_REASON$>[-1,'B':@VM]
ShipArray<COL$SEND_DTM,ShipLine> = OCONV(ShipRec<COC_SEND_DTM$>[-1,'B':@VM],'DT4/^S')
ShipArray<COL$SEND_USER,ShipLine> = ShipRec<COC_SEND_USER$>[-1,'B':@VM]
ShipArray<COL$SEND_REASON,ShipLine> = ShipRec<COC_SEND_REASON$>[-1,'B':@VM]
* END ELSE
* otParms = 'FTP_QUEUE':@RM:ShipNo
* obj_Tables('DeleteRec',otParms)
*
* IF Get_Status(errCode) THEN
* ErrMsg(errCode)
* END
* END ;* End of check for null SEND_DTM
NEXT I
Set_Property(@WINDOW:'.TX_SHIP','ARRAY',ShipArray)
RETURN
* * * * * * *
SelectShipments:
* * * * * * *
SelShipNos = obj_Shipment('Find')
TypeOver = ''
TypeOver<PMODE$> = 'K'
TypeOver<PDISPLAY$> = SelShipNos
TypeOver<PSELECT$> = 2
TypeOver<PShowGauge$> = 1
ShipNos = Popup(@WINDOW,TypeOver,'COC_QUERY')
IF ShipNos = '' THEN RETURN
IF ShipNos = CHAR(27) THEN RETURN
ShipArray = ''
ShipCnt = COUNT(ShipNos,@VM) + (ShipNos NE '')
Row = 0
FOR I = 1 TO ShipCnt
ShipNo = ShipNos<1,I>
ShipRec = XLATE('COC',ShipNos,'','X')
SendDTM = ShipRec<COC_SEND_DTM$,1>
IF SendDTM = '' THEN
Row += 1
ShipArray<COL$SHIP_NO,Row> = ShipNo
ShipArray<COL$SAP_DEL_NO,Row> = ShipRec<COC_SAP_DEL_NO$>
ShipArray<COL$WO_NO,Row> = ShipRec<COC_WO_NO$>
ShipArray<COL$SHIP_CUST_NO,Row> = XLATE('COC',ShipNo,'CUST_NO','X')
ShipArray<COL$SHIP_CUST_INFO,Row> = XLATE('COC',ShipNo,'CUST_CITY','X')
ShipArray<COL$SHIP_DTM,Row> = OCONV(XLATE('FTP_QUEUE',ShipNo,1,'X'),'DT4/^S')
SendDTMs = ShipRec<COC_SEND_DTM$>[-1,'B':@VM]
SendUsers = ShipRec<COC_SEND_DTM$>[-1,'B':@VM]
SendReasons = ShipRec<COC_SEND_REASON$>[-1,'B':@VM]
ShipArray<COL$SEND_DTM,Row> = OCONV(ShipRec<COC_SEND_DTM$>[-1,'B':@VM],'DT4/^S')
ShipArray<COL$SEND_USER,Row> = ShipRec<COC_SEND_USER$>[-1,'B':@VM]
ShipArray<COL$SEND_REASON,Row> = ShipRec<COC_SEND_REASON$>[-1,'B':@VM]
END
NEXT I
Set_Property(@WINDOW:'.TX_SHIP','ARRAY',ShipArray)
GOSUB Refresh
RETURN
* * * * * * *
TxShipments:
* * * * * * *
CtrlEntID = @WINDOW:'.TX_SHIP'
ShipNos = Get_Property(@WINDOW:'.TX_SHIP','DEFPROP')<COL$SHIP_NO>
LOOP
LastChar = ShipNos[-1,1]
UNTIL LastChar NE @VM OR ShipNos = ''
ShipNos[-1,1] = ''
REPEAT
ShipCnt = COUNT(ShipNos,@VM) + (ShipNos NE '')
FOR I = 1 TO ShipCnt
ShipNo = ShipNos<1,I>
obj_Shipment('SendTechnical',ShipNo) ;* Replace with new code
IF Get_Status(errCode) THEN
ErrMsg(errCode)
END ELSE
otParms = 'FTP_QUEUE':@RM:ShipNo:@RM:@RM
obj_Tables('DeleteRec',otParms)
END
NEXT I
NullArray = Get_Property(@WINDOW,'@NULL_TX_ARRAY')
Set_Property(@WINDOW:'.TX_SHIP','DEFPROP',NullArray)
GOSUB Refresh
RETURN