open-insight/LSL2/OIEVENT/CLICK/PROD_SPEC_SI.SAVE_FIX.json
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

11 lines
5.7 KiB
JSON

{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "DECLARE SUBROUTINE End_Dialog, Security_Check, Msg, Obj_Post_Log, ErrMsg, Security_Err_Msg, Set_Status, Btree.Extract, Make.List, Set_FSError\r\nDECLARE FUNCTION Comm_Prod_Spec_SI, Popup, Security_Check, ErrMsg, Set_Status, Btree.Extract, Get_Status, Set_FSError, Msg, Database_Services\r\n\r\n$INSERT PROD_SPEC_EQUATES\r\n$INSERT MSG_EQUATES\r\n$INSERT SECURITY_RIGHTS_EQU\r\n$INSERT QUOTE_SPEC_EQU\r\n$INSERT LOGICAL\r\n$INSERT POPUP_EQUATES\r\n$INSERT RDS_EQU\r\n$INSERT REACT_RUN_EQUATES\r\n\r\nEQU CRLF$ TO CHAR(13):CHAR(10)\r\n\r\nEQU SUB_INFO$\tTO 1\r\nEQU EPI_INFO$\tTO 2\r\nEQU ADDL_INFO$\tTO 3\r\nEQU NEW_DEV$\tTO 4\r\nEQU PRE_PROD$\tTO 5\r\n\t\t\t\t\r\nRDSWarnFlag\t\t= FALSE$\r\nSpecInstFlag\t= FALSE$\r\n\r\nResults = Comm_Prod_Spec_SI('Save','')\r\n\r\nIF Results NE '' THEN\r\n\r\n\t\tReturnVal = Results\r\n\t\tHoldVar = Get_Property(@WINDOW, '@HOLDVAR')\r\n\t\r\n\t\tIF ( ReturnVal <> '' ) AND ( ReturnVal <> 'CANCEL' ) AND ( ReturnVal <> HoldVar ) THEN\r\n\t\r\n \tIF Security_Check( 'Spec', WRITE$ ) THEN\r\n \t\r\n\t\t\t\tCONVERT CHAR(244) TO @FM IN ReturnVal\r\n\t\t\t\t\r\n\t\t\t\tSpecialInst = ReturnVal<1,QSSubInstructions$>\r\n\t\t\t\tSubstrateInfo = field( HoldVar, char(244), 1 )\r\n\t\t\t\tEpiInfo = field( HoldVar, char(244), 2 )\r\n\t\t\t\tAddlInfo = field( HoldVar, char(244), 3 )\r\n\t\t\t\tNDInfo = field( HoldVar, char(244), 4 )\r\n\t\t\t\tPPInfo = field( HoldVar, char(244), 5 )\r\n\t\t\t\tHoldSpecialInst\t= SubstrateInfo<1,QSSubInstructions$>\r\n\t\t\t\tIF SpecialInst <> HoldSpecialInst\tTHEN SpecInstFlag = TRUE$\r\n\t\t\t\tIF ReturnVal<2> <> EpiInfo \t\t\tTHEN RDSWarnFlag = TRUE$\r\n\t\t\t\t\t\r\n\t\t\t\t*Set_Property(@WINDOW:'.SPEC_SUBSTRATE','TEXT', ReturnVal<SUB_INFO$>)\r\n\t\t\t\t*Set_Property(@WINDOW:'.SPEC_EPI','TEXT', ReturnVal<EPI_INFO$>)\r\n\t\t\t\t*Set_Property(@WINDOW:'.SPEC_ADDL','TEXT', ReturnVal<ADDL_INFO$>)\r\n\t\t\t\t*Set_Property(@WINDOW:'.SPEC_NEW_DEV','TEXT', ReturnVal<NEW_DEV$>)\r\n\t\t\t\t*Set_Property(@WINDOW:'.SPEC_PRE_PROD','TEXT', ReturnVal<PRE_PROD$>)\r\n\t\t\t\t\r\n\t\t\t\t*Set_Property(@WINDOW,'SAVEWARN',1)\r\n\t\t \r\n\t\t END ELSE\r\n \t\t Security_Err_Msg( 'Spec', WRITE$ )\r\n \t\tEND\r\n\t\tEND\r\n\t\t\t\r\n\t\tIF RDSWarnFlag OR SpecInstFlag THEN\r\n\t\t\r\n\t\t\tOPEN 'DICT.REACT_RUN' TO ReactRunDict ELSE\r\n\t\t\t\tErrMsg('Unable to open DICT.REACT_RUN table.')\r\n\t\t\t\tRETURN\r\n\t\t\tEND\r\n\r\n\t\t\tOPEN 'REACT_RUN' TO ReactRunFile ELSE\r\n\t\t\t\tErrmsg('Unable to open REACT_RUN table.')\r\n\t\t\t\tRETURN\r\n\t\t\tEND\r\n\t\t\t\r\n\t\t\tPSNo = Get_Property('PROD_SPEC', '@PSNo')\r\n\t\t\tPSRec = Database_Services('ReadDataRow', 'PROD_SPEC', PSNo)\r\n\t\t\tReactType = PSRec<PROD_SPEC_REACTOR_TYPE$>\r\n\t\t\tSearchString = 'PS_NO':@VM:PSNo:@FM\r\n\t\t\t\r\n\t\t\tIF ReactType = 'EPP' THEN\r\n\t\t\t\tSearchString := 'RUN_STATUS':@VM:'SPEC':@VM:'TLOAD':@VM:'RLOAD':@VM:'ULMET':@FM\r\n\t\t\tEND ELSE\r\n\t\t\t\tSearchString := 'RUN_STATUS':@VM:'RDY':@VM:'SPEC':@VM:'SRFSPC':@VM\r\n\t\t\t\tSearchString := 'PREC':@VM:'PREI':@VM:'PRES':@VM:'RLOAD':@VM\r\n\t\t\t\tSearchString := 'WFRC':@VM:'WFRI':@VM:'WFRS':@VM\r\n\t\t\t\tSearchString := 'PSTC':@VM:'PSTI':@VM:'PSTS':@VM:'RFQ':@FM\r\n\t\t\t\t\r\n\t\t\tEND\r\n\t\t\tOption = ''\r\n\t\t\tFlag = ''\r\n\r\n\t\t\tSet_Status(0)\r\n\t\t\t\r\n\t\t\tCursor = Utility('CURSOR','H')\r\n\t\t\t\r\n\t\t\tBtree.Extract(SearchString,'REACT_RUN',ReactRunDict,Keylist,Option,Flag)\r\n\r\n\t\t\tVoid = Utility('CURSOR',Cursor)\r\n\r\n\t\t\tIF Get_Status(errCode) THEN\r\n\t\t\t\tErrmsg(errCode)\r\n\t\t\t\tRETURN\r\n\t\t\tEND\r\n\r\n\t\t\tIF KeyList NE '' THEN\r\n\t\t\t\tIF SpecInstFlag THEN\r\n\t\t\t\t\t\r\n\t\t\t\t\tMsgInfo = ''\r\n\t\t\t\t\tMsgInfo<MTEXT$> = 'There are active RDS records referencing the special/prove-in instructions on this Prod Spec':CRLF$\r\n\t\t\t\t\tMsgInfo<MTEXT$> = MsgInfo<MTEXT$>:'Select from the following list to update the special/prove-in instructions on the RDS records.'\r\n\t\t\t\t\tMsgInfo<MICON$> = '!'\r\n\t\t\t\t\tMsg(@WINDOW,MsgInfo)\r\n\t\t\t\t\t\r\n\t\t\t\t\tCONVERT @VM TO @FM IN Keylist\r\n\t\t\t\t\r\n\t\t\t\t\tMake.List(0, Keylist, ReactRunFile, ReactRunDict)\r\n\r\n\t\t\t\t\tSELECT 'REACT_RUN' BY '#WO_NO':@FM:'CASS_NO' USING 0 ELSE\r\n\t\t\t\t\t\tstatus = Set_FSError()\r\n\t\t\t\t\t\tRETURN\r\n\t\t\t\t\tEND\r\n\t\t\t\t\t\r\n\t\t\t\t\tRDSKeys = Popup(@WINDOW,'','RDS_QUERY_CURSOR')\r\n\t\t\t\t\t\r\n\t\t\t\t\tBoxCnt = COUNT(RDSKeys,@VM) + (RDSKeys NE '')\r\n\t\t\t\t\tFOR BoxNo = 1 TO BoxCnt\r\n\t\t\t\t\t\tRDSNo = RDSKeys<1,BoxNo>\r\n\t\t\t\t\t\tTableName = 'RDS'\r\n\t\t\t\t\t\tTableKey = RDSNo\r\n\t\t\t\t\t\tFieldData = SpecialInst\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tobj_Post_Log('Create',TableName:@RM:TableKey:@RM:RDS_SPECIAL_INST$:@RM:FieldData)\t\t;* Update RDS Records\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tobj_Post_Log('Create','REACT_RUN':@RM:RDSNo:@RM:REACT_RUN_SPECIAL_INST$:@RM:FieldData)\t;* Update REACT_RUN Records\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\tNEXT BoxNo\r\n\t\t\t\t\t\r\n\t\t\t\tEND ELSE\r\n\t\t\t\t\r\n\t\t\t\t\tMsgInfo = ''\r\n\t\t\t\t\tMsgInfo<mtext$> = 'You have changed Epi information,':CrLf$\r\n\t\t\t\t\tMsgInfo<mtext$> = MsgInfo<mtext$>:' and there are currently RDSs that are alredy ready':CrLf$:'to run or are running. Notify the customer or manufacturing':CrLf$\r\n\t\t\t\t\tMsgInfo<mtext$> = MsgInfo<mtext$>:'based on how you wish to proceed.'\r\n\t\t\t\t\tMsgInfo<micon$> = '!'\r\n\t\t\t\t\tVoid = msg( '', MsgInfo )\r\n\t\t\t\tEND\r\n\t\t\tEND\r\n\r\n\tEnd_Dialog(@WINDOW,Results)\r\nEND ELSE\r\n\t\r\n\tEnd_Dialog(@WINDOW,Results)\r\n\t\r\nEND\r\n\r\nRETURN 0\r\n"
}
}
}