Merged PR 31131: Rename PM/PM_SPEC tables
This commit is contained in:
parent
9749af69cf
commit
2ab25e05a3
@ -10209,7 +10209,7 @@
|
||||
"<2,2,94>": {
|
||||
"<2,2,94,1>": "R",
|
||||
"<2,2,94,2>": "EXECUTE",
|
||||
"<2,2,94,3>": "LSL2*OIWINEXE**PM_SPEC",
|
||||
"<2,2,94,3>": "LSL2*OIWINEXE**RECURRING_TASK_SPEC",
|
||||
"<2,2,94,4>": {
|
||||
"<2,2,94,4,1>": "CreateParam",
|
||||
"<2,2,94,4,2>": "@WINDOW"
|
||||
|
||||
5491
LSL2/OIWIN/PM.json
5491
LSL2/OIWIN/PM.json
File diff suppressed because it is too large
Load Diff
@ -153,7 +153,7 @@
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "PM_SPEC",
|
||||
"<1,23>": "RECURRING_TASK_SPEC",
|
||||
"<1,24>": {
|
||||
"<1,24,1>": "",
|
||||
"<1,24,2>": "0",
|
||||
@ -470,7 +470,7 @@
|
||||
"<2,20>": "",
|
||||
"<2,21>": "",
|
||||
"<2,22>": "",
|
||||
"<2,23>": "PM_SPEC",
|
||||
"<2,23>": "RECURRING_TASK_SPEC",
|
||||
"<2,24>": "AREA",
|
||||
"<2,25>": "",
|
||||
"<2,26>": "",
|
||||
@ -1496,7 +1496,7 @@
|
||||
"<7,20>": "",
|
||||
"<7,21>": "",
|
||||
"<7,22>": "",
|
||||
"<7,23>": "PM_SPEC",
|
||||
"<7,23>": "RECURRING_TASK_SPEC",
|
||||
"<7,24>": "PMS_ID",
|
||||
"<7,25>": "",
|
||||
"<7,26>": "",
|
||||
@ -2139,7 +2139,7 @@
|
||||
"<11,20>": "",
|
||||
"<11,21>": "",
|
||||
"<11,22>": "",
|
||||
"<11,23>": "PM_SPEC",
|
||||
"<11,23>": "RECURRING_TASK_SPEC",
|
||||
"<11,24>": "DESC",
|
||||
"<11,25>": "",
|
||||
"<11,26>": "",
|
||||
@ -2429,7 +2429,7 @@
|
||||
"<13,20>": "",
|
||||
"<13,21>": "",
|
||||
"<13,22>": "",
|
||||
"<13,23>": "PM_SPEC",
|
||||
"<13,23>": "RECURRING_TASK_SPEC",
|
||||
"<13,24>": "TOOL_ID",
|
||||
"<13,25>": "",
|
||||
"<13,26>": "",
|
||||
@ -2901,7 +2901,7 @@
|
||||
"<16,20>": "",
|
||||
"<16,21>": "",
|
||||
"<16,22>": "",
|
||||
"<16,23>": "PM_SPEC",
|
||||
"<16,23>": "RECURRING_TASK_SPEC",
|
||||
"<16,24>": "TOOL_ID",
|
||||
"<16,25>": "",
|
||||
"<16,26>": "",
|
||||
@ -3191,7 +3191,7 @@
|
||||
"<18,20>": "",
|
||||
"<18,21>": "",
|
||||
"<18,22>": "",
|
||||
"<18,23>": "PM_SPEC",
|
||||
"<18,23>": "RECURRING_TASK_SPEC",
|
||||
"<18,24>": "TOOL_TYPE",
|
||||
"<18,25>": "",
|
||||
"<18,26>": "",
|
||||
@ -3481,7 +3481,7 @@
|
||||
"<20,20>": "",
|
||||
"<20,21>": "",
|
||||
"<20,22>": "",
|
||||
"<20,23>": "PM_SPEC",
|
||||
"<20,23>": "RECURRING_TASK_SPEC",
|
||||
"<20,24>": "TOOL_LOCATION",
|
||||
"<20,25>": "",
|
||||
"<20,26>": "",
|
||||
@ -3771,7 +3771,7 @@
|
||||
"<22,20>": "",
|
||||
"<22,21>": "",
|
||||
"<22,22>": "",
|
||||
"<22,23>": "PM_SPEC",
|
||||
"<22,23>": "RECURRING_TASK_SPEC",
|
||||
"<22,24>": "TOOL_CYCLE_CNT",
|
||||
"<22,25>": "",
|
||||
"<22,26>": "",
|
||||
@ -3911,7 +3911,7 @@
|
||||
"<23,20>": "",
|
||||
"<23,21>": "",
|
||||
"<23,22>": "",
|
||||
"<23,23>": "PM_SPEC",
|
||||
"<23,23>": "RECURRING_TASK_SPEC",
|
||||
"<23,24>": "UNITS",
|
||||
"<23,25>": "",
|
||||
"<23,26>": "",
|
||||
@ -4212,7 +4212,7 @@
|
||||
"<25,20>": "",
|
||||
"<25,21>": "",
|
||||
"<25,22>": "",
|
||||
"<25,23>": "PM_SPEC",
|
||||
"<25,23>": "RECURRING_TASK_SPEC",
|
||||
"<25,24>": "INT_TIME_CD",
|
||||
"<25,25>": "",
|
||||
"<25,26>": "",
|
||||
@ -4684,7 +4684,7 @@
|
||||
"<28,20>": "",
|
||||
"<28,21>": "",
|
||||
"<28,22>": "",
|
||||
"<28,23>": "PM_SPEC",
|
||||
"<28,23>": "RECURRING_TASK_SPEC",
|
||||
"<28,24>": "INTERVAL",
|
||||
"<28,25>": "",
|
||||
"<28,26>": "",
|
||||
@ -4974,7 +4974,7 @@
|
||||
"<30,20>": "",
|
||||
"<30,21>": "",
|
||||
"<30,22>": "",
|
||||
"<30,23>": "PM_SPEC",
|
||||
"<30,23>": "RECURRING_TASK_SPEC",
|
||||
"<30,24>": "PM_START_TIME",
|
||||
"<30,25>": "",
|
||||
"<30,26>": "",
|
||||
@ -5264,7 +5264,7 @@
|
||||
"<32,20>": "",
|
||||
"<32,21>": "",
|
||||
"<32,22>": "",
|
||||
"<32,23>": "PM_SPEC",
|
||||
"<32,23>": "RECURRING_TASK_SPEC",
|
||||
"<32,24>": "EARLY_START_DELTA",
|
||||
"<32,25>": "",
|
||||
"<32,26>": "",
|
||||
@ -5554,7 +5554,7 @@
|
||||
"<34,20>": "",
|
||||
"<34,21>": "",
|
||||
"<34,22>": "",
|
||||
"<34,23>": "PM_SPEC",
|
||||
"<34,23>": "RECURRING_TASK_SPEC",
|
||||
"<34,24>": "LATE_START_DELTA",
|
||||
"<34,25>": "",
|
||||
"<34,26>": "",
|
||||
@ -5722,10 +5722,10 @@
|
||||
"<35,21>": "",
|
||||
"<35,22>": "",
|
||||
"<35,23>": {
|
||||
"<35,23,1>": "PM_SPEC",
|
||||
"<35,23,2>": "PM_SPEC",
|
||||
"<35,23,3>": "PM_SPEC",
|
||||
"<35,23,4>": "PM_SPEC"
|
||||
"<35,23,1>": "RECURRING_TASK_SPEC",
|
||||
"<35,23,2>": "RECURRING_TASK_SPEC",
|
||||
"<35,23,3>": "RECURRING_TASK_SPEC",
|
||||
"<35,23,4>": "RECURRING_TASK_SPEC"
|
||||
},
|
||||
"<35,24>": {
|
||||
"<35,24,1>": "PM_KEYS",
|
||||
@ -6494,7 +6494,7 @@
|
||||
"<38,20>": "",
|
||||
"<38,21>": "",
|
||||
"<38,22>": "",
|
||||
"<38,23>": "PM_SPEC",
|
||||
"<38,23>": "RECURRING_TASK_SPEC",
|
||||
"<38,24>": "NOTES",
|
||||
"<38,25>": "",
|
||||
"<38,26>": "",
|
||||
@ -8651,7 +8651,7 @@
|
||||
"<51,20>": "",
|
||||
"<51,21>": "",
|
||||
"<51,22>": "",
|
||||
"<51,23>": "PM_SPEC",
|
||||
"<51,23>": "RECURRING_TASK_SPEC",
|
||||
"<51,24>": "ARCHIVED",
|
||||
"<51,25>": "",
|
||||
"<51,26>": "",
|
||||
@ -8801,7 +8801,7 @@
|
||||
"<52,20>": "",
|
||||
"<52,21>": "",
|
||||
"<52,22>": "",
|
||||
"<52,23>": "PM_SPEC",
|
||||
"<52,23>": "RECURRING_TASK_SPEC",
|
||||
"<52,24>": "FIVE_S_FLAG",
|
||||
"<52,25>": "",
|
||||
"<52,26>": "",
|
||||
@ -8951,7 +8951,7 @@
|
||||
"<53,20>": "",
|
||||
"<53,21>": "",
|
||||
"<53,22>": "",
|
||||
"<53,23>": "PM_SPEC",
|
||||
"<53,23>": "RECURRING_TASK_SPEC",
|
||||
"<53,24>": "SEND_DUE_NOTIFICATION",
|
||||
"<53,25>": "",
|
||||
"<53,26>": "",
|
||||
@ -9101,7 +9101,7 @@
|
||||
"<54,20>": "",
|
||||
"<54,21>": "",
|
||||
"<54,22>": "",
|
||||
"<54,23>": "PM_SPEC",
|
||||
"<54,23>": "RECURRING_TASK_SPEC",
|
||||
"<54,24>": "SEND_EARLY_NOTIFICATION",
|
||||
"<54,25>": "",
|
||||
"<54,26>": "",
|
||||
@ -9251,7 +9251,7 @@
|
||||
"<55,20>": "",
|
||||
"<55,21>": "",
|
||||
"<55,22>": "",
|
||||
"<55,23>": "PM_SPEC",
|
||||
"<55,23>": "RECURRING_TASK_SPEC",
|
||||
"<55,24>": "SEND_LATE_NOTIFICATION",
|
||||
"<55,25>": "",
|
||||
"<55,26>": "",
|
||||
@ -9401,7 +9401,7 @@
|
||||
"<56,20>": "",
|
||||
"<56,21>": "",
|
||||
"<56,22>": "",
|
||||
"<56,23>": "PM_SPEC",
|
||||
"<56,23>": "RECURRING_TASK_SPEC",
|
||||
"<56,24>": "PM_CLASS",
|
||||
"<56,25>": "",
|
||||
"<56,26>": "",
|
||||
|
||||
9492
LSL2/OIWIN/RECURRING_TASK.json
Normal file
9492
LSL2/OIWIN/RECURRING_TASK.json
Normal file
File diff suppressed because it is too large
Load Diff
10784
LSL2/OIWIN/RECURRING_TASK_SPEC.json
Normal file
10784
LSL2/OIWIN/RECURRING_TASK_SPEC.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ typically this is the first load of a Work Order.
|
||||
*/
|
||||
#pragma precomp SRP_PreCompiler
|
||||
Declare function Gan_Services, Obj_Notes_Sent, msg, Check_Notes, Jonathan_Services, Database_Services, SRP_Datetime
|
||||
Declare function Lsl_Users_Services, SRP_Time, RList, Error_Services, Obj_Wo_Mat, Pm_Services, Date_Services, Test_Run_Services
|
||||
Declare function Lsl_Users_Services, SRP_Time, RList, Error_Services, Obj_Wo_Mat, Recurring_Task_Services, Date_Services, Test_Run_Services
|
||||
Declare function Reactor_Services, Reactor_Log_Services, obj_react_item, Utility, Environment_Services, obj_wo_log, Qa_Services
|
||||
Declare subroutine Start_Window, RList, Set_Status, Database_Services, Obj_Sap, Sap_Services, Btree.Extract, Qa_Services
|
||||
Declare subroutine Reactor_Services, Obj_Wo_Log, obj_wo_mat, Work_Order_Services, Material_Movement_Services, Automated_Workflow_Services
|
||||
@ -39,8 +39,8 @@ $Insert WO_MAT_QA_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
$Insert RDS_LAYER_EQUATES
|
||||
$Insert RDS_TEST_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert WO_MAT_EQUATES
|
||||
$Insert WM_OUT_EQUATES
|
||||
$Insert TEST_RUN_EQUATES
|
||||
@ -73,7 +73,7 @@ Service CreatAWO()
|
||||
VendCd = FileIn<1,8>
|
||||
*/
|
||||
debug
|
||||
WOLogFileIn = 'M999930.1':@VM:'NA':@VM:'02/29/2024':@VM:'U053':@VM:'931968':@VM:'1.0':@VM:'2400':@VM:'NA'
|
||||
WOLogFileIn = 'M999930.1':@VM:'NA':@VM:'02/29/2024':@VM:'729622':@VM:'729628':@VM:'1.0':@VM:'2400':@VM:'NA'
|
||||
RetVal = obj_WO_LOG('SAPCreate',WOLogFileIn)
|
||||
Response = RetVal
|
||||
end service
|
||||
@ -418,3 +418,4 @@ end service
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ Tables = ""
|
||||
|
||||
// Big
|
||||
* Tables := "REACTOR_PM,REACT_ITEMS,QUARTZ_TC_LOG,WM_IN,WM_OUT,REACT_READS,WO_STEP,WO_LOG,NCR,COC,"
|
||||
Tables = "PM_SPEC"
|
||||
Tables = "RECURRING_TASK_SPEC"
|
||||
// Really big
|
||||
//Tables := "TW_USE,REACTOR_LOG,REACT_RUN,REACT_UTIL,WO_MAT,RDS_LAYER,RDS_TEST,REACT_EVENT,CLEAN_INSP"
|
||||
|
||||
@ -69,3 +69,4 @@ For iTable = 1 to NumTables
|
||||
Next iTable
|
||||
|
||||
Return
|
||||
|
||||
|
||||
@ -1,53 +0,0 @@
|
||||
Compile function Copy_PM_Record_To_SQL(Connection, Key, Record)
|
||||
|
||||
/*****************************************************************************\
|
||||
Copies the given PM record to the MSSQL database.
|
||||
|
||||
History
|
||||
-------
|
||||
11/30/2016 KRF Original Programmer
|
||||
\*****************************************************************************/
|
||||
|
||||
Declare function SQL_Write, SQL_Write_MV, SQL_Format
|
||||
Ans = ""
|
||||
|
||||
$insert PM_EQUATES
|
||||
|
||||
// Parse record into a dimensioned array for speed
|
||||
Dim Rec(14)
|
||||
MatParse Record into Rec
|
||||
|
||||
// List of key names and their values
|
||||
Keys = "PM_NO":@VM:SQL_Format(Key, "INT")
|
||||
|
||||
// List of data fields and their values
|
||||
DataFields = "PMS_ID" :@VM:SQL_Format(Rec(PM_PMS_ID$), "INT"):@FM
|
||||
DataFields := "ENTER_BY" :@VM:SQL_Format(Rec(PM_ENTER_BY$), "STR"):@FM
|
||||
DataFields := "ENTER_DTM" :@VM:SQL_Format(Rec(PM_ENTER_DTM$), "DATETIME"):@FM
|
||||
DataFields := "SCHED_DT" :@VM:SQL_Format(Rec(PM_SCHED_DT$), "DATE"):@FM
|
||||
DataFields := "SCHED_TM" :@VM:SQL_Format(Rec(PM_SCHED_TM$), "TIME"):@FM
|
||||
DataFields := "SCHED_QTY" :@VM:SQL_Format(Rec(PM_SCHED_QTY$), "INT"):@FM
|
||||
DataFields := "NOTES" :@VM:SQL_Format(Rec(PM_NOTES$), "STR"):@FM
|
||||
DataFields := "COMP_BY" :@VM:SQL_Format(Rec(PM_COMP_BY$), "STR"):@FM
|
||||
DataFields := "COMP_DTM" :@VM:SQL_Format(Rec(PM_COMP_DTM$), "DATETIME"):@FM
|
||||
DataFields := "START_BY" :@VM:SQL_Format(Rec(PM_START_BY$), "STR"):@FM
|
||||
DataFields := "START_DTM" :@VM:SQL_Format(Rec(PM_START_DTM$), "DATETIME"):@FM
|
||||
DataFields := "COMP_QTY" :@VM:SQL_Format(Rec(PM_COMP_QTY$), "INT"):@FM
|
||||
|
||||
// Symbolics
|
||||
DataFields := "ACT_PMS_ID" :@VM:SQL_Format({ACT_PMS_ID}, "INT"):@FM
|
||||
DataFields := "COMP_DT" :@VM:SQL_Format({COMP_DT}, "DATE"):@FM
|
||||
DataFields := "COMP_PMS_ID" :@VM:SQL_Format({COMP_PMS_ID}, "INT"):@FM
|
||||
DataFields := "STATUS" :@VM:SQL_Format({STATUS}, "STR"):@FM
|
||||
DataFields := "TOOL_CYCLE_CNT" :@VM:SQL_Format({TOOL_CYCLE_CNT}, "INT"):@FM
|
||||
DataFields := "TOOL_DESC" :@VM:SQL_Format({TOOL_DESC}, "STR"):@FM
|
||||
DataFields := "TOOL_ID" :@VM:SQL_Format({TOOL_ID}, "STR"):@FM
|
||||
DataFields := "UNITS" :@VM:SQL_Format({UNITS}, "STR")
|
||||
|
||||
// Write the data to the SQL database
|
||||
Ans = SQL_Write(Connection, "PM", Keys, DataFields)
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// Multi-valued Fields
|
||||
|
||||
Return Ans
|
||||
54
LSL2/STPROC/COPY_RECURRING_TASK_RECORD_TO_SQL.txt
Normal file
54
LSL2/STPROC/COPY_RECURRING_TASK_RECORD_TO_SQL.txt
Normal file
@ -0,0 +1,54 @@
|
||||
Compile function Copy_RECURRING_TASK_Record_To_SQL(Connection, Key, Record)
|
||||
|
||||
/*****************************************************************************\
|
||||
Copies the given RECURRING_TASK record to the MSSQL database.
|
||||
|
||||
History
|
||||
-------
|
||||
11/30/2016 KRF Original Programmer
|
||||
\*****************************************************************************/
|
||||
|
||||
Declare function SQL_Write, SQL_Write_MV, SQL_Format
|
||||
Ans = ""
|
||||
|
||||
$insert RECURRING_TASK_EQUATES
|
||||
|
||||
// Parse record into a dimensioned array for speed
|
||||
Dim Rec(14)
|
||||
MatParse Record into Rec
|
||||
|
||||
// List of key names and their values
|
||||
Keys = "PM_NO":@VM:SQL_Format(Key, "INT")
|
||||
|
||||
// List of data fields and their values
|
||||
DataFields = "PMS_ID" :@VM:SQL_Format(Rec(RECURRING_TASK_PMS_ID$), "INT"):@FM
|
||||
DataFields := "ENTER_BY" :@VM:SQL_Format(Rec(RECURRING_TASK_ENTER_BY$), "STR"):@FM
|
||||
DataFields := "ENTER_DTM" :@VM:SQL_Format(Rec(RECURRING_TASK_ENTER_DTM$), "DATETIME"):@FM
|
||||
DataFields := "SCHED_DT" :@VM:SQL_Format(Rec(RECURRING_TASK_SCHED_DT$), "DATE"):@FM
|
||||
DataFields := "SCHED_TM" :@VM:SQL_Format(Rec(RECURRING_TASK_SCHED_TM$), "TIME"):@FM
|
||||
DataFields := "SCHED_QTY" :@VM:SQL_Format(Rec(RECURRING_TASK_SCHED_QTY$), "INT"):@FM
|
||||
DataFields := "NOTES" :@VM:SQL_Format(Rec(RECURRING_TASK_NOTES$), "STR"):@FM
|
||||
DataFields := "COMP_BY" :@VM:SQL_Format(Rec(RECURRING_TASK_COMP_BY$), "STR"):@FM
|
||||
DataFields := "COMP_DTM" :@VM:SQL_Format(Rec(RECURRING_TASK_COMP_DTM$), "DATETIME"):@FM
|
||||
DataFields := "START_BY" :@VM:SQL_Format(Rec(RECURRING_TASK_START_BY$), "STR"):@FM
|
||||
DataFields := "START_DTM" :@VM:SQL_Format(Rec(RECURRING_TASK_START_DTM$), "DATETIME"):@FM
|
||||
DataFields := "COMP_QTY" :@VM:SQL_Format(Rec(RECURRING_TASK_COMP_QTY$), "INT"):@FM
|
||||
|
||||
// Symbolics
|
||||
DataFields := "ACT_PMS_ID" :@VM:SQL_Format({ACT_PMS_ID}, "INT"):@FM
|
||||
DataFields := "COMP_DT" :@VM:SQL_Format({COMP_DT}, "DATE"):@FM
|
||||
DataFields := "COMP_PMS_ID" :@VM:SQL_Format({COMP_PMS_ID}, "INT"):@FM
|
||||
DataFields := "STATUS" :@VM:SQL_Format({STATUS}, "STR"):@FM
|
||||
DataFields := "TOOL_CYCLE_CNT" :@VM:SQL_Format({TOOL_CYCLE_CNT}, "INT"):@FM
|
||||
DataFields := "TOOL_DESC" :@VM:SQL_Format({TOOL_DESC}, "STR"):@FM
|
||||
DataFields := "TOOL_ID" :@VM:SQL_Format({TOOL_ID}, "STR"):@FM
|
||||
DataFields := "UNITS" :@VM:SQL_Format({UNITS}, "STR")
|
||||
|
||||
// Write the data to the SQL database
|
||||
Ans = SQL_Write(Connection, "RECURRING_TASK", Keys, DataFields)
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// Multi-valued Fields
|
||||
|
||||
Return Ans
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Compile function Copy_PM_SPEC_Record_To_SQL(Connection, Key, Record)
|
||||
Compile function Copy_RECURRING_TASK_SPEC_Record_To_SQL(Connection, Key, Record)
|
||||
|
||||
/*****************************************************************************\
|
||||
Copies the given PM_SPEC record to the MSSQL database.
|
||||
Copies the given RECURRING_TASK_SPEC record to the MSSQL database.
|
||||
|
||||
History
|
||||
-------
|
||||
@ -11,7 +11,7 @@ Compile function Copy_PM_SPEC_Record_To_SQL(Connection, Key, Record)
|
||||
Declare function SQL_Write, SQL_Write_MV, SQL_Format
|
||||
Ans = ""
|
||||
|
||||
$insert PM_SPEC_EQUATES
|
||||
$insert RECURRING_TASK_SPEC_EQUATES
|
||||
|
||||
// Parse record into a dimensioned array for speed
|
||||
Dim Rec(19)
|
||||
@ -23,10 +23,10 @@ Keys := "CASS_NO":@VM:SQL_Format(Field(Key, "*", 2), "INT"):@FM
|
||||
Keys := "SLOT" :@VM:SQL_Format(Field(Key, "*", 3), "INT")
|
||||
|
||||
// List of data fields and their values
|
||||
DataFields = "SHIP_FLAG" :@VM:SQL_Format(Rec(PM_SPEC_SHIP_FLAG$), "BIT"):@FM
|
||||
DataFields := "GRADE" :@VM:SQL_Format(Rec(PM_SPEC_GRADE$), "STR"):@FM
|
||||
DataFields := "SCRIBE" :@VM:SQL_Format(Rec(PM_SPEC_SCRIBE$), "STR"):@FM
|
||||
DataFields := "GAN_RUN_ID" :@VM:SQL_Format(Rec(PM_SPEC_GAN_RUN_ID$), "STR"):@FM
|
||||
DataFields = "SHIP_FLAG" :@VM:SQL_Format(Rec(RECURRING_TASK_SPEC_SHIP_FLAG$), "BIT"):@FM
|
||||
DataFields := "GRADE" :@VM:SQL_Format(Rec(RECURRING_TASK_SPEC_GRADE$), "STR"):@FM
|
||||
DataFields := "SCRIBE" :@VM:SQL_Format(Rec(RECURRING_TASK_SPEC_SCRIBE$), "STR"):@FM
|
||||
DataFields := "GAN_RUN_ID" :@VM:SQL_Format(Rec(RECURRING_TASK_SPEC_GAN_RUN_ID$), "STR"):@FM
|
||||
|
||||
// Symbolics
|
||||
DataFields := "CARR_SLOT_ID" :@VM:SQL_Format({CARR_SLOT_ID}, "STR"):@FM
|
||||
@ -46,27 +46,28 @@ DataFields := "RDS_NO" :@VM:SQL_Format({RDS_NO}, "STR"):@
|
||||
DataFields := "REACT_TYPE" :@VM:SQL_Format({REACT_TYPE}, "STR")
|
||||
|
||||
// Write the data to the SQL database
|
||||
Ans = SQL_Write(Connection, "PM_SPEC", Keys, DataFields)
|
||||
Ans = SQL_Write(Connection, "RECURRING_TASK_SPEC", Keys, DataFields)
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
// Multi-valued Fields
|
||||
|
||||
// PM_SPEC_LOGS
|
||||
If Ans EQ "" AND Rec(PM_SPEC_LOC_DTM$) NE "" then
|
||||
// RECURRING_TASK_SPEC_LOGS
|
||||
If Ans EQ "" AND Rec(RECURRING_TASK_SPEC_LOC_DTM$) NE "" then
|
||||
|
||||
// List of data fields and their values
|
||||
MvFields = "LOC_DTM" :@FM:SQL_Format(Rec(PM_SPEC_LOC_DTM$), "DATETIME"):@RM
|
||||
MvFields := "LOC_BY" :@FM:SQL_Format(Rec(PM_SPEC_LOC_BY$), "STR"):@RM
|
||||
MvFields := "LOC_EVENT":@FM:SQL_Format(Rec(PM_SPEC_LOC_EVENT$), "STR"):@RM
|
||||
MvFields := "SLOT_ID" :@FM:SQL_Format(Rec(PM_SPEC_SLOT_ID$), "STR"):@RM
|
||||
MvFields := "RUN_LOC" :@FM:SQL_Format(Rec(PM_SPEC_RUN_LOC$), "STR"):@RM
|
||||
MvFields := "NCR_NO" :@FM:SQL_Format(Rec(PM_SPEC_NCR_NO$), "STR"):@RM
|
||||
MvFields := "TW_USE" :@FM:SQL_Format(Rec(PM_SPEC_TW_USE$), "STR"):@RM
|
||||
MvFields = "LOC_DTM" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_LOC_DTM$), "DATETIME"):@RM
|
||||
MvFields := "LOC_BY" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_LOC_BY$), "STR"):@RM
|
||||
MvFields := "LOC_EVENT":@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_LOC_EVENT$), "STR"):@RM
|
||||
MvFields := "SLOT_ID" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_SLOT_ID$), "STR"):@RM
|
||||
MvFields := "RUN_LOC" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_RUN_LOC$), "STR"):@RM
|
||||
MvFields := "NCR_NO" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_NCR_NO$), "STR"):@RM
|
||||
MvFields := "TW_USE" :@FM:SQL_Format(Rec(RECURRING_TASK_SPEC_TW_USE$), "STR"):@RM
|
||||
MvFields := "DISP" :@FM:SQL_Format({DISP}, "STR")
|
||||
|
||||
// Write the data to the SQL database
|
||||
Ans = SQL_Write_MV(Connection, "PM_SPEC_LOGS", Keys, MvFields)
|
||||
Ans = SQL_Write_MV(Connection, "RECURRING_TASK_SPEC_LOGS", Keys, MvFields)
|
||||
|
||||
end
|
||||
|
||||
Return Ans
|
||||
|
||||
@ -50,7 +50,7 @@ $Insert NCR_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
$Insert TOOL_LOG_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert WO_WFR_EQUATES
|
||||
|
||||
// Reduce modes (for Select statement)
|
||||
@ -222,3 +222,4 @@ Main:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ $Insert NCR_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
$Insert TOOL_LOG_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert WO_WFR_EQUATES
|
||||
|
||||
// Reduce modes (for Select statement)
|
||||
@ -120,3 +120,4 @@ Main:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ $Insert NCR_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
$Insert TOOL_LOG_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert WO_WFR_EQUATES
|
||||
$Insert RETAINED_WAFERS_EQUATES
|
||||
|
||||
@ -225,3 +225,4 @@ Main:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ $Insert NCR_EQUATES
|
||||
$Insert REACT_RUN_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
$Insert TOOL_LOG_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert WO_WFR_EQUATES
|
||||
|
||||
// Reduce modes (for Select statement)
|
||||
@ -120,3 +120,4 @@ Main:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -13,13 +13,13 @@ DECLARE SUBROUTINE obj_Notes, Security_Err_Msg, End_Window, Forward_Event, Start
|
||||
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.Ixvals, Admin_User, Printer_Select
|
||||
DECLARE FUNCTION Send_Message, Msg, Security_Check, obj_React_Run_CI, MemberOf, Get_Printer, obj_Install,Set_Printer
|
||||
DECLARE FUNCTION obj_PM_Spec, NextKey, Popup, GaN_Services, Set_Property
|
||||
DECLARE FUNCTION obj_RECURRING_TASK_SPEC, NextKey, Popup, GaN_Services, Set_Property
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT LSL_USERS_EQU
|
||||
$INSERT SECURITY_RIGHTS_EQU
|
||||
$INSERT PM_SPEC_EQUATES
|
||||
$INSERT RECURRING_TASK_SPEC_EQUATES
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT TOOL_EQUATES
|
||||
$INSERT RTI_STYLE_EQUATES
|
||||
@ -133,8 +133,8 @@ Refresh:
|
||||
GaNToolList = Get_Property(@WINDOW, 'GANTOOLLIST@')
|
||||
ToolFilter = Get_Property(@WINDOW :'.COMBO_FILTER', 'TEXT')
|
||||
|
||||
OPEN 'PM_SPEC' TO TableIn ELSE
|
||||
ErrorMsg = 'Unable to open "PM_SPEC" table.'
|
||||
OPEN 'RECURRING_TASK_SPEC' TO TableIn ELSE
|
||||
ErrorMsg = 'Unable to open "RECURRING_TASK_SPEC" table.'
|
||||
PrevCursor = Set_Property("SYSTEM", "CURSOR", "A")
|
||||
Yield()
|
||||
RETURN
|
||||
@ -159,9 +159,9 @@ Refresh:
|
||||
UNTIL Done
|
||||
READ PMSpecRec FROM TableIn,PMSId THEN
|
||||
|
||||
ActPMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
ToolID = PMSpecRec<PM_SPEC_TOOL_ID$>
|
||||
ActPMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
ToolID = PMSpecRec<RECURRING_TASK_SPEC_TOOL_ID$>
|
||||
ToolStatus = XLATE('TOOL',ToolID,'CURR_MODE_DESC','X')
|
||||
If ( ( (ToolID _EQC ToolFilter) or (ToolFilter EQ '') ) and (ToolStatus NE 'Out of Service') ) then
|
||||
|
||||
@ -182,9 +182,9 @@ Refresh:
|
||||
|
||||
IF pmCnt = 0 THEN pmCnt = 1
|
||||
|
||||
SchedStarts = obj_PM_Spec('SchedStart',PMSId:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_PM_Spec('EarlyStart',PMSId:@RM:PMSpecRec)
|
||||
LateStarts = obj_PM_Spec('LateStart',PMSId:@RM:PMSpecRec)
|
||||
SchedStarts = obj_RECURRING_TASK_SPEC('SchedStart',PMSId:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_RECURRING_TASK_SPEC('EarlyStart',PMSId:@RM:PMSpecRec)
|
||||
LateStarts = obj_RECURRING_TASK_SPEC('LateStart',PMSId:@RM:PMSpecRec)
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
SchedStart = SchedStarts<1,I>
|
||||
@ -214,10 +214,10 @@ Refresh:
|
||||
|
||||
END CASE
|
||||
|
||||
LastPM = OCONV(obj_PM_Spec('LastPMCompDTM',PMSId),'DT4/^H')
|
||||
LastPM = OCONV(obj_RECURRING_TASK_SPEC('LastPMCompDTM',PMSId),'DT4/^H')
|
||||
|
||||
PMDesc = PMSpecRec<PM_SPEC_DESC$>
|
||||
ToolID = PMSpecRec<PM_SPEC_TOOL_ID$>
|
||||
PMDesc = PMSpecRec<RECURRING_TASK_SPEC_DESC$>
|
||||
ToolID = PMSpecRec<RECURRING_TASK_SPEC_TOOL_ID$>
|
||||
ToolDesc = XLATE('TOOL',ToolID,TOOL_TOOL_DESC$,'X')
|
||||
ToolLocation = XLATE('TOOL',ToolID,'LOCATION','X')
|
||||
|
||||
@ -245,7 +245,7 @@ Refresh:
|
||||
SchedLine<1,COL$EARLY_START> = EarlyStart
|
||||
SchedLine<1,COL$SCHED_START> = SchedStart
|
||||
SchedLine<1,COL$LATE_START> = LateStart
|
||||
SchedLine<1,COL$PM_STATUS> = XLATE('PM',ActPMKeys<1,I>,'STATUS','X') ;*PMStatus
|
||||
SchedLine<1,COL$PM_STATUS> = XLATE('RECURRING_TASK',ActPMKeys<1,I>,'STATUS','X') ;*PMStatus
|
||||
SchedList = INSERT(SchedList,Pos,0,0,SchedLine)
|
||||
SchedColors = INSERT(SchedColors,Pos,0,0,LineColor)
|
||||
|
||||
@ -279,7 +279,7 @@ SchedDC:
|
||||
|
||||
PMSId = RowData<COL$PMS_ID>
|
||||
|
||||
obj_AppWindow('ViewRelated','PM_SPEC':@RM:PMSId)
|
||||
obj_AppWindow('ViewRelated','RECURRING_TASK_SPEC':@RM:PMSId)
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
@ -305,7 +305,7 @@ SchedOptions:
|
||||
|
||||
IF PMKeys = '' OR PMKeys = CHAR(27) THEN RETURN
|
||||
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMKeys:@RM:@RM)
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMKeys:@RM:@RM)
|
||||
|
||||
|
||||
RETURN
|
||||
@ -486,3 +486,5 @@ ClearFilter:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -108,12 +108,12 @@ Equ Comma$ to ','
|
||||
|
||||
Declare subroutine SRP_Stopwatch, Error_Services, obj_Tables, Metrology_Services, obj_RDS_Test, SRP_JSON
|
||||
Declare subroutine RTI_Set_Debugger, Database_Services, Btree.Extract, Set_Status, QA_Services, obj_Notes
|
||||
Declare subroutine Logging_Services, SRP_Send_Mail, SRP_Run_Command, PM_Services, Httpclient_Services
|
||||
Declare subroutine Logging_Services, SRP_Send_Mail, SRP_Run_Command, RECURRING_TASK_Services, Httpclient_Services
|
||||
Declare subroutine Tool_Services, Mona_Services, Reactor_Services, Met_Test_Services, Met_Test_Services
|
||||
Declare function SRP_Sort_Array, Metrology_Services, obj_RDS_Test, obj_Test_Point_Map, Database_Services, UCase
|
||||
Declare function Work_Order_Services, SRP_JSON, Logging_Services, Environment_Services, SRP_Trim, Min, Max
|
||||
Declare function QA_Services, SRP_Join_Arrays, Get_Status, Obj_Clean_Insp, Datetime, SRP_Datetime
|
||||
Declare function Httpclient_Services, PM_Services, Signature_Services, SRP_Array, Math_Services
|
||||
Declare function Httpclient_Services, RECURRING_TASK_Services, Signature_Services, SRP_Array, Math_Services
|
||||
Declare function Tool_Class_Services, obj_Wo_Mat, Met_Test_Services, Lot_Services
|
||||
Declare function SRP_String
|
||||
|
||||
@ -752,7 +752,7 @@ Service ImportStratusQualData(RunData, ResourceID, PSN)
|
||||
Swap 'T_MID' with 'T-Mid' in PSN
|
||||
Swap 'T_HIGH' with 'T-High' in PSN
|
||||
Pass = (SumOOS EQ 0)
|
||||
QualResponse = PM_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
QualResponse = RECURRING_TASK_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
StatusCode = QualResponse<1>
|
||||
Message = QualResponse<2>
|
||||
Metrology_Services('LogResults', PSN, Machine, StatusCode, Service : ' : ' : Message)
|
||||
@ -1014,7 +1014,7 @@ Service ImportBioRadQualData(RunData, ResourceID, PSN)
|
||||
Swap 'T_MID' with 'T-Mid' in PSN
|
||||
Swap 'T_HIGH' with 'T-High' in PSN
|
||||
Pass = (SumOOS EQ 0)
|
||||
QualResponse = PM_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
QualResponse = RECURRING_TASK_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
StatusCode = QualResponse<1>
|
||||
Message = QualResponse<2>
|
||||
Metrology_Services('LogResults', PSN, Machine, StatusCode, Service : ' : ' : Message)
|
||||
@ -1419,7 +1419,7 @@ Service ImportCDEQualData(RunData, ResourceID, PSN)
|
||||
TimeStamp = RunData<3>
|
||||
If SumOOS NE '' then
|
||||
Pass = (SumOOS EQ 0)
|
||||
QualResponse = PM_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
QualResponse = RECURRING_TASK_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
StatusCode = QualResponse<1>
|
||||
Message = QualResponse<2>
|
||||
Metrology_Services('LogResults', PSN, Machine, StatusCode, Service : ' : ' : Message)
|
||||
@ -1710,7 +1710,7 @@ Service ImportHgCVQualData(RunData, ResourceID, PSN)
|
||||
TimeStamp = RunData<11>
|
||||
If SumOOS NE '' then
|
||||
Pass = (SumOOS EQ 0)
|
||||
QualResponse = PM_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
QualResponse = RECURRING_TASK_Services('ProcessQual', PSN, ToolID, TimeStamp, Pass)
|
||||
StatusCode = QualResponse<1>
|
||||
Message = QualResponse<2>
|
||||
Metrology_Services('LogResults', PSN, Machine, StatusCode, Service : ' : ' : Message)
|
||||
@ -3734,3 +3734,4 @@ LoadRunDataToDatabase:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -34,13 +34,13 @@ Compile function NDW_5S_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
|
||||
$Insert EVENT_SETUP
|
||||
$Insert APP_INSERTS
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert PM_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert MSG_EQUATES
|
||||
|
||||
Declare function Get_Property, Pm_Services, obj_PM_Spec, Database_Services, SRP_Array, SRP_Datetime, Msg, Datetime
|
||||
Declare function Get_Property, RECURRING_TASK_Services, obj_RECURRING_TASK_SPEC, Database_Services, SRP_Array, SRP_Datetime, Msg, Datetime
|
||||
Declare function Memberof
|
||||
Declare subroutine Set_Property, Pm_Services, Start_Window, Obj_Appwindow, PlaceDialog
|
||||
Declare subroutine Set_Property, RECURRING_TASK_Services, Start_Window, Obj_Appwindow, PlaceDialog
|
||||
|
||||
// Columns in OLE Edit Table
|
||||
EQU COL$PM_ID TO 1
|
||||
@ -146,9 +146,9 @@ Event EDT_5S_TABLE.OnButtonClick(Cell, Point, Button, Shift, Ctrl)
|
||||
Verify = Msg(@Window, MsgInfo)
|
||||
If Verify EQ True$ then
|
||||
PMSID = RowData<1,COL$PM_ID>
|
||||
PMSRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSID)
|
||||
CurrPMId = PMSRec<PM_SPEC_PM_KEYS$, 1>
|
||||
Pm_Services('CompleteNonToolPM', CurrPMId , @User4, Datetime())
|
||||
PMSRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSID)
|
||||
CurrPMId = PMSRec<RECURRING_TASK_SPEC_PM_KEYS$, 1>
|
||||
RECURRING_TASK_Services('CompleteNonToolPM', CurrPMId , @User4, Datetime())
|
||||
If Error_Services('NoError') then
|
||||
MsgInfo = ''
|
||||
MsgInfo<mcol$> = -2
|
||||
@ -196,8 +196,8 @@ Event EDT_5S_TABLE.OnDblClick(Cell, Point, Button, Shift, Ctrl)
|
||||
RowNoClicked = Field(Cell, ';' , 2)
|
||||
RowData = TableData<RowNoClicked>
|
||||
PMSID = RowData<1,COL$PM_ID>
|
||||
PMSRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSID)
|
||||
CurrPMId = PMSRec<PM_SPEC_PM_KEYS$, 1>
|
||||
PMSRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSID)
|
||||
CurrPMId = PMSRec<RECURRING_TASK_SPEC_PM_KEYS$, 1>
|
||||
|
||||
Start_Window('NDW_PM_HISTORY', @Window, PMSID)
|
||||
Case Otherwise$
|
||||
@ -207,9 +207,9 @@ Event EDT_5S_TABLE.OnDblClick(Cell, Point, Button, Shift, Ctrl)
|
||||
end event
|
||||
|
||||
|
||||
Event PUB_ADD_NEW_PM_SPEC.CLICK()
|
||||
Event PUB_ADD_NEW_RECURRING_TASK_SPEC.CLICK()
|
||||
|
||||
Start_Window('PM_SPEC', @Window, '')
|
||||
Start_Window('RECURRING_TASK_SPEC', @Window, '')
|
||||
|
||||
end event
|
||||
|
||||
@ -224,7 +224,7 @@ Event PUB_VIEW_SELECTED.CLICK()
|
||||
Set_Property(@Window : '.EDT_SEL_ROW', 'TEXT', ''); *Clear out selected row.
|
||||
Set_Property(@Window : '.PUB_VIEW_SELECTED', 'ENABLED', 0)
|
||||
if SelectedPmsKey NE '' then
|
||||
obj_AppWindow('ViewRelated','PM_SPEC':@RM:SelectedPmsKey)
|
||||
obj_AppWindow('ViewRelated','RECURRING_TASK_SPEC':@RM:SelectedPmsKey)
|
||||
end
|
||||
|
||||
end event
|
||||
@ -244,7 +244,7 @@ GetKeys:
|
||||
|
||||
ShowArchived = Get_Property(@Window : '.CHK_ARCHIVED', 'CHECK')
|
||||
SelectedArea = Get_Property(@Window : '.CMB_AREA', 'TEXT')
|
||||
FiveSPMKeys = Pm_Services('Get5SPMs', ShowArchived, SelectedArea)
|
||||
FiveSPMKeys = RECURRING_TASK_Services('Get5SPMs', ShowArchived, SelectedArea)
|
||||
|
||||
|
||||
FormatData:
|
||||
@ -253,19 +253,19 @@ FormatData:
|
||||
|
||||
For each PMKey in FiveSPMKeys using @VM setting tPos
|
||||
//Record for the PM Specification
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'PM_SPEC', PMKey)
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMKey)
|
||||
//Record for the currently scheduled PM for the specificed PM Spec.
|
||||
CurrPMKey = PMSpecRecord<PM_SPEC_PM_KEYS$>
|
||||
CurrPMRecord = Database_Services('ReadDataRow', 'PM', CurrPMKey)
|
||||
CurrPMDesc = PMSpecRecord<PM_SPEC_DESC$>
|
||||
CurrPMLastPM = OConv(PMSpecRecord<PM_SPEC_LAST_PM_COMP_DTM$>, 'DT')
|
||||
CurrPMKey = PMSpecRecord<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
CurrPMRecord = Database_Services('ReadDataRow', 'RECURRING_TASK', CurrPMKey)
|
||||
CurrPMDesc = PMSpecRecord<RECURRING_TASK_SPEC_DESC$>
|
||||
CurrPMLastPM = OConv(PMSpecRecord<RECURRING_TASK_SPEC_LAST_PM_COMP_DTM$>, 'DT')
|
||||
//Sched Calculation
|
||||
CurrPMSchedDT = CurrPMRecord<PM_SCHED_DT$>
|
||||
CurrPMSchedTM = CurrPMRecord<PM_SCHED_TM$>
|
||||
CurrPMSchedDT = CurrPMRecord<RECURRING_TASK_SCHED_DT$>
|
||||
CurrPMSchedTM = CurrPMRecord<RECURRING_TASK_SCHED_TM$>
|
||||
|
||||
SchedStarts = obj_PM_Spec('SchedStart',PMKey:@RM:PMSpecRecord)
|
||||
EarlyStarts = obj_PM_Spec('EarlyStart',PMKey:@RM:PMSpecRecord)
|
||||
LateStarts = obj_PM_Spec('LateStart',PMKey:@RM:PMSpecRecord)
|
||||
SchedStarts = obj_RECURRING_TASK_SPEC('SchedStart',PMKey:@RM:PMSpecRecord)
|
||||
EarlyStarts = obj_RECURRING_TASK_SPEC('EarlyStart',PMKey:@RM:PMSpecRecord)
|
||||
LateStarts = obj_RECURRING_TASK_SPEC('LateStart',PMKey:@RM:PMSpecRecord)
|
||||
|
||||
TableData<tPos, COL$PM_ID> = PMKey
|
||||
TableData<tPos, COL$DESC> = CurrPMDesc
|
||||
@ -302,7 +302,7 @@ ColorCodeRows:
|
||||
SchedStart = ''
|
||||
LateStart = ''
|
||||
PMSpecID = DataRow<1,COL$PM_ID>
|
||||
Units = XLATE('PM_SPEC', PMSpecID, PM_SPEC_UNITS$, 'X')
|
||||
Units = XLATE('RECURRING_TASK_SPEC', PMSpecID, RECURRING_TASK_SPEC_UNITS$, 'X')
|
||||
Begin Case
|
||||
Case Units EQ 'D'
|
||||
EarlyStart = ICONV(DataRow<1, COL$EARLY_START>, 'D')
|
||||
@ -405,3 +405,4 @@ Setup_OLE_Controls:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -32,12 +32,12 @@ Compile function NDW_PM_HISTORY_EVENTS(CtrlEntId, Event, @PARAMS)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
#window NDW_PM_HISTORY
|
||||
|
||||
Declare function Get_Property, Obj_Pm_Spec, Database_Services, SRP_Array, SRP_Datetime, Utility, OConv, Datetime
|
||||
Declare function Get_Property, Obj_RECURRING_TASK_SPEC, Database_Services, SRP_Array, SRP_Datetime, Utility, OConv, Datetime
|
||||
Declare subroutine Set_Property, Send_Message, Msg, PlaceDialog
|
||||
|
||||
$Insert EVENT_SETUP
|
||||
$Insert PM_EQUATES
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert APP_INSERTS
|
||||
$Insert MSG_EQUATES
|
||||
|
||||
@ -138,9 +138,9 @@ end event
|
||||
RunReport:
|
||||
|
||||
PMSpecId = Get_Property(@Window : '.EDL_PM_SPEC', 'TEXT')
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'PM_SPEC', PMSpecId)
|
||||
PMDescription = XLATE('PM_SPEC', PMSpecId, PM_SPEC_DESC$, 'X')
|
||||
PMHistory = obj_pm_spec('GetHistory', PMSpecId);*Returns list of PM Keys delimited by @VM
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSpecId)
|
||||
PMDescription = XLATE('RECURRING_TASK_SPEC', PMSpecId, RECURRING_TASK_SPEC_DESC$, 'X')
|
||||
PMHistory = obj_RECURRING_TASK_SPEC('GetHistory', PMSpecId);*Returns list of PM Keys delimited by @VM
|
||||
PMHistoryArray = ''
|
||||
Def = ""
|
||||
Def<MCAPTION$> = "Loading PM History..."
|
||||
@ -148,14 +148,14 @@ RunReport:
|
||||
Def<MEXTENT$ > = DCount(PMHistory, @VM)
|
||||
MsgUp = Msg(@window, Def)
|
||||
For each PMId in PMHistory using @VM setting pPos
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMId)
|
||||
SchedDtm = SRP_Datetime('Combine', PMRec<PM_SCHED_DT$>, PMRec<PM_SCHED_TM$>)
|
||||
DueByDTM = obj_PM_Spec('LateStart',PMId:@RM:PMSpecRecord)
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMId)
|
||||
SchedDtm = SRP_Datetime('Combine', PMRec<RECURRING_TASK_SCHED_DT$>, PMRec<RECURRING_TASK_SCHED_TM$>)
|
||||
DueByDTM = obj_RECURRING_TASK_SPEC('LateStart',PMId:@RM:PMSpecRecord)
|
||||
PMHistoryArray<pPos, COL$PMID> = PMId
|
||||
PMHistoryArray<pPos, COL$DESC> = PMDescription
|
||||
PMHistoryArray<pPos, COL$DATECOMP> = OCONV(PMRec<PM_COMP_DTM$>, 'DT')
|
||||
PMHistoryArray<pPos, COL$DATECOMP> = OCONV(PMRec<RECURRING_TASK_COMP_DTM$>, 'DT')
|
||||
PMHistoryArray<pPos, COL$DATEDUE> = OCONV(SchedDtm, 'DT')
|
||||
PMHistoryArray<pPos, COL$USER> = OConv(PMRec<PM_COMP_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
PMHistoryArray<pPos, COL$USER> = OConv(PMRec<RECURRING_TASK_COMP_BY$>, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
|
||||
While Msg(@window, MsgUp, pPos, MSGINSTUPDATE$) ; * update the gauge and check if cancel was pressed
|
||||
Next PMId
|
||||
Msg(@window, MsgUp) ;* take down the gauge
|
||||
@ -228,3 +228,4 @@ Setup_OLE_Controls:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ $Insert MSG_EQUATES
|
||||
$Insert APPCOLORS
|
||||
$Insert LSL_USERS_EQU
|
||||
$Insert SECURITY_RIGHTS_EQU
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert POPUP_EQUATES
|
||||
$INSERT LOGICAL
|
||||
$Insert TOOL_EQUATES
|
||||
@ -60,7 +60,7 @@ EQU COL$PM_STATUS TO 11
|
||||
|
||||
Declare subroutine obj_Appwindow, Set_Property, Yield, Send_Message, End_Dialog, Send_Event, ErrMsg, Set_Status
|
||||
Declare subroutine Start_Window
|
||||
Declare function MemberOf, Tool_Services, Send_Message, obj_PM_Spec, SRP_Array
|
||||
Declare function MemberOf, Tool_Services, Send_Message, obj_RECURRING_TASK_SPEC, SRP_Array
|
||||
|
||||
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
|
||||
If Event EQ 'OLE' then
|
||||
@ -141,7 +141,7 @@ Event SCHED.DBLCLK(CtrlKey, ShiftKey, MouseButton)
|
||||
|
||||
PMSId = RowData<COL$PMS_ID>
|
||||
|
||||
obj_AppWindow('ViewRelated','PM_SPEC':@RM:PMSId)
|
||||
obj_AppWindow('ViewRelated','RECURRING_TASK_SPEC':@RM:PMSId)
|
||||
|
||||
end event
|
||||
|
||||
@ -162,7 +162,7 @@ Event SCHED.OPTIONS()
|
||||
|
||||
IF PMKeys = '' OR PMKeys = CHAR(27) THEN RETURN
|
||||
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMKeys:@RM:@RM)
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMKeys:@RM:@RM)
|
||||
|
||||
end event
|
||||
|
||||
@ -184,7 +184,7 @@ end event
|
||||
|
||||
Event PUB_NEW_PM_SPEC.CLICK()
|
||||
|
||||
Start_Window('PM_SPEC', @Window, '')
|
||||
Start_Window('RECURRING_TASK_SPEC', @Window, '')
|
||||
|
||||
end event
|
||||
|
||||
@ -209,14 +209,14 @@ Refresh:
|
||||
ShowOOS = Get_Property(@Window:'.CHK_SHOW_OOS', 'CHECK')
|
||||
ShowScrubbers = Get_Property(@Window:'.CHK_SHOW_SCRUBBERS', 'CHECK')
|
||||
|
||||
Query = 'SELECT PM_SPEC WITH FIVE_S_FLAG NE 1 '
|
||||
Query = 'SELECT RECURRING_TASK_SPEC WITH FIVE_S_FLAG NE 1 '
|
||||
If Not(ShowArchived) then Query := 'AND WITH ARCHIVED NE 1 '
|
||||
If Not(ShowScrubbers) then Query := 'AND WITH PM_CLASS NE ' : Quote('SCRUBBER')
|
||||
ErrCode = ''
|
||||
Set_Status(0)
|
||||
RList(Query, TARGET_ACTIVELIST$, '', '', '')
|
||||
If Not(Get_Status(ErrCode)) then
|
||||
Open 'PM_SPEC' to TableIn then
|
||||
Open 'RECURRING_TASK_SPEC' to TableIn then
|
||||
Done = False$
|
||||
SchedList = ''
|
||||
SchedColors = ''
|
||||
@ -228,9 +228,9 @@ Refresh:
|
||||
Until Done
|
||||
READ PMSpecRec FROM TableIn,PMSId THEN
|
||||
|
||||
ActPMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
ToolID = PMSpecRec<PM_SPEC_TOOL_ID$>
|
||||
ActPMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
ToolID = PMSpecRec<RECURRING_TASK_SPEC_TOOL_ID$>
|
||||
ToolStatus = XLATE('TOOL',ToolID,'CURR_MODE_DESC','X')
|
||||
|
||||
If ( ( (ToolID _EQC ToolFilter) or (ToolFilter EQ '') ) and ( (ToolStatus NE 'Out of Service') or ShowOOS ) ) then
|
||||
@ -252,9 +252,9 @@ Refresh:
|
||||
|
||||
IF pmCnt = 0 THEN pmCnt = 1
|
||||
|
||||
SchedStarts = obj_PM_Spec('SchedStart',PMSId:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_PM_Spec('EarlyStart',PMSId:@RM:PMSpecRec)
|
||||
LateStarts = obj_PM_Spec('LateStart',PMSId:@RM:PMSpecRec)
|
||||
SchedStarts = obj_RECURRING_TASK_SPEC('SchedStart',PMSId:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_RECURRING_TASK_SPEC('EarlyStart',PMSId:@RM:PMSpecRec)
|
||||
LateStarts = obj_RECURRING_TASK_SPEC('LateStart',PMSId:@RM:PMSpecRec)
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
SchedStart = SchedStarts<1,I>
|
||||
@ -284,10 +284,10 @@ Refresh:
|
||||
|
||||
END CASE
|
||||
|
||||
LastPM = OConv(Xlate('PM_SPEC', PMSId, 'LAST_PM_COMP_DTM', 'X'), 'DT4/^H')
|
||||
LastPM = OConv(Xlate('RECURRING_TASK_SPEC', PMSId, 'LAST_PM_COMP_DTM', 'X'), 'DT4/^H')
|
||||
|
||||
PMDesc = PMSpecRec<PM_SPEC_DESC$>
|
||||
ToolID = PMSpecRec<PM_SPEC_TOOL_ID$>
|
||||
PMDesc = PMSpecRec<RECURRING_TASK_SPEC_DESC$>
|
||||
ToolID = PMSpecRec<RECURRING_TASK_SPEC_TOOL_ID$>
|
||||
ToolDesc = XLATE('TOOL',ToolID,TOOL_TOOL_DESC$,'X')
|
||||
ToolLocation = XLATE('TOOL',ToolID,'LOCATION','X')
|
||||
|
||||
@ -315,7 +315,7 @@ Refresh:
|
||||
SchedLine<1,COL$EARLY_START> = EarlyStart
|
||||
SchedLine<1,COL$SCHED_START> = SchedStart
|
||||
SchedLine<1,COL$LATE_START> = LateStart
|
||||
SchedLine<1,COL$PM_STATUS> = XLATE('PM',ActPMKeys<1,I>,'STATUS','X') ;*PMStatus
|
||||
SchedLine<1,COL$PM_STATUS> = XLATE('RECURRING_TASK',ActPMKeys<1,I>,'STATUS','X') ;*PMStatus
|
||||
SchedList = INSERT(SchedList,Pos,0,0,SchedLine)
|
||||
SchedColors = INSERT(SchedColors,Pos,0,0,LineColor)
|
||||
|
||||
@ -332,7 +332,7 @@ Refresh:
|
||||
stat = Send_Message(@WINDOW:'.SCHED','COLOR_BY_POS',0,I,SchedColors<I>)
|
||||
NEXT I
|
||||
end else
|
||||
ErrorMsg = 'Unable to open "PM_SPEC" table.'
|
||||
ErrorMsg = 'Unable to open "RECURRING_TASK_SPEC" table.'
|
||||
ErrMsg(ErrorMsg)
|
||||
end
|
||||
end else
|
||||
@ -347,3 +347,5 @@ return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
COMPILE FUNCTION obj_PM(Method,Parms)
|
||||
COMPILE FUNCTION obj_RECURRING_TASK(Method,Parms)
|
||||
|
||||
/*
|
||||
Methods for PM table
|
||||
Methods for RECURRING_TASK table
|
||||
|
||||
09/29/2016 JCH - Initial Coding
|
||||
|
||||
@ -20,12 +20,12 @@ DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Send_Dyn, obj_Popup
|
||||
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, Send_Dyn
|
||||
DECLARE SUBROUTINE ErrMsg, Btree.Extract
|
||||
|
||||
$INSERT PM_EQUATES
|
||||
$INSERT RECURRING_TASK_EQUATES
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO CHAR(9)
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_PM"'
|
||||
ErrTitle = 'Error in Stored Procedure "obj_RECURRING_TASK"'
|
||||
ErrorMsg = ''
|
||||
|
||||
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
||||
@ -60,14 +60,14 @@ RETURN Result
|
||||
GetHistory:
|
||||
* * * * * * *
|
||||
|
||||
* This has been moved to obj_PM_Spec -> use that one and not this one. JCH
|
||||
* This has been moved to obj_RECURRING_TASK_Spec -> use that one and not this one. JCH
|
||||
|
||||
PMSId = Parms[1,@RM]
|
||||
|
||||
IF PMSId = '' THEN RETURN
|
||||
|
||||
OPEN 'DICT.PM' TO DictVar ELSE
|
||||
ErrorMsg = 'Unable to open DICT.PM for index lookup'
|
||||
OPEN 'DICT.RECURRING_TASK' TO DictVar ELSE
|
||||
ErrorMsg = 'Unable to open DICT.RECURRING_TASK for index lookup'
|
||||
RETURN
|
||||
END
|
||||
|
||||
@ -79,7 +79,7 @@ Option = ''
|
||||
Flag = ''
|
||||
PMKeys = ''
|
||||
|
||||
Btree.Extract(Search, 'PM', DictVar, PMKeys, Option, Flag) ;* Get unsorted keys based on Search parameters
|
||||
Btree.Extract(Search, 'RECURRING_TASK', DictVar, PMKeys, Option, Flag) ;* Get unsorted keys based on Search parameters
|
||||
|
||||
* Put sort data in first column (Install DTM)
|
||||
|
||||
@ -87,7 +87,7 @@ WorkList = ''
|
||||
pmCnt = COUNT(PMKeys,@VM) + (PMKeys NE '')
|
||||
FOR I = 1 TO pmCnt
|
||||
PMKey = PMKeys<1,I>
|
||||
WorkList<I> = XLATE('PM',PMKey,PM_COMP_DTM$,'X'):@VM:pmKey
|
||||
WorkList<I> = XLATE('RECURRING_TASK',PMKey,RECURRING_TASK_COMP_DTM$,'X'):@VM:pmKey
|
||||
NEXT I
|
||||
|
||||
WorkList := @RM
|
||||
@ -105,3 +105,4 @@ FOR I = 1 TO pmCnt
|
||||
NEXT I
|
||||
|
||||
RETURN
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
COMPILE FUNCTION obj_PM_Spec(Method,Parms)
|
||||
COMPILE FUNCTION obj_RECURRING_TASK_SPEC(Method,Parms)
|
||||
/*
|
||||
Methods for PM_SPEC table
|
||||
Methods for RECURRING_TASK_SPEC table
|
||||
|
||||
8/29/2016 JCH - Initial Coding
|
||||
|
||||
@ -17,8 +17,8 @@ DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, RList, obj_Notes, ErrMsg, Btree
|
||||
|
||||
$INSERT LOGICAL
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT PM_SPEC_EQUATES
|
||||
$INSERT PM_EQUATES
|
||||
$INSERT RECURRING_TASK_SPEC_EQUATES
|
||||
$INSERT RECURRING_TASK_EQUATES
|
||||
$INSERT RLIST_EQUATES
|
||||
$INSERT NOTIFICATION_EQU
|
||||
$INSERT CALIB_LIST_EQUATES
|
||||
@ -30,7 +30,7 @@ EQU CRLF$ TO \0D0A\
|
||||
|
||||
ErrCode = ''
|
||||
ErrorMsg = ''
|
||||
ErrTitle = 'Error in Stored Procedure "obj_PM_Spec"'
|
||||
ErrTitle = 'Error in Stored Procedure "obj_RECURRING_TASK_SPEC"'
|
||||
|
||||
|
||||
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
||||
@ -73,33 +73,33 @@ SchedStart:
|
||||
IF PMSpecKey = '' THEN RETURN
|
||||
|
||||
IF PMSpecRec = '' THEN
|
||||
PMSpecRec = XLATE('PM_SPEC',PMSpecKey,'','X')
|
||||
PMSpecRec = XLATE('RECURRING_TASK_SPEC',PMSpecKey,'','X')
|
||||
IF PMSpecRec = '' THEN
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
SchedUnits = PMSpecRec<PM_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
SchedUnits = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
pmCnt = COUNT(PMKeys,@VM) + (PMKeys NE '')
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
PMKey = PMKeys<1,I>
|
||||
PMRec = XLATE('PM',PMKey,'','X')
|
||||
PMRec = XLATE('RECURRING_TASK',PMKey,'','X')
|
||||
SchedStart = ''
|
||||
|
||||
IF SchedUnits = 'D' OR SchedUnits = 'M' THEN
|
||||
SchedStart = OCONV(PMRec<PM_SCHED_DT$>,'D')
|
||||
SchedStart = OCONV(PMRec<RECURRING_TASK_SCHED_DT$>,'D')
|
||||
END
|
||||
|
||||
IF SchedUnits = 'T' THEN
|
||||
ThisSchedTime = OCONV(PMRec<PM_SCHED_TM$>,'MT')
|
||||
ThisSchedTime = OCONV(PMRec<RECURRING_TASK_SCHED_TM$>,'MT')
|
||||
if ThisSchedTime = '' then ThisSchedTime = '00:00'
|
||||
SchedStart = OCONV(PMRec<PM_SCHED_DT$>,'D4'):' ':ThisSchedTime
|
||||
SchedStart = OCONV(PMRec<RECURRING_TASK_SCHED_DT$>,'D4'):' ':ThisSchedTime
|
||||
END
|
||||
|
||||
IF SchedUnits = 'Q' THEN
|
||||
SchedStart = PMRec<PM_SCHED_QTY$>
|
||||
SchedStart = PMRec<RECURRING_TASK_SCHED_QTY$>
|
||||
END
|
||||
|
||||
Result<1,I> = SchedStart
|
||||
@ -118,38 +118,38 @@ EarlyStart:
|
||||
IF PMSpecKey = '' THEN RETURN
|
||||
|
||||
IF PMSpecRec = '' THEN
|
||||
PMSpecRec = XLATE('PM_SPEC',PMSpecKey,'','X')
|
||||
PMSpecRec = XLATE('RECURRING_TASK_SPEC',PMSpecKey,'','X')
|
||||
IF PMSpecRec = '' THEN
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
SchedUnits = PMSpecRec<PM_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
SchedUnits = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
pmCnt = COUNT(PMKeys,@VM) + (PMKeys NE '')
|
||||
Delta = PMSpecRec<PM_SPEC_EARLY_START_DELTA$> ;*
|
||||
Delta = PMSpecRec<RECURRING_TASK_SPEC_EARLY_START_DELTA$> ;*
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
PMKey = PMKeys<1,I>
|
||||
PMRec = XLATE('PM',PMKey,'','X')
|
||||
PMRec = XLATE('RECURRING_TASK',PMKey,'','X')
|
||||
EarlyStart = ''
|
||||
|
||||
IF SchedUnits = 'D' THEN
|
||||
EarlyStart = OCONV(PMRec<PM_SCHED_DT$> - Delta ,'D')
|
||||
EarlyStart = OCONV(PMRec<RECURRING_TASK_SCHED_DT$> - Delta ,'D')
|
||||
END
|
||||
|
||||
If SchedUnits = 'M' then
|
||||
EarlyStart = OConv(SRP_Datetime('AddMonths', PMRec<PM_SCHED_DT$>, (-Delta)), 'D')
|
||||
EarlyStart = OConv(SRP_Datetime('AddMonths', PMRec<RECURRING_TASK_SCHED_DT$>, (-Delta)), 'D')
|
||||
end
|
||||
|
||||
IF SchedUnits = 'T' THEN
|
||||
Delta = ( Delta/24 ) ;* Convert hours to decimal part of day
|
||||
SchedTM = ( PMRec<PM_SCHED_TM$> / 86400 ) ;* Sec (since midnight ) * Sec/Day => decimal part of day
|
||||
EarlyStart = OCONV( PMRec<PM_SCHED_DT$> + ( SchedTm - Delta ) , 'DT' )
|
||||
Delta = ( Delta/24 ) ;* Convert hours to decimal part of day
|
||||
SchedTM = ( PMRec<RECURRING_TASK_SCHED_TM$> / 86400 ) ;* Sec (since midnight ) * Sec/Day => decimal part of day
|
||||
EarlyStart = OCONV( PMRec<RECURRING_TASK_SCHED_DT$> + ( SchedTm - Delta ) , 'DT' )
|
||||
END
|
||||
|
||||
IF SchedUnits = 'Q' THEN
|
||||
EarlyStart = PMRec<PM_SCHED_QTY$> - Delta
|
||||
EarlyStart = PMRec<RECURRING_TASK_SCHED_QTY$> - Delta
|
||||
END
|
||||
|
||||
Result<1,I> = EarlyStart
|
||||
@ -167,38 +167,38 @@ LateStart:
|
||||
IF PMSpecKey = '' THEN RETURN
|
||||
|
||||
IF PMSpecRec = '' THEN
|
||||
PMSpecRec = XLATE('PM_SPEC',PMSpecKey,'','X')
|
||||
PMSpecRec = XLATE('RECURRING_TASK_SPEC',PMSpecKey,'','X')
|
||||
IF PMSpecRec = '' THEN
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
SchedUnits = PMSpecRec<PM_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
SchedUnits = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
PMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
pmCnt = COUNT(PMKeys,@VM) + (PMKeys NE '')
|
||||
Delta = PMSpecRec<PM_SPEC_LATE_START_DELTA$> ;*
|
||||
Delta = PMSpecRec<RECURRING_TASK_SPEC_LATE_START_DELTA$> ;*
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
PMKey = PMKeys<1,I>
|
||||
PMRec = XLATE('PM',PMKey,'','X')
|
||||
PMRec = XLATE('RECURRING_TASK',PMKey,'','X')
|
||||
Start = ''
|
||||
|
||||
IF SchedUnits = 'D' THEN
|
||||
Start = OCONV(PMRec<PM_SCHED_DT$> + Delta ,'D')
|
||||
Start = OCONV(PMRec<RECURRING_TASK_SCHED_DT$> + Delta ,'D')
|
||||
END
|
||||
|
||||
If SchedUnits = 'M' then
|
||||
Start = OConv(SRP_Datetime('AddMonths', PMRec<PM_SCHED_DT$>, (Delta)), 'D')
|
||||
Start = OConv(SRP_Datetime('AddMonths', PMRec<RECURRING_TASK_SCHED_DT$>, (Delta)), 'D')
|
||||
end
|
||||
|
||||
IF SchedUnits = 'T' THEN
|
||||
Delta = ( Delta/24 ) ;* Convert hours to decimal part of day
|
||||
SchedTM = ( PMRec<PM_SCHED_TM$> / 86400 ) ;* Sec (since midnight ) * Sec/Day => decimal part of day
|
||||
Start = OCONV( PMRec<PM_SCHED_DT$> + ( SchedTm + Delta ) , 'DT' )
|
||||
SchedTM = ( PMRec<RECURRING_TASK_SCHED_TM$> / 86400 ) ;* Sec (since midnight ) * Sec/Day => decimal part of day
|
||||
Start = OCONV( PMRec<RECURRING_TASK_SCHED_DT$> + ( SchedTm + Delta ) , 'DT' )
|
||||
END
|
||||
|
||||
IF SchedUnits = 'Q' THEN
|
||||
Start = PMRec<PM_SCHED_QTY$> + Delta
|
||||
Start = PMRec<RECURRING_TASK_SCHED_QTY$> + Delta
|
||||
END
|
||||
|
||||
Result<1,I> = Start
|
||||
@ -221,9 +221,9 @@ SchedNewPM:
|
||||
Swap ',' with '' in PMSID
|
||||
Swap ',' with '' in PMNo
|
||||
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSID)
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSID)
|
||||
|
||||
ToolID = Xlate('PM_SPEC', PMSID, 'TOOL_ID', 'X')
|
||||
ToolID = Xlate('RECURRING_TASK_SPEC', PMSID, 'TOOL_ID', 'X')
|
||||
ToolMode = Xlate('TOOL', ToolID, 'CURR_MODE', 'X')
|
||||
If ToolMode NE 'OUT' then
|
||||
|
||||
@ -248,7 +248,7 @@ SchedNewPM:
|
||||
|
||||
END
|
||||
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
|
||||
IF Units = 'T' THEN
|
||||
|
||||
@ -269,21 +269,21 @@ SchedNewPM:
|
||||
SchedTm = ''
|
||||
SchedQty = ''
|
||||
|
||||
Interval = PMSpecRec<PM_SPEC_INTERVAL$>
|
||||
Interval = PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$>
|
||||
|
||||
BEGIN CASE
|
||||
CASE Units = 'D'
|
||||
SchedDt = thisStartDt + PMSpecRec<PM_SPEC_INTERVAL$> ;* Interval is in days
|
||||
SchedDt = thisStartDt + PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$> ;* Interval is in days
|
||||
|
||||
Case Units = 'M'
|
||||
SchedDt = SRP_Datetime('AddMonths', thisStartDt, PMSpecRec<PM_SPEC_INTERVAL$>)
|
||||
SchedDt = SRP_Datetime('AddMonths', thisStartDt, PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$>)
|
||||
|
||||
CASE Units = 'T'
|
||||
Interval = PMSpecRec<PM_SPEC_INTERVAL$> ;* Interval is in hours
|
||||
Interval = PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$> ;* Interval is in hours
|
||||
Interval = ( Interval/24 ) ;* Convert hours to decimal part of day
|
||||
EarlyStartDelta = (PMSpecRec<PM_SPEC_EARLY_START_DELTA$> / 24) ;* Convert hours to decimal part of day
|
||||
PrevSchedDt = Xlate('PM', PMNo, 'SCHED_DT', 'X')
|
||||
PrevSchedTm = Xlate('PM', PMNo, 'SCHED_TM', 'X')
|
||||
EarlyStartDelta = (PMSpecRec<RECURRING_TASK_SPEC_EARLY_START_DELTA$> / 24) ;* Convert hours to decimal part of day
|
||||
PrevSchedDt = Xlate('RECURRING_TASK', PMNo, 'SCHED_DT', 'X')
|
||||
PrevSchedTm = Xlate('RECURRING_TASK', PMNo, 'SCHED_TM', 'X')
|
||||
PrevSchedTm = ( PrevSchedTM / 86400 ) ;* Sec (since midnight ) * Sec/Day => decimal part of day
|
||||
PrevSchedDTM = PrevSchedDt + PrevSchedTm
|
||||
IF PrevSchedTm EQ 0 then
|
||||
@ -325,46 +325,46 @@ SchedNewPM:
|
||||
CurrDTM = ICONV(CurrDTM,'DT')
|
||||
|
||||
If ( (PMSId EQ 653) or (PMSId EQ 654) ) then
|
||||
PMResult = Xlate('PM', PMNo, 'PASS_FAIL', 'X')
|
||||
PMResult = Xlate('RECURRING_TASK', PMNo, 'PASS_FAIL', 'X')
|
||||
If PMResult EQ 'Pass' then
|
||||
// Schedule time-based PM four days from now.
|
||||
PMSId = 654 ;* Key to time-based PM_SPEC template
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<PM_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<PM_ENTER_DTM$> = CurrDTM
|
||||
PMRec<PM_SCHED_DT$> = Date() + 4
|
||||
PMRec<PM_SCHED_TM$> = Time()
|
||||
PMRec<PM_SCHED_QTY$> = ''
|
||||
PMSId = 654 ;* Key to time-based RECURRING_TASK_SPEC template
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<RECURRING_TASK_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<RECURRING_TASK_ENTER_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_SCHED_DT$> = Date() + 4
|
||||
PMRec<RECURRING_TASK_SCHED_TM$> = Time()
|
||||
PMRec<RECURRING_TASK_SCHED_QTY$> = ''
|
||||
end else
|
||||
// Reset cycle counter and schedule another PM with the same interval.
|
||||
ToolRec = Database_Services('ReadDataRow', 'TOOL', ToolID)
|
||||
ToolRec<TOOL_CYCLE_CNT$> = 0
|
||||
ToolRec = Database_Services('ReadDataRow', 'TOOL', ToolID)
|
||||
ToolRec<TOOL_CYCLE_CNT$> = 0
|
||||
Database_Services('WriteDataRow', 'TOOL', ToolID, ToolRec, True$, False$, True$)
|
||||
PMSId = 653 ;* Key to run-based PM_SPEC template
|
||||
PMSInterval = Xlate('PM_SPEC', PMSId, 'INTERVAL', 'X')
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<PM_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<PM_ENTER_DTM$> = CurrDTM
|
||||
PMRec<PM_SCHED_DT$> = PMSInterval
|
||||
PMRec<PM_SCHED_TM$> = PMSInterval
|
||||
PMRec<PM_SCHED_QTY$> = PMSInterval
|
||||
PMSId = 653 ;* Key to run-based RECURRING_TASK_SPEC template
|
||||
PMSInterval = Xlate('RECURRING_TASK_SPEC', PMSId, 'INTERVAL', 'X')
|
||||
PMNo = NextKey('RECURRING_TASK') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<RECURRING_TASK_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<RECURRING_TASK_ENTER_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_SCHED_DT$> = PMSInterval
|
||||
PMRec<RECURRING_TASK_SCHED_TM$> = PMSInterval
|
||||
PMRec<RECURRING_TASK_SCHED_QTY$> = PMSInterval
|
||||
end
|
||||
end else
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<PM_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<PM_ENTER_DTM$> = CurrDTM
|
||||
PMRec<PM_SCHED_DT$> = SchedDt
|
||||
PMRec<PM_SCHED_TM$> = SchedTm
|
||||
PMRec<PM_SCHED_QTY$> = OCONV(SchedQty,'MD0')
|
||||
PMNo = NextKey('RECURRING_TASK') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<RECURRING_TASK_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<RECURRING_TASK_ENTER_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_SCHED_DT$> = SchedDt
|
||||
PMRec<RECURRING_TASK_SCHED_TM$> = SchedTm
|
||||
PMRec<RECURRING_TASK_SCHED_QTY$> = OCONV(SchedQty,'MD0')
|
||||
end
|
||||
|
||||
otParms = 'PM':@RM:PMNo:@RM:@RM:PMRec
|
||||
otParms = 'RECURRING_TASK':@RM:PMNo:@RM:@RM:PMRec
|
||||
obj_Tables('WriteRec',otParms) ;* Write new PM record
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
@ -384,8 +384,8 @@ GetHistory:
|
||||
|
||||
IF PMSId = '' THEN RETURN
|
||||
|
||||
OPEN 'DICT.PM' TO DictVar ELSE
|
||||
ErrorMsg = 'Unable to open DICT.PM for index lookup'
|
||||
OPEN 'DICT.RECURRING_TASK' TO DictVar ELSE
|
||||
ErrorMsg = 'Unable to open DICT.RECURRING_TASK for index lookup'
|
||||
RETURN
|
||||
END
|
||||
|
||||
@ -397,7 +397,7 @@ GetHistory:
|
||||
Flag = ''
|
||||
PMKeys = ''
|
||||
|
||||
Btree.Extract(Search, 'PM', DictVar, PMKeys, Option, Flag) ;* Get unsorted keys based on Search parameters
|
||||
Btree.Extract(Search, 'RECURRING_TASK', DictVar, PMKeys, Option, Flag) ;* Get unsorted keys based on Search parameters
|
||||
|
||||
* Put sort data in first column (Install DTM)
|
||||
|
||||
@ -433,7 +433,7 @@ LastPMCompDTM:
|
||||
LOOP
|
||||
PMNo = HistKeys[1,@VM]
|
||||
HistKeys[1,COL2()] = ''
|
||||
CompDTM = XLATE('PM',PMNo,PM_COMP_DTM$,'X')
|
||||
CompDTM = XLATE('RECURRING_TASK',PMNo,PM_COMP_DTM$,'X')
|
||||
UNTIL CompDTM NE '' OR HistKeys = ''
|
||||
|
||||
REPEAT
|
||||
@ -447,10 +447,10 @@ RETURN
|
||||
SendReminders:
|
||||
* * * * * * *
|
||||
|
||||
RETURN ;* Update for PM_SPEC table JCH
|
||||
RETURN ;* Update for RECURRING_TASK_SPEC table JCH
|
||||
|
||||
OPEN 'PM_SPEC' TO FileIn ELSE
|
||||
ErrorMsg = 'Unable to open "PM_SPEC" table. (':Method:')'
|
||||
OPEN 'RECURRING_TASK_SPEC' TO FileIn ELSE
|
||||
ErrorMsg = 'Unable to open "RECURRING_TASK_SPEC" table. (':Method:')'
|
||||
RETURN
|
||||
END
|
||||
|
||||
@ -550,3 +550,4 @@ RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ $INSERT RLIST_EQUATES
|
||||
$INSERT TOOL_LOG_EQUATES
|
||||
$INSERT TOOL_EQUATES
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT PM_EQUATES
|
||||
$INSERT RECURRING_TASK_EQUATES
|
||||
|
||||
ErrTitle = 'Error in Stored Procedure "obj_Tool_Log"'
|
||||
ErrorMsg = ''
|
||||
@ -146,12 +146,12 @@ SetMode:
|
||||
obj_Tables('WriteRec', ctParms) ;* Write and unlock the record
|
||||
|
||||
If NewMode EQ 'OUT' then
|
||||
Open 'PM' to PMHandle then
|
||||
Open 'RECURRING_TASK' to PMHandle then
|
||||
// Remove any scheduled PM records for this TOOL ID
|
||||
NewModeDt = NewModeDTM[1, 'F.']
|
||||
NewModeTm = (NewModeDTM[COL2()+1, 999] * 86400)
|
||||
NewModeTm = NewModeTm[1, 'F.']
|
||||
Query = 'SELECT PM WITH TOOL_ID EQ "':ToolID:'" AND WITH STATUS EQ "SCHED" AND WITH SCHED_DT GE ':NewModeDt
|
||||
Query = 'SELECT RECURRING_TASK WITH TOOL_ID EQ "':ToolID:'" AND WITH STATUS EQ "SCHED" AND WITH SCHED_DT GE ':NewModeDt
|
||||
|
||||
RList(Query, TARGET_ACTIVELIST$, '', '', '' )
|
||||
|
||||
@ -160,10 +160,10 @@ SetMode:
|
||||
READNEXT PmID ELSE Done = 1
|
||||
UNTIL Done
|
||||
READ PmRec FROM PMHandle,PmID THEN
|
||||
SchedTm = PmRec<PM_SCHED_TM$>
|
||||
SchedTm = PmRec<RECURRING_TASK_SCHED_TM$>
|
||||
If ( ( (SchedTm NE '') and (SchedTm GE NewModeTm) ) or (SchedTm EQ '') ) then
|
||||
// Remove it
|
||||
Database_Services('DeleteDataRow', 'PM', PmID, True$, False$)
|
||||
Database_Services('DeleteDataRow', 'RECURRING_TASK', PmID, True$, False$)
|
||||
end
|
||||
|
||||
END ;* End of PmRec read
|
||||
@ -175,3 +175,4 @@ RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ DECLARE FUNCTION Send_Message, Msg, NextKey
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT PM_EQUATES
|
||||
$INSERT RECURRING_TASK_EQUATES
|
||||
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
@ -170,7 +170,7 @@ Read:
|
||||
|
||||
PMId = Get_Property(@WINDOW:'.PM_ID','DEFPROP')
|
||||
|
||||
IF RowExists('PM',PMId) ELSE
|
||||
IF RowExists('RECURRING_TASK',PMId) ELSE
|
||||
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
|
||||
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
|
||||
@ -249,17 +249,16 @@ NewPM:
|
||||
|
||||
PMSId = Get_Property(@WINDOW:'.PMS_ID','DEFPROP')
|
||||
|
||||
IF @USER4 = '' THEN @USER4 = 'BRYCE_BARB'
|
||||
|
||||
Send_Event(@WINDOW,'WRITE') ;* Write current PM_SCHED record
|
||||
|
||||
PMNo = NextKey('PM_SCHED') ;* Next PMKey
|
||||
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMRec = ''
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
|
||||
|
||||
otParms = 'PM':@RM:PMNo:@RM:@RM:PMRec
|
||||
otParms = 'RECURRING_TASK':@RM:PMNo:@RM:@RM:PMRec
|
||||
obj_Tables('WriteRec',otParms) ;* Write new PM record
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
@ -267,9 +266,9 @@ IF Get_Status(errCode) THEN
|
||||
RETURN
|
||||
END
|
||||
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMNo:@RM:@RM) ;* View new related PM record
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMNo:@RM:@RM) ;* View new related PM record
|
||||
|
||||
Set_Property('PM','@RETURN_KEY',PMSId)
|
||||
Set_Property('RECURRING_TASK','@RETURN_KEY',PMSId)
|
||||
|
||||
|
||||
|
||||
@ -291,7 +290,7 @@ PMKeyList = Get_Property(CtrlEntID,'LIST')
|
||||
|
||||
IF PMKeyList<CurrRow,COL$PM_KEY> NE '' THEN
|
||||
PMKey = PMKeyList<CurrRow,COL$PM_KEY>
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMKey:@RM:@RM)
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMKey:@RM:@RM)
|
||||
|
||||
END
|
||||
|
||||
@ -304,3 +303,5 @@ RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
COMPILE FUNCTION PM(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
COMPILE FUNCTION Recurring_Task(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
|
||||
/*
|
||||
Commuter module for PM (Preventive Maintenance) window
|
||||
@ -6,7 +6,7 @@ COMPILE FUNCTION PM(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
4/4/2016 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, obj_Tool_Log, obj_PM_Spec, PM_Services
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, obj_Tool_Log, obj_RECURRING_TASK_SPEC, RECURRING_TASK_Services
|
||||
DECLARE SUBROUTINE ErrMsg, Send_Message, Set_Property, Send_Event, Btree.Extract, obj_AppWindow, Error_Services
|
||||
DECLARE SUBROUTINE obj_Notes, Security_Err_Msg, End_Window, Forward_Event, Start_Window, Create_Note, Post_Event
|
||||
|
||||
@ -18,7 +18,7 @@ $INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT LSL_USERS_EQUATES
|
||||
$INSERT TOOL_EQUATES
|
||||
$INSERT PM_SPEC_EQUATES
|
||||
$INSERT RECURRING_TASK_SPEC_EQUATES
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
EQU TAB$ TO \09\
|
||||
@ -83,7 +83,7 @@ RETURN
|
||||
New:
|
||||
* * * * * * *
|
||||
|
||||
NextPMKey = NextKey('PM')
|
||||
NextPMKey = NextKey('RECURRING_TASK')
|
||||
|
||||
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:NextPMKey)
|
||||
|
||||
@ -250,7 +250,7 @@ Read:
|
||||
|
||||
PMId = Get_Property(@WINDOW:'.PM_ID','DEFPROP')
|
||||
|
||||
IF RowExists('PM',PMId) ELSE
|
||||
IF RowExists('RECURRING_TASK',PMId) ELSE
|
||||
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
|
||||
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
|
||||
@ -274,7 +274,7 @@ StartPM:
|
||||
PMNo = Get_Property(@WINDOW:'.PM_NO','DEFPROP')
|
||||
PMSId = Get_Property(@WINDOW:'.PMS_ID','DEFPROP')
|
||||
|
||||
ToolID = XLATE('PM_SPEC',PMSId,PM_SPEC_TOOL_ID$,'X')
|
||||
ToolID = XLATE('RECURRING_TASK_SPEC',PMSId,RECURRING_TASK_SPEC_TOOL_ID$,'X')
|
||||
|
||||
IF PMNo = '' OR PMSId = '' OR ToolID = '' THEN
|
||||
ErrMsg('Incomplete record in the window')
|
||||
@ -283,7 +283,7 @@ StartPM:
|
||||
|
||||
SigDTM = OCONV( Date(), 'D4/' ):' ':OCONV( Time(), 'MTS' )
|
||||
|
||||
PM_Services('StartPM', PMNo, @User4, IConv(SigDTM, 'DT'))
|
||||
RECURRING_TASK_Services('StartPM', PMNo, @User4, IConv(SigDTM, 'DT'))
|
||||
|
||||
If Error_Services('HasError') then
|
||||
Error_Services('DisplayError')
|
||||
@ -304,7 +304,7 @@ PMComp:
|
||||
|
||||
IF ToolCycleCnt = '' THEN ToolCycleCnt = '0'
|
||||
|
||||
ToolID = XLATE('PM_SPEC',PMSId,PM_SPEC_TOOL_ID$,'X')
|
||||
ToolID = XLATE('RECURRING_TASK_SPEC',PMSId,RECURRING_TASK_SPEC_TOOL_ID$,'X')
|
||||
|
||||
IF PMNo = '' OR PMSId = '' OR ToolID = '' THEN
|
||||
ErrMsg('Incomplete record in the window')
|
||||
@ -320,7 +320,7 @@ PMComp:
|
||||
|
||||
SigDTM = OCONV( Date(), 'D4/' ):' ':OCONV( Time(), 'MTS' )
|
||||
|
||||
PM_Services('CompletePM', PMNo, @User4, IConv(SigDTM, 'DT'))
|
||||
RECURRING_TASK_Services('CompletePM', PMNo, @User4, IConv(SigDTM, 'DT'))
|
||||
If Error_Services('HasError') then
|
||||
Error_Services('DisplayError')
|
||||
end
|
||||
@ -329,3 +329,4 @@ PMComp:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Function PM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
|
||||
Function RECURRING_TASK_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
/***********************************************************************************************************************
|
||||
@ -6,7 +6,7 @@ Function PM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Stat
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from Infineon.
|
||||
|
||||
Name : PM_Actions
|
||||
Name : RECURRING_TASK_Actions
|
||||
|
||||
Description : Handles calculated columns and MFS calls for the current table.
|
||||
|
||||
@ -45,13 +45,14 @@ Function PM_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Stat
|
||||
$insert APP_INSERTS
|
||||
$insert FILE.SYSTEM.EQUATES
|
||||
$insert ACTION_SETUP
|
||||
$insert PM_EQUATES
|
||||
$insert PM_SPEC_EQUATES
|
||||
$insert RECURRING_TASK_EQUATES
|
||||
$insert RECURRING_TASK_SPEC_EQUATES
|
||||
$insert RLIST_EQUATES
|
||||
$insert TOOL_EQUATES
|
||||
|
||||
Equ Comma$ to ','
|
||||
|
||||
Declare function Error_Services, Database_Services, Environment_Services, Obj_Pm_Spec
|
||||
Declare function Error_Services, Database_Services, Environment_Services, Obj_RECURRING_TASK_SPEC
|
||||
Declare function SRP_Array, SRP_Datetime
|
||||
Declare subroutine Error_Services, Database_Services, Environment_Services, Logging_Services
|
||||
Declare subroutine RList
|
||||
@ -98,18 +99,57 @@ CalculateColumn:
|
||||
ActionFlow = ''
|
||||
|
||||
Begin Case
|
||||
Case CalcColName EQ 'ACT_PMS_ID' ; GoSub ACT_PMS_ID
|
||||
Case CalcColName EQ 'COMP_DT' ; GoSub COMP_DT
|
||||
Case CalcColName EQ 'COMP_PMS_ID' ; GoSub COMP_PMS_ID
|
||||
Case CalcColName EQ 'LATE' ; GoSub LATE
|
||||
Case CalcColName EQ 'PM_DESC' ; GoSub PM_DESC
|
||||
Case CalcColName EQ 'STATUS' ; GoSub STATUS
|
||||
Case CalcColName EQ 'TOOL_CYCLE_CNT' ; GoSub TOOL_CYCLE_CNT
|
||||
Case CalcColName EQ 'TOOL_DESC' ; GoSub TOOL_DESC
|
||||
Case CalcColName EQ 'TOOL_ID' ; GoSub TOOL_ID
|
||||
Case CalcColName EQ 'UNITS' ; GoSub UNITS
|
||||
End Case
|
||||
|
||||
return
|
||||
|
||||
ACT_PMS_ID:
|
||||
|
||||
Ans = ''
|
||||
IF @RECORD<RECURRING_TASK_COMP_DTM$> = '' THEN
|
||||
Ans = @RECORD<RECURRING_TASK_PMS_ID$>
|
||||
END
|
||||
|
||||
ActionFlow = Ans
|
||||
|
||||
return
|
||||
|
||||
COMP_DT:
|
||||
|
||||
CompDTM = @RECORD<10>
|
||||
ActionFlow = CompDTM[1, '.']
|
||||
|
||||
return
|
||||
|
||||
COMP_PMS_ID:
|
||||
|
||||
Ans = ''
|
||||
IF @RECORD<RECURRING_TASK_COMP_DTM$> NE '' THEN
|
||||
Ans = @RECORD<RECURRING_TASK_PMS_ID$>
|
||||
END
|
||||
|
||||
ActionFlow = Ans
|
||||
|
||||
return
|
||||
|
||||
LATE:
|
||||
|
||||
Late = False$
|
||||
PMSID = {PMS_ID}
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'PM_SPEC', PMSID)
|
||||
PMSpecRecord = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSID)
|
||||
Units = {UNITS}
|
||||
SchedUnits = PMSpecRecord<PM_SPEC_UNITS$>
|
||||
Delta = PMSpecRecord<PM_SPEC_LATE_START_DELTA$> ;*
|
||||
SchedUnits = PMSpecRecord<RECURRING_TASK_SPEC_UNITS$>
|
||||
Delta = PMSpecRecord<RECURRING_TASK_SPEC_LATE_START_DELTA$> ;*
|
||||
|
||||
PMKey = @ID
|
||||
Start = ''
|
||||
@ -141,6 +181,51 @@ LATE:
|
||||
ActionFlow = Late
|
||||
return
|
||||
|
||||
PM_DESC:
|
||||
|
||||
ActionFlow = XLATE('RECURRING_TASK_SPEC',@RECORD<1>,'DESC','X')
|
||||
|
||||
return
|
||||
|
||||
STATUS:
|
||||
|
||||
StartBy = @RECORD<11>
|
||||
CompBy = @RECORD<9>
|
||||
|
||||
BEGIN CASE
|
||||
CASE StartBy = '' ; Ans = 'SCHED'
|
||||
CASE CompBy = '' ; Ans = 'START'
|
||||
CASE 1 ; Ans = 'COMP'
|
||||
END CASE
|
||||
|
||||
ActionFlow = Ans
|
||||
|
||||
return
|
||||
|
||||
TOOL_CYCLE_CNT:
|
||||
|
||||
ActionFlow = XLATE( 'TOOL' , {TOOL_ID} , TOOL_CYCLE_CNT$ , 'X' )
|
||||
|
||||
return
|
||||
|
||||
TOOL_DESC:
|
||||
|
||||
ActionFlow = XLATE('TOOL' , {TOOL_ID} , TOOL_TOOL_DESC$,'X')
|
||||
|
||||
return
|
||||
|
||||
TOOL_ID:
|
||||
|
||||
ActionFlow = XLATE('RECURRING_TASK_SPEC',@RECORD<1>,'TOOL_ID','X')
|
||||
|
||||
return
|
||||
|
||||
UNITS:
|
||||
|
||||
ActionFlow = XLATE('RECURRING_TASK_SPEC', @RECORD<RECURRING_TASK_PMS_ID$> , RECURRING_TASK_SPEC_UNITS$ , 'X' )
|
||||
|
||||
return
|
||||
|
||||
// ----- MFS calls -----------------------------------------------------------------------------------------------------
|
||||
|
||||
READ_RECORD_PRE:
|
||||
@ -246,3 +331,4 @@ Restore_System_Variables:
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
Compile function PM_Services(@Service, @Params)
|
||||
Compile function RECURRING_TASK_Services(@Service, @Params)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$Insert APP_INSERTS
|
||||
$Insert SERVICE_SETUP
|
||||
$Insert PM_EQUATES
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
|
||||
EQU COL$PMSKEY TO 1
|
||||
@ -13,10 +13,10 @@ EQU COL$NOTIFICAITON TO 3
|
||||
EQU COL$DUEBY To 4
|
||||
EQU COL$CURRPMKEY To 5
|
||||
|
||||
Declare subroutine Database_Services, Error_Services, Set_Status, obj_PM_Spec, Tool_Services, Btree.Extract
|
||||
Declare subroutine Logging_Services, Pm_Services, RList, Obj_Notes, PM_Spec_Services
|
||||
Declare function Datetime, Database_Services, Error_Services, obj_PM_Spec, obj_Tool, Environment_Services, LCASE
|
||||
Declare function Logging_Services, Pm_Services, NextKey, SRP_Datetime, Lsl_Users_Services, Active_Directory_Services
|
||||
Declare subroutine Database_Services, Error_Services, Set_Status, obj_RECURRING_TASK_SPEC, Tool_Services, Btree.Extract
|
||||
Declare subroutine Logging_Services, RECURRING_TASK_Services, RList, Obj_Notes, RECURRING_TASK_SPEC_Services
|
||||
Declare function Datetime, Database_Services, Error_Services, obj_RECURRING_TASK_SPEC, obj_Tool, Environment_Services, LCASE
|
||||
Declare function Logging_Services, RECURRING_TASK_Services, NextKey, SRP_Datetime, Lsl_Users_Services, Active_Directory_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\Tool'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -63,12 +63,12 @@ Service StartPM(PMNo, UserID, StartDTM)
|
||||
If PMNo NE '' then
|
||||
If UserID EQ '' then UserID = @User4
|
||||
If StartDTM EQ '' then StartDTM = Datetime()
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMNo)
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMNo)
|
||||
If Error_Services('NoError') then
|
||||
PMSNo = PMRec<PM_PMS_ID$>
|
||||
ToolID = Xlate('PM_SPEC', PMSNo, PM_SPEC_TOOL_ID$, 'X')
|
||||
PMSNo = PMRec<RECURRING_TASK_PMS_ID$>
|
||||
ToolID = Xlate('RECURRING_TASK_SPEC', PMSNo, RECURRING_TASK_SPEC_TOOL_ID$, 'X')
|
||||
If ( (PMSNo NE '') and (ToolID NE '') ) then
|
||||
EarlyStartDTM = IConv(Xlate('PM_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
EarlyStartDTM = IConv(Xlate('RECURRING_TASK_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
If StartDTM GE EarlyStartDTM then
|
||||
// Only change the tool mode if the tool is in one of the modes listed in the APP_INFO*QUAL_CHANGE_MODES
|
||||
// record! This is to preserve other tool modes as the current mode such as SCHED_MTC.
|
||||
@ -86,9 +86,9 @@ Service StartPM(PMNo, UserID, StartDTM)
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
end
|
||||
If Error_Services('NoError') then
|
||||
PMRec<PM_START_BY$> = UserID
|
||||
PMRec<PM_START_DTM$> = StartDTM
|
||||
Database_Services('WriteDataRow', 'PM', PMNo, PMRec, True$, False$, True$)
|
||||
PMRec<RECURRING_TASK_START_BY$> = UserID
|
||||
PMRec<RECURRING_TASK_START_DTM$> = StartDTM
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMNo, PMRec, True$, False$, True$)
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Error calling Tool_Services("ChangeToolMode") Error code: ':Error_Services('GetMessage'))
|
||||
end
|
||||
@ -98,7 +98,7 @@ Service StartPM(PMNo, UserID, StartDTM)
|
||||
end
|
||||
end else
|
||||
// Null PMSNo or ToolID error
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null PM_SPEC ID or ToolID for PMNo ':PMNo:'.')
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null RECURRING_TASK_SPEC ID or ToolID for PMNo ':PMNo:'.')
|
||||
end
|
||||
end
|
||||
end else
|
||||
@ -112,24 +112,24 @@ End Service
|
||||
Service CompletePM(PMNo, UserID, CompDTM)
|
||||
|
||||
If PMNo NE '' then
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMNo)
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMNo)
|
||||
If Error_Services('NoError') then
|
||||
PMSNo = PMRec<PM_PMS_ID$>
|
||||
ToolID = Xlate('PM_SPEC', PMSNo, PM_SPEC_TOOL_ID$, 'X')
|
||||
PMSNo = PMRec<RECURRING_TASK_PMS_ID$>
|
||||
ToolID = Xlate('RECURRING_TASK_SPEC', PMSNo, RECURRING_TASK_SPEC_TOOL_ID$, 'X')
|
||||
If ( (PMSNo NE '') and (ToolID NE '') ) then
|
||||
If UserID EQ '' then UserID = @User4
|
||||
If CompDTM EQ '' then CompDTM = Datetime()
|
||||
ToolCycleCnt = Xlate('PM_SPEC', PMSNo, 'TOOL_CYCLE_CNT', 'X')
|
||||
ToolCycleCnt = Xlate('RECURRING_TASK_SPEC', PMSNo, 'TOOL_CYCLE_CNT', 'X')
|
||||
If ToolCycleCnt EQ '' then ToolCycleCnt = '0'
|
||||
Overdue = False$
|
||||
// Scan for other overdue quals. Only place tool into PROD if all quals are complete.
|
||||
Open 'DICT.PM_SPEC' to PMSDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PMSDict then
|
||||
ToolPMSpecKeys = ''
|
||||
Option = ''
|
||||
Flag = ''
|
||||
// Ignore archived PM_SPEC!
|
||||
// Ignore archived RECURRING_TASK_SPEC!
|
||||
Query = 'TOOL_ID':@VM:ToolID:@FM:'ARCHIVED':@VM:'#1':@FM
|
||||
Btree.Extract(Query, 'PM_SPEC', PMSDict, ToolPMSpecKeys, Option, Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PMSDict, ToolPMSpecKeys, Option, Flag)
|
||||
If Flag EQ 0 then
|
||||
If ToolPMSpecKeys NE '' then
|
||||
Today = Date()
|
||||
@ -137,10 +137,10 @@ Service CompletePM(PMNo, UserID, CompDTM)
|
||||
CurrCnt = XLATE('TOOL', ToolID, TOOL_CYCLE_CNT$, 'X')
|
||||
For each PMSpecKey in ToolPMSpecKeys using @VM
|
||||
If PMSpecKey NE PMSNo then
|
||||
// Check for overdue qual PM for this PM_SPEC
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSpecKey)
|
||||
ActPMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
// Check for overdue qual PM for this RECURRING_TASK_SPEC
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSpecKey)
|
||||
ActPMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
Conv = ''
|
||||
If Units = 'D' then Conv = 'D'
|
||||
If Units = 'T' then Conv = 'DT'
|
||||
@ -155,9 +155,9 @@ Service CompletePM(PMNo, UserID, CompDTM)
|
||||
|
||||
If pmCnt = 0 then pmCnt = 1
|
||||
|
||||
SchedStarts = obj_PM_Spec('SchedStart',PMSpecKey:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_PM_Spec('EarlyStart',PMSpecKey:@RM:PMSpecRec)
|
||||
LateStarts = obj_PM_Spec('LateStart', PMSpecKey:@RM:PMSpecRec)
|
||||
SchedStarts = obj_RECURRING_TASK_SPEC('SchedStart',PMSpecKey:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_RECURRING_TASK_SPEC('EarlyStart',PMSpecKey:@RM:PMSpecRec)
|
||||
LateStarts = obj_RECURRING_TASK_SPEC('LateStart', PMSpecKey:@RM:PMSpecRec)
|
||||
|
||||
For I = 1 to pmCnt
|
||||
SchedStart = SchedStarts<1,I>
|
||||
@ -189,10 +189,10 @@ Service CompletePM(PMNo, UserID, CompDTM)
|
||||
|
||||
If Not(Overdue) then
|
||||
NewMode = 'PROD'
|
||||
Reason = 'PM No. ':PMNo:' completed.'
|
||||
Reason = 'RECURRING_TASK No. ':PMNo:' completed.'
|
||||
end else
|
||||
NewMode = 'QUAL_OVERDUE'
|
||||
Reason = 'PM No. ':PMNo:' completed, but another qual is overdue.'
|
||||
Reason = 'RECURRING_TASK No. ':PMNo:' completed, but another qual is overdue.'
|
||||
end
|
||||
|
||||
// Only change the tool mode if the tool is in one of the modes listed in the APP_INFO*QUAL_CHANGE_MODES
|
||||
@ -210,31 +210,31 @@ Service CompletePM(PMNo, UserID, CompDTM)
|
||||
end
|
||||
|
||||
If Error_Services('NoError') then
|
||||
PMRec<PM_COMP_BY$> = UserID
|
||||
PMRec<PM_COMP_DTM$> = CompDTM
|
||||
PMRec<PM_COMP_QTY$> = ToolCycleCnt
|
||||
Database_Services('WriteDataRow', 'PM', PMNo, PMRec, True$, False$, True$)
|
||||
PMRec<RECURRING_TASK_COMP_BY$> = UserID
|
||||
PMRec<RECURRING_TASK_COMP_DTM$> = CompDTM
|
||||
PMRec<RECURRING_TASK_COMP_QTY$> = ToolCycleCnt
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMNo, PMRec, True$, False$, True$)
|
||||
If Error_Services('NoError') then
|
||||
// Update Last PM Comp DTM in PM_SPEC record
|
||||
PM_Spec_Services('UpdatePMCompDtm', PMSNo)
|
||||
// Update Last PM Comp DTM in RECURRING_TASK_SPEC record
|
||||
RECURRING_TASK_SPEC_Services('UpdatePMCompDtm', PMSNo)
|
||||
If Error_Services('NoError') then
|
||||
Set_Status(0)
|
||||
ErrCode = ''
|
||||
obj_PM_Spec('SchedNewPM',PMSNo:@RM:OCONV(Date(),'D4'):@RM:OCONV(Time(),'MTS'):@RM:ToolCycleCnt:@RM:PMNo)
|
||||
obj_RECURRING_TASK_SPEC('SchedNewPM',PMSNo:@RM:OCONV(Date(),'D4'):@RM:OCONV(Time(),'MTS'):@RM:ToolCycleCnt:@RM:PMNo)
|
||||
If Get_Status(ErrCode) then
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling obj_PM_Spec("SchedNewPM") for '
|
||||
ErrorMsg := 'PM_SPEC ':PMSNo:' and PM ':PMNo:'. Error code: ':ErrCode
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling obj_RECURRING_TASK_SPEC("SchedNewPM") for '
|
||||
ErrorMsg := 'RECURRING_TASK_SPEC ':PMSNo:' and RECURRING_TASK ':PMNo:'. Error code: ':ErrCode
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
end
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling Tool_Services("ChangeToolMode") '
|
||||
ErrorMsg := 'PM ':PMNo:' for PM_SPEC ':PMSNo:' not completed! Error code: ':Error_Services('GetMessage')
|
||||
ErrorMsg := 'RECURRING_TASK ':PMNo:' for RECURRING_TASK_SPEC ':PMSNo:' not completed! Error code: ':Error_Services('GetMessage')
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null PM_SPEC ID or ToolID for PMNo ':PMNo:'.')
|
||||
Error_Services('Add', 'Error in ':Service:' service. Null RECURRING_TASK_SPEC ID or ToolID for PMNo ':PMNo:'.')
|
||||
end
|
||||
end
|
||||
end else
|
||||
@ -249,28 +249,28 @@ Service CompleteNonToolPM(PMNo, UserID, CurrDTM)
|
||||
If PMNo NE '' then
|
||||
If UserID EQ '' then UserID = @User4
|
||||
If CurrDTM EQ '' then StartDTM = Datetime()
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMNo)
|
||||
PMSNo = PMRec<PM_PMS_ID$>
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMNo)
|
||||
PMSNo = PMRec<RECURRING_TASK_PMS_ID$>
|
||||
If Error_Services('NoError') then
|
||||
EarlyStartDTM = IConv(Xlate('PM_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
EarlyStartDTM = IConv(Xlate('RECURRING_TASK_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
If CurrDTM GE EarlyStartDTM then
|
||||
PMRec<PM_START_BY$> = UserID
|
||||
PMRec<PM_START_DTM$> = CurrDTM
|
||||
PMRec<PM_COMP_BY$> = UserID
|
||||
PMRec<PM_COMP_DTM$> = CurrDTM
|
||||
PMRec<PM_COMP_QTY$> = 0
|
||||
Database_Services('WriteDataRow', 'PM', PMNo, PMRec, True$, False$, True$)
|
||||
PMRec<RECURRING_TASK_START_BY$> = UserID
|
||||
PMRec<RECURRING_TASK_START_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_COMP_BY$> = UserID
|
||||
PMRec<RECURRING_TASK_COMP_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_COMP_QTY$> = 0
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMNo, PMRec, True$, False$, True$)
|
||||
If Error_Services('NoError') then
|
||||
// Update Last PM Comp DTM in PM_SPEC record
|
||||
PM_Spec_Services('UpdatePMCompDtm', PMSNo)
|
||||
// Update Last PM Comp DTM in RECURRING_TASK_SPEC record
|
||||
RECURRING_TASK_SPEC_Services('UpdatePMCompDtm', PMSNo)
|
||||
If Error_Services('NoError') then
|
||||
Set_Status(0)
|
||||
ErrCode = ''
|
||||
obj_PM_Spec('SchedNewPM',PMSNo:@RM:OCONV(Date(),'D4'):@RM:OCONV(Time(),'MTS'):@RM:0:@RM:PMNo)
|
||||
//Pm_Services('ScheduleNextPM', PMSNo, PMNo)
|
||||
obj_RECURRING_TASK_SPEC('SchedNewPM',PMSNo:@RM:OCONV(Date(),'D4'):@RM:OCONV(Time(),'MTS'):@RM:0:@RM:PMNo)
|
||||
//Recurring_Task_Services('ScheduleNextPM', PMSNo, PMNo)
|
||||
If Error_Services('HasError') then
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling obj_PM_Spec("SchedNewPM") for '
|
||||
ErrorMsg := 'PM_SPEC ':PMSNo:' and PM ':PMNo:'. Error code: ':ErrCode
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling obj_RECURRING_TASK_SPEC("SchedNewPM") for '
|
||||
ErrorMsg := 'RECURRING_TASK_SPEC ':PMSNo:' and RECURRING_TASK ':PMNo:'. Error code: ':ErrCode
|
||||
Error_Services('Add', ErrorMsg)
|
||||
end
|
||||
end
|
||||
@ -299,21 +299,21 @@ Service MonitorQuals()
|
||||
NotScheduled = False$
|
||||
ReadV OrigPMStatus from hTool, ToolID, TOOL_PM_STATUS$ then
|
||||
|
||||
Open 'DICT.PM_SPEC' to PMSDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PMSDict then
|
||||
ToolPMSpecKeys = ''
|
||||
Option = ''
|
||||
Flag = ''
|
||||
Query = 'TOOL_ID':@VM:ToolID:@FM:'ARCHIVED':@VM:'#1':@FM
|
||||
Btree.Extract(Query, 'PM_SPEC', PMSDict, ToolPMSpecKeys, Option, Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PMSDict, ToolPMSpecKeys, Option, Flag)
|
||||
If Flag EQ 0 then
|
||||
If ToolPMSpecKeys NE '' then
|
||||
Today = Date()
|
||||
CurrDtm = ICONV(OCONV(Date(),'D'):' ':OCONV(Time(),'MT'), 'DT' )
|
||||
CurrCnt = XLATE('TOOL', ToolID, TOOL_CYCLE_CNT$, 'X')
|
||||
For each PMSpecKey in ToolPMSpecKeys using @VM
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSpecKey)
|
||||
ActPMKeys = PMSpecRec<PM_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSpecKey)
|
||||
ActPMKeys = PMSpecRec<RECURRING_TASK_SPEC_PM_KEYS$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
Conv = ''
|
||||
If Units = 'D' then Conv = 'D'
|
||||
If Units = 'T' then Conv = 'DT'
|
||||
@ -328,9 +328,9 @@ Service MonitorQuals()
|
||||
|
||||
If pmCnt = 0 then pmCnt = 1
|
||||
|
||||
SchedStarts = obj_PM_Spec('SchedStart',PMSpecKey:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_PM_Spec('EarlyStart',PMSpecKey:@RM:PMSpecRec)
|
||||
LateStarts = obj_PM_Spec('LateStart', PMSpecKey:@RM:PMSpecRec)
|
||||
SchedStarts = obj_RECURRING_TASK_SPEC('SchedStart',PMSpecKey:@RM:PMSpecRec)
|
||||
EarlyStarts = obj_RECURRING_TASK_SPEC('EarlyStart',PMSpecKey:@RM:PMSpecRec)
|
||||
LateStarts = obj_RECURRING_TASK_SPEC('LateStart', PMSpecKey:@RM:PMSpecRec)
|
||||
|
||||
For I = 1 to pmCnt
|
||||
SchedStart = SchedStarts<1,I>
|
||||
@ -375,7 +375,7 @@ Service MonitorQuals()
|
||||
CurrMode = Xlate('TOOL', ToolID, 'CURR_MODE', 'X')<1,1>
|
||||
ServiceModes = 'PROD':@FM:'LIM':@FM:'VER'
|
||||
Locate CurrMode in ServiceModes using @FM setting fPos then
|
||||
PMDesc = PMSpecRec<PM_SPEC_DESC$>
|
||||
PMDesc = PMSpecRec<RECURRING_TASK_SPEC_DESC$>
|
||||
Reason = 'Verification not performed.'
|
||||
Tool_Services('ChangeToolMode', ToolID, 'QUAL_OVERDUE', Reason, 'OI_ADMIN', True$)
|
||||
end
|
||||
@ -399,7 +399,7 @@ Service MonitorQuals()
|
||||
|
||||
end else
|
||||
|
||||
// No PM_SPEC records defined for this tool
|
||||
// No RECURRING_TASK_SPEC records defined for this tool
|
||||
If OrigPMStatus _NEC 'NOT_SCHEDULED' then
|
||||
// Only write the column if the PM status has changed.
|
||||
WriteV 'NOT_SCHEDULED' on hTool, ToolID, TOOL_PM_STATUS$ else null
|
||||
@ -421,18 +421,18 @@ Service FailedPM(PMNo, UserID, StartDTM)
|
||||
|
||||
If UserID EQ '' then UserID = @User4
|
||||
If StartDTM EQ '' then StartDTM = Datetime()
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMNo)
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMNo)
|
||||
If Error_Services('NoError') then
|
||||
PMSNo = PMRec<PM_PMS_ID$>
|
||||
ToolID = Xlate('PM_SPEC', PMSNo, PM_SPEC_TOOL_ID$, 'X')
|
||||
PMSNo = PMRec<RECURRING_TASK_PMS_ID$>
|
||||
ToolID = Xlate('RECURRING_TASK_SPEC', PMSNo, RECURRING_TASK_SPEC_TOOL_ID$, 'X')
|
||||
If ( (PMSNo NE '') and (ToolID NE '') ) then
|
||||
EarlyStartDTM = IConv(Xlate('PM_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
EarlyStartDTM = IConv(Xlate('RECURRING_TASK_SPEC', PMSNo, 'EARLY_START', 'X'), 'DT')
|
||||
If StartDTM GE EarlyStartDTM then
|
||||
// Only change the tool mode if the tool is in one of the modes listed in the APP_INFO*QUAL_CHANGE_MODES
|
||||
// record! This is to preserve other tool modes as the current mode such as SCHED_MTC.
|
||||
CurrMode = Xlate('TOOL', ToolID, 'CURR_MODE', 'X')<1,1>
|
||||
Locate CurrMode in ChangeModes using @FM setting fPos then
|
||||
Reason = 'PM No. ':PMNo:' Failed'
|
||||
Reason = 'RECURRING_TASK No. ':PMNo:' Failed'
|
||||
NewMode = 'VER_FAILED'
|
||||
Tool_Services('ChangeToolMode', ToolID, NewMode, Reason, UserID, True$)
|
||||
end else
|
||||
@ -458,17 +458,17 @@ Service ProcessQual(PSN, ToolID, CompDtm, Pass)
|
||||
Message = ''
|
||||
If ( (PSN NE '') and (ToolID NE '') and (CompDtm NE '') and (Pass NE '') ) then
|
||||
// Find scheduled PM for this qual check.
|
||||
// There should only be one PM_SPEC defined for this qual check at this time.
|
||||
// There should only be one RECURRING_TASK_SPEC defined for this qual check at this time.
|
||||
Option = ''
|
||||
Flag = ''
|
||||
PMSpecKeyID = ''
|
||||
Open 'DICT.PM_SPEC' to PmsDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PmsDict then
|
||||
Query = 'TOOL_ID':@VM:ToolID:@FM:'DESC':@VM:'[':PSN:']':@FM:'ARCHIVED':@VM:'#1':@FM
|
||||
Btree.Extract(Query, 'PM_SPEC', PmsDict, PMSpecKeyID, '', Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PmsDict, PMSpecKeyID, '', Flag)
|
||||
CurrPMKey = ''
|
||||
If Flag EQ 0 then
|
||||
If PMSpecKeyID NE '' then
|
||||
CurrPMKey = Xlate('PM_SPEC', PMSpecKeyID, 'PM_KEYS', 'X')
|
||||
CurrPMKey = Xlate('RECURRING_TASK_SPEC', PMSpecKeyID, 'PM_KEYS', 'X')
|
||||
If CurrPMKey NE '' then
|
||||
CompDtm[-3, 1] = ''
|
||||
PMDtm = IConv(CompDtm, 'DT')
|
||||
@ -478,12 +478,12 @@ Service ProcessQual(PSN, ToolID, CompDtm, Pass)
|
||||
If Pass then
|
||||
// The qual files do not contain which user performed the qual check, so just use OI_ADMIN for now.
|
||||
// The qual files only contain the complete datetime. Use it for both the start and complete datetime.
|
||||
PM_Services('StartPM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
RECURRING_TASK_Services('StartPM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
If Error_Services('NoError') then
|
||||
PM_Services('CompletePM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
RECURRING_TASK_Services('CompletePM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
If Error_Services('NoError') then
|
||||
StatusCode = 'UID000'
|
||||
Message = Service : ' : PM ':CurrPMKey:' for PM_SPEC ':PMSpecKeyID:' completed successfully.'
|
||||
Message = Service : ' : RECURRING_TASK ':CurrPMKey:' for RECURRING_TASK_SPEC ':PMSpecKeyID:' completed successfully.'
|
||||
end else
|
||||
StatusCode = 'UID002'
|
||||
Message = Service : ' : ' : Error_Services('GetMessage')
|
||||
@ -494,7 +494,7 @@ Service ProcessQual(PSN, ToolID, CompDtm, Pass)
|
||||
end
|
||||
end else
|
||||
// Failing Qual
|
||||
PM_Services('FailedPM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
RECURRING_TASK_Services('FailedPM', CurrPMKey, 'OI_ADMIN', PMDtm)
|
||||
If Error_Services('NoError') then
|
||||
StatusCode = 'UID001'
|
||||
Message = 'Qual fail for ':ToolID:' ':PSN:'. Qual NOT marked complete.'
|
||||
@ -505,11 +505,11 @@ Service ProcessQual(PSN, ToolID, CompDtm, Pass)
|
||||
end
|
||||
end else
|
||||
StatusCode = 'UID001'
|
||||
Message = 'No scheduled PM found for ':ToolID:' ':PSN:'.'
|
||||
Message = 'No scheduled RECURRING_TASK found for ':ToolID:' ':PSN:'.'
|
||||
end
|
||||
end else
|
||||
StatusCode = 'UID001'
|
||||
Message = 'No PM_SPEC record found for ':ToolID:' ':PSN:'.'
|
||||
Message = 'No RECURRING_TASK_SPEC record found for ':ToolID:' ':PSN:'.'
|
||||
end
|
||||
end else
|
||||
StatusCode = 'UID002'
|
||||
@ -517,7 +517,7 @@ Service ProcessQual(PSN, ToolID, CompDtm, Pass)
|
||||
end
|
||||
end else
|
||||
StatusCode = 'UID002'
|
||||
Message = 'Error opening DICT.PM_SPEC.'
|
||||
Message = 'Error opening DICT.RECURRING_TASK_SPEC.'
|
||||
end
|
||||
end else
|
||||
|
||||
@ -533,7 +533,7 @@ Service Get5SPMs(ShowArchived=BOOLEAN, Area=AREAS)
|
||||
Flag = ''
|
||||
keylist = ''
|
||||
Query = ''
|
||||
Open 'DICT.PM_SPEC' to PmsDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PmsDict then
|
||||
if Not(ShowArchived) then
|
||||
Query := 'ARCHIVED':@VM:'#1':@FM
|
||||
end
|
||||
@ -542,7 +542,7 @@ Service Get5SPMs(ShowArchived=BOOLEAN, Area=AREAS)
|
||||
end
|
||||
Query := 'FIVE_S_FLAG':@VM:True$:@FM
|
||||
|
||||
Btree.Extract(Query, 'PM_SPEC', PmsDict, keylist, '', Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PmsDict, keylist, '', Flag)
|
||||
end
|
||||
Response = keylist
|
||||
|
||||
@ -554,14 +554,14 @@ Service GetScrubberPMs(ShowArchived=BOOLEAN)
|
||||
Flag = ''
|
||||
keylist = ''
|
||||
Query = ''
|
||||
Open 'DICT.PM_SPEC' to PmsDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PmsDict then
|
||||
if NOT(ShowArchived) then
|
||||
Query := 'PM_CLASS':@VM:'SCRUBBER':@FM
|
||||
Query := 'ARCHIVED':@VM:'#1':@FM
|
||||
end else
|
||||
Query := 'PM_CLASS':@VM:'SCRUBBER':@FM
|
||||
end
|
||||
Btree.Extract(Query, 'PM_SPEC', PmsDict, keylist, '', Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PmsDict, keylist, '', Flag)
|
||||
end
|
||||
Response = keylist
|
||||
|
||||
@ -574,22 +574,22 @@ Service ScheduleNextPM(PMSID, PMNo, StartQty)
|
||||
|
||||
CurrDTM = Datetime()
|
||||
CurrDt = Date()
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSID)
|
||||
Interval = PMSpecRec<PM_SPEC_INTERVAL$>
|
||||
Units = PMSpecRec<PM_SPEC_UNITS$>
|
||||
PMSpecRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSID)
|
||||
Interval = PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$>
|
||||
Units = PMSpecRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
thisStartQty = ICONV(StartQty,'MD0')
|
||||
SchedDt = ''
|
||||
SchedTm = ''
|
||||
SchedQty = ''
|
||||
BEGIN CASE
|
||||
CASE Units = 'D'
|
||||
//SchedDt = CurrDTM + PMSpecRec<PM_SPEC_INTERVAL$> ;* Interval is in days
|
||||
//SchedDt = CurrDTM + PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$> ;* Interval is in days
|
||||
SchedDt = SRP_Datetime('AddDays', CurrDt, Interval)
|
||||
|
||||
CASE Units = 'T'
|
||||
Interval = PMSpecRec<PM_SPEC_INTERVAL$> ;* Interval is in hours
|
||||
Interval = PMSpecRec<RECURRING_TASK_SPEC_INTERVAL$> ;* Interval is in hours
|
||||
Interval = ( Interval/24 ) ;* Convert hours to decimal part of day
|
||||
EarlyStartDelta = PMSpecRec<PM_SPEC_EARLY_START_DELTA$>
|
||||
EarlyStartDelta = PMSpecRec<RECURRING_TASK_SPEC_EARLY_START_DELTA$>
|
||||
SchedDTM = CurrDTM + Interval
|
||||
SchedDTM = OCONV(SchedDTM, 'DT/^S')
|
||||
SchedDt = SchedDTM[1,' ']
|
||||
@ -602,7 +602,7 @@ Service ScheduleNextPM(PMSID, PMNo, StartQty)
|
||||
if thisStartQty NE '' then
|
||||
SchedQty = Interval + thisStartQty
|
||||
end else
|
||||
Error_Services('Add', 'Start Qty not supplied to PM_Services -> ScheduleNextPM')
|
||||
Error_Services('Add', 'Start Qty not supplied to RECURRING_TASK_Services -> ScheduleNextPM')
|
||||
end
|
||||
|
||||
Case Units = 'M'
|
||||
@ -613,15 +613,15 @@ Service ScheduleNextPM(PMSID, PMNo, StartQty)
|
||||
RETURN
|
||||
END CASE
|
||||
if Error_Services('NoError') then
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMNo = NextKey('RECURRING_TASK') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<PM_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<PM_ENTER_DTM$> = CurrDTM
|
||||
PMRec<PM_SCHED_DT$> = SchedDt
|
||||
PMRec<PM_SCHED_TM$> = SchedTm
|
||||
PMRec<PM_SCHED_QTY$> = OCONV(SchedQty,'MD0')
|
||||
Database_Services('WriteDataRow', 'PM', PMNo, PMRec)
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
PMrec<RECURRING_TASK_ENTER_BY$> = 'AUTO' ;* Automated process user
|
||||
PMRec<RECURRING_TASK_ENTER_DTM$> = CurrDTM
|
||||
PMRec<RECURRING_TASK_SCHED_DT$> = SchedDt
|
||||
PMRec<RECURRING_TASK_SCHED_TM$> = SchedTm
|
||||
PMRec<RECURRING_TASK_SCHED_QTY$> = OCONV(SchedQty,'MD0')
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMNo, PMRec)
|
||||
end
|
||||
|
||||
|
||||
@ -630,10 +630,10 @@ end service
|
||||
Service GetPMNotificationRecipients(PMSID)
|
||||
Recipients = ''
|
||||
If PMSID NE '' then
|
||||
If RowExists('PM_SPEC', PMSID) then
|
||||
If RowExists('RECURRING_TASK_SPEC', PMSID) then
|
||||
Recipients := Lsl_Users_Services('GetOnShiftUsersByClass', 'Si Shift Supervisors', 0)
|
||||
Recipients := @VM : Lsl_Users_Services('GetOnShiftUsersByClass', 'Lead Operator', 0)
|
||||
ADNotificationGroups = XLATE('PM_SPEC', PMSID, PM_SPEC_AD_NOTIFICATION_GROUPS$, 'X')
|
||||
ADNotificationGroups = XLATE('RECURRING_TASK_SPEC', PMSID, RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$, 'X')
|
||||
IF ADNotificationGroups NE '' then
|
||||
for each ADGroup in ADNotificationGroups using @VM
|
||||
GroupMemberList = Active_Directory_Services('GetADGroupMembersByGroupName', ADGroup, 'INFINEON')
|
||||
@ -649,7 +649,7 @@ Service GetPMNotificationRecipients(PMSID)
|
||||
Next ADGroup
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in GetPMNotificationRecipients: PM Spec record with key id ' : PMSID : 'does not exist.')
|
||||
Error_Services('Add', 'Error in GetPMNotificationRecipients: RECURRING_TASK Spec record with key id ' : PMSID : 'does not exist.')
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'Error in GetPMNotificationRecipients: PMSID was null')
|
||||
@ -661,7 +661,7 @@ Service SendPMNotifications()
|
||||
hSysLists = Database_Services('GetTableHandle', 'SYSLISTS')
|
||||
Lock hSysLists, ServiceKeyID then
|
||||
errMessage = ''
|
||||
PMStatuses = Pm_Services('GetPMStatuses')
|
||||
PMStatuses = RECURRING_TASK_Services('GetPMStatuses')
|
||||
SentFrom = 'OI_ADMIN'
|
||||
AttachWindow = ''
|
||||
AttachKey = ''
|
||||
@ -669,27 +669,27 @@ Service SendPMNotifications()
|
||||
for each PMStatusLine in PMStatuses using @FM
|
||||
Status = PMStatusLine<1,COL$STATUS>
|
||||
LastNotification = PMStatusLine<1,COL$NOTIFICAITON>
|
||||
PMDesc = XLATE('PM_SPEC', PMStatusLine<1,COL$PMSKEY>, PM_SPEC_DESC$, 'X')
|
||||
PMDesc = XLATE('RECURRING_TASK_SPEC', PMStatusLine<1,COL$PMSKEY>, RECURRING_TASK_SPEC_DESC$, 'X')
|
||||
PMKey = PMStatusLine<1,COL$CURRPMKEY>
|
||||
|
||||
PMRec = Database_Services('ReadDataRow', 'PM', PMKey)
|
||||
PMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMKey)
|
||||
PMSpecKey = PMStatusLine<1, COL$PMSKEY>
|
||||
PMSRec = Database_Services('ReadDataRow', 'PM_SPEC', PMSpecKey)
|
||||
Tool = PMSRec<PM_SPEC_TOOL_ID$>
|
||||
SendEarlyNotification = PMSRec<PM_SPEC_SEND_EARLY_NOTIFICATION$>
|
||||
SendDueNotification = PMSRec<PM_SPEC_SEND_DUE_NOTIFICATION$>
|
||||
SendLateNotification = PMSRec<PM_SPEC_SEND_LATE_NOTIFICATION$>
|
||||
PMSRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PMSpecKey)
|
||||
Tool = PMSRec<RECURRING_TASK_SPEC_TOOL_ID$>
|
||||
SendEarlyNotification = PMSRec<RECURRING_TASK_SPEC_SEND_EARLY_NOTIFICATION$>
|
||||
SendDueNotification = PMSRec<RECURRING_TASK_SPEC_SEND_DUE_NOTIFICATION$>
|
||||
SendLateNotification = PMSRec<RECURRING_TASK_SPEC_SEND_LATE_NOTIFICATION$>
|
||||
If LastNotification EQ '' then
|
||||
Begin Case
|
||||
Case Status EQ 'EARLY'
|
||||
IF SendEarlyNotification then
|
||||
If PMRec<PM_EARLY_NOTIF_SENT$> EQ '' then
|
||||
PMRec<PM_EARLY_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'PM', PMKey, PMRec, 1, 0, 1)
|
||||
If PMRec<RECURRING_TASK_EARLY_NOTIF_SENT$> EQ '' then
|
||||
PMRec<RECURRING_TASK_EARLY_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMKey, PMRec, 1, 0, 1)
|
||||
if Error_Services('NoError') then
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'PM', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<PM_EARLY_NOTIF_SENT$> NE '' then
|
||||
Recipients = PM_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<RECURRING_TASK_EARLY_NOTIF_SENT$> NE '' then
|
||||
Recipients = RECURRING_TASK_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
if Error_Services('NoError') then
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||
@ -698,7 +698,7 @@ Service SendPMNotifications()
|
||||
LogData<4> = 'EARLY NOTIFICATIONS Prechecks passed, message okay to send.'
|
||||
Logging_Services('AppendLog', objLogNotifications, LogData, @RM, @FM, False$)
|
||||
|
||||
Subject = 'PM Task Coming Due'
|
||||
Subject = 'RECURRING_TASK Task Coming Due'
|
||||
Message = 'Tool: ': Tool : ' - ' :PMDesc:" is coming due. Scheduled due by " : OCONV(PMStatusLine<1,COL$DUEBY>, 'DT')
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
@ -748,13 +748,13 @@ Service SendPMNotifications()
|
||||
end
|
||||
Case Status EQ 'DUE'
|
||||
If SendDueNotification then
|
||||
If PMRec<PM_DUE_NOTIF_SENT$> EQ '' then
|
||||
PMRec<PM_DUE_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'PM', PMKey, PMRec, 1, 0, 1)
|
||||
If PMRec<RECURRING_TASK_DUE_NOTIF_SENT$> EQ '' then
|
||||
PMRec<RECURRING_TASK_DUE_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMKey, PMRec, 1, 0, 1)
|
||||
if Error_Services('NoError') then
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'PM', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<PM_DUE_NOTIF_SENT$> NE '' then
|
||||
Recipients = PM_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<RECURRING_TASK_DUE_NOTIF_SENT$> NE '' then
|
||||
Recipients = RECURRING_TASK_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
if Error_Services('NoError') then
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||
@ -763,9 +763,9 @@ Service SendPMNotifications()
|
||||
LogData<4> = 'DUE NOTIFICATIONS Prechecks passed, message okay to send.'
|
||||
Logging_Services('AppendLog', objLogNotifications, LogData, @RM, @FM, False$)
|
||||
|
||||
Subject = 'PM Task Due'
|
||||
Message = 'Tool: ': Tool : ' - ' :PMDesc:" is due. Scheduled due by " : OCONV(PMStatusLine<1,COL$DUEBY>, 'DT')
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
Subject = 'RECURRING_TASK Task Due'
|
||||
Message = 'Tool: ': Tool : ' - ' :PMDesc:" is due. Scheduled due by " : OCONV(PMStatusLine<1,COL$DUEBY>, 'DT')
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
|
||||
LogData = ''
|
||||
@ -813,14 +813,14 @@ Service SendPMNotifications()
|
||||
end
|
||||
Case Status EQ 'LATE'
|
||||
if SendLateNotification then
|
||||
If PMRec<PM_LATE_NOTIF_SENT$> EQ '' then
|
||||
PMRec<PM_LATE_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'PM', PMKey, PMRec, 1, 0, 1)
|
||||
If PMRec<RECURRING_TASK_LATE_NOTIF_SENT$> EQ '' then
|
||||
PMRec<RECURRING_TASK_LATE_NOTIF_SENT$> = Datetime()
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK', PMKey, PMRec, 1, 0, 1)
|
||||
if Error_Services('NoError') then
|
||||
//Check to make sure this change is commited by rereading in the record
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'PM', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<PM_LATE_NOTIF_SENT$> NE '' then
|
||||
Recipients = PM_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
UpdatedPMRec = Database_Services('ReadDataRow', 'RECURRING_TASK', PMKey, True$, 0, False$)
|
||||
If UpdatedPMRec<RECURRING_TASK_LATE_NOTIF_SENT$> NE '' then
|
||||
Recipients = RECURRING_TASK_Services('GetPMNotificationRecipients', PMSpecKey)
|
||||
if Error_Services('NoError') then
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM;//Defined at entry of subroutine
|
||||
@ -829,9 +829,9 @@ Service SendPMNotifications()
|
||||
LogData<4> = 'LATE NOTIFICATIONS Prechecks passed, message okay to send.'
|
||||
Logging_Services('AppendLog', objLogNotifications, LogData, @RM, @FM, False$)
|
||||
|
||||
Subject = 'PM overdue'
|
||||
Message = 'Tool: ': Tool : ' - ' :PMDesc:" is overdue. Scheduled due by " : OCONV(PMStatusLine<1,COL$DUEBY>, 'DT')
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
Subject = 'RECURRING_TASK overdue'
|
||||
Message = 'Tool: ': Tool : ' - ' :PMDesc:" is overdue. Scheduled due by " : OCONV(PMStatusLine<1,COL$DUEBY>, 'DT')
|
||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||
obj_Notes('Create',Parms)
|
||||
|
||||
LogData = ''
|
||||
@ -894,7 +894,7 @@ Service GetPMStatuses()
|
||||
DuePMs = ''
|
||||
//Step 1: Get all PM's that are not complete
|
||||
equ TARGET_ACTIVELIST$ to 5
|
||||
Statement = "SELECT PM_SPEC WITH ARCHIVED NE 1"
|
||||
Statement = "SELECT RECURRING_TASK_SPEC WITH ARCHIVED NE 1"
|
||||
rlist( Statement, target_activelist$, '', '', '' )
|
||||
PMSpecList = ''
|
||||
IF @RecCount then
|
||||
@ -910,24 +910,24 @@ Service GetPMStatuses()
|
||||
for each PmsKey in PMSpecList using @FM
|
||||
CurrDt = Date()
|
||||
CurrDtm = Datetime()
|
||||
PmsRec = Database_Services('ReadDataRow', 'PM_SPEC', PmsKey)
|
||||
Is5S = PmsRec<PM_SPEC_FIVE_S_FLAG$>
|
||||
Units = PmsRec<PM_SPEC_UNITS$>
|
||||
CurrPMId = PmsRec<PM_SPEC_PM_KEYS$, 1>
|
||||
CurrPmRec = Database_Services('ReadDataRow', 'PM', CurrPMId)
|
||||
PmsRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', PmsKey)
|
||||
Is5S = PmsRec<RECURRING_TASK_SPEC_FIVE_S_FLAG$>
|
||||
Units = PmsRec<RECURRING_TASK_SPEC_UNITS$>
|
||||
CurrPMId = PmsRec<RECURRING_TASK_SPEC_PM_KEYS$, 1>
|
||||
CurrPmRec = Database_Services('ReadDataRow', 'RECURRING_TASK', CurrPMId)
|
||||
Begin Case
|
||||
Case Units EQ 'T'
|
||||
EarlyStart = ICONV(obj_PM_Spec('EarlyStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
DueStart = ICONV(obj_PM_Spec('SchedStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
LateStart = ICONV(obj_PM_Spec('LateStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
EarlyStart = ICONV(obj_RECURRING_TASK_SPEC('EarlyStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
DueStart = ICONV(obj_RECURRING_TASK_SPEC('SchedStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
LateStart = ICONV(obj_RECURRING_TASK_SPEC('LateStart',PmsKey:@RM:PmsRec), 'DT')
|
||||
Case Units EQ 'D'
|
||||
EarlyStart = ICONV(obj_PM_Spec('EarlyStart',PmsKey:@RM:PmsRec), 'D')
|
||||
DueStart = ICONV(obj_PM_Spec('SchedStart',PmsKey:@RM:PmsRec), 'D')
|
||||
LateStart = ICONV(obj_PM_Spec('LateStart',PmsKey:@RM:PmsRec), 'D')
|
||||
EarlyStart = ICONV(obj_RECURRING_TASK_SPEC('EarlyStart',PmsKey:@RM:PmsRec), 'D')
|
||||
DueStart = ICONV(obj_RECURRING_TASK_SPEC('SchedStart',PmsKey:@RM:PmsRec), 'D')
|
||||
LateStart = ICONV(obj_RECURRING_TASK_SPEC('LateStart',PmsKey:@RM:PmsRec), 'D')
|
||||
Case 0
|
||||
EarlyStart = obj_PM_Spec('EarlyStart',PmsKey:@RM:PmsRec)
|
||||
DueStart = obj_PM_Spec('SchedStart',PmsKey:@RM:PmsRec)
|
||||
LateStart = obj_PM_Spec('LateStart',PmsKey:@RM:PmsRec)
|
||||
EarlyStart = obj_RECURRING_TASK_SPEC('EarlyStart',PmsKey:@RM:PmsRec)
|
||||
DueStart = obj_RECURRING_TASK_SPEC('SchedStart',PmsKey:@RM:PmsRec)
|
||||
LateStart = obj_RECURRING_TASK_SPEC('LateStart',PmsKey:@RM:PmsRec)
|
||||
End Case
|
||||
|
||||
|
||||
@ -974,18 +974,18 @@ Service GetPMStatuses()
|
||||
|
||||
If SendEarly then
|
||||
SendEarlyCnt += 1
|
||||
NotificationSent = CurrPMRec<PM_EARLY_NOTIF_SENT$>
|
||||
NotificationSent = CurrPMRec<RECURRING_TASK_EARLY_NOTIF_SENT$>
|
||||
DuePMs<-1> = PmsKey : @VM : 'EARLY' : @VM : NotificationSent : @VM : LateStart : @VM : CurrPMId
|
||||
end
|
||||
If SendDue then
|
||||
SendDueCnt += 1
|
||||
NotificationSent = CurrPMRec<PM_DUE_NOTIF_SENT$>
|
||||
NotificationSent = CurrPMRec<RECURRING_TASK_DUE_NOTIF_SENT$>
|
||||
DuePMs<-1> = PmsKey : @VM : 'DUE' : @VM: NotificationSent : @VM : LateStart : @VM : CurrPMId
|
||||
end
|
||||
|
||||
If SendLate then
|
||||
SendLateCnt += 1
|
||||
NotificationSent = CurrPMRec<PM_LATE_NOTIF_SENT$>
|
||||
NotificationSent = CurrPMRec<RECURRING_TASK_LATE_NOTIF_SENT$>
|
||||
DuePMs<-1> = PmsKey : @VM : 'LATE' : @VM : NotificationSent : @VM : LateStart : @VM : CurrPMId
|
||||
end
|
||||
If NotDue then
|
||||
@ -1001,17 +1001,17 @@ Service CompleteScrubberPM(ScrubberID)
|
||||
Flag = ''
|
||||
keylist = ''
|
||||
Query = ''
|
||||
Open 'DICT.PM_SPEC' to PmsDict then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to PmsDict then
|
||||
Query := 'TOOL_ID':@VM:ScrubberID:@FM
|
||||
Btree.Extract(Query, 'PM_SPEC', PmsDict, keylist, '', Flag)
|
||||
Btree.Extract(Query, 'RECURRING_TASK_SPEC', PmsDict, keylist, '', Flag)
|
||||
end
|
||||
ScrubberPMSpecKeys = keylist
|
||||
If DCOUNT(ScrubberPMSpecKeys, @VM) GT 0 then
|
||||
for each PMSKey in keylist using @VM
|
||||
PMKeys = XLATE('PM_SPEC', PMSKey, 'PM_KEYS', 'X')
|
||||
PMKeys = XLATE('RECURRING_TASK_SPEC', PMSKey, 'PM_KEYS', 'X')
|
||||
If DCount(PMKeys, @VM GT 0) then
|
||||
for each PMKey in PMKeys using @VM
|
||||
Pm_Services('CompleteNonToolPM', PMKey, 'SYSTEM', DateTime())
|
||||
RECURRING_TASK_Services('CompleteNonToolPM', PMKey, 'SYSTEM', DateTime())
|
||||
If Error_Services('HasError') then
|
||||
ErrMsg = Error_Services('GetMessage')
|
||||
Error_Services('Add', 'Error trying to complete Scrubber PM:' : ErrMsg)
|
||||
@ -1019,14 +1019,14 @@ Service CompleteScrubberPM(ScrubberID)
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = ScrubberID
|
||||
LogData<3> = 'Error'
|
||||
LogData<4> = 'PM ' : PMKey : '. ' : ErrMsg
|
||||
LogData<4> = 'RECURRING_TASK ' : PMKey : '. ' : ErrMsg
|
||||
Logging_Services('AppendLog', objLogScrubbers, LogData, @RM, @FM)
|
||||
end else
|
||||
LogData = ''
|
||||
LogData<1> = OConv(Datetime(), 'DT2/^H')
|
||||
LogData<2> = ScrubberID
|
||||
LogData<3> = 'Success'
|
||||
LogData<4> = 'PM ' : PMKey : ' Completed successfully'
|
||||
LogData<4> = 'RECURRING_TASK ' : PMKey : ' Completed successfully'
|
||||
Logging_Services('AppendLog', objLogScrubbers, LogData, @RM, @FM)
|
||||
end
|
||||
Next PMKey
|
||||
@ -1060,29 +1060,29 @@ Service GetActivePMsByToolId(ToolId)
|
||||
ErrorMessage = ''
|
||||
ActivePMIdList = ''
|
||||
If ToolId NE '' then
|
||||
Open 'DICT.PM_SPEC' to @DICT then
|
||||
Open 'DICT.RECURRING_TASK_SPEC' to @DICT then
|
||||
Option = ''
|
||||
Flag = ''
|
||||
PMSpecList = ''
|
||||
SearchStr = 'TOOL_ID':@VM:ToolId:@FM
|
||||
SearchStr := 'ARCHIVED':@VM:'#1':@FM
|
||||
Btree.Extract(SearchStr, 'PM_SPEC', @DICT, PMSpecList, '', Flag)
|
||||
Btree.Extract(SearchStr, 'RECURRING_TASK_SPEC', @DICT, PMSpecList, '', Flag)
|
||||
If Flag EQ 0 AND PMSpecList NE '' then
|
||||
for each PMSpecId in PMSpecList using @VM
|
||||
ActivePMKeys = Database_Services('ReadDataColumn', 'PM_SPEC', PMSpecId, PM_SPEC_PM_KEYS$, True$, 0, False$)
|
||||
ActivePMKeys = Database_Services('ReadDataColumn', 'RECURRING_TASK_SPEC', PMSpecId, RECURRING_TASK_SPEC_PM_KEYS$, True$, 0, False$)
|
||||
If ActivePMKeys NE '' then
|
||||
ActivePMIdList<1,-1> = ActivePMKeys
|
||||
end
|
||||
Next PMSpecId
|
||||
end else
|
||||
ErrorMessage = 'Error in PM_Services -> GetActivePMsByToolIdAndType, unable to find active PM Specs for this tool id'
|
||||
ErrorMessage = 'Error in RECURRING_TASK_Services -> GetActivePMsByToolIdAndType, unable to find active PM Specs for this tool id'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Error in PM_Services -> GetActivePMsByToolIdAndType, error opening PM_SPEC dictionary'
|
||||
ErrorMessage = 'Error in RECURRING_TASK_Services -> GetActivePMsByToolIdAndType, error opening RECURRING_TASK_SPEC dictionary'
|
||||
end
|
||||
|
||||
end else
|
||||
ErrorMessage = 'Error in PM_Services -> GetActivePMsByToolIdAndType, null tool id passed to routine'
|
||||
ErrorMessage = 'Error in RECURRING_TASK_Services -> GetActivePMsByToolIdAndType, null tool id passed to routine'
|
||||
end
|
||||
Response = ActivePMIdList
|
||||
end service
|
||||
@ -1094,3 +1094,4 @@ return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
COMPILE FUNCTION PM_Spec(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
COMPILE FUNCTION Recurring_Task_Spec(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
|
||||
/*
|
||||
Commuter module for PM_SPEC (Preventive Maintenance Schedule) window
|
||||
@ -15,8 +15,8 @@ DECLARE FUNCTION Send_Message, Msg, NextKey, Database_Services, Msg, Error_Servi
|
||||
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT PM_EQUATES
|
||||
$Insert PM_Spec_Equates
|
||||
$INSERT RECURRING_TASK_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_Equates
|
||||
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ EQU COL$LATE_DTM TO 4
|
||||
|
||||
ErrCode = ''
|
||||
ErrorMsg = ''
|
||||
ErrTitle = 'Error in PM_SPEC routine'
|
||||
ErrTitle = 'Error in RECURRING_TASK_SPEC routine'
|
||||
Result = ''
|
||||
|
||||
BEGIN CASE
|
||||
@ -89,7 +89,7 @@ RETURN
|
||||
New:
|
||||
* * * * * * *
|
||||
|
||||
PMSId = NextKey('PM_SPEC')
|
||||
PMSId = NextKey('RECURRING_TASK_SPEC')
|
||||
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:PMSId)
|
||||
|
||||
@ -143,8 +143,8 @@ Refresh:
|
||||
END
|
||||
NEXT Line
|
||||
NEXT I
|
||||
ThisPMSpecRec = Database_Services('ReadDataRow', 'PM_SPEC', @ID, 1, 0, 0)
|
||||
ADNotificationGroups = ThisPMSpecRec<PM_SPEC_AD_NOTIFICATION_GROUPS$>
|
||||
ThisPMSpecRec = Database_Services('ReadDataRow', 'RECURRING_TASK_SPEC', @ID, 1, 0, 0)
|
||||
ADNotificationGroups = ThisPMSpecRec<RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$>
|
||||
Set_Property(@Window : '.EDT_NOTIFICATION_GROUPS', 'ARRAY', ADNotificationGroups)
|
||||
|
||||
|
||||
@ -155,9 +155,9 @@ RETURN
|
||||
Read:
|
||||
* * * * * * *
|
||||
|
||||
PMId = Get_Property(@WINDOW:'.PM_ID','DEFPROP')
|
||||
PMId = Get_Property(@WINDOW:'.PMS_ID','DEFPROP')
|
||||
|
||||
IF RowExists('PM',PMId) ELSE
|
||||
IF RowExists('RECURRING_TASK',PMId) ELSE
|
||||
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
|
||||
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
|
||||
@ -227,14 +227,14 @@ NewPM:
|
||||
|
||||
PMSId = Get_Property(@WINDOW:'.PMS_ID','DEFPROP')
|
||||
|
||||
Send_Event(@WINDOW,'WRITE') ;* Write current PM_SPEC record
|
||||
Send_Event(@WINDOW,'WRITE') ;* Write current RECURRING_TASK_SPEC record
|
||||
|
||||
PMNo = NextKey('PM') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<PM_PMS_ID$> = PMSId ;* New PMRec
|
||||
StartTime = Get_Property(@Window:'.EDL_PM_START_TIME', 'TEXT')
|
||||
PMRec<PM_SCHED_TM$> = IConv(StartTime, 'MTS')
|
||||
otParms = 'PM':@RM:PMNo:@RM:@RM:PMRec
|
||||
PMNo = NextKey('RECURRING_TASK') ;* Next PMKey
|
||||
PMRec = ''
|
||||
PMRec<RECURRING_TASK_PMS_ID$> = PMSId ;* New PMRec
|
||||
StartTime = Get_Property(@Window:'.EDL_PM_START_TIME', 'TEXT')
|
||||
PMRec<RECURRING_TASK_SCHED_TM$> = IConv(StartTime, 'MTS')
|
||||
otParms = 'RECURRING_TASK':@RM:PMNo:@RM:@RM:PMRec
|
||||
obj_Tables('WriteRec',otParms) ;* Write new PM record
|
||||
|
||||
IF Get_Status(errCode) THEN
|
||||
@ -242,9 +242,9 @@ NewPM:
|
||||
RETURN
|
||||
END
|
||||
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMNo:@RM:@RM) ;* View new related PM record
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMNo:@RM:@RM) ;* View new related PM record
|
||||
|
||||
Set_Property('PM','@RETURN_KEY',PMSId)
|
||||
Set_Property('RECURRING_TASK','@RETURN_KEY',PMSId)
|
||||
|
||||
|
||||
|
||||
@ -265,7 +265,7 @@ PMKeyDC:
|
||||
|
||||
IF PMKeyList<CurrRow,COL$PM_KEY> NE '' THEN
|
||||
PMKey = PMKeyList<CurrRow,COL$PM_KEY>
|
||||
obj_Appwindow('ViewRelated','PM':@RM:PMKey:@RM:@RM)
|
||||
obj_Appwindow('ViewRelated','RECURRING_TASK':@RM:PMKey:@RM:@RM)
|
||||
|
||||
END
|
||||
|
||||
@ -281,12 +281,12 @@ AddNotificationGroup:
|
||||
If Group NE '' then
|
||||
//Save any uncommited changes
|
||||
UpdatedRec = Get_Property (@Window, "ATRECORD")
|
||||
Locate Group in UpdatedRec<PM_SPEC_AD_NOTIFICATION_GROUPS$> using @VM setting gPos then
|
||||
Locate Group in UpdatedRec<RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$> using @VM setting gPos then
|
||||
Text = "Distribution list is already assigned."
|
||||
Msg(@window, Text)
|
||||
end else
|
||||
UpdatedRec<PM_SPEC_AD_NOTIFICATION_GROUPS$, -1> = Group
|
||||
Database_Services('WriteDataRow', 'PM_SPEC', @ID, UpdatedRec, 1, 0, 1)
|
||||
UpdatedRec<RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$, -1> = Group
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK_SPEC', @ID, UpdatedRec, 1, 0, 1)
|
||||
if Error_Services('NoError') then
|
||||
Set_Property (@Window, "ATRECORD", UpdatedRec)
|
||||
Set_Property(@Window, 'SAVEWARN', 0)
|
||||
@ -309,9 +309,9 @@ DeleteNotificationGroup:
|
||||
GroupToDelete = NotifArray<1,SelectedPos>
|
||||
If GroupToDelete NE '' then
|
||||
UpdatedRec = Get_Property (@Window, "ATRECORD")
|
||||
Locate GroupToDelete in UpdatedRec<PM_SPEC_AD_NOTIFICATION_GROUPS$> using @VM setting gPos then
|
||||
UpdatedRec = Delete(UpdatedRec, PM_SPEC_AD_NOTIFICATION_GROUPS$, gPos, 0)
|
||||
Database_Services('WriteDataRow', 'PM_SPEC', PMSpecID, UpdatedRec, 1, 0, 1)
|
||||
Locate GroupToDelete in UpdatedRec<RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$> using @VM setting gPos then
|
||||
UpdatedRec = Delete(UpdatedRec, RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$, gPos, 0)
|
||||
Database_Services('WriteDataRow', 'RECURRING_TASK_SPEC', PMSpecID, UpdatedRec, 1, 0, 1)
|
||||
if Error_Services('NoError') then
|
||||
Set_Property (@Window, "ATRECORD", UpdatedRec)
|
||||
Set_Property(@Window, 'SAVEWARN', 0)
|
||||
@ -328,3 +328,5 @@ DeleteNotificationGroup:
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
303
LSL2/STPROC/RECURRING_TASK_SPEC_ACTIONS.txt
Normal file
303
LSL2/STPROC/RECURRING_TASK_SPEC_ACTIONS.txt
Normal file
@ -0,0 +1,303 @@
|
||||
Function RECURRING_TASK_SPEC_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from Infineon.
|
||||
|
||||
Name : RECURRING_TASK_SPEC_Actions
|
||||
|
||||
Description : Handles calculated columns and MFS calls for the current table.
|
||||
|
||||
Notes : This function uses @ID, @RECORD, and @DICT to make sure {ColumnName} references work correctly.
|
||||
If called from outside of a calculated column these will need to be set and restored.
|
||||
|
||||
Parameters :
|
||||
Action [in] -- Name of the action to be taken
|
||||
CalcColName [in] -- Name of the calculated column that needs to be processed. Normally this should only be
|
||||
populated when the CalcField action is being used.
|
||||
FSList [in] -- The list of MFSs and the BFS name for the current file or volume. This is an @SVM
|
||||
delimited array, with the current MFS name as the first value in the array, and the BFS
|
||||
name as the last value. Normally set by a calling MFS.
|
||||
Handle [in] -- The file handle of the file or media map being accessed. Note, this does contain the
|
||||
entire handle structure that the Basic+ Open statement would provide. Normally set by a
|
||||
calling MFS.
|
||||
Name [in] -- The name (key) of the record or file being accessed. Normally set by a calling MFS.
|
||||
FMC [in] -- Various functions. Normally set by a calling MFS.
|
||||
Record [in] -- The entire record (for record-oriented functions) or a newly-created handle (for
|
||||
"get handle" functions). Normally set by a calling MFS.
|
||||
Status [in/out] -- Indicator of the success or failure of an action. Normally set by the calling MFS but
|
||||
for some actions can be set by the action handler to indicate failure.
|
||||
OrigRecord [in] -- Original content of the record being processed by the current action. This is
|
||||
automatically being assigned by the WRITE_RECORD and DELETE_RECORD actions within
|
||||
BASE_MFS.
|
||||
Param1-10 [in/out] -- Additional request parameter holders
|
||||
ActionFlow [out] -- Used to control the action chain (see the ACTION_SETUP insert for more information.)
|
||||
Can also be used to return a special value, such as the results of the CalcField
|
||||
method.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
08/25/23 jro Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert FILE.SYSTEM.EQUATES
|
||||
$insert ACTION_SETUP
|
||||
$insert RECURRING_TASK_EQUATES
|
||||
$insert RECURRING_TASK_SPEC_EQUATES
|
||||
$insert RLIST_EQUATES
|
||||
$insert PM_SCHED_EQUATES
|
||||
$insert TOOL_EQUATES
|
||||
|
||||
Equ Comma$ to ','
|
||||
|
||||
Declare function Error_Services, Database_Services, Environment_Services, Obj_RECURRING_TASK_SPEC
|
||||
Declare function SRP_Array, SRP_Datetime
|
||||
Declare subroutine Error_Services, Database_Services, Environment_Services, Logging_Services
|
||||
Declare subroutine RList
|
||||
|
||||
If KeyID then GoSub Initialize_System_Variables
|
||||
|
||||
Begin Case
|
||||
|
||||
Case Action _EQC 'CalculateColumn' ; GoSub CalculateColumn
|
||||
Case Action _EQC 'READ_RECORD_PRE' ; GoSub READ_RECORD_PRE
|
||||
Case Action _EQC 'READ_RECORD' ; GoSub READ_RECORD
|
||||
Case Action _EQC 'READONLY_RECORD_PRE' ; GoSub READONLY_RECORD_PRE
|
||||
Case Action _EQC 'READONLY_RECORD' ; GoSub READONLY_RECORD
|
||||
Case Action _EQC 'WRITE_RECORD_PRE' ; GoSub WRITE_RECORD_PRE
|
||||
Case Action _EQC 'WRITE_RECORD' ; GoSub WRITE_RECORD
|
||||
Case Action _EQC 'DELETE_RECORD_PRE' ; GoSub DELETE_RECORD_PRE
|
||||
Case Action _EQC 'DELETE_RECORD' ; GoSub DELETE_RECORD
|
||||
Case Otherwise$ ; Status = 'Invalid Action'
|
||||
|
||||
End Case
|
||||
|
||||
If KeyID then GoSub Restore_System_Variables
|
||||
|
||||
If Assigned(ActionFlow) else ActionFlow = ACTION_CONTINUE$
|
||||
|
||||
Return ActionFlow
|
||||
|
||||
|
||||
// ----- Calculated Columns --------------------------------------------------------------------------------------------
|
||||
//
|
||||
// The typical structure of a calculated column will look like this:
|
||||
//
|
||||
// Declare function TableName_Actions
|
||||
//
|
||||
// A = {COL1} ; * Reference as many data columns in this way to ensure the dictionary dependency is generated.
|
||||
//
|
||||
// @ANS = TableName_Actions('CalcField', 'CalcColName')
|
||||
//
|
||||
// ---------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
CalculateColumn:
|
||||
|
||||
// Make sure the ActionFlow return variable is cleared in case nothing is calculated.
|
||||
ActionFlow = ''
|
||||
|
||||
Begin Case
|
||||
Case CalcColName EQ 'EARLY_START' ; GoSub EARLY_START
|
||||
Case CalcColName EQ 'LAST_PM_DTM' ; GoSub LAST_PM_DTM
|
||||
Case CalcColName EQ 'LATE_START' ; GoSub LATE_START
|
||||
Case CalcColName EQ 'NEXT_PM_DT' ; GoSub NEXT_PM_DT
|
||||
Case CalcColName EQ 'PM_DTM' ; GoSub PM_DTM
|
||||
Case CalcColName EQ 'PM_STATUS' ; GoSub PM_STATUS
|
||||
Case CalcColName EQ 'SCHED_START' ; GoSub SCHED_START
|
||||
Case CalcColName EQ 'TOOL_CYCLE_CNT' ; GoSub TOOL_CYCLE_CNT
|
||||
Case CalcColName EQ 'TOOL_DESC' ; GoSub TOOL_DESC
|
||||
Case CalcColName EQ 'TOOL_LOCATION' ; GoSub TOOL_LOCATION
|
||||
Case CalcColName EQ 'TOOL_TYPE' ; GoSub TOOL_TYPE
|
||||
|
||||
End Case
|
||||
|
||||
return
|
||||
|
||||
EARLY_START:
|
||||
|
||||
ActionFlow = obj_recurring_task_spec('EarlyStart',@ID:@RM:@RECORD)
|
||||
|
||||
return
|
||||
|
||||
LAST_PM_DTM:
|
||||
|
||||
ActionFlow = obj_recurring_task_spec('LastPMCompDTM',@ID)
|
||||
|
||||
return
|
||||
|
||||
LATE_START:
|
||||
|
||||
ActionFlow = obj_recurring_task_spec('LateStart',@ID:@RM:@RECORD)
|
||||
|
||||
return
|
||||
|
||||
NEXT_PM_DT:
|
||||
|
||||
ActionFlow = ''
|
||||
|
||||
return
|
||||
|
||||
PM_DTM:
|
||||
|
||||
PMKeys = @RECORD<18>
|
||||
Ans = ''
|
||||
pmCnt = COUNT(PMKeys,@VM) + (PMKeys NE '')
|
||||
|
||||
FOR I = 1 TO pmCnt
|
||||
Ans<1,I> = PMKeys<1,I>[-1,'B*']
|
||||
NEXT I
|
||||
|
||||
ActionFlow = Ans
|
||||
|
||||
return
|
||||
|
||||
PM_STATUS:
|
||||
|
||||
PMKeys = @RECORD<18>
|
||||
ActionFlow = XLATE('RECURRING_TASK',PMKeys,'STATUS','X')
|
||||
|
||||
return
|
||||
|
||||
SCHED_START:
|
||||
|
||||
ActionFlow = obj_recurring_task_spec('SchedStart',@ID:@RM:@RECORD)
|
||||
|
||||
return
|
||||
|
||||
TOOL_CYCLE_CNT:
|
||||
|
||||
ToolID = @RECORD<PM_SCHED_TOOL_ID$>
|
||||
ActionFlow = XLATE('TOOL',ToolID,TOOL_CYCLE_CNT$,'X')
|
||||
|
||||
return
|
||||
|
||||
TOOL_DESC:
|
||||
|
||||
ToolID = @RECORD<PM_SCHED_TOOL_ID$>
|
||||
ActionFlow = XLATE('TOOL',ToolID,TOOL_TOOL_DESC$,'X')
|
||||
|
||||
return
|
||||
|
||||
TOOL_LOCATION:
|
||||
|
||||
ToolID = @RECORD<PM_SCHED_TOOL_ID$>
|
||||
ActionFlow = XLATE('TOOL',ToolID,'LOCATION','X')
|
||||
|
||||
return
|
||||
|
||||
TOOL_TYPE:
|
||||
|
||||
ToolID = @RECORD<PM_SCHED_TOOL_ID$>
|
||||
ActionFlow = XLATE('TOOL',ToolID,TOOL_TOOL_TYPE$,'X')
|
||||
|
||||
return
|
||||
|
||||
// ----- MFS calls -----------------------------------------------------------------------------------------------------
|
||||
|
||||
READ_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READ_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
* LockOwner = Record<WO_MAT_LOCKED_BY$>
|
||||
* If LockOwner EQ '' then Record<WO_MAT_LOCKED_BY$> = @User4
|
||||
* If @User4 EQ 'DANIEL_ST' then
|
||||
* Database_Services('WriteDataRow', 'LOCKS', @Station:'*WO_MAT*':Name, '')
|
||||
* end
|
||||
|
||||
return
|
||||
|
||||
READONLY_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
READONLY_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
return
|
||||
|
||||
WRITE_RECORD_PRE:
|
||||
|
||||
return
|
||||
|
||||
WRITE_RECORD:
|
||||
|
||||
return
|
||||
|
||||
DELETE_RECORD_PRE:
|
||||
|
||||
return
|
||||
|
||||
DELETE_RECORD:
|
||||
|
||||
return
|
||||
|
||||
// ----- Internal Methods ----------------------------------------------------------------------------------------------
|
||||
|
||||
Initialize_System_Variables:
|
||||
// Save these for restoration later
|
||||
SaveDict = @DICT
|
||||
SaveID = @ID
|
||||
SaveRecord = @RECORD
|
||||
OrigFileError = @FILE.ERROR
|
||||
|
||||
// Now make sure @DICT, ID, and @RECORD are populated
|
||||
CurrentDictName = ''
|
||||
If @DICT then
|
||||
DictHandle = @DICT<1, 2>
|
||||
Locate DictHandle in @TABLES(5) Using @FM Setting fPos then
|
||||
CurrentDictName = Field(@TABLES(0), @FM, fPos, 1)
|
||||
end
|
||||
end
|
||||
|
||||
If CurrentDictName NE DictName then
|
||||
Open DictName to @DICT else Status = 'Unable to initialize @DICT'
|
||||
end
|
||||
|
||||
@ID = KeyID
|
||||
If Record else
|
||||
// Record might not have been passed in. Read the record from the database table just to make sure.
|
||||
@FILE.ERROR = ''
|
||||
Open TableName to hTable then
|
||||
FullFSList = hTable[1, 'F' : @VM]
|
||||
BFS = FullFSList[-1, 'B' : @SVM]
|
||||
LastHandle = hTable[-1, 'B' : \0D\]
|
||||
FileHandle = \0D\ : LastHandle[1, @VM]
|
||||
|
||||
Call @BFS(READO.RECORD, BFS, FileHandle, KeyID, FMC, Record, ReadOStatus)
|
||||
end
|
||||
end
|
||||
@RECORD = Record
|
||||
return
|
||||
|
||||
Restore_System_Variables:
|
||||
Transfer SaveDict to @DICT
|
||||
Transfer SaveID to @ID
|
||||
Transfer SaveRecord to @RECORD
|
||||
@FILE.ERROR = OrigFileError
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
Compile function PM_Spec_Services(@Service, @Params)
|
||||
Compile function RECURRING_TASK_SPEC_Services(@Service, @Params)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
Name : PM_Spec_Services
|
||||
Name : RECURRING_TASK_SPEC_Services
|
||||
|
||||
Description : Handler program for all PM_SPEC services.
|
||||
Description : Handler program for all RECURRING_TASK_SPEC services.
|
||||
|
||||
Notes : Application errors should be logged using the Error Services module. There are a few methodological
|
||||
assumptions built into way errors are managed which are important to understand in order to properly
|
||||
@ -49,8 +49,8 @@ Compile function PM_Spec_Services(@Service, @Params)
|
||||
|
||||
$Insert APP_INSERTS
|
||||
$Insert SERVICE_SETUP
|
||||
$Insert PM_EQUATES
|
||||
$Insert PM_SPEC_EQUATES
|
||||
$Insert RECURRING_TASK_EQUATES
|
||||
$Insert RECURRING_TASK_SPEC_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
|
||||
// Reduce Modes
|
||||
@ -82,7 +82,7 @@ Service UpdatePMCompDtm(PMSpecID)
|
||||
Push.Select(F1, F2, F3, F4)
|
||||
ErrorMsg = ''
|
||||
If (PMSpecID NE '') then
|
||||
If RowExists('PM_SPEC', PMSpecID) then
|
||||
If RowExists('RECURRING_TASK_SPEC', PMSpecID) then
|
||||
TableName = "PM"
|
||||
Flag = ""
|
||||
Done = False$
|
||||
@ -99,14 +99,14 @@ Service UpdatePMCompDtm(PMSpecID)
|
||||
ReadNext Key Using CursorVar By AT else Done = TRUE$
|
||||
Until Done
|
||||
Read Rec From FileVar, Key then
|
||||
NewStopDtm = Rec<PM_COMP_DTM$>
|
||||
NewStopDtm = Rec<RECURRING_TASK_COMP_DTM$>
|
||||
Done = True$
|
||||
Open 'PM_SPEC' to hPMSpec then
|
||||
WriteV NewStopDtm on hPMSpec, PMSpecID, PM_SPEC_LAST_PM_COMP_DTM$ else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error writing LAST_PM_COMP_DTM on PM_SPEC record ':PMSpecID:'.'
|
||||
Open 'RECURRING_TASK_SPEC' to hPMSpec then
|
||||
WriteV NewStopDtm on hPMSpec, PMSpecID, RECURRING_TASK_SPEC_LAST_PM_COMP_DTM$ else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error writing LAST_PM_COMP_DTM on RECURRING_TASK_SPEC record ':PMSpecID:'.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error opening PM_SPEC table.'
|
||||
ErrorMsg = 'Error in ':Service:' service. Error opening RECURRING_TASK_SPEC table.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error reading PM record ':Key:'.'
|
||||
@ -122,7 +122,7 @@ Service UpdatePMCompDtm(PMSpecID)
|
||||
ErrorMsg = 'Error in ':Service:' service. Error calling Reduce on PM table.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. PM_SPEC record ':PMSpecID:' does not exist!'
|
||||
ErrorMsg = 'Error in ':Service:' service. RECURRING_TASK_SPEC record ':PMSpecID:' does not exist!'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null PMSpecID passed into service!'
|
||||
@ -152,3 +152,4 @@ ClearCursors:
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ Function Scrubber_pm_API(@API)
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare Subroutine Pm_Services, Http_Services, Logging_Services
|
||||
Declare Subroutine Recurring_Task_Services, Http_Services, Logging_Services
|
||||
Declare function Error_Services, Logging_Services, Environment_Services, Datetime
|
||||
|
||||
$insert APP_INSERTS
|
||||
@ -98,7 +98,7 @@ API scrubber_pm.ID.GET
|
||||
|
||||
ScrubberID = EndpointSegment
|
||||
IF RowExists('TOOL', ScrubberID) then
|
||||
Pm_Services('CompleteScrubberPM', ScrubberID)
|
||||
Recurring_Task_Services('CompleteScrubberPM', ScrubberID)
|
||||
If Error_Services('HasError') then
|
||||
ErrMsg = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, ErrMsg)
|
||||
@ -127,3 +127,6 @@ API scrubber_pm.ID.GET
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
end
|
||||
end api
|
||||
|
||||
|
||||
|
||||
|
||||
@ -12,3 +12,4 @@ compile insert PACKAGING_EQUATES
|
||||
equ PACKAGING_COMPLETE_DTM$ to 3
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
compile insert PM_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 29/11/2016
|
||||
Description : Insert for Table PM
|
||||
----------------------------------------*/
|
||||
|
||||
|
||||
Equ PM_PM_NO$ To 0
|
||||
Equ PM_PMS_ID$ To 1
|
||||
Equ PM_ENTER_BY$ To 2
|
||||
Equ PM_ENTER_DTM$ To 3
|
||||
Equ PM_SCHED_DT$ To 4
|
||||
Equ PM_SCHED_TM$ To 5
|
||||
Equ PM_SCHED_QTY$ To 6
|
||||
Equ PM_NOTES$ To 8
|
||||
Equ PM_COMP_BY$ To 9
|
||||
Equ PM_COMP_DTM$ To 10
|
||||
Equ PM_START_BY$ To 11
|
||||
Equ PM_START_DTM$ To 12
|
||||
Equ PM_COMP_QTY$ To 13
|
||||
Equ PM_PASS_FAIL$ To 14
|
||||
Equ PM_EARLY_NOTIF_SENT$ To 15
|
||||
Equ PM_DUE_NOTIF_SENT$ To 16
|
||||
Equ PM_LATE_NOTIF_SENT$ To 17
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
compile insert PM_SPEC_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 12/12/2024
|
||||
Description : Insert for Table PM_SPEC
|
||||
----------------------------------------*/
|
||||
#ifndef __PM_SPEC_EQUATES__
|
||||
#define __PM_SPEC_EQUATES__
|
||||
|
||||
Equ PM_SPEC_PMS_ID$ To 0
|
||||
Equ PM_SPEC_TOOL_ID$ To 1
|
||||
Equ PM_SPEC_DESC$ To 2
|
||||
Equ PM_SPEC_CHANGE_STAT$ To 3
|
||||
Equ PM_SPEC_UNITS$ To 4
|
||||
Equ PM_SPEC_INT_TIME_CD$ To 5
|
||||
Equ PM_SPEC_INTERVAL$ To 6
|
||||
Equ PM_SPEC_INT_DT$ To 6
|
||||
Equ PM_SPEC_INT_QTY$ To 6
|
||||
Equ PM_SPEC_INT_TM$ To 6
|
||||
Equ PM_SPEC_EARLY_START_DELTA$ To 7
|
||||
Equ PM_SPEC_EARLY_START_DT$ To 7
|
||||
Equ PM_SPEC_EARLY_START_QTY$ To 7
|
||||
Equ PM_SPEC_EARLY_START_TM$ To 7
|
||||
Equ PM_SPEC_LATE_START_DELTA$ To 8
|
||||
Equ PM_SPEC_LATE_START_DT$ To 8
|
||||
Equ PM_SPEC_LATE_START_QTY$ To 8
|
||||
Equ PM_SPEC_LATE_START_TM$ To 8
|
||||
Equ PM_SPEC_NOTES$ To 17
|
||||
Equ PM_SPEC_PM_KEYS$ To 18
|
||||
Equ PM_SPEC_PM_START_TIME$ To 19
|
||||
Equ PM_SPEC_PM_ARCHIVED$ To 20
|
||||
Equ PM_SPEC_FIVE_S_FLAG$ To 21
|
||||
Equ PM_SPEC_SEND_EARLY_NOTIFICATION$ To 22
|
||||
Equ PM_SPEC_SEND_DUE_NOTIFICATION$ To 23
|
||||
Equ PM_SPEC_SEND_LATE_NOTIFICATION$ To 24
|
||||
Equ PM_SPEC_LAST_PM_COMP_DTM$ To 25
|
||||
Equ PM_SPEC_PM_CLASS$ To 26
|
||||
Equ PM_SPEC_AD_NOTIFICATION_GROUPS$ To 27
|
||||
Equ PM_SPEC_AREA$ To 28
|
||||
|
||||
#endif
|
||||
26
LSL2/STPROCINS/RECURRING_TASK_EQUATES.txt
Normal file
26
LSL2/STPROCINS/RECURRING_TASK_EQUATES.txt
Normal file
@ -0,0 +1,26 @@
|
||||
compile insert RECURRING_TASK_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 29/11/2016
|
||||
Description : Insert for Table RECURRING_TASK
|
||||
----------------------------------------*/
|
||||
|
||||
|
||||
Equ RECURRING_TASK_PM_NO$ To 0
|
||||
Equ RECURRING_TASK_PMS_ID$ To 1
|
||||
Equ RECURRING_TASK_ENTER_BY$ To 2
|
||||
Equ RECURRING_TASK_ENTER_DTM$ To 3
|
||||
Equ RECURRING_TASK_SCHED_DT$ To 4
|
||||
Equ RECURRING_TASK_SCHED_TM$ To 5
|
||||
Equ RECURRING_TASK_SCHED_QTY$ To 6
|
||||
Equ RECURRING_TASK_NOTES$ To 8
|
||||
Equ RECURRING_TASK_COMP_BY$ To 9
|
||||
Equ RECURRING_TASK_COMP_DTM$ To 10
|
||||
Equ RECURRING_TASK_START_BY$ To 11
|
||||
Equ RECURRING_TASK_START_DTM$ To 12
|
||||
Equ RECURRING_TASK_COMP_QTY$ To 13
|
||||
Equ RECURRING_TASK_PASS_FAIL$ To 14
|
||||
Equ RECURRING_TASK_EARLY_NOTIF_SENT$ To 15
|
||||
Equ RECURRING_TASK_DUE_NOTIF_SENT$ To 16
|
||||
Equ RECURRING_TASK_LATE_NOTIF_SENT$ To 17
|
||||
|
||||
42
LSL2/STPROCINS/RECURRING_TASK_SPEC_EQUATES.txt
Normal file
42
LSL2/STPROCINS/RECURRING_TASK_SPEC_EQUATES.txt
Normal file
@ -0,0 +1,42 @@
|
||||
compile insert RECURRING_TASK_SPEC_EQUATES
|
||||
/*----------------------------------------
|
||||
Author : Table Create Insert Routine
|
||||
Written : 12/12/2024
|
||||
Description : Insert for Table RECURRING_TASK_SPEC
|
||||
----------------------------------------*/
|
||||
#ifndef __RECURRING_TASK_SPEC_EQUATES__
|
||||
#define __RECURRING_TASK_SPEC_EQUATES__
|
||||
|
||||
Equ RECURRING_TASK_SPEC_PMS_ID$ To 0
|
||||
Equ RECURRING_TASK_SPEC_TOOL_ID$ To 1
|
||||
Equ RECURRING_TASK_SPEC_DESC$ To 2
|
||||
Equ RECURRING_TASK_SPEC_CHANGE_STAT$ To 3
|
||||
Equ RECURRING_TASK_SPEC_UNITS$ To 4
|
||||
Equ RECURRING_TASK_SPEC_INT_TIME_CD$ To 5
|
||||
Equ RECURRING_TASK_SPEC_INTERVAL$ To 6
|
||||
Equ RECURRING_TASK_SPEC_INT_DT$ To 6
|
||||
Equ RECURRING_TASK_SPEC_INT_QTY$ To 6
|
||||
Equ RECURRING_TASK_SPEC_INT_TM$ To 6
|
||||
Equ RECURRING_TASK_SPEC_EARLY_START_DELTA$ To 7
|
||||
Equ RECURRING_TASK_SPEC_EARLY_START_DT$ To 7
|
||||
Equ RECURRING_TASK_SPEC_EARLY_START_QTY$ To 7
|
||||
Equ RECURRING_TASK_SPEC_EARLY_START_TM$ To 7
|
||||
Equ RECURRING_TASK_SPEC_LATE_START_DELTA$ To 8
|
||||
Equ RECURRING_TASK_SPEC_LATE_START_DT$ To 8
|
||||
Equ RECURRING_TASK_SPEC_LATE_START_QTY$ To 8
|
||||
Equ RECURRING_TASK_SPEC_LATE_START_TM$ To 8
|
||||
Equ RECURRING_TASK_SPEC_NOTES$ To 17
|
||||
Equ RECURRING_TASK_SPEC_PM_KEYS$ To 18
|
||||
Equ RECURRING_TASK_SPEC_PM_START_TIME$ To 19
|
||||
Equ RECURRING_TASK_SPEC_PM_ARCHIVED$ To 20
|
||||
Equ RECURRING_TASK_SPEC_FIVE_S_FLAG$ To 21
|
||||
Equ RECURRING_TASK_SPEC_SEND_EARLY_NOTIFICATION$ To 22
|
||||
Equ RECURRING_TASK_SPEC_SEND_DUE_NOTIFICATION$ To 23
|
||||
Equ RECURRING_TASK_SPEC_SEND_LATE_NOTIFICATION$ To 24
|
||||
Equ RECURRING_TASK_SPEC_LAST_PM_COMP_DTM$ To 25
|
||||
Equ RECURRING_TASK_SPEC_PM_CLASS$ To 26
|
||||
Equ RECURRING_TASK_SPEC_AD_NOTIFICATION_GROUPS$ To 27
|
||||
Equ RECURRING_TASK_SPEC_AREA$ To 28
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user