ready for UAT

final commit

added PSN to reactor maintenance report query dialog
This commit is contained in:
Infineon\StieberD 2025-04-04 17:19:10 -07:00 committed by Stieber Daniel (CSC FI SPS MESLEO)
parent 8b0eb3e468
commit 333cf0b8e2
25 changed files with 36334 additions and 15275 deletions

View File

@ -5,7 +5,7 @@
}, },
"body": { "body": {
"record1": { "record1": {
"<1>": "declare subroutine btree.extract, update_index, rlist, end_dialog\r\ndeclare subroutine activate_save_select\r\ndeclare function msg, key_sort, utility, fieldcount, ex_vm_rem\r\n$insert lsl_users_equ\r\n$insert msg_equates\r\n$insert rlist_equates\r\n\r\nWithStmt = ''\r\n\r\nGrid = .grid->check\r\nif Grid then\r\n Grid = 'GRID '\r\nend else\r\n Grid = ''\r\nend\r\n\r\nStartDateFrom = .start_date_from->text\r\nStartDateThru = .start_date_thru->text\r\nReactors = .reactors->array\r\nReactors = ex_vm_rem(Reactors)\r\n\r\nif StartDateFrom = '' Or StartDateThru = '' then\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'You must enter a date from and thru...'\r\n MsgInfo<micon$> = '!'\r\n Void = msg( '', MsgInfo )\r\n return 0\r\nend\r\n\r\nBegDteNum = Iconv(StartDateFrom,'D')\r\nEndDteNum = Iconv(StartDateThru,'D')\r\nDteDifNum = EndDteNum - BegDteNum\r\nIf DteDifNum < 0 Then\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'Date From can not be greater than Date Thru...'\r\n MsgInfo<micon$> = '!'\r\n Void = msg( '', MsgInfo )\r\n return 0\r\nend\r\n\r\nProblemCategories = .react_probs_cat->array\r\nProblemCategories = ex_vm_rem(ProblemCategories<1>)\r\nServiceIDs = .react_servs->array\r\nServiceIDs = ex_vm_rem(ServiceIDs<1>)\r\n\r\nParameterString = ''\r\nParameterString := StartDateFrom:'*'\r\nParameterString := StartDateThru:'*'\r\nParameterString := Reactors:'*'\r\nParameterString := ProblemCategories:'*'\r\nParameterString := ServiceIDs:'*'\r\nParameterString := Grid\r\n\r\nend_dialog( @window, ParameterString )\r\nreturn 0\r\n" "<1>": "declare subroutine btree.extract, update_index, rlist, end_dialog\r\ndeclare subroutine activate_save_select\r\ndeclare function msg, key_sort, utility, fieldcount, ex_vm_rem\r\n$insert lsl_users_equ\r\n$insert msg_equates\r\n$insert rlist_equates\r\n\r\nWithStmt = ''\r\n/*\r\nGrid = .grid->check\r\nif Grid then\r\n Grid = 'GRID '\r\nend else\r\n Grid = ''\r\nend\r\n*/\r\nStartDateFrom = .start_date_from->text\r\nStartDateThru = .start_date_thru->text\r\nReactors = .reactors->array\r\nReactors = ex_vm_rem(Reactors)\r\n\r\nif StartDateFrom = '' Or StartDateThru = '' then\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'You must enter a date from and thru...'\r\n MsgInfo<micon$> = '!'\r\n Void = msg( '', MsgInfo )\r\n return 0\r\nend\r\n\r\nBegDteNum = Iconv(StartDateFrom,'D')\r\nEndDteNum = Iconv(StartDateThru,'D')\r\nDteDifNum = EndDteNum - BegDteNum\r\nIf DteDifNum < 0 Then\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'Date From can not be greater than Date Thru...'\r\n MsgInfo<micon$> = '!'\r\n Void = msg( '', MsgInfo )\r\n return 0\r\nend\r\n\r\nProblemCategories = .react_probs_cat->array\r\nProblemCategories = ex_vm_rem(ProblemCategories<1>)\r\nServiceIDs = .react_servs->array\r\nServiceIDs = ex_vm_rem(ServiceIDs<1>)\r\nPSNs = .EDT_PSNS->ARRAY\r\nPSNs = ex_vm_rem(PSNs<1>)\r\n\r\nParameterString = ''\r\nParameterString := StartDateFrom:'*'\r\nParameterString := StartDateThru:'*'\r\nParameterString := Reactors:'*'\r\nParameterString := ProblemCategories:'*'\r\nParameterString := ServiceIDs:'*'\r\nParameterString := PSNs:'*'\r\nParameterString := .chk_include_ri_ids->check:'*'\r\nParameterString := .chk_include_inj_settings->check:'*'\r\nParameterString := .chk_include_reactor_ratios->check\r\n\r\nend_dialog( @window, ParameterString )\r\nreturn 0\r\n"
} }
} }
} }

View File

@ -0,0 +1,11 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "declare function send_event, post_event\r\n\r\nVoid = send_event( @window:'.EDT_PSNS', 'OPTIONS' )\r\nVoid = post_event( @window:'.EDT_PSNS', 'LOSTFOCUS' )\r\nRETURN 1"
}
}
}

View File

@ -0,0 +1,11 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "declare function entid, repository, send_event\r\ndeclare subroutine rlist\r\n$insert popup_equates\r\n$insert rlist_equates\r\n\r\nSelPos = .EDT_PSNS->selpos\r\nCurRow = SelPos<2>\r\nPopRec = entid( @appid<1>, 'POPUP', '', 'SHOW_PROD_SPEC' )\r\nOverRide = ''\r\nOverRide<pselect$> = 2\r\nStmt = 'SELECT PROD_SPEC BY-DSND SEQ'\r\nrlist( Stmt, target_activelist$, '', '', '' )\r\nChoosen = repository( 'EXECUTE', PopRec, @window, OverRide )\r\nif Choosen then\r\n convert @fm to @vm in Choosen\r\n\tCurArray = .EDT_PSNS->array\r\n\tCurArray = delete( CurArray, 1, CurRow, 0 )\r\n\tCurArray = insert( CurArray, 1, CurRow, 0, Choosen )\r\n\t.EDT_PSNS->Array = CurArray \r\nend\r\nRETURN 0"
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,226 @@
{
"header": {
"version": 1,
"type": "record"
},
"body": {
"record1": {
"<1>": "-1",
"<2>": "-1",
"<3>": "-1",
"<4>": "-1",
"<5>": "-2",
"<6>": {
"<6,1>": {
"<6,1,1>": "Tahoma",
"<6,1,2>": "-11",
"<6,1,3>": "400",
"<6,1,4>": "0",
"<6,1,5>": "0",
"<6,1,6>": "5",
"<6,1,7>": "0",
"<6,1,8>": "39",
"<6,1,9>": "0",
"<6,1,10>": "0",
"<6,1,11>": "0",
"<6,1,12>": "0",
"<6,1,13>": "11",
"<6,1,14>": "2",
"<6,1,15>": "0",
"<6,1,16>": "21"
}
},
"<7>": "REACTOR_RATIOS",
"<8>": {
"<8,1>": {
"<8,1,1>": {
"<8,1,1,1>": "BY REACTOR_NO BY-DSND RATIO_SET_DTM",
"<8,1,1,2>": ""
}
}
},
"<9>": {
"<9,1>": {
"<9,1,1>": "REACTOR_NO",
"<9,1,2>": "6",
"<9,1,3>": "C",
"<9,1,4>": "C",
"<9,1,5>": "MD0",
"<9,1,6>": "Reactor No"
},
"<9,2>": {
"<9,2,1>": "RATIO_SET_DTM",
"<9,2,2>": "16",
"<9,2,3>": "C",
"<9,2,4>": "C",
"<9,2,5>": "DT/^S",
"<9,2,6>": "Ratio Set Dtm"
},
"<9,3>": {
"<9,3,1>": "RATIO_1",
"<9,3,2>": "7",
"<9,3,3>": "C",
"<9,3,4>": "C",
"<9,3,5>": "MD3,",
"<9,3,6>": "Ratio 1"
},
"<9,4>": {
"<9,4,1>": "RATIO_2",
"<9,4,2>": "7",
"<9,4,3>": "C",
"<9,4,4>": "C",
"<9,4,5>": "MD3,",
"<9,4,6>": "Ratio 2"
},
"<9,5>": {
"<9,5,1>": "RATIO_3",
"<9,5,2>": "7",
"<9,5,3>": "C",
"<9,5,4>": "C",
"<9,5,5>": "MD3,",
"<9,5,6>": "Ratio 3"
},
"<9,6>": {
"<9,6,1>": "RATIO_4",
"<9,6,2>": "7",
"<9,6,3>": "C",
"<9,6,4>": "C",
"<9,6,5>": "MD3,",
"<9,6,6>": "Ratio 4"
},
"<9,7>": {
"<9,7,1>": "RATIO_5",
"<9,7,2>": "7",
"<9,7,3>": "C",
"<9,7,4>": "C",
"<9,7,5>": "MD3,",
"<9,7,6>": "Ratio 5"
},
"<9,8>": {
"<9,8,1>": "RATIO_6",
"<9,8,2>": "7",
"<9,8,3>": "C",
"<9,8,4>": "C",
"<9,8,5>": "MD3,",
"<9,8,6>": "Ratio 6"
},
"<9,9>": {
"<9,9,1>": "RATIO_7",
"<9,9,2>": "7",
"<9,9,3>": "C",
"<9,9,4>": "C",
"<9,9,5>": "MD3,",
"<9,9,6>": "Ratio 7"
},
"<9,10>": {
"<9,10,1>": "RATIO_8",
"<9,10,2>": "7",
"<9,10,3>": "C",
"<9,10,4>": "C",
"<9,10,5>": "MD3,",
"<9,10,6>": "Ratio 8"
},
"<9,11>": {
"<9,11,1>": "RATIO_9",
"<9,11,2>": "7",
"<9,11,3>": "C",
"<9,11,4>": "C",
"<9,11,5>": "MD3,",
"<9,11,6>": "Ratio 9"
},
"<9,12>": {
"<9,12,1>": "RATIO_10",
"<9,12,2>": "7",
"<9,12,3>": "C",
"<9,12,4>": "C",
"<9,12,5>": "MD3,",
"<9,12,6>": "Ratio 10"
},
"<9,13>": {
"<9,13,1>": "RATIO_11",
"<9,13,2>": "7",
"<9,13,3>": "C",
"<9,13,4>": "C",
"<9,13,5>": "MD3,",
"<9,13,6>": "Ratio 11"
},
"<9,14>": {
"<9,14,1>": "RATIO_12",
"<9,14,2>": "7",
"<9,14,3>": "C",
"<9,14,4>": "C",
"<9,14,5>": "MD3,",
"<9,14,6>": "Ratio 12"
},
"<9,15>": {
"<9,15,1>": "RATIO_13",
"<9,15,2>": "7",
"<9,15,3>": "C",
"<9,15,4>": "C",
"<9,15,5>": "MD3,",
"<9,15,6>": "Ratio 13"
},
"<9,16>": {
"<9,16,1>": "RATIO_14",
"<9,16,2>": "7",
"<9,16,3>": "C",
"<9,16,4>": "C",
"<9,16,5>": "MD3,",
"<9,16,6>": "Ratio 14"
},
"<9,17>": {
"<9,17,1>": "RATIO_15",
"<9,17,2>": "7",
"<9,17,3>": "C",
"<9,17,4>": "C",
"<9,17,5>": "MD3,",
"<9,17,6>": "Ratio 15"
},
"<9,18>": {
"<9,18,1>": "RATIO_16",
"<9,18,2>": "7",
"<9,18,3>": "C",
"<9,18,4>": "C",
"<9,18,5>": "MD3,",
"<9,18,6>": "Ratio 16"
}
},
"<10>": "T",
"<11>": "1",
"<12>": "Reactor Injector Settings",
"<13>": "1",
"<14>": "F",
"<15>": "1",
"<16>": "1",
"<17>": "1",
"<18>": "1",
"<19>": "1",
"<20>": "1",
"<21>": "1",
"<22>": "0",
"<23>": "0",
"<24>": "0",
"<25>": "0",
"<26>": "",
"<27>": "",
"<28>": "",
"<29>": "0",
"<30>": "1",
"<31>": "0",
"<32>": "0",
"<33>": "1",
"<34>": "15400411",
"<35>": "16777215",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
}
}
}

View File

@ -9,7 +9,7 @@
"<2>": "-1", "<2>": "-1",
"<3>": "-1", "<3>": "-1",
"<4>": "-1", "<4>": "-1",
"<5>": "16777215", "<5>": "-2",
"<6>": { "<6>": {
"<6,1>": { "<6,1>": {
"<6,1,1>": "Tahoma", "<6,1,1>": "Tahoma",
@ -30,27 +30,27 @@
"<6,1,16>": "21" "<6,1,16>": "21"
} }
}, },
"<7>": "REACTOR_LOG", "<7>": "REACTOR_INJECTOR_SETTINGS",
"<8>": { "<8>": {
"<8,1>": { "<8,1>": {
"<8,1,1>": { "<8,1,1>": {
"<8,1,1,1>": "WITH INJ_SET_REACT_NO NE \"\" BY REACTOR BY-DSND INJ_SET_DTM ", "<8,1,1,1>": "BY REACTOR BY-DSND INJ_SET_DTM ",
"<8,1,1,2>": "" "<8,1,1,2>": ""
} }
} }
}, },
"<9>": { "<9>": {
"<9,1>": { "<9,1>": {
"<9,1,1>": "REACTOR", "<9,1,1>": "REACTOR_NO",
"<9,1,2>": "4", "<9,1,2>": "4",
"<9,1,3>": "C", "<9,1,3>": "C",
"<9,1,4>": "C", "<9,1,4>": "C",
"<9,1,5>": "MD0", "<9,1,5>": "MD0",
"<9,1,6>": "Reactor" "<9,1,6>": "Reactor No"
}, },
"<9,2>": { "<9,2>": {
"<9,2,1>": "INJ_TYPE_DESC", "<9,2,1>": "INJ_TYPE_DESC",
"<9,2,2>": "8", "<9,2,2>": "25",
"<9,2,3>": "C", "<9,2,3>": "C",
"<9,2,4>": "C", "<9,2,4>": "C",
"<9,2,5>": "[CONV_CODE_DESC,REACT_INJ_TYPE]", "<9,2,5>": "[CONV_CODE_DESC,REACT_INJ_TYPE]",
@ -65,12 +65,44 @@
"<9,3,6>": "Inj Set Dtm" "<9,3,6>": "Inj Set Dtm"
}, },
"<9,4>": { "<9,4>": {
"<9,4,1>": "INJ_SET_DISP", "<9,4,1>": "INJECTOR_1",
"<9,4,2>": "26", "<9,4,2>": "16",
"<9,4,3>": "C", "<9,4,3>": "C",
"<9,4,4>": "C", "<9,4,4>": "C",
"<9,4,5>": "", "<9,4,5>": "MD3",
"<9,4,6>": "Inj Set Disp" "<9,4,6>": "Injector 1"
},
"<9,5>": {
"<9,5,1>": "INJECTOR_2",
"<9,5,2>": "16",
"<9,5,3>": "C",
"<9,5,4>": "C",
"<9,5,5>": "MD3",
"<9,5,6>": "Injector 2"
},
"<9,6>": {
"<9,6,1>": "INJECTOR_3",
"<9,6,2>": "16",
"<9,6,3>": "C",
"<9,6,4>": "C",
"<9,6,5>": "MD3",
"<9,6,6>": "Injector 3"
},
"<9,7>": {
"<9,7,1>": "INJECTOR_4",
"<9,7,2>": "16",
"<9,7,3>": "C",
"<9,7,4>": "C",
"<9,7,5>": "MD3",
"<9,7,6>": "Injector 4"
},
"<9,8>": {
"<9,8,1>": "INJECTOR_5",
"<9,8,2>": "16",
"<9,8,3>": "C",
"<9,8,4>": "C",
"<9,8,5>": "MD3",
"<9,8,6>": "Injector 5"
} }
}, },
"<10>": "T", "<10>": "T",
@ -98,7 +130,17 @@
"<32>": "0", "<32>": "0",
"<33>": "1", "<33>": "1",
"<34>": "15400411", "<34>": "15400411",
"<35>": "16777215" "<35>": "16777215",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
} }
} }
} }

View File

@ -132,7 +132,24 @@
"<25>": "0", "<25>": "0",
"<26>": "", "<26>": "",
"<27>": "", "<27>": "",
"<28>": "" "<28>": "",
"<29>": "0",
"<30>": "0",
"<31>": "0",
"<32>": "0",
"<33>": "0",
"<34>": "-2",
"<35>": "-2",
"<36>": "",
"<37>": "",
"<38>": "",
"<39>": "",
"<40>": "-2",
"<41>": "1000",
"<42>": "",
"<43>": "",
"<44>": "",
"<45>": ""
} }
} }
} }

View File

@ -768,7 +768,7 @@ ReactNo = Get_Property(@WINDOW:'.REACT_NO','DEFPROP')
IF ReactNo NE '' THEN IF ReactNo NE '' THEN
TypeOver = '' TypeOver = ''
TypeOver<PDISPLAY$> = 'WITH INJ_SET_REACT_NO = ':ReactNo:' BY-DSND INJ_SET_DTM' TypeOver<PDISPLAY$> = 'WITH REACTOR_NO = ':ReactNo:' BY-DSND INJ_SET_DTM'
void = Popup(@WINDOW,TypeOver,'REACT_INJ_SETTINGS') void = Popup(@WINDOW,TypeOver,'REACT_INJ_SETTINGS')
@ -1107,3 +1107,4 @@ return

File diff suppressed because it is too large Load Diff

View File

@ -6,15 +6,17 @@ COMPILE SUBROUTINE Print_Reactor_Maint1(Dummy)
*/ */
DECLARE SUBROUTINE Utility, ErrMsg, Set_Status, Set_Printer, RList DECLARE SUBROUTINE Utility, ErrMsg, Set_Status, Set_Printer, RList, Push.Select, Pop.Select, Run_Report
DECLARE FUNCTION Set_Printer, Get_Printer, Msg, Get_Status, Printer_Select, obj_Install, Dialog_Box DECLARE FUNCTION Set_Printer, Get_Printer, Msg, Get_Status, Printer_Select, obj_Install, Dialog_Box
DECLARE FUNCTION Reactor_Services
$INSERT OIPRINT_EQUATES $INSERT OIPRINT_EQUATES
$INSERT INVOICE_EQU $INSERT INVOICE_EQU
$INSERT APPCOLORS $INSERT APPCOLORS
$INSERT MSG_EQUATES $INSERT MSG_EQUATES
Equ BASE_NUM_COLS$ to 9
Equ REPORT_WIDTH$ to 14670
EQU TAB$ TO \09\ EQU TAB$ TO \09\
EQU TARGET_ACTIVELIST$ TO 5 EQU TARGET_ACTIVELIST$ TO 5
@ -32,14 +34,12 @@ OPEN 'DICT.REACTOR_LOG' TO @DICT ELSE
RETURN RETURN
END END
Params = Dialog_Box( 'REACTOR_LOG_SRPT1', @WINDOW, '*CENTER' ) Params = Dialog_Box( 'REACTOR_LOG_SRPT1', @WINDOW, '*CENTER' )
IF Params = 'CANCEL' OR Params = '' THEN IF Params = 'CANCEL' OR Params = '' THEN
RETURN RETURN
END END
CONVERT '*' TO @FM IN Params CONVERT '*' TO @FM IN Params
StartDateFrom = Params<1> StartDateFrom = Params<1>
@ -47,7 +47,10 @@ StartDateThru = Params<2>
Reactors = Params<3> Reactors = Params<3>
ProblemCats = Params<4> ProblemCats = Params<4>
ServiceIDs = Params<5> ServiceIDs = Params<5>
PSNs = Params<6>
IncludeReactItemIds = Params<7>
IncludeInjSettings = Params<8>
IncludeReactRatios = Params<9>
WithStmt = '' WithStmt = ''
IF StartDateFrom AND StartDateThru THEN IF StartDateFrom AND StartDateThru THEN
@ -79,6 +82,12 @@ IF ServiceIDs <> '' THEN
WithStmt :=' AND WITH REACT_SERV_ID = ':ServiceIDs WithStmt :=' AND WITH REACT_SERV_ID = ':ServiceIDs
END END
IF PSNs <> '' THEN
SWAP @VM WITH "' '" IN PSNs
PSNs = "'":PSNs:"'"
WithStmt :=' AND WITH PROD_SPEC_NO = ':PSNs
END
IF Reactors <> '' THEN IF Reactors <> '' THEN
SWAP "'" WITH '' IN Reactors SWAP "'" WITH '' IN Reactors
SWAP " " WITH ", " IN Reactors SWAP " " WITH ", " IN Reactors
@ -120,9 +129,9 @@ PageInfo<7> = LETTER ;* Pagesize
PageSetup = '1' ;* Landscape = 1 PageSetup = '1' ;* Landscape = 1
PrintSetup = '2' ;* Preview Normal PrintSetup = '2' ;* Preview Normal
PrintPath = Printer_Select() PrintSetup<1, 2> = 0
If PrintPath EQ '' then return PrintPath = ''
stat = Set_Printer('INIT',FileName,Title,PageInfo,PageSetup,PrintSetup,PrintPath) stat = Set_Printer('INIT',FileName,Title,PageInfo,PageSetup,PrintSetup,PrintPath)
IF stat < 0 THEN GOTO OIPrintErr IF stat < 0 THEN GOTO OIPrintErr
@ -151,18 +160,41 @@ FirstPass = 1
LastRecord = 0 LastRecord = 0
FirstLine = 1 FirstLine = 1
NumCols = BASE_NUM_COLS$
// 14670 width to work with
* Make Column Heading * Make Column Heading
If IncludeReactItemIds then
NumCols += 1
end
If IncludeInjSettings then
NumCols += 1
end
If IncludeReactRatios then
NumCols += 1
end
colHead = '' ; colFmt = '' colHead = '' ; colFmt = ''
colHead<1,1> = 'R' ; colFmt<1,1> = '^360' colHead<1,-1> = 'R' ; colFmt<1,-1> = '^':(REPORT_WIDTH$ * (.050 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,2> = 'Problem Cat Desc' ; colFmt<1,2> = '<1800' colHead<1,-1> = 'PSN' ; colFmt<1,-1> = '^':(REPORT_WIDTH$ * (.049 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,3> = 'Serv':CRLF$:'ID' ; colFmt<1,3> = '^540' colHead<1,-1> = 'Problem Cat Desc' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * (.117 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,4> = 'Reactor Svc Desc' ; colFmt<1,4> = '<3600' colHead<1,-1> = 'Serv':CRLF$:'ID' ; colFmt<1,-1> = '^':(REPORT_WIDTH$ * (.073 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,5> = 'Tech' ; colFmt<1,5> = '^1080' colHead<1,-1> = 'Reactor Svc Desc' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * (.258 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,6> = 'Reactor Item ID' ; colFmt<1,6> = '<2160' colHead<1,-1> = 'Tech' ; colFmt<1,-1> = '^':(REPORT_WIDTH$ * (.068 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,7> = 'Notes' ; colFmt<1,7> = '<3600' If IncludeReactItemIds then
colHead<1,8> = 'Start' ; colFmt<1,8> = '^810' colHead<1,-1> = 'Reactor Item ID' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * ( 1 / NumCols) )
colHead<1,9> = 'Hrs' ; colFmt<1,9> = '>720' end
If IncludeInjSettings then
colHead<1,-1> = 'Inj Settings' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * ( 1 / NumCols) - 50 )
end
If IncludeReactRatios then
colHead<1,-1> = 'Ratios' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * ( 1 / NumCols) + 150 )
end
colHead<1,-1> = 'Notes' ; colFmt<1,-1> = '<':(REPORT_WIDTH$ * (.248 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,-1> = 'Start' ; colFmt<1,-1> = '^':(REPORT_WIDTH$ * (.079 * (BASE_NUM_COLS$ / NumCols) ) )
colHead<1,-1> = 'Hrs' ; colFmt<1,-1> = '>':(REPORT_WIDTH$ * (.043 * (BASE_NUM_COLS$ / NumCols) ) )
* Zero Accumulators For Each Break * Zero Accumulators For Each Break
@ -207,11 +239,10 @@ END
@RECCOUNT += 1 @RECCOUNT += 1
* CALCULATE VALUE(S) FOR COLUMN(S) * CALCULATE VALUE(S) FOR COLUMN(S)
S.ATID = {@ID} S.ATID = {@ID}
S.Reactor={REACTOR} S.Reactor = {REACTOR}
S.PSN = {PROD_SPEC_NO}
S.React_Prob_Cat_Desc = {REACT_PROB_CAT_DESC} S.React_Prob_Cat_Desc = {REACT_PROB_CAT_DESC}
S.React_Serv_ID = {REACT_SERV_ID} S.React_Serv_ID = {REACT_SERV_ID}
S.React_Serv_Desc = {REACT_SERV_DESC} S.React_Serv_Desc = {REACT_SERV_DESC}
@ -220,13 +251,33 @@ S.Notes = {NOTES}
S.StartDTM = OCONV({START_DATE},'D2/'):' ':OCONV({START_TIME},'MTS') S.StartDTM = OCONV({START_DATE},'D2/'):' ':OCONV({START_TIME},'MTS')
S.Elapsed_Hours = {ELAPSED_HOURS} S.Elapsed_Hours = {ELAPSED_HOURS}
S.React_Item_IDS = {REACT_ITEM_IDS} S.React_Item_IDS = {REACT_ITEM_IDS}
Push.Select(f1, f2, f3, f4)
S.InjSettings = ''
InjSettings = OConv(Reactor_Services('GetInjectorSettingsByReactorLog', @ID), 'MD3,')
NumSettings = DCount(InjSettings, @VM)
If NumSettings GT 0 then
For SettingIndex = 1 to NumSettings
S.InjSettings<0, SettingIndex> = 'Inj ':SettingIndex:': ':InjSettings<0, SettingIndex>
Next SettingIndex
end
Pop.Select(f1, f2, f3, f4)
Push.Select(f1, f2, f3, f4)
S.ReactorRatios = ''
ReactorRatios = OConv(Reactor_Services('GetRatiosByReactorLog', @ID), 'MD3,')
NumRatios = DCount(ReactorRatios, @VM)
If NumRatios GT 0 then
For RatioIndex = 1 to NumRatios
S.ReactorRatios<0, RatioIndex> = 'Ratio ':RatioIndex:': ':ReactorRatios<0, RatioIndex>
Next RatioIndex
end
Pop.Select(f1, f2, f3, f4)
SWAP @VM WITH CRLF$ IN S.React_Prob_Cat_Desc SWAP @VM WITH CRLF$ IN S.React_Prob_Cat_Desc
SWAP @VM WITH CRLF$ IN S.React_Serv_ID SWAP @VM WITH CRLF$ IN S.React_Serv_ID
SWAP @VM WITH CRLF$ IN S.React_Serv_Desc SWAP @VM WITH CRLF$ IN S.React_Serv_Desc
SWAP @VM WITH CRLF$ IN S.Notes SWAP @VM WITH CRLF$ IN S.Notes
SWAP @VM WITH CRLF$ IN S.React_Item_IDS SWAP @VM WITH CRLF$ IN S.React_Item_IDS
SWAP @VM WITH CRLF$ IN S.InjSettings
SWAP @VM WITH CRLF$ IN S.ReactorRatios
* TEST FOR CONTROL BREAK(S) * TEST FOR CONTROL BREAK(S)
@ -277,10 +328,6 @@ IF LastRecord THEN
GOSUB PrintTable GOSUB PrintTable
*status = Set_Printer('TEXT','')
*status = Set_Printer('TEXT',@RECCOUNT:' Records Processed')
GOTO Bail GOTO Bail
END END
@ -302,15 +349,24 @@ END
* Print Detail Line * Print Detail Line
colData = "" colData = ""
colData<1,1> = S.Reactor colData<1,-1> = S.Reactor
colData<1,2> = S.React_Prob_Cat_Desc colData<1,-1> = S.PSN
colData<1,3> = S.React_Serv_ID colData<1,-1> = S.React_Prob_Cat_Desc
colData<1,4> = S.React_Serv_Desc colData<1,-1> = S.React_Serv_ID
colData<1,5> = S.Tech colData<1,-1> = S.React_Serv_Desc
colData<1,6> = S.React_Item_IDS colData<1,-1> = S.Tech
colData<1,7> = S.Notes If IncludeReactItemIds then
colData<1,8> = S.StartDTM colData<1,-1> = S.React_Item_IDS
colData<1,9> = OCONV(S.Elapsed_Hours,'MD2') end
If IncludeInjSettings then
colData<1,-1> = S.InjSettings
end
If IncludeReactRatios then
colData<1,-1> = S.ReactorRatios
end
colData<1,-1> = S.Notes
colData<1,-1> = S.StartDTM
colData<1,-1> = OCONV(S.Elapsed_Hours,'MD2')
GOSUB PrintTable GOSUB PrintTable
@ -342,7 +398,6 @@ RETURN
PrintTable: PrintTable:
* * * * * * * * * * * *
stat = Set_Printer('CALCTABLE',colFmt:@FM:colData) stat = Set_Printer('CALCTABLE',colFmt:@FM:colData)
TableSize = Get_Printer('CALCTABLE') TableSize = Get_Printer('CALCTABLE')
TableHeight = TableSize<2> TableHeight = TableSize<2>
@ -375,278 +430,3 @@ END
RETURN RETURN
/*
* ZERO ACCUMULATORS FOR EACH BREAK
Elapsed_Hours.Reactor.Total=0
Elapsed_Hours.Reactor.Count=0
Elapsed_Hours.Grand.Total=0
Elapsed_Hours.Grand.Count=0
* NULL PREVIOUS BREAK BUCKETS
Prev.Reactor=''
Last.Reactor.Break = 1
* * * * * * *
READRECORD:
* * * * * * *
IF @RECCOUNT GE 10 THEN
Last.Record=1
Reactor.Break=1
REACTOR=Prev.Reactor
REACTOR=Prev.Reactor
GOTO BREAKS
END
*
*
* ZERO BREAK FLAGS TO FALSE
*
Reactor.Break=0
*
*
READNEXT @ID, WHICH.VALUE ELSE
IF STATUS() GT 0 THEN
STATX = SET_FSERROR()
RETURN
END
IF @FILE.ERROR<1> EQ 421 THEN
STATX = SET_FSERROR()
GOTO READRECORD
END
IF @FILE.ERROR<1> NE 111 THEN
@ANS = @FILE.ERROR<1>
STATX = SEND_DYN( {RLIST_TEXT_4} )
READERR += 1
GOTO READRECORD
END
Last.Record=1
Reactor.Break=1
REACTOR=Prev.Reactor
END
@FILE.ERROR.MODE=0
S.ATID = @ID
IF FirstPass AND Last.Record THEN
STATX = SEND_DYN( {RLIST_TEXT_2} )
RETURN
END
IF Last.Record THEN GOTO BREAKS
IF @REDUCTION.DONE THEN
READO @RECORD FROM FILE.IN, @ID ELSE
@FILE.ERROR.MODE = 0
IF STATUS() GT 0 THEN
STATX = SET_FSERROR()
RETURN
END
IF @FILE.ERROR<1> NE 100 THEN
READERR += 1
END
GOTO READRECORD
END
END
@RECCOUNT += 1
* CALCULATE VALUE(S) FOR COLUMN(S)
S.ATID={@ID}
I.ATID=S.ATID
S.Reactor={REACTOR}
I.Reactor=S.Reactor
S.Reactor1={REACTOR}
I.Reactor1=S.Reactor1
M.REACT_PROB_CAT_DESC={REACT_PROB_CAT_DESC}<1,WHICH.VALUE> ; P.REACT_PROB_CAT_DESC=1 ; C.REACT_PROB_CAT_DESC=7
* INITIALIZE MULTIVALUE BREAK CHECK VARIABLE
S.REACT_PROB_CAT_DESC = M.REACT_PROB_CAT_DESC
M.REACT_SERV_ID={REACT_SERV_ID}<1,WHICH.VALUE> ; P.REACT_SERV_ID=1 ; C.REACT_SERV_ID=7
* INITIALIZE MULTIVALUE BREAK CHECK VARIABLE
S.REACT_SERV_ID = M.REACT_SERV_ID
M.REACT_SERV_DESC={REACT_SERV_DESC}<1,WHICH.VALUE> ; P.REACT_SERV_DESC=1 ; C.REACT_SERV_DESC=7
* INITIALIZE MULTIVALUE BREAK CHECK VARIABLE
S.REACT_SERV_DESC = M.REACT_SERV_DESC
S.TECH_SIG={TECH_SIG}
I.TECH_SIG=S.TECH_SIG
M.NOTES=FMT({NOTES},"T#20") ; P.NOTES=1 ; C.NOTES=7
* INITIALIZE TEXT BREAK CHECK VARIABLE(S)
S.NOTES = M.NOTES
S.START_DATE={START_DATE}
I.START_DATE=S.START_DATE
S.Elapsed_Hours={Elapsed_Hours}
I.Elapsed_Hours=S.Elapsed_Hours
PREVIOUS.MARK.LEVEL=0
* TEST FOR CONTROL BREAK(S)
IF (S.Reactor NE Prev.Reactor) OR Reactor.Break THEN
REACTOR=Prev.Reactor
Prev.Reactor=S.Reactor
Reactor.Break+=1
END
IF FirstPass THEN
FirstPass=0
GOTO DETAIL
END
* * * * * *
BREAKS:
* * * * * *
* PRINT BREAK TOTAL(S) AND ACCUMULATE TOTAL(S)
IF Reactor.Break THEN
STATX = SEND_DYN("")
PRINTLINE = ""
PRINTLINE := FMT("***" : "", "R#14") : TAB$
PRINTLINE := SPACE(14) : TAB$
PRINTLINE := SPACE(24) : TAB$
PRINTLINE := SPACE(14) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(11) : TAB$
PRINTLINE := FMT(OCONV(Elapsed_Hours.Reactor.Total ,"MD2") , "R#16")
STATX = SEND_DYN( PRINTLINE )
STATX = SEND_DYN("")
Elapsed_Hours.Grand.Total+=Elapsed_Hours.Reactor.Total
Elapsed_Hours.Reactor.Total=0
Elapsed_Hours.Grand.Count+=Elapsed_Hours.Reactor.Count
Elapsed_Hours.Reactor.Count=0
END
* PERFORM LAST RECORD OUTPUT IF DONE
IF Last.Record THEN
STATX = SEND_DYN("")
PRINTLINE = ""
PRINTLINE := FMT("***" : "", "R#14") : TAB$
PRINTLINE := SPACE(14) : TAB$
PRINTLINE := SPACE(24) : TAB$
PRINTLINE := SPACE(14) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(20) : TAB$
PRINTLINE := SPACE(11) : TAB$
PRINTLINE := FMT(OCONV(Elapsed_Hours.Grand.Total ,"MD2") , "R#16")
STATX = SEND_DYN( PRINTLINE )
STATX = SEND_DYN("")
@ANS=@RECCOUNT
STATX = SEND_DYN( {RLIST_TEXT_1} )
IF READERR THEN
@ANS=READERR
STATX = SEND_DYN( {RLIST_TEXT_3} )
END
RETURN
END
* * * * * * *
DETAIL:
* * * * * * *
* REMOVE APPROPRIATE VALUE FROM MULTI-VALUED COLUMN(S)
NEW.MARK.LEVEL=0
IF C.REACT_PROB_CAT_DESC GE PREVIOUS.MARK.LEVEL THEN
REMOVE I.REACT_PROB_CAT_DESC FROM M.REACT_PROB_CAT_DESC AT P.REACT_PROB_CAT_DESC SETTING C.REACT_PROB_CAT_DESC
S.REACT_PROB_CAT_DESC=I.REACT_PROB_CAT_DESC
END
IF C.REACT_PROB_CAT_DESC GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.REACT_PROB_CAT_DESC
IF C.REACT_SERV_ID GE PREVIOUS.MARK.LEVEL THEN
REMOVE I.REACT_SERV_ID FROM M.REACT_SERV_ID AT P.REACT_SERV_ID SETTING C.REACT_SERV_ID
S.REACT_SERV_ID=I.REACT_SERV_ID
END
IF C.REACT_SERV_ID GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.REACT_SERV_ID
IF C.REACT_SERV_DESC GE PREVIOUS.MARK.LEVEL THEN
REMOVE I.REACT_SERV_DESC FROM M.REACT_SERV_DESC AT P.REACT_SERV_DESC SETTING C.REACT_SERV_DESC
S.REACT_SERV_DESC=I.REACT_SERV_DESC
END
IF C.REACT_SERV_DESC GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.REACT_SERV_DESC
IF C.NOTES GE PREVIOUS.MARK.LEVEL THEN
REMOVE I.NOTES FROM M.NOTES AT P.NOTES SETTING C.NOTES
S.NOTES=I.NOTES
END
IF C.NOTES GT NEW.MARK.LEVEL THEN NEW.MARK.LEVEL=C.NOTES
* DO CONVERSIONS IF ANY
IF S.Reactor NE "" THEN S.Reactor=OCONV(S.Reactor,"MD0")
IF S.Reactor1 NE "" THEN S.Reactor1=OCONV(S.Reactor1,"MD0")
IF S.REACT_SERV_ID NE "" THEN S.REACT_SERV_ID=OCONV(S.REACT_SERV_ID,"MD0")
IF S.START_DATE NE "" THEN S.START_DATE=OCONV(S.START_DATE,"D2/")
IF S.Elapsed_Hours NE "" THEN S.Elapsed_Hours=OCONV(S.Elapsed_Hours,"MD2")
* ACCUMULATE TOTAL(S)
IF NUM(I.Elapsed_Hours) AND I.Elapsed_Hours NE "" THEN
Elapsed_Hours.Reactor.Total+=I.Elapsed_Hours
Elapsed_Hours.Reactor.Count+=1
I.Elapsed_Hours=''
END
* PRINT DETAIL LINE
PRINTLINE = ""
PRINTLINE := FMT( S.Reactor, "R#14") : TAB$
PRINTLINE := FMT( S.Reactor1, "R#14") : TAB$
PRINTLINE := FMT( S.REACT_PROB_CAT_DESC, "L#24") : TAB$
PRINTLINE := FMT( S.REACT_SERV_ID, "R#14") : TAB$
PRINTLINE := FMT( S.REACT_SERV_DESC, "L#20") : TAB$
PRINTLINE := FMT( S.TECH_SIG, "L#20") : TAB$
PRINTLINE := FMT( S.NOTES, "L#20") : TAB$
PRINTLINE := FMT( S.START_DATE, "R#11") : TAB$
PRINTLINE := FMT( S.Elapsed_Hours, "R#16")
STATX = SEND_DYN( PRINTLINE )
IF NEW.MARK.LEVEL THEN
S.Reactor=''
S.Reactor1=''
S.REACT_PROB_CAT_DESC=''
S.REACT_SERV_ID=''
S.REACT_SERV_DESC=''
S.TECH_SIG=''
S.NOTES=''
S.START_DATE=''
S.Elapsed_Hours=''
PREVIOUS.MARK.LEVEL=NEW.MARK.LEVEL
GOTO DETAIL
END
GOTO READRECORD
END
*/

View File

@ -165,7 +165,7 @@ Event WINDOW.OMNIEVENT(Message, Param1, Param2, Param3, Param4)
CtrlMap = Get_Property(@Window, 'CTRLMAP') CtrlMap = Get_Property(@Window, 'CTRLMAP')
For each Ctrl in CtrlMap using @FM setting fPos For each Ctrl in CtrlMap using @FM setting fPos
CtrlType = Get_Property(Ctrl, 'TYPE') CtrlType = Get_Property(Ctrl, 'TYPE')
If Not( (Ctrl EQ @Window:'.OLE_EDT_NOTES') or (Ctrl EQ @Window:'.PUB_ADD_COMMENT') or (Ctrl EQ @Window:'.NEW_BUTTON') or (Ctrl EQ @Window:'.PRINT_ROOT_CAUSE') or (Ctrl EQ @Window:'.BUTTON_18') or (Ctrl EQ @Window:'.LU_RL_NO') or (CtrlType EQ 'STATIC') or (Ctrl EQ @Window:'.TECH_SIGN') or (CtrlType EQ 'WINDOW') or (Ctrl EQ @Window:'.PHX_BTN_CLEAR') or (Ctrl EQ @Window:'.TAB') or (IndexC(Ctrl, 'QBF', 1) GT 0) or (Ctrl EQ @Window:'.REACTOR_LOG_NO') or (CtrlType EQ 'GROUPBOX') ) then If Not( (Ctrl EQ @Window:'.OLE_EDT_NOTES') or (Ctrl EQ @Window:'.PUB_ADD_COMMENT') or (Ctrl EQ @Window:'.NEW_BUTTON') or (Ctrl EQ @Window:'.PRINT_ROOT_CAUSE') or (Ctrl EQ @Window:'.BUTTON_18') or (Ctrl EQ @Window:'.LU_RL_NO') or (CtrlType EQ 'STATIC') or (Ctrl EQ @Window:'.TECH_SIGN') or (CtrlType EQ 'WINDOW') or (Ctrl EQ @Window:'.PHX_BTN_CLEAR') or (Ctrl EQ @Window:'.TAB') or (IndexC(Ctrl, 'QBF', 1) GT 0) or (Ctrl EQ @Window:'.REACTOR_LOG_NO') or (CtrlType EQ 'GROUPBOX') or (Ctrl EQ @Window:'.INJ_SETTING_HIST') or (Ctrl EQ @Window:'.PUB_RATIO_HISTORY') ) then
Set_Property(Ctrl, 'ENABLED', (Signature EQ '')) Set_Property(Ctrl, 'ENABLED', (Signature EQ ''))
end end
Next Ctrl Next Ctrl
@ -281,3 +281,4 @@ UpdateNotes:
return return

View File

@ -184,17 +184,17 @@ Service SignReactorLog(ReactorLogID, UserID)
end end
If ErrorMsg EQ '' then If ErrorMsg EQ '' then
// Check if injector settings have been entered // Check if injector settings have been entered
ReactInjSetting = ReactorLogRec<REACTOR_LOG_INJ_SETTING$> * ReactInjSetting = ReactorLogRec<REACTOR_LOG_INJ_SETTING$>
If ReactInjSetting NE '' then * If ReactInjSetting NE '' then
plParms = 'REACT_STATE':@RM * plParms = 'REACT_STATE':@RM
plParms := ReactorNo:@RM * plParms := ReactorNo:@RM
plParms := REACT_STATE_CURR_INJ_RL_ID$:@RM * plParms := REACT_STATE_CURR_INJ_RL_ID$:@RM
plParms := ReactorLogID:@RM * plParms := ReactorLogID:@RM
obj_Post_Log('Create',plParms) * obj_Post_Log('Create',plParms)
If Get_Status(ErrCode) then * If Get_Status(ErrCode) then
ErrorMsg = 'Error in ':Service:' service. Error calling obj_Post_Log("Create"). Error code: ':ErrCode:'.' * ErrorMsg = 'Error in ':Service:' service. Error calling obj_Post_Log("Create"). Error code: ':ErrCode:'.'
end * end
end * end
If ErrorMsg EQ '' then If ErrorMsg EQ '' then
// Check reactor prevent maintenance records // Check reactor prevent maintenance records
CurServices = ReactorLogRec<REACTOR_LOG_REACT_SERV_ID$> CurServices = ReactorLogRec<REACTOR_LOG_REACT_SERV_ID$>
@ -974,3 +974,4 @@ ClearCursors:
return return

View File

@ -167,3 +167,4 @@ write '' on SysListsTable, ListsId else
end end
return 0 return 0

View File

@ -55,8 +55,12 @@ $Insert IQS_VIOL_DATA_EQUATES
$Insert FEATURE_FLAGS_EQUATES $Insert FEATURE_FLAGS_EQUATES
$Insert REACT_PROB_CAT_EQUATES $Insert REACT_PROB_CAT_EQUATES
$Insert NICA_ORDERS_EQUATES $Insert NICA_ORDERS_EQUATES
$Insert REACTOR_INJECTOR_SETTINGS_EQUATES
$Insert REACTOR_RATIOS_EQUATES
$Insert REACT_STATE_EQUATES
Equ WOCust$ to 2 Equ WOCust$ to 2
Equ SECONDS_IN_DAY$ to 86400
// Uptime Percentage Equates // Uptime Percentage Equates
Equ PRODUCTIVE$ to 1 Equ PRODUCTIVE$ to 1
@ -68,13 +72,13 @@ Equ ENG$ to 5
Declare subroutine Error_Services, Reactor_Services, Memory_Services, RList, Database_Services, SRP_JSON Declare subroutine Error_Services, Reactor_Services, Memory_Services, RList, Database_Services, SRP_JSON
Declare subroutine Excel_Services, Schedule_Services, Logging_Services, Set_Status, obj_React_Status, Errmsg Declare subroutine Excel_Services, Schedule_Services, Logging_Services, Set_Status, obj_React_Status, Errmsg
Declare subroutine Obj_Notes, Btree.Extract, SRP_Fastarray, Delay, Mona_Services, SRP_List, Msg, Rds_Services Declare subroutine Obj_Notes, Btree.Extract, SRP_Fastarray, Delay, Mona_Services, SRP_List, Msg, Rds_Services
Declare subroutine React_Assign_Conv, Nica_Orders_Services, obj_React_Mode, Reactor_Log_Services Declare subroutine React_Assign_Conv, Nica_Orders_Services, obj_React_Mode, Reactor_Log_Services, obj_Post_Log
Declare function SRP_Array, Reactor_Services, Memory_Services, Database_Services, SRP_Sort_Array, Excel_Services Declare function SRP_Array, Reactor_Services, Memory_Services, Database_Services, SRP_Sort_Array, Excel_Services
Declare function SRP_Math, SRP_Hash, SRP_JSON, Epi_Part_Services, Schedule_Services, Date_Services, Environment_Services Declare function SRP_Math, SRP_Hash, SRP_JSON, Epi_Part_Services, Schedule_Services, Date_Services, Environment_Services
Declare function Logging_Services, GetCommandLine, NextKey, Reactor_Log_Services, SRP_DateTime, ole_getwebpage Declare function Logging_Services, GetCommandLine, NextKey, Reactor_Log_Services, SRP_DateTime, ole_getwebpage
Declare function Datetime, Reactor_Modes_Services, Work_Order_Services, React_Mode_NG_Services, Lsl_Users_Services Declare function Datetime, Reactor_Modes_Services, Work_Order_Services, React_Mode_NG_Services, Lsl_Users_Services
Declare function SRP_Time, Rds_Services, SRP_Fastarray, Httpclient_Services, SRP_List, Utility, Memberof, Error_Services Declare function SRP_Time, Rds_Services, SRP_Fastarray, Httpclient_Services, SRP_List, Utility, Memberof, Error_Services
Declare function Nica_Orders_Services, Max Declare function Nica_Orders_Services, Max, RTI_CreateGUID
// Report paths for various performance report services. // Report paths for various performance report services.
TemplatesFolder = Environment_Services('GetApplicationRootPath') : '\Reports\Scheduler\Templates\' TemplatesFolder = Environment_Services('GetApplicationRootPath') : '\Reports\Scheduler\Templates\'
@ -2116,6 +2120,15 @@ Service CreateReactModeChange(UserID, ReactNo, Mode, ModeSubCat, ModeText, Force
RLRec<reactor_log_react_util_id$> = NewRUKey RLRec<reactor_log_react_util_id$> = NewRUKey
RLRec<reactor_log_react_prob_cat_id$> = ModeSubCatID RLRec<reactor_log_react_prob_cat_id$> = ModeSubCatID
CurrWoNo = Xlate('CONFIG', 'WO_DAILY_SCHED':ReactNo, 'F2', 'X')
CurrWoNo = CurrWoNo[1, 'F ']
If CurrWoNo NE '' then
CurrPSNo = Xlate('WO_LOG', CurrWoNo, 'PS_NO', 'X')
end else
CurrPSNo = ''
end
RLRec<REACTOR_LOG_PROD_SPEC_NO$> = CurrPSNo
Database_Services('WriteDataRow', 'REACTOR_LOG', NewRLKey, RLRec) Database_Services('WriteDataRow', 'REACTOR_LOG', NewRLKey, RLRec)
If Error_Services('NoError') then If Error_Services('NoError') then
Database_Services('WriteDataRow', 'REACT_UTIL', NewRUKey, RUtilRec) Database_Services('WriteDataRow', 'REACT_UTIL', NewRUKey, RUtilRec)
@ -3738,6 +3751,7 @@ Service GetActiveProveInProgresses(ReactNo)
end service end service
Service GetActiveProveInOrderIds(ReactNo) Service GetActiveProveInOrderIds(ReactNo)
If ReactNo NE '' then If ReactNo NE '' then
@ -3760,6 +3774,495 @@ Service GetIdleStartupRequired(ReactNo)
end service end service
Service GetCurrentInjectorSettings(ReactorNo)
ErrorMsg = ''
CurrInjSettings = ''
If ReactorNo NE '' then
If RowExists('REACTOR', ReactorNo) then
Open 'DICT.REACTOR_INJECTOR_SETTINGS' to hDict then
Query = 'REACTOR_NO':@VM:ReactorNo:@FM
Query := 'ACTIVE':@VM:True$:@FM
KeyList = ''
Option = 'E'
Flag = ''
Btree.Extract(Query, 'REACTOR_INJECTOR_SETTINGS', hDict, KeyList, Option, Flag)
If Flag EQ 0 then
Begin Case
Case DCount(KeyList, @VM) EQ 0
CurrInjSettings<0, 1> = ''
CurrInjSettings<0, 2> = ''
CurrInjSettings<0, 3> = ''
CurrInjSettings<0, 4> = ''
CurrInjSettings<0, 5> = ''
Case DCount(KeyList, @VM) EQ 1
SettingsRec = Database_Services('ReadDataRow', 'REACTOR_INJECTOR_SETTINGS', KeyList)
If Error_Services('NoError') then
CurrInjSettings<0, 1> = SettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_1$>
CurrInjSettings<0, 2> = SettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_2$>
CurrInjSettings<0, 3> = SettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_3$>
CurrInjSettings<0, 4> = SettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_4$>
CurrInjSettings<0, 5> = SettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_5$>
end
Case DCount(KeyList, @VM) GT 1
ErrorMsg = 'Error in ':Service:' service. Multiple active REACTOR_INJECTOR_SETTINGS records returned.'
End Case
end else
ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error opening DICT.REACTOR_INJECTOR_SETTINGS.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR, ':ReactorNo:', does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorNo passed into service.'
end
If ErrorMsg EQ '' then
Response = CurrInjSettings
end else
Error_Services('Add', ErrorMsg)
end
end service
Service GetCurrentRatios(ReactorNo)
ErrorMsg = ''
CurrRatios = ''
If ReactorNo NE '' then
If RowExists('REACTOR', ReactorNo) then
Open 'DICT.REACTOR_RATIOS' to hDict then
Query = 'REACTOR_NO':@VM:ReactorNo:@FM
Query := 'ACTIVE':@VM:True$:@FM
KeyList = ''
Option = 'E'
Flag = ''
Btree.Extract(Query, 'REACTOR_RATIOS', hDict, KeyList, Option, Flag)
If Flag EQ 0 then
NumRatios = ''
ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
Begin Case
Case ReactorNo EQ 73
// OpenInsight needs to be updated to support reactor type HTR+, which requires 16 ratios.
NumRatios = 16
Case ReactorType EQ 'ASM' or ReactorType EQ 'ASM+'
NumRatios = 10
Case ReactorType EQ 'HTR'
NumRatios = 12
Case Otherwise$
ErrorMsg = 'Error in ':Service:' service. Error determining number '
ErrorMsg := 'of Ratios required for reactor ':ReactorNo:'.'
End Case
If ErrorMsg EQ '' then
Begin Case
Case DCount(KeyList, @VM) EQ 0
For RatioIndex = 1 to NumRatios
CurrRatios<0, RatioIndex> = ''
Next RatioIndex
Case DCount(KeyList, @VM) EQ 1
SettingsRec = Database_Services('ReadDataRow', 'REACTOR_RATIOS', KeyList)
If Error_Services('NoError') then
For RatioIndex = 0 to (NumRatios - 1)
CurrRatios<0, RatioIndex + 1> = SettingsRec<REACTOR_RATIOS.RATIO_1$ + RatioIndex>
Next RatioIndex
end
Case DCount(KeyList, @VM) GT 1
ErrorMsg = 'Error in ':Service:' service. Multiple active REACTOR_RATIOS records returned.'
End Case
end
end else
ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error opening DICT.REACTOR_RATIOS.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR, ':ReactorNo:', does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorNo passed into service.'
end
If ErrorMsg EQ '' then
Response = CurrRatios
end else
Error_Services('Add', ErrorMsg)
end
end service
Service GetRatiosByReactorLog(ReactorLogId)
RatiosKey = ''
Ratios = ''
ErrorMsg = ''
ReactorNo = ''
If ReactorLogId NE '' then
If RowExists('REACTOR_LOG', ReactorLogId) then
Query = 'SELECT REACTOR_RATIOS WITH REACTOR_LOG_ID EQ ':Quote(ReactorLogId)
Query := ' BY-DSND RATIO_SET_DTM'
RList(Query, TARGET_ACTIVELIST$)
ErrCode = ''
If Not(Get_Status(ErrCode)) then
If @RecCount GT 0 then
ReadNext RatiosKey else
ErrorMsg = 'Error in ':Service:' service. Error looking up reactor '
ErrorMsg := 'ratios associated with REACTOR_LOG ':ReactorLogId:'.'
end
ClearSelect TARGET_ACTIVELIST$
end
end else
ErrorMsg = 'Error in ':Service:' service. Error looking up reactor '
ErrorMsg := 'ratios associated with REACTOR_LOG ':ReactorLogId:'.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR_LOG ':ReactorLogId:' does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorLogId passed into service.'
end
If ErrorMsg EQ '' then
If RatiosKey NE '' then
RatiosRec = Database_Services('ReadDataRow', 'REACTOR_RATIOS', RatiosKey)
If Error_Services('NoError') then
If ReactorNo EQ '' then ReactorNo = Xlate('REACTOR_LOG', ReactorLogId, 'REACTOR', 'X')
If ReactorNo NE '' then
NumRatios = Reactor_Services('GetNumRatios', ReactorNo)
For RatioIndex = 0 to (NumRatios - 1)
Ratios<0, RatioIndex + 1> = RatiosRec<REACTOR_RATIOS.RATIO_1$ + RatioIndex>
Next RatioIndex
end else
ErrorMsg = 'Error in ':Service:' service. Null Reactor in REACTOR_LOG ':ReactorLogId:'.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error reading REACTOR_RATIOS record ':RatiosKey:'.'
end
end
end
If ErrorMsg EQ '' then
Response = Ratios
end else
Error_Services('Add', ErrorMsg)
end
end service
Service GetInjectorSettingsByReactorLog(ReactorLogId)
ReactInjSetKey = ''
InjSettings = ''
ErrorMsg = ''
If ReactorLogId NE '' then
If RowExists('REACTOR_LOG', ReactorLogId) then
Query = 'SELECT REACTOR_INJECTOR_SETTINGS WITH REACTOR_LOG_ID EQ ':Quote(ReactorLogId)
Query := ' BY-DSND INJ_SET_DTM'
RList(Query, TARGET_ACTIVELIST$)
ErrCode = ''
If Not(Get_Status(ErrCode)) then
If @RecCount GT 0 then
ReadNext ReactInjSetKey else
ErrorMsg = 'Error in ':Service:' service. Error looking up reactor injector '
ErrorMsg := 'settings associated with REACTOR_LOG ':ReactorLogId:'.'
end
ClearSelect TARGET_ACTIVELIST$
end
end else
ErrorMsg = 'Error in ':Service:' service. Error looking up reactor injector '
ErrorMsg := 'settings associated with REACTOR_LOG ':ReactorLogId:'.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR_LOG ':ReactorLogId:' does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorLogId passed into service.'
end
If ErrorMsg EQ '' then
If ReactInjSetKey NE '' then
ReactInjSetRec = Database_Services('ReadDataRow', 'REACTOR_INJECTOR_SETTINGS', ReactInjSetKey)
If Error_Services('NoError') then
For InjIndex = 0 to 4
InjSettings<0, InjIndex + 1> = ReactInjSetRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_1$ + InjIndex>
Next InjIndex
end else
ErrorMsg = 'Error in ':Service:' service. Error reading REACTOR_INJECTOR_SETTINGS record ':ReactInjSetKey:'.'
end
end
end
If ErrorMsg EQ '' then
Response = InjSettings
end else
Error_Services('Add', ErrorMsg)
end
end service
Service SetNewInjectorSettings(ReactorNo, InjSettings)
// Injector settings should be passed in internal format (MD3)
ErrorMsg = ''
If ReactorNo NE '' then
If RowExists('REACTOR', ReactorNo) then
If InjSettings NE '' then
If DCount(InjSettings, @VM) EQ 5 then
For each InjSetting in InjSettings using @VM setting vPos
If InjSettings EQ '' then ErrorMsg = 'Error in ':Service:' service. Injector setting ':vPos:' is missing.'
Until ErrorMsg NE ''
Next InjSetting
If ErrorMsg EQ '' then
CurrInjSettings = Reactor_Services('GetCurrentInjectorSettings', ReactorNo)
If (CurrInjSettings NE InjSettings) then
CurrRlId = Xlate('CONFIG', 'REACT_MODE':ReactorNo, 8, 'X')
If CurrRlId NE '' then
Query = 'REACTOR_NO':@VM:ReactorNo:@FM:'ACTIVE':@VM:True$:@FM
Open 'DICT.REACTOR_INJECTOR_SETTINGS' to hDict then
Option = 'E'
ActiveInjSettingsKeys = ''
Flag = ''
Btree.Extract(Query, 'REACTOR_INJECTOR_SETTINGS', hDict, ActiveInjSettingsKeys, Option, Flag)
If Flag EQ 0 then
If ActiveInjSettingsKeys NE '' then
Open 'REACTOR_INJECTOR_SETTINGS' to hTable then
For each ActiveInjSettingsKey in ActiveInjSettingsKeys using @VM
WriteV False$ on hTable, ActiveInjSettingsKey, REACTOR_INJECTOR_SETTINGS.ACTIVE$ else
ErrorMsg = 'Error in ':Service:' service. Error setting previous injector '
ErrorMsg := 'settings to inactive. File error: ':@File_Error
end
Until ErrorMsg NE ''
Next ActiveInjSettingsKey
end else
ErrorMsg = 'Error in ':Service:' service. Error opening REACTOR_INJECTOR_SETTINGS to '
ErrorMsg := 'invalidate previous settings.'
end
end
If ErrorMsg EQ '' then
NewInjSettingsKey = RTI_CreateGUID()
If NewInjSettingsKey NE '' then
NewInjSettingsRec = ''
NewInjSettingsRec<REACTOR_INJECTOR_SETTINGS.REACTOR_LOG_ID$> = CurrRlId
NewInjSettingsRec<REACTOR_INJECTOR_SETTINGS.REACTOR_NO$> = ReactorNo
NewInjSettingsRec<REACTOR_INJECTOR_SETTINGS.INJ_SET_DTM$> = Datetime()
NewInjSettingsRec<REACTOR_INJECTOR_SETTINGS.ACTIVE$> = True$
For InjIndex = 0 to 4
NewInjSettingsRec<REACTOR_INJECTOR_SETTINGS.INJECTOR_1$ + InjIndex> = InjSettings<0, InjIndex + 1>
Next InjIndex
Database_Services('WriteDataRow', 'REACTOR_INJECTOR_SETTINGS', NewInjSettingsKey, NewInjSettingsRec)
If Error_Services('NoError') then
plParms = 'REACT_STATE':@RM
plParms := ReactorNo:@RM
plParms := REACT_STATE_CURR_INJ_RL_ID$:@RM
plParms := CurrRlId:@RM
obj_Post_Log('Create',plParms)
If Get_Status(ErrCode) then
ErrorMsg = 'Error in ':Service:' service. Error calling obj_Post_Log("Create"). '
ErrorMsg := 'Error code: ':ErrCode:'.'
end
end else
ErrorMsg = Error_Services('GetMessage')
end
end else
ErrorMsg = 'Error in ':Service:' service. Error creating new REACTOR_INJECTOR_SETTINGS record.'
end
end
end else
ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error opening DICT.REACTOR_INJECTOR_SETTINGS'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error reading current REACTOR_LOG Id.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Input InjSettings are the same as the current InjSettings.'
end
end
end else
ErrorMsg = 'Error in ':Service:' service. All five injector settings are required.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null InjSettings passed into service.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR, ':ReactorNo:', does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorNo passed into service.'
end
If ErrorMsg EQ '' then
Response = True$
end else
Error_Services('Add', ErrorMsg)
Response = False$
end
end service
Service SetNewRatios(ReactorNo, Ratios)
// Ratios should be passed in internal format (MD3)
ErrorMsg = ''
If ReactorNo NE '' then
If RowExists('REACTOR', ReactorNo) then
If Ratios NE '' then
Ratios = SRP_Array('Clean', Ratios, 'Trim', @VM)
NumRatios = Reactor_Services('GetNumRatios', ReactorNo)
If Error_Services('NoError') then
If DCount(Ratios, @VM) EQ NumRatios then
For each Ratio in Ratios using @VM setting vPos
Begin Case
Case Ratio EQ ''
ErrorMsg = 'Error in ':Service:' service. Ratio ':vPos:' is missing.'
Case OConv(Ratio, 'MD3') LT 30
ErrorMsg = 'Error in ':Service:' service. Invalid Ratio value. Ratio ':vPos:' is less than 30.'
Case OConv(Ratio, 'MD3') GT 100
ErrorMsg = 'Error in ':Service:' service. Invalid Ratio value. Ratio ':vPos:' is greater than 100.'
End Case
Until ErrorMsg NE ''
Next Ratio
If ErrorMsg EQ '' then
CurrRatios = Reactor_Services('GetCurrentRatios', ReactorNo)
If (CurrRatios NE Ratios) then
CurrRlId = Xlate('CONFIG', 'REACT_MODE':ReactorNo, 8, 'X')
If CurrRlId NE '' then
Query = 'REACTOR_NO':@VM:ReactorNo:@FM:'ACTIVE':@VM:True$:@FM
Open 'DICT.REACTOR_RATIOS' to hDict then
Option = 'E'
ActiveRatiosKeys = ''
Flag = ''
Btree.Extract(Query, 'REACTOR_RATIOS', hDict, ActiveRatiosKeys, Option, Flag)
If Flag EQ 0 then
If ActiveRatiosKeys NE '' then
Open 'REACTOR_RATIOS' to hTable then
For each ActiveRatiosKey in ActiveRatiosKeys using @VM
WriteV False$ on hTable, ActiveRatiosKey, REACTOR_RATIOS.ACTIVE$ else
ErrorMsg = 'Error in ':Service:' service. Error setting previous ratios '
ErrorMsg := 'record to inactive. File error: ':@File_Error
end
Until ErrorMsg NE ''
Next ActiveRatiosKey
end else
ErrorMsg = 'Error in ':Service:' service. Error opening REACTOR_RATIOS table to '
ErrorMsg := 'invalidate previous ratios.'
end
end
If ErrorMsg EQ '' then
NewRatiosKey = RTI_CreateGUID()
If NewRatiosKey NE '' then
NewRatiosRec = ''
NewRatiosRec<REACTOR_RATIOS.REACTOR_LOG_ID$> = CurrRlId
NewRatiosRec<REACTOR_RATIOS.REACTOR_NO$> = ReactorNo
NewRatiosRec<REACTOR_RATIOS.RATIO_SET_DTM$> = Datetime()
NewRatiosRec<REACTOR_RATIOS.ACTIVE$> = True$
For RatioIndex = 0 to (NumRatios - 1)
NewRatiosRec<REACTOR_RATIOS.RATIO_1$ + RatioIndex> = Ratios<0, RatioIndex + 1>
Next RatioIndex
Database_Services('WriteDataRow', 'REACTOR_RATIOS', NewRatiosKey, NewRatiosRec)
If Error_Services('NoError') then
plParms = 'REACT_STATE':@RM
plParms := ReactorNo:@RM
plParms := REACT_STATE_CURR_RATIO_RL_ID$:@RM
plParms := CurrRlId:@RM
obj_Post_Log('Create',plParms)
If Get_Status(ErrCode) then
ErrorMsg = 'Error in ':Service:' service. Error calling obj_Post_Log("Create"). '
ErrorMsg = 'Error code: ':ErrCode:'.'
end
end else
ErrorMsg = Error_Services('GetMessage')
end
end else
ErrorMsg = 'Error in ':Service:' service. Error creating new REACTOR_RATIOS record.'
end
end
end else
ErrorMsg = 'Error in ':Service:' service. Error calling Btree.Extract.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error opening DICT.REACTOR_RATIOS'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error reading current REACTOR_LOG Id.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Input Ratios are the same as the current Ratios.'
end
end
end else
ErrorMsg = 'Error in ':Service:' service. Reactor ':ReactorNo:' requires ':NumRatios:' values '
ErrorMsg := 'for ratios. Only ':DCount(Ratios, @VM):' were supplied.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Error determining number of required ratios '
ErrorMsg := 'for reactor ':ReactorNo:'. Error message: ':Error_Services("GetMessage")
end
end else
ErrorMsg = 'Error in ':Service:' service. Null Ratios passed into service.'
end
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR, ':ReactorNo:', does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorNo passed into service.'
end
If ErrorMsg EQ '' then
Response = True$
end else
Error_Services('Add', ErrorMsg)
Response = False$
end
end service
Service GetNumRatios(ReactorNo)
ErrorMsg = ''
NumRatios = ''
If (ReactorNo NE '') then
If RowExists('REACTOR', ReactorNo) then
ReactorType = Xlate('REACTOR', ReactorNo, REACTOR_REACT_TYPE$, 'X')
Begin Case
Case ReactorNo EQ 73
// OpenInsight needs to be updated to support reactor type HTR+, which requires 16 ratios.
NumRatios = 16
Case ReactorType EQ 'ASM' or ReactorType EQ 'ASM+'
NumRatios = 10
Case ReactorType EQ 'HTR'
NumRatios = 12
Case Otherwise$
ErrorMsg = 'Error in ':Service:' service. Error determining number '
ErrorMsg := 'of Ratios required for reactor ':ReactorNo:'.'
End Case
end else
ErrorMsg = 'Error in ':Service:' service. REACTOR, ':ReactorNo:', does not exist.'
end
end else
ErrorMsg = 'Error in ':Service:' service. Null ReactorNo passed into service.'
end
If ErrorMsg EQ '' then
Response = NumRatios
end else
Error_Services('Add', ErrorMsg)
end
end service
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Internal GoSubs // Internal GoSubs
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -6,13 +6,13 @@ COMPILE FUNCTION REACT_STATE(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
10/8/2009 - John C. Henry, J.C. Henry & Co., Inc. 10/8/2009 - John C. Henry, J.C. Henry & Co., Inc.
*/ */
DECLARE SUBROUTINE Set_Property, ErrMsg, obj_AppWindow DECLARE SUBROUTINE Set_Property, ErrMsg, obj_AppWindow, Error_Services
DECLARE FUNCTION Get_Property, Send_Message, Start_Window, Reactor_Services, Error_Services
DECLARE FUNCTION Get_Property, Send_Message, Start_Window
$INSERT APPCOLORS $INSERT APPCOLORS
$INSERT LOGICAL
$INSERT REACT_STATE_EQUATES $INSERT REACT_STATE_EQUATES
$INSERT POPUP_EQUATES
EQU CRLF$ TO \0D0A\ EQU CRLF$ TO \0D0A\
EQU TAB$ TO \09\ EQU TAB$ TO \09\
@ -24,6 +24,8 @@ EQU COL$RI_SERIAL_NO TO 4
EQU COL$RI_INST_DTM TO 5 EQU COL$RI_INST_DTM TO 5
EQU COL$RI_RL_NO TO 6 EQU COL$RI_RL_NO TO 6
Equ POPUP_WHITE$ to 15400411
Equ POPUP_GREEN$ to 16777215
ErrTitle = 'Error in REACT_STATE commuter module' ErrTitle = 'Error in REACT_STATE commuter module'
ErrorMsg = '' ErrorMsg = ''
@ -33,17 +35,19 @@ Result = ''
BEGIN CASE BEGIN CASE
CASE EntID = @WINDOW CASE EntID = @WINDOW
BEGIN CASE BEGIN CASE
CASE Event = 'CLEAR' ; GOSUB Clear CASE Event = 'CLEAR' ; GoSub Clear
CASE Event = 'CREATE' ; GOSUB Create CASE Event = 'CREATE' ; GoSub Create
CASE Event = 'CLOSE' ; GOSUB Close CASE Event = 'CLOSE' ; GoSub Close
CASE Event = 'WRITE' ; GOSUB Write CASE Event = 'WRITE' ; GoSub Write
CASE Event = 'READ' ; GOSUB Read CASE Event = 'READ' ; GoSub Read
CASE Event[1,3] = 'QBF' ; GOSUB Refresh CASE Event[1,3] = 'QBF' ; GoSub Refresh
END CASE END CASE
CASE EntID = @WINDOW:'.CURR_RI_TYPE' AND Event = 'DBLCLK' ; GOSUB ReactItemDC CASE EntID = @WINDOW:'.CURR_RI_TYPE' AND Event = 'DBLCLK' ; GoSub ReactItemDC
CASE EntId = @Window:'.PUB_INJECTOR_SETTING_HISTORY' and Event = 'CLICK' ; GoSub DisplayInjectorHistory
Case EntId = @Window:'.PUB_RATIO_HISTORY' and Event = 'CLICK' ; GoSub DisplayRatioHistory
CASE 1 CASE Otherwise$
ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter' ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter'
ErrMsg('Application Message':@SVM:ErrorMsg) ErrMsg('Application Message':@SVM:ErrorMsg)
@ -62,7 +66,7 @@ RETURN Result
Create: Create:
* * * * * * * * * * * * * *
obj_Appwindow('Create',@WINDOW) obj_Appwindow('Create',@WINDOW)
RETURN RETURN
@ -80,9 +84,7 @@ RETURN
Clear: Clear:
* * * * * * * * * * * * * *
*Send_Event(@WINDOW,'PAGE',1) GOTO Refresh
GOTO Refresh
RETURN RETURN
@ -91,49 +93,59 @@ Read:
* * * * * * * * * * * * * *
* * * * * * * * * * * * * *
Refresh: Refresh:
* * * * * * * * * * * * * *
* QBF buttons * QBF buttons
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED' Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0 Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
END ELSE END ELSE
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1 Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
END END
Set_Property(Ctrls,Props,Vals) Set_Property(Ctrls,Props,Vals)
* Turn edit table symbolic column backgrounds to green * Turn edit table symbolic column backgrounds to green
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
ETCtrls = ETSymbolics<1> ETCtrls = ETSymbolics<1>
ETCols = ETSymbolics<2> ETCols = ETSymbolics<2>
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '') FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
ETCtrl = ETCtrls<1,I> ETCtrl = ETCtrls<1,I>
ETList = Get_Property(ETCtrl,'LIST') ETList = Get_Property(ETCtrl,'LIST')
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '') FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
IF ETList<Line,1> NE '' THEN IF ETList<Line,1> NE '' THEN
FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '') FOR N = 1 TO COUNT(ETCols<1,I>,@SVM) + (ETCols<1,I> NE '')
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,LS2_GREEN$) stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,I,N>,Line,GREEN$)
NEXT N NEXT N
END END
NEXT I NEXT I
NEXT I NEXT I
ReactNo = Get_Property(@Window:'.REACT_NO', 'TEXT')
If ReactNo NE '' then
// Populate Current Injector Settings and Current Reactor Ratios
InjSettings = OConv(Reactor_Services('GetCurrentInjectorSettings', ReactNo), 'MD3,')
Set_Property(@Window:'.EDT_CURR_INJ_SETTINGS', 'ARRAY', InjSettings)
Ratios = OConv(Reactor_Services('GetCurrentRatios', ReactNo), 'MD3,')
Set_Property(@Window:'.EDT_CURR_RATIOS', 'ARRAY', Ratios)
NumRatios = Reactor_Services('GetNumRatios', ReactNo)
If Error_Services('NoError') then
Set_Property(@Window:'.EDT_CURR_RATIOS', 'MINROWLIMIT', NumRatios)
Set_Property(@Window:'.EDT_CURR_RATIOS', 'MAXROWLIMIT', NumRatios)
end
end
RETURN RETURN
@ -142,13 +154,13 @@ RETURN
ReactItemDC: ReactItemDC:
* * * * * * * * * * * * * *
CurrPos = Get_Property(EntID,'SELPOS') CurrPos = Get_Property(EntID,'SELPOS')
CurrCol = CurrPos<1> CurrCol = CurrPos<1>
CurrRow = CurrPos<2> CurrRow = CurrPos<2>
CurrList = Get_Property(EntID,'LIST') CurrList = Get_Property(EntID,'LIST')
BEGIN CASE BEGIN CASE
CASE CurrCol = COL$RI_NO CASE CurrCol = COL$RI_NO
RINo = CurrList<CurrRow,COL$RI_NO> RINo = CurrList<CurrRow,COL$RI_NO>
IF RINo NE '' THEN IF RINo NE '' THEN
@ -161,7 +173,7 @@ BEGIN CASE
Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLNo:'*CENTER', '', '' ) Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLNo:'*CENTER', '', '' )
END END
END CASE END CASE
RETURN RETURN
@ -175,5 +187,69 @@ Close:
RETURN RETURN
* * * * * * * * * * * *
DisplayInjectorHistory:
* * * * * * * * * * * *
ReactNo = Get_Property(@Window:'.REACT_NO','DEFPROP')
If ReactNo NE '' then
TypeOver = ''
TypeOver<PDISPLAY$> = 'WITH REACTOR_NO = ':ReactNo:' BY-DSND INJ_SET_DTM'
void = Popup(@Window,TypeOver,'REACT_INJ_SETTINGS')
end
return
* * * * * * * * * * * *
DisplayRatioHistory:
* * * * * * * * * * * *
ReactNo = Get_Property(@Window:'.REACT_NO','DEFPROP')
If ReactNo NE '' then
NumRatios = Reactor_Services('GetNumRatios', ReactNo)
If Error_Services('NoError') then
DisplayText = 'WITH REACTOR_NO EQ ':ReactNo:' BY-DSND RATIO_SET_DTM':@vm:''
PopupRec = ""
PopupRec<PFILE$> = "REACTOR_RATIOS"
PopupRec<PDISPLAY$> = DisplayText
PopupRec<PFORMAT$> = 'REACTOR_NO':@svm:'6':@svm:'C':@svm:'C':@svm:'MD0':@svm:'Reactor No'
PopupRec<PFORMAT$, -1> = 'RATIO_SET_DTM':@svm:'16':@svm:'C':@svm:'C':@svm:'DT/^S':@svm:'Ratio Set Dtm'
For RatioIndex = 1 to NumRatios
PopupRec<PFORMAT$, -1> = 'RATIO_':RatioIndex:@svm:'7':@svm:'C':@svm:'C':@svm:'MD3,':@svm:'Ratio ':RatioIndex
Next RatioIndex
PopupRec<PMODE$> = 'T'
PopupRec<PSELECT$> = True$
PopupRec<PTITLE$> = 'Reactor Ratios'
PopupRec<PFIELD$> = True$
PopupRec<PTYPE$> = "F"
PopupRec<PCOLHDR$> = True$
PopupRec<PROWNUM$> = True$
PopupRec<PROWBTN$> = True$
PopupRec<PHGRID$> = True$
PopupRec<PVGRID$> = True$
PopupRec<PRESIZE$> = True$
PopupRec<PBORDER$> = True$
PopupRec<PBTNSBELOW$> = False$
PopupRec<PSEARCH$> = False$
PopupRec<PSORT$> = False$
PopupRec<PLOCK$> = False$
PopupRec<PSHOWMISSING$> = False$
PopupRec<PPRINTABLE$> = True$
PopupRec<PSHOWGAUGE$> = False$
PopupRec<PCAPTUREESC$> = False$
PopupRec<PGREENBAR$> = True$
PopupRec<PODDROWCOLOR$> = POPUP_WHITE$
PopupRec<PEVENROWCOLOR$> = POPUP_GREEN$
Response = Popup(@Window, PopupRec, '')
end else
Error_Services('DisplayError')
end
end else
Error_Services('Add', "Reactor number is missing")
Error_Services('DisplayError')
end
return

View File

@ -0,0 +1,20 @@
compile insert REACTOR_INJECTOR_SETTINGS_EQUATES
/*----------------------------------------
Author : Table Create Insert Routine
Written : 31/03/2025
Description : Insert for Table REACTOR_INJECTOR_SETTINGS
----------------------------------------*/
#ifndef __REACTOR_INJECTOR_SETTINGS_EQUATES__
#define __REACTOR_INJECTOR_SETTINGS_EQUATES__
equ REACTOR_INJECTOR_SETTINGS.REACTOR_LOG_ID$ to 1
equ REACTOR_INJECTOR_SETTINGS.REACTOR_NO$ to 2
equ REACTOR_INJECTOR_SETTINGS.INJ_SET_DTM$ to 3
equ REACTOR_INJECTOR_SETTINGS.ACTIVE$ to 4
equ REACTOR_INJECTOR_SETTINGS.INJECTOR_1$ to 5
equ REACTOR_INJECTOR_SETTINGS.INJECTOR_2$ to 6
equ REACTOR_INJECTOR_SETTINGS.INJECTOR_3$ to 7
equ REACTOR_INJECTOR_SETTINGS.INJECTOR_4$ to 8
equ REACTOR_INJECTOR_SETTINGS.INJECTOR_5$ to 9
#endif

View File

@ -85,4 +85,5 @@ Equ REACTOR_LOG_WAFERS_REMOVED_RDS$ To 75
Equ REACTOR_LOG_CHECKLIST_ACTIVE$ To 76 Equ REACTOR_LOG_CHECKLIST_ACTIVE$ To 76
Equ REACTOR_LOG_CHECKLIST_TYPE$ To 77 Equ REACTOR_LOG_CHECKLIST_TYPE$ To 77
Equ REACTOR_LOG_CHECKLIST_ORDER_ID$ To 78 Equ REACTOR_LOG_CHECKLIST_ORDER_ID$ To 78
Equ REACTOR_LOG_PROD_SPEC_NO$ To 79

View File

@ -0,0 +1,31 @@
compile insert REACTOR_RATIOS_EQUATES
/*----------------------------------------
Author : Table Create Insert Routine
Written : 31/03/2025
Description : Insert for Table REACTOR_RATIOS
----------------------------------------*/
#ifndef __REACTOR_RATIOS_EQUATES__
#define __REACTOR_RATIOS_EQUATES__
equ REACTOR_RATIOS.REACTOR_LOG_ID$ to 1
equ REACTOR_RATIOS.REACTOR_NO$ to 2
equ REACTOR_RATIOS.RATIO_SET_DTM$ to 3
equ REACTOR_RATIOS.ACTIVE$ to 4
equ REACTOR_RATIOS.RATIO_1$ to 5
equ REACTOR_RATIOS.RATIO_2$ to 6
equ REACTOR_RATIOS.RATIO_3$ to 7
equ REACTOR_RATIOS.RATIO_4$ to 8
equ REACTOR_RATIOS.RATIO_5$ to 9
equ REACTOR_RATIOS.RATIO_6$ to 10
equ REACTOR_RATIOS.RATIO_7$ to 11
equ REACTOR_RATIOS.RATIO_8$ to 12
equ REACTOR_RATIOS.RATIO_9$ to 13
equ REACTOR_RATIOS.RATIO_10$ to 14
equ REACTOR_RATIOS.RATIO_11$ to 15
equ REACTOR_RATIOS.RATIO_12$ to 16
equ REACTOR_RATIOS.RATIO_13$ to 17
equ REACTOR_RATIOS.RATIO_14$ to 18
equ REACTOR_RATIOS.RATIO_15$ to 19
equ REACTOR_RATIOS.RATIO_16$ to 20
#endif

View File

@ -30,4 +30,6 @@ Equ REACT_SERVS_NOTE_REQ$ To 19
Equ REACT_SERVS_ASSOC_METRICS$ To 20 Equ REACT_SERVS_ASSOC_METRICS$ To 20
Equ REACT_SERVS_IS_INTRUSIVE$ To 21 Equ REACT_SERVS_IS_INTRUSIVE$ To 21
Equ REACT_SERVS_INTR_MAINT_FLOW_ID$ To 22 Equ REACT_SERVS_INTR_MAINT_FLOW_ID$ To 22
Equ REACT_SERVS_RATIO_SERVICE$ To 23
Equ REACT_SERVS_REQ_INJECTOR_DATA$ To 24

View File

@ -25,3 +25,4 @@ Equ REACT_STATE_RESTRICTOR$ To 15
Equ REACT_STATE_LAST_RDS_NO$ To 16 Equ REACT_STATE_LAST_RDS_NO$ To 16
Equ REACT_STATE_LAST_UNLOAD_DTM$ To 17 Equ REACT_STATE_LAST_UNLOAD_DTM$ To 17
Equ REACT_STATE_TUBE_PRESSURE$ To 18 Equ REACT_STATE_TUBE_PRESSURE$ To 18
Equ REACT_STATE_CURR_RATIO_RL_ID$ To 19