added LSL2 stored procedures
This commit is contained in:
523
LSL2/STPROC/COMM_WO_LOG_TABLES.txt
Normal file
523
LSL2/STPROC/COMM_WO_LOG_TABLES.txt
Normal file
@ -0,0 +1,523 @@
|
||||
COMPILE FUNCTION Comm_WO_Log_Tables(Instruction, Parm1,Parm2)
|
||||
|
||||
/*
|
||||
Commuter module for WO_Log2 (Work Order Log) window edit table functions
|
||||
|
||||
08/16/2004 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, obj_Notes, obj_WO_Step, Start_Window
|
||||
DECLARE SUBROUTINE Btree.Extract, Send_Event, Forward_Event, End_Window,Comm_WO_Log, Popup, obj_Tables
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists
|
||||
DECLARE FUNCTION Dialog_Box, obj_RDS
|
||||
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT WO_LOG_EQU
|
||||
$INSERT ORDER_EQU
|
||||
$INSERT ORDER_DET_EQU
|
||||
$INSERT SCHEDULE_EQU
|
||||
$INSERT RDS_EQU
|
||||
$INSERT PROD_SPEC_EQU
|
||||
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
EQU COL$QUOTE_DESC TO 1
|
||||
EQU COL$SETUP_CHG TO 4
|
||||
EQU COL$SRP_CHG TO 5
|
||||
EQU COL$WAFER_PRICE TO 6
|
||||
|
||||
EQU COL$ADD_DESC TO 1
|
||||
EQU COL$ADD_AMT TO 2
|
||||
|
||||
|
||||
EQU COL$CASS_NO TO 1
|
||||
EQU COL$LOT_NO TO 2
|
||||
EQU COL$QTY TO 3
|
||||
EQU COL$SUB_PART_NO TO 4
|
||||
EQU COL$VEND_CD TO 5
|
||||
EQU COL$EPI_PART_NO TO 6
|
||||
EQU COL$RX_DTM TO 7
|
||||
EQU COL$REL_DTM TO 8
|
||||
EQU COL$CURR_STATUS TO 9
|
||||
EQU COL$SAP_TX_DTM TO 10
|
||||
EQU COL$SAP_BATCH_NO TO 11
|
||||
EQU COL$CASS_ID_SAP TO 12
|
||||
EQU COL$SAP_YIELD TO 13
|
||||
EQU COL$SAP_CONFIRM_SCRAP TO 14
|
||||
EQU COL$SAP_GR_QTY TO 15
|
||||
EQU COL$SAP_RAW_SCRAP_QTY TO 16
|
||||
EQU COL$SAP_PROD_TEST_QTY TO 17
|
||||
EQU COL$SAP_MU_QTY TO 18
|
||||
|
||||
|
||||
|
||||
EQU COL$STEP TO 1
|
||||
EQU COL$PSN TO 2
|
||||
EQU COL$DOPANT TO 3
|
||||
EQU COL$THICK TO 4
|
||||
EQU COL$THICK_UNITS TO 5
|
||||
EQU COL$RESIST TO 6
|
||||
EQU COL$RESIST_UNITS TO 7
|
||||
EQU COL$DESC TO 8
|
||||
EQU COL$STEP_STATUS TO 9
|
||||
EQU COL$STEP_SCHED TO 10
|
||||
EQU COL$STEP_SCHED_DTM TO 11
|
||||
|
||||
|
||||
|
||||
ErrTitle = 'Error in Comm_WO_Log_Tables'
|
||||
ErrorMsg = ''
|
||||
|
||||
Result = ''
|
||||
|
||||
BEGIN CASE
|
||||
|
||||
CASE Instruction = 'QuotePriceDC' ; GOSUB QuotePriceDC
|
||||
CASE Instruction = 'PSPartDC' ; GOSUB PSPartDC
|
||||
CASE Instruction = 'ShipDC' ; GOSUB ShipDC
|
||||
CASE Instruction = 'ProcStepDC' ; GOSUB ProcStepDC
|
||||
CASE Instruction = 'WOStepDC' ; GOSUB WOStepDC
|
||||
CASE Instruction = 'PartStepDC' ; GOSUB WOStepDC
|
||||
CASE Instruction = 'Reorder' ; GOSUB Reorder
|
||||
CASE Instruction = 'CassDC' ; GOSUB CassDC
|
||||
CASE Instruction = 'CassInsert' ; GOSUB CassInsert
|
||||
CASE Instruction = 'CassDelete' ; GOSUB CassDelete
|
||||
|
||||
|
||||
CASE 1
|
||||
ErrorMsg = 'Unknown Instruction passed to routine'
|
||||
END CASE
|
||||
|
||||
RETURN Result
|
||||
|
||||
|
||||
* * * * * * *
|
||||
QuotePriceDC:
|
||||
* * * * * * *
|
||||
|
||||
* DoubleClick event handler for the Quotes Table
|
||||
|
||||
CtrlEntId = @WINDOW:'.QUOTE_PRICING'
|
||||
|
||||
CurrPos = Get_Property(CtrlEntId,'SELPOS')
|
||||
RowData = Get_Property(CtrlEntId,'ROWDATA')
|
||||
ColData = Get_Property(CtrlEntId,'ARRAY')
|
||||
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
IF CurrCol = COL$SETUP_CHG AND RowData<CurrCol> NE '' THEN
|
||||
NewDesc = RowData<COL$QUOTE_DESC>
|
||||
NewAddChg = RowData<COL$SETUP_CHG>
|
||||
|
||||
AddChgDescs = Get_Property(@WINDOW:'.ADD_CHG','ARRAY')<1> ;* 1st column in edit table
|
||||
|
||||
LineCnt = 0
|
||||
FOR I = 1 TO COUNT(AddChgDescs,@VM) + (AddChgDescs NE '')
|
||||
UNTIL AddChgDescs<1,I> = ''
|
||||
LineCnt += 1
|
||||
NEXT I
|
||||
|
||||
Set_Property(@WINDOW:'.ADD_CHG','CELLPOS',NewDesc,COL$ADD_DESC:@FM:LineCnt+1)
|
||||
Set_Property(@WINDOW:'.ADD_CHG','CELLPOS',NewAddChg,COL$ADD_AMT:@FM:LineCnt+1)
|
||||
END ;* End of check for Setup Charge column
|
||||
|
||||
IF CurrCol = COL$SRP_CHG AND RowData<CurrCol> NE '' THEN
|
||||
NewDesc = RowData<COL$QUOTE_DESC>
|
||||
NewAddChg = RowData<COL$SRP_CHG>
|
||||
|
||||
AddChgDescs = Get_Property(@WINDOW:'.ADD_CHG','ARRAY')<1> ;* 1st column in edit table
|
||||
|
||||
LineCnt = 0
|
||||
FOR I = 1 TO COUNT(AddChgDescs,@VM) + (AddChgDescs NE '')
|
||||
UNTIL AddChgDescs<1,I> = ''
|
||||
LineCnt += 1
|
||||
NEXT I
|
||||
|
||||
Set_Property(@WINDOW:'.ADD_CHG','CELLPOS',NewDesc,COL$ADD_DESC:@FM:LineCnt+1)
|
||||
Set_Property(@WINDOW:'.ADD_CHG','CELLPOS',NewAddChg,COL$ADD_AMT:@FM:LineCnt+1)
|
||||
END ;* End of check for SRP Charge column
|
||||
|
||||
|
||||
IF CurrCol = COL$WAFER_PRICE AND RowData<CurrCol> NE '' THEN
|
||||
|
||||
NewWaferPrice = RowData<COL$WAFER_PRICE>
|
||||
|
||||
Set_Property(@WINDOW:'.UNIT_PRICE','DEFPROP',NewWaferPrice)
|
||||
|
||||
END ;* End of check for SRP Charge column
|
||||
|
||||
Comm_WO_Log('Refresh')
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
PSPartDC:
|
||||
* * * * * * *
|
||||
|
||||
RETURN ; ******** 7/23/2014 Control no longer in the window jch
|
||||
|
||||
CtrlEntID = @WINDOW:'.PS_PARTS'
|
||||
|
||||
CurrPartPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
PartNo = Get_Property(CtrlEntID,'CELLPOS',CurrPartPos)
|
||||
|
||||
CurrArray = Get_Property(@WINDOW:'.SCHED_IDS','ARRAY')
|
||||
|
||||
PartNos = CurrArray<COL$PART_NO>
|
||||
|
||||
CurrPos = Get_Property(@WINDOW:'.SCHED_IDS','SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
IF Get_Property(@WINDOW:'.SCHED_IDS','CELLPOS',COL$PART_NO:@FM:CurrRow) = '' THEN
|
||||
Set_Property(@WINDOW:'.SCHED_IDS','CELLPOS',PartNo,COL$PART_NO:@FM:CurrRow)
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ProcStepDC:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
WOStepDC:
|
||||
* * * * * * *
|
||||
IF @USER4 EQ 'JONATHAN_O' then debug
|
||||
CtrlEntID = Get_Property(@WINDOW,'FOCUS')
|
||||
|
||||
WONo = Get_Property(@WINDOW : '.EDL_WO_NO', 'DEFPROP')
|
||||
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
|
||||
StepNo = Get_Property(CtrlEntID,'CELLPOS',COL$STEP:@FM:CurrRow)
|
||||
PSNo = Get_Property(CtrlEntId,'CELLPOS',COL$PSN:@FM:CurrRow)
|
||||
ReactorType = XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X') ;* Not used in program 8/28/2014 JCH
|
||||
|
||||
|
||||
BEGIN CASE
|
||||
CASE CurrCol = COL$STEP
|
||||
|
||||
IF WONo NE '' AND StepNo NE '' THEN
|
||||
|
||||
WOStepKey = WONo:'*':StepNo
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
*IF ReactorType = 'P' THEN
|
||||
* DetWindow = 'WO_PROD_EPI'
|
||||
*END ELSE
|
||||
DetWindow = 'WO_STEP'
|
||||
*END
|
||||
|
||||
DetKeys = WONo:'*':StepNo
|
||||
DefaultRec = ''
|
||||
RetKey = WONo
|
||||
RetPage = 1
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
oAParms = DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewDetail',oAParms)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
CASE CurrCol = COL$PSN
|
||||
|
||||
IF PSNo NE '' THEN
|
||||
|
||||
* Display the Prod Spec Window
|
||||
|
||||
obj_AppWindow('ViewRelated','PROD_SPEC':@RM:PSNo)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
CASE 1
|
||||
|
||||
NULL
|
||||
|
||||
END CASE
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ShipDC:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.SHIPMENTS'
|
||||
|
||||
WONo = Get_Property(@WINDOW,'ID')
|
||||
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
ShipNo = Get_Property(CtrlEntID,'CELLPOS',1:@FM:CurrRow)
|
||||
|
||||
IF WONo NE '' AND ShipNo NE '' THEN
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
DetWindow = 'COC'
|
||||
DetKeys = ShipNo
|
||||
DefaultRec = ''
|
||||
RetKey = WONo
|
||||
RetPage = 4
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
oAParms = DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewDetail',oAParms)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
* * * * * * *
|
||||
Reorder:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.CASS_NO'
|
||||
|
||||
RelStamp = Get_Property(@WINDOW:'.REL_STAMP','TEXT')
|
||||
|
||||
IF RelStamp NE '' THEN
|
||||
Message = 'Work order has been released to production.||Cassettes may only be renumbered prior to release'
|
||||
ErrMsg('Cassette Reorder Process':@SVM:Message)
|
||||
RETURN
|
||||
END
|
||||
|
||||
OrgCassList = Get_Property(CtrlEntId,'LIST')
|
||||
|
||||
IF OrgCassList<1,1> = '' THEN RETURN
|
||||
|
||||
BlankLineCnt = 0
|
||||
LOOP
|
||||
LastLine = OrgCassList[-1,'B':@FM] ;* [] Operation sets COL1() and COL2()
|
||||
UNTIL LastLine<1,1> NE '' OR LastLine = ''
|
||||
OrgCassList[COL1(),COL2()] = '' ;* Strip trailing blank lines from edit table controls
|
||||
BlankLineCnt += 1
|
||||
REPEAT
|
||||
|
||||
ListCnt = COUNT(OrgCassList,@FM) + (OrgCassList NE '')
|
||||
|
||||
CONVERT @VM TO @SVM IN OrgCassList
|
||||
CONVERT @FM TO @VM IN OrgCassList
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = OrgCassList
|
||||
|
||||
ReSelect:
|
||||
|
||||
SortedCassList = Popup(@WINDOW,TypeOver,'WO_CASSETTE_SORT')
|
||||
IF SortedCassList = '' OR SortedCassList = CHAR(27) THEN RETURN
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||
|
||||
ResultCnt = COUNT(SortedCassList,@FM) + (SortedCassList NE '')
|
||||
|
||||
IF ResultCnt NE ListCnt THEN
|
||||
Message = 'All cassettes must be selected in the order they are to be processed.'
|
||||
ErrMsg('Cassette Reorder Process':@SVM:Message)
|
||||
GOTO ReSelect
|
||||
END
|
||||
|
||||
FOR I = 1 TO ResultCnt
|
||||
SortedCassList<I,1> = I
|
||||
NEXT I
|
||||
|
||||
BlankLines = STR(STR(@VM,6):@FM,BlankLineCnt)
|
||||
SortedCassList<-1> = BlankLines
|
||||
|
||||
SortedCassList[-1,1] = '' ;* Trailing @FM
|
||||
|
||||
Set_Property(CtrlEntID,'LIST',SortedCassList)
|
||||
|
||||
Comm_WO_Log('Refresh')
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
CassDC:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.CASS_NO'
|
||||
|
||||
WONo = Get_Property(@WINDOW,'ID')
|
||||
|
||||
IF WONo = '' THEN RETURN
|
||||
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
|
||||
BEGIN CASE
|
||||
CASE CurrCol = COL$CASS_ID_SAP
|
||||
CassID = Get_Property(CtrlEntID,'CELLPOS',COL$CASS_ID_SAP:@FM:CurrRow)
|
||||
|
||||
BEGIN CASE
|
||||
|
||||
CASE CassID = '' ; RETURN
|
||||
|
||||
CASE INDEX(CassID,'.',1)
|
||||
|
||||
WMOutKey = CassID[1,'.']:'*1*':CassID[COL2()+1,'.']
|
||||
|
||||
DetWindow = 'WM_OUT'
|
||||
DetKeys = WMOutKey
|
||||
DefaultRec = ''
|
||||
RetKey = WONo
|
||||
RetPage = 2
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
oAParms = DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewDetail',oAParms)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
CASE NUM(CassID)
|
||||
RDSNo = CassID
|
||||
|
||||
IF RDSNo NE '' THEN
|
||||
|
||||
Set_Property(@WINDOW,'@RETURN_FROM_RDS',WONo) ;* Bullshit lashup to work with multiple RDS windows
|
||||
|
||||
thisFormName = 'RDS'
|
||||
|
||||
thisFormWindowUp = Get_Property(thisFormName,'VISIBLE') ;* Returns 0 = hidden, 1 = visible, 2 = minimized, 3 = maximized
|
||||
|
||||
IF thisFormWindowUp = '' THEN
|
||||
If Get_Property('NDW_MAIN', 'VISIBLE') then
|
||||
AppMain = 'NDW_MAIN'
|
||||
end else
|
||||
AppMain = 'LSL_MAIN2'
|
||||
end
|
||||
Start_Window(thisFormName,AppMain,RDSNo:'*CENTER', '', '') ;* Put up the card window
|
||||
|
||||
RETURN
|
||||
END
|
||||
|
||||
IF thisFormWindowUp = 2 THEN Set_Property(thisFormName,'VISIBLE',9) ;* Restore the window if minimized
|
||||
|
||||
IF Get_Property(thisFormName,'SAVEWARN') THEN
|
||||
Send_Event(thisFormName,'CLEAR') ;* Clear anything existing (prompts for save first)
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
END CASE
|
||||
|
||||
|
||||
CASE 1
|
||||
CassNo = Get_Property(CtrlEntID,'CELLPOS',COL$CASS_NO:@FM:CurrRow)
|
||||
IF CassNo = '' THEN RETURN
|
||||
|
||||
WOMatKey = WONo:'*':CassNo
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
DetWindow = 'WO_MAT'
|
||||
DetKeys = WONo:'*':CassNo
|
||||
DefaultRec = ''
|
||||
RetKey = WONo
|
||||
RetPage = 2
|
||||
RetCtrl = CtrlEntID
|
||||
RetPos = CurrPos
|
||||
|
||||
oAParms = DetWindow:@RM:DetKeys:@RM:DefaultRec:@RM:RetKey:@RM:RetPage:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewDetail',oAParms)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
|
||||
|
||||
END CASE
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
CassInsert:
|
||||
* * * * * * *
|
||||
|
||||
CtrlName = @WINDOW:'.CASS_NO'
|
||||
|
||||
RowNo = Parm1
|
||||
|
||||
Void = Send_Message(CtrlName,'DELETE',RowNo)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
CassDelete:
|
||||
* * * * * * *
|
||||
|
||||
CtrlName = @WINDOW:'.CASS_NO'
|
||||
|
||||
RowNo = Parm1
|
||||
RowData = Parm2
|
||||
|
||||
Dummy = Send_Message(CtrlName, 'INSERT', RowNo, RowData)
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user