187 lines
4.4 KiB
Plaintext
187 lines
4.4 KiB
Plaintext
COMPILE Subroutine Move_Order_Detail(Dummy)
|
|
|
|
DECLARE SUBROUTINE SEND_INFO, Utility, Msg, RList, ErrMsg, Set_Status, obj_WO_Log, Send_Info
|
|
DECLARE FUNCTION Printer_Select, Get_Printer, Set_Printer, obj_Install,Get_Status, obj_Order
|
|
|
|
$INSERT ORDER_EQU
|
|
$INSERT WO_LOG_EQU
|
|
$INSERT PROD_SPEC_EQU
|
|
$INSERT WO_STEP_EQU
|
|
$INSERT SCHEDULE_EQU
|
|
$INSERT RLIST_EQUATES
|
|
$INSERT APPCOLORS
|
|
$INSERT RDS_EQU
|
|
|
|
|
|
EQU ST$WO TO 1
|
|
EQU ST$ORD_NO TO 2
|
|
EQU ST$QUOTE_NO TO 3
|
|
EQU ST$PRICE TO 4
|
|
EQU ST$LOT_NOS TO 5
|
|
EQU ST$LOT_QTYS TO 6
|
|
EQU ST$PART_NOS TO 7
|
|
EQU ST$SUB_PART_NOS TO 8
|
|
EQU ST$WAF_INV_IDS TO 9
|
|
EQU ST$SCHED_IDS TO 10
|
|
EQU ST$ADD_CHG_DESCS TO 11
|
|
EQU ST$ADD_CHG_AMTS TO 12
|
|
EQU ST$CASS_CNT TO 13
|
|
EQU ST$CASS_QTY TO 14
|
|
|
|
ErrorTitle = 'Error in Stored Procedure Move_Order_Detail'
|
|
ErrorMsg = ''
|
|
|
|
OPEN 'ORDER' TO OrderTable ELSE
|
|
ErrorMsg = 'Unable to open "ORDER" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
OPEN 'DICT.ORDER' TO @DICT ELSE
|
|
ErrorMsg = 'Unable to open "DICT.ORDER" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
|
|
OPEN 'WO_LOG' TO WOLogTable ELSE
|
|
ErrorMsg = 'Unable to open "WO_LOG" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
OPEN 'WO_STEP' TO WOStepTable ELSE
|
|
ErrorMsg = 'Unable to open "WO_STEP" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
OPEN 'SCHEDULE' TO SchedTable ELSE
|
|
ErrorMsg = 'Unable to open "SCHEDULE" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
OPEN 'RDS' TO RDSTable ELSE
|
|
ErrorMsg = 'Unable to open "RDS" table.'
|
|
ErrMsg(ErrorTitle:@SVM:ErrorMsg)
|
|
RETURN
|
|
END
|
|
|
|
|
|
SelectSent = 'SELECT ORDER WITH ENTRY_DATE > = "1 10 2005"'
|
|
|
|
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
|
|
|
|
Done = 0
|
|
LOOP
|
|
READNEXT OrderNo ELSE Done = 1
|
|
UNTIL Done
|
|
|
|
READ OrderRec FROM OrderTable,OrderNo THEN
|
|
Set_Status(0)
|
|
WOUpdates = obj_Order('Ord_WOLog',OrderNo:@RM:OrderRec)
|
|
|
|
IF Get_Status(errCode) THEN DEBUG
|
|
|
|
FOR I = 1 TO COUNT(WOUpdates,@RM) + (WOUpdates NE '')
|
|
WOUpdate = FIELD(WOUpdates,@RM,I,1)
|
|
|
|
WONo = WOUpdate<ST$WO>
|
|
|
|
READ WOLogRec FROM WOLogTable,WONo THEN
|
|
QuoteNo = WOUpdate<ST$QUOTE_NO>
|
|
QuoteDetKeys = XLATE('QUOTE',QuoteNo,35,'X')
|
|
IF INDEX(QuoteDetKeys,@VM,1) ELSE
|
|
|
|
WOLogRec<WO_LOG_ORDER_NO$> = OrderNo
|
|
WOLogRec<WO_LOG_QUOTE_NO$> = WOUpdate<ST$QUOTE_NO>
|
|
WOLogRec<WO_LOG_UNIT_PRICE$> = WOUpdate<ST$PRICE>
|
|
|
|
WOLogRec<WO_LOG_LOT_NO$> = WOUpdate<ST$LOT_NOS>
|
|
WOLogRec<WO_LOG_LOT_QTY$> = WOUpdate<ST$LOT_QTYS>
|
|
WOLogRec<WO_LOG_PART_NO$> = WOUpdate<ST$PART_NOS>
|
|
WOLogRec<WO_LOG_SUB_PART_NO$> = WOUpdate<ST$SUB_PART_NOS>
|
|
WOLogRec<WO_LOG_WAF_INV_ID$> = WOUpdate<ST$WAF_INV_IDS>
|
|
WOLogRec<WO_LOG_SCHED_ID$> = WOUpdate<ST$SCHED_IDS>
|
|
WOLogRec<WO_LOG_ADD_CHG_DESC$> = WOUpdate<ST$ADD_CHG_DESCS>
|
|
WOLogRec<WO_LOG_ADD_CHG_AMT$> = WOUpdate<ST$ADD_CHG_AMTS>
|
|
|
|
|
|
WRITE WOLogRec ON WOLogTable,WONo THEN
|
|
Send_Info('WONo ':WONo)
|
|
END ELSE
|
|
ErrMsg('Unable to write WO_Log Record ':WONo:' in Write event of ORDER Window')
|
|
END
|
|
|
|
END ;* End of check for
|
|
END ELSE
|
|
GOTO Skip
|
|
END ;* End of WOLOgRec READ
|
|
NEXT I
|
|
SKIP:
|
|
END ;* End of ORDER record read
|
|
|
|
REPEAT
|
|
|
|
|
|
|
|
* * * * * * *
|
|
JumpHere:
|
|
* * * * * * *
|
|
|
|
SelectSent = 'SELECT WO_LOG WITH ENTRY_DATE >= "1/10/2005"'
|
|
|
|
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
|
|
RecCnt = 0
|
|
Done = 0
|
|
LOOP
|
|
READNEXT WONo ELSE Done = 1
|
|
UNTIL Done
|
|
|
|
READ WORec FROM WOLogTable,WoNo THEN
|
|
RecCnt += 1
|
|
Send_Info(RecCnt)
|
|
WOStepKeys = WORec<WO_LOG_WO_STEP_KEY$>
|
|
|
|
FOR I = 1 TO COUNT(WOStepKeys,@VM) + (WOStepKeys NE '')
|
|
WOStepKey = WOStepKeys<1,I>
|
|
WOStepRec = XLATE('WO_STEP',WOStepKey,'','X')
|
|
|
|
SchedIDs = WOStepRec<WO_STEP_SCHED_ID$>
|
|
SchedCnt = COUNT(SchedIDs,@VM) + (SchedIDs NE '')
|
|
Send_Info('SchedCnt: ':SchedCnt)
|
|
|
|
FOR N = 1 TO SchedCnt
|
|
SchedID = SchedIDs<1,N>
|
|
Set_Status(0)
|
|
obj_WO_Log('AddSchedDetail',WoNo:@RM:SchedID)
|
|
IF Get_Status(errCode) THEN DEBUG
|
|
|
|
RDSKeys = XLATE('SCHEDULE',SchedID,SCHEDULE_RDS_IDS$,'X')
|
|
|
|
FOR M = 1 TO COUNT(RDSKeys,@VM) + (RDSKeys NE '')
|
|
RDSKey = RDSKeys<1,M>
|
|
READ RDSRec FROM RDSTable,RDSKey THEN
|
|
RDSRec<RDS_WO_STEP_KEY$> = WOStepKey
|
|
WRITE RDSRec ON RDSTable,RDSKey THEN Send_Info('RDS: ':RDSKey)
|
|
END
|
|
NEXT M
|
|
NEXT N
|
|
|
|
NEXT I
|
|
|
|
|
|
|
|
END ;* end of WORec read
|
|
REPEAT
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|