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

310 lines
6.4 KiB
Plaintext

COMPILE ROUTINE FIX_COC(Dummy)
ROWDEF (CHARSTR)
* Use to add shipment record numbers to WOMatKey based on WO or ship date + reactor type
DECLARE SUBROUTINE obj_Schedule,Send_Dyn,Send_Info, obj_Shipment,RList, Btree.Extract, obj_WM_Out, obj_WO_Mat, Set_Status, Send_Dyn
DECLARE SUBROUTINE obj_WO_Mat_Log, Set_Property, ErrMsg
DECLARE FUNCTION Get_Status, Set_Printer
$INSERT COC_EQUATES
$INSERT WO_LOG_EQUATES
$INSERT RDS_EQUATES
$INSERT WO_MAT_EQUATES
$INSERT WM_OUT_EQUATES
equ TARGET_ACTIVELIST$ to 5
EQU TAB$ TO \09\
OPEN 'COC' TO ShipFile ELSE
DEBUG
GOTO Bail
END
OPEN 'DICT.COC' TO DictVar ELSE
DEBUG
GOTO Bail
END
OPEN 'WO_MAT' TO WOMatTable ELSE
DEBUG
GOTO Bail
END
OPEN 'FTP_QUEUE' TO QFile ELSE
DEBUG
GOTO Bail
END
DEBUG
SelectStatement = 'SELECT FTP_QUEUE WITH SHIP_NO FROM 136094 TO 136119 BY SHIP_NO'
RList(SelectStatement,TARGET_ACTIVELIST$, "", "", "")
IF Get_Status(errCode) THEN DEBUG
ShipKeys = ''
Done = 0
LOOP
READNEXT ShipKey ELSE Done = 1
UNTIL Done
*DELETE QFile,ShipKey THEN
*DELETE ShipFile,ShipKey THEN
Send_Dyn(ShipKey:' - deleted')
*END
*END
ShipKeys := ShipKey:@VM
*Send_Dyn(ShipKey)
REPEAT
GOTO Bail
Done = 0
RecCnt = 0
FixCnt = 0
FOR Ship = 1 TO ShipCnt
ShipNo = ShipKeys<1,Ship>
READ ShipRec FROM ShipFile,ShipNo THEN
RecCnt += 1
WONo = ShipRec<COC_WO_NO$>
StepNos = ShipRec<COC_WO_STEP$>
CassNos = ShipRec<COC_CASS_NO$>
wmlWONos = '' ;* parameters for obj_WO_Mat_Log('Create' call
wmlCassNos = ''
wmlCassIDs = ''
CassCnt = COUNT(CassNos,@VM) + (CassNos NE '')
FOR I = 1 TO CassCnt
StepNo = StepNos<1,I>
CassNo = CassNos<1,I>
WOMatKey = WONo:'*':CassNo
READ WOMatRec FROM WOMatTable,WOMatKey THEN
IF WOMatRec<WO_MAT_SHIP_NO$> = '' OR WOMatRec<WO_MAT_SHIP_NO$> NE ShipNo THEN
obj_WO_Mat('AddShip',WOMatKey:@RM:ShipNo)
IF Get_Status(errCode) THEN
DEBUG
END
END
WMOutKey = WOMatRec<WO_MAT_WMO_KEY$>
ShipDTM = OCONV(ShipRec<COC_PICK_DTM$>,'DT4/^S')
LOCATE 'SHIP' IN WOMatRec<WO_MAT_INV_ACTION$> USING @VM SETTING Pos ELSE
wmlWONos<1,-1> = WONo
wmlCassNos<1,-1> = CassNo
IF WMOutKey NE '' THEN
obj_WM_Out('AddShip',WMOutKey:@RM:ShipNo)
wmlCassIDs<1,-1> = 'O':WONo:'.':StepNo:'.':CassNo
END ELSE
wmlCassIDs<1,-1> = WOMatRec<WO_MAT_RDS_NO$>[-1,'B':@VM] ;* Ship RDS No
END
END ;* End of check for SHIP inventory log entry
END ;* End of WOMatRec READ
*Set_Property('TEST.STATUS_LINE','TEXT','Shipments: ':RecCnt:' Fixed: ':FixCnt:' ':I:' of ':'Cassettes: ':CassCnt)
NEXT I
IF WmlCassNos NE '' THEN
oWMLParms = 'WO_MAT':@RM ;* LogFile
oWMLParms := ShipDTM:@RM ;* Use PickDTM from shipment record
oWMLParms := 'SHIP':@RM ;* Action
oWMLParms := 'SR':@RM ;* WhCd = Shipping / Receiving
oWMLParms := 'SB':@RM ;* LocCd = Shipping Bench
oWMLParms := wmlWONos:@RM ;* WONo(s)
oWMLParms := wmlCassNos:@RM ;* CassNos(s)
oWMLParms := 'SAP':@RM ;* User ID
oWMLParms := wmlCassIDs ;* CassIDs (whats on the label in the bar code!)
obj_WO_Mat_Log('Create',oWMLParms)
IF Get_Status(errCode) THEN ErrMsg(errCode)
FixCnt += 1
END ;* End of check for wmlCassNos not null
END ;* End of ShipRec READ
Set_Property('TEST.STATUS_LINE','TEXT','Shipments: ':Ship:' Cassettes Fixed: ':FixCnt)
NEXT Ship
GOTO Bail
* * * * * * * Existing routine on 10/1/2014 * * * * * * * *
*SelectStatement = 'SELECT COC WITH SHIP_DT > "6/19/2014" AND WITH REACTOR_TYPE = "EPP" ' ; * Change the SHIP_DT and REACTOR_TYPE as needed to fix by Date and Reactor type
*SelectStatement = 'SELECT COC WITH WO_NO = "158121" ' ; * Change the WO_NO as needed to fix by single WO
*SelectStatement = 'SELECT COC WITH WO_NO 157745 157805 157819 ' ; * Change the WO_NO as needed to fix by multiple WO's
RList(SelectStatement,TARGET_ACTIVELIST$, "", "", "") ; * This RList statement performs the actual listing based on the SelectStatements above (which one is active)
DEBUG
Done = 0
RecCnt = 0
LOOP
READNEXT ShipNo ELSE Done = 1
UNTIL DONE
READ ShipRec FROM ShipFile,ShipNo THEN
RecCnt += 1
WONo = ShipRec<COC_WO_NO$>
CassNos = ShipRec<COC_CASS_NO$>
StepNos = ShipRec<COC_WO_STEP$>
cassCnt = COUNT(CassNos,@VM) + (CassNos NE '')
FOR I = 1 TO cassCnt
CassNo = CassNos<1,I>
WOMatKey = WONo:'*':CassNo
WOMatRec = XLATE('WO_MAT',WOMatKey,'','X')
WOMatShipNo = WOMatRec<WO_MAT_SHIP_NO$>
IF WOMatShipNo = '' Then ;* If no ship_no then write ship_no to WO_MAT record from the COC record
*obj_WO_Mat('AddShip',WOMatKey:@RM:ShipNo) ;* Remove * to make hot for WO_MAT fix -dkk 7/31/14
Send_Dyn(ShipNo:' Added to WO_MAT ':WOMatKey)
END
WMOKey = WOMatRec<WO_MAT_WMO_KEY$>
IF WMOKey NE '' THEN ;* EpiPro - If no ship_no in WMO key, then write ship_no to WM_OUT record from the COC record
WMOutRec = XLATE('WM_OUT',WMOKey,'','X')
IF WMOutRec<WM_OUT_SHIP_NO$> = '' THEN
*obj_WM_Out('AddShip',WMOKey:@RM:ShipNo) ;* Remove * to make hot for EpiPro fix -dkk 7/31/14
Send_Dyn(ShipNo:' Added to WM_OUT ':WMOKey)
END
END
NEXT I
END
REPEAT
GOTO Bail
* * * * * * * * * * *
DEBuG
SELECT ShipFile
Done = 0
RecCnt = 0
FixCnt = 0
LOOP
READNEXT ShipNo ELSE Done = 1
UNTIL Done
READ ShipRec FROM ShipFile,ShipNo THEN
RecCnt += 1
ReactType = ShipRec<COC_REACTOR_TYPE$>
ReactCode = ''
BEGIN CASE
CASE ReactType = 'A' ; ReactCode = 'ASM+'
CASE ReactType = 'P' ; ReactCode = 'EPP'
CASE ReactType = 'E' ; ReactCode = 'ASM'
CASE ReactType = 'H' ; ReactCode = 'HTR'
CASE ReactType = 'C' ; ReactCode = 'SIG'
CASE 1 ; NULL
END CASE
IF ReactCode NE '' THEN
ShipRec<COC_REACTOR_TYPE$> = ReactCode
*WRITE ShipRec ON ShipFile,ShipNo THEN
FixCnt += 1
Send_Info(FixCnt:TAB$:ShipNo:' ':ReactType:' -> ':ReactCode)
*END
END ;* End of check for WriteFlag
END ;* End of record read
REPEAT
GOTO Bail
* * * * * * *
Bail:
* * * * * * *
END