blob: 88fdaf5cced7ccdaecef550a0a52a7fc222e59c7 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2019 Ericsson Telecom AB //
// //
// All rights reserved. This program and the accompanying materials //
// are made available under the terms of the Eclipse Public License v2.0 //
// which accompanies this distribution, and is available at //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_CLL_ExecCtrl_DSFunctions
//
// Purpose:
// This module contains the implementation of EPTF_CLL_ExecCtrl_DSFunctions functions.
//
// Module depends on:
// <EPTF_CLL_Common_Definitions>
// <EPTF_CLL_ExecCtrl_Definitions>
// <EPTF_CLL_DataSource_Definitions>
// <EPTF_CLL_DataSource_Functions>
// <EPTF_CLL_DataSourceClient_Functions>
// <EPTF_CLL_ExecCtrl_LoggingFunctions>
// <EPTF_CLL_Variable_Definitions>
// <EPTF_CLL_Variable_Functions>
// <EPTF_CLL_StatHandler_Functions>
// <EPTF_CLL_Base_Functions>
//
// Module Parameters:
//
// Current Owner:
// Jozsef Gyurusi (ethjgi)
//
// Last Review Date:
// 2011-05-02
//
// Detailed Comments:
//
// Public functions:
// -
//
// All other functions in this module are private!
//
///////////////////////////////////////////////////////////////
module EPTF_CLL_ExecCtrl_DSFunctions {
//=========================================================================
// Import Part
//=========================================================================
import from EPTF_CLL_ExecCtrl_Functions all;
import from EPTF_CLL_Common_Definitions all;
import from EPTF_CLL_ExecCtrl_Definitions all;
//import from EPTF_CLL_ExecCtrlUIHandler_Definitions all;
import from EPTF_CLL_DataSource_Definitions all;
import from EPTF_CLL_DataSource_Functions all;
import from EPTF_CLL_DataSourceClient_Functions all;
import from EPTF_CLL_ExecCtrl_LoggingFunctions all;
import from EPTF_CLL_Variable_Definitions all;
import from EPTF_CLL_Variable_Functions all;
import from EPTF_CLL_ExecCtrl_ScenarioFunctions all;
import from EPTF_CLL_ExecCtrl_PhaseDefinitions all;
import from EPTF_CLL_ExecCtrl_PhaseFunctions all;
import from EPTF_CLL_HashMapStr2Int_Functions all;
//import from EPTF_CLL_ExecCtrlUIHandler_Functions all;
import from EPTF_CLL_LGenBase_ConfigFunctions all;
import from EPTF_CLL_StatHandler_Functions all;
import from EPTF_CLL_ExecCtrl_ScenarioDefinitions all;
import from EPTF_CLL_Base_Functions all;
import from EPTF_CLL_Common_Functions all;
import from EPTF_CLL_StatHandler_Definitions all;
friend module EPTF_CLL_ExecCtrl_Functions;
//=========================================================================
// Functions
//========================================================================
///////////////////////////////////////////////////////////
// Group: EPTF_ExecCtrl
//
// Purpose:
// Functions related to EPTF_ExecCtrl feature
//
///////////////////////////////////////////////////////////
group DataSourceClient {
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_createIteratorVars
//
// Purpose:
// Creates the iterator variables that are needed for the implementation of the ExecCtrl DataSourceClient feature.
// Called from f_EPTF_ExecCtrl_UIHandler_createGUI, before GUIDone has been sent to the LGens
// Parameters:
// -
//
// Return Value:
// -
//
// Errors & assertions:
// -
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_createIteratorVars()
runs on EPTF_ExecCtrl_CT{
var EPTF_CharstringList vl_cList := {}, vl_cList2 := {}, vl_cList3 := {}
var integer vl_idx := 0;
//EntityGroups
for(var integer i := 0; i < sizeof(v_ExecCtrl_entityGroups); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_entityGroups[i].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityGroups_varName, vl_cList ,vl_idx);
//Lgens
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_lgens); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_lgens[i].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorLGens_varName, vl_cList ,vl_idx);
//Regulators
vl_cList := {}
for(var integer i := 0; i < sizeof(v_EPTF_ExecCtrl_RegulatorNames); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_EPTF_ExecCtrl_RegulatorNames[i];
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulators_varName, vl_cList ,vl_idx);
//ScenarioGroups
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_ScenarioGroupInstanceDB.data[i].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarioGroups_varName, vl_cList ,vl_idx);
//PhaseLists
vl_cList := {};
var boolean vl_insert;
for(var integer i := 0; i < sizeof(v_ExecCtrl_PhaseListDeclaratorDB.data); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_PhaseListDeclaratorDB.data[i].name;
//SCGoupsOfPhaseList
vl_cList2 := {};
for(var integer j := 0; j < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data); j := j + 1){
for(var integer k := 0; k < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists); k := k + 1){
if(v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[k].name == v_ExecCtrl_PhaseListDeclaratorDB.data[i].name) {
vl_insert := true;
for(var integer l := 0; l < sizeof(vl_cList2); l := l + 1){
if(vl_cList2[l] == v_ExecCtrl_ScenarioGroupInstanceDB.data[j].name) {
vl_insert := false;
}
}
if(vl_insert) {
vl_cList2[sizeof(vl_cList2)] := v_ExecCtrl_ScenarioGroupInstanceDB.data[j].name;
}
}
}
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_PhaseListDeclaratorDB.data[i].name & "." & c_ExecCtrl_iteratorScenarioGroups_varName, vl_cList2 ,vl_idx);
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhaseLists, vl_cList ,vl_idx);
//Phases
vl_cList := {}
vl_cList2 := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_PhaseListDeclaratorDB.data); i := i + 1){
vl_cList2 := {};
for(var integer j := 0; j < sizeof(v_ExecCtrl_PhaseListDeclaratorDB.data[i].phases); j := j + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_PhaseListDeclaratorDB.data[i].phases[j].name;
vl_cList2[sizeof(vl_cList2)] := v_ExecCtrl_PhaseListDeclaratorDB.data[i].phases[j].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName&v_ExecCtrl_PhaseListDeclaratorDB.data[i].name, vl_cList2 ,vl_idx);
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName, vl_cList ,vl_idx);
//ScenarioOfScGroup
for(var integer j := 0; j < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data); j := j + 1){
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarios); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarios[i].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarioGroups_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].name, vl_cList ,vl_idx);
}
//LGensForEntityGroup
for(var integer j := 0; j < sizeof(v_ExecCtrl_entityGroups); j := j + 1){
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_entityGroups[j].lgenList); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_lgens[v_ExecCtrl_entityGroups[j].lgenList[i].lgenIdx].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorLGens_varName & "." & v_ExecCtrl_entityGroups[j].name, vl_cList ,vl_idx);
}
//Scenarios
for(var integer j := 0; j < sizeof(v_ExecCtrl_entityGroups); j := j + 1){
vl_cList := {}
vl_cList2 := {}
vl_cList3 := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_entityGroups[j].scenarios); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[i]].scData.name;
if(v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[i]].scData.trafficType == originating) {
vl_cList2[sizeof(vl_cList2)] := v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[i]].scData.name;
}
if(v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[i]].scData.trafficType == terminating) {
vl_cList3[sizeof(vl_cList3)] := v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[i]].scData.name;
}
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & v_ExecCtrl_entityGroups[j].name, vl_cList ,vl_idx);
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & v_ExecCtrl_entityGroups[j].name & ".originating", vl_cList2 ,vl_idx);
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & v_ExecCtrl_entityGroups[j].name & ".terminating", vl_cList3 ,vl_idx);
}
//TrafficCases
for(var integer j := 0; j < sizeof(v_ExecCtrl_entityGroups); j := j + 1){
for(var integer k := 0; k < sizeof(v_ExecCtrl_entityGroups[j].scenarios); k := k + 1){
vl_cList := {}
var integer vl_scIdx := v_ExecCtrl_entityGroups[j].scenarios[k];
for(var integer i:=0; i<sizeof(v_ExecCtrl_scenarios[vl_scIdx].scData.tcList);i:=i+1) {
vl_cList[sizeof(vl_cList)] := f_EPTF_LGenBase_tcNameOfTcOfSc(v_ExecCtrl_scenarios[vl_scIdx].scData,i);
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTrafficCases_varName & "." & v_ExecCtrl_entityGroups[j].name & "." & v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[k]].scData.name, vl_cList ,vl_idx);
}
}
//PhasesOfScGrp
for(var integer j := 0; j < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data); j := j + 1){
for(var integer i := 0; i < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists); i := i + 1){
vl_cList := {}
for(var integer k := 0; k < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].phases); k := k + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].phases[k].name;
}
if(f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].name & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].name) == -1 ) {
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].name & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].name, vl_cList ,vl_idx);
}
if(f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].name) == -1 ) {
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[j].scenarioPhaseLists[i].name, vl_cList ,vl_idx);
}
}
}
//EntityGroups - Lgens param
for(var integer j := 0; j < sizeof(v_ExecCtrl_lgens); j := j + 1){
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_lgens[j].eGroups); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_entityGroups[v_ExecCtrl_lgens[j].eGroups[i].eGrpIdx].name;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityGroups_varName & "." & v_ExecCtrl_lgens[j].name, vl_cList ,vl_idx);
}
//EntityTypes - Lgens param
for(var integer j := 0; j < sizeof(v_ExecCtrl_lgens); j := j + 1){
vl_cList := {}
for(var integer i := 0; i < sizeof(v_ExecCtrl_lgens[j].resourceList); i := i + 1){
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_lgens[j].resourceList[i].eType;
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityTypesForLGen_varName & "." & v_ExecCtrl_lgens[j].name, vl_cList ,vl_idx);
}
//Regulated items
vl_cList := {}
for(var integer i := 0; i < sizeof(v_EPTF_ExecCtrl_RegulatedItems); i := i + 1){
if (ischosen(v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TC)) {
vl_cList[sizeof(vl_cList)] := v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TC.eGrpName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TC.scName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TC.tcName;
}
if (ischosen(v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SC)) {
vl_cList[sizeof(vl_cList)] := v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SC.eGrpName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SC.scName;
}
if (ischosen(v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TCInPhase)) {
vl_cList[sizeof(vl_cList)] := v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TCInPhase.eGrpName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TCInPhase.scName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TCInPhase.tcName
&"@"&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_TCInPhase.phase;
}
if (ischosen(v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SCInPhase)) {
vl_cList[sizeof(vl_cList)] := v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SCInPhase.eGrpName
&"."&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SCInPhase.scName
&"@"&v_EPTF_ExecCtrl_RegulatedItems[i].idName.cps_SCInPhase.phase;
}
}
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulatedItems_varName, vl_cList ,vl_idx);
//Tc statistics
f_EPTF_Var_newCharstringlist(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTcStats_varName, c_EPTF_ExecCtrl_tcStatNames ,vl_idx);
//FSM statistics
for(var integer j := 0; j < sizeof(v_ExecCtrl_entityGroups); j := j + 1){
for(var integer k := 0; k < sizeof(v_ExecCtrl_entityGroups[j].scenarios); k := k + 1){
var integer vl_scIdx := v_ExecCtrl_entityGroups[j].scenarios[k];
for(var integer i:=0; i<sizeof(v_ExecCtrl_scenarios[vl_scIdx].scData.tcList);i:=i+1) {
vl_cList := {}
// get FSM stats for this TC:
for(var integer f:=0; f<sizeof(v_ExecCtrl_FSMStats); f:=f+1) {
if (
v_ExecCtrl_entityGroups[j].name == v_ExecCtrl_FSMStats[f].entityGroup and
v_ExecCtrl_scenarios[v_ExecCtrl_entityGroups[j].scenarios[k]].scData.name==v_ExecCtrl_FSMStats[f].scenario and
f_EPTF_LGenBase_tcNameOfTcOfSc(v_ExecCtrl_scenarios[vl_scIdx].scData,i)==v_ExecCtrl_FSMStats[f].tc
) {
for (var integer st:=0; st<sizeof(v_ExecCtrl_FSMStats[f].stats); st:=st+1) {
vl_cList[sizeof(vl_cList)] := v_ExecCtrl_FSMStats[f].stats[st].declaredName;
}
}
}
f_EPTF_Var_newCharstringlist(
c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorFSMStats_varName & "."
& v_ExecCtrl_entityGroups[j].name & "."
& v_ExecCtrl_scenarios[vl_scIdx].scData.name & "."
& f_EPTF_LGenBase_tcNameOfTcOfSc(v_ExecCtrl_scenarios[vl_scIdx].scData,i), vl_cList ,vl_idx);
}
}
}
//ScGroup of Scenario
for(var integer j := 0; j < sizeof(v_ExecCtrl_entityGroups); j := j + 1){
for(var integer k := 0; k < sizeof(v_ExecCtrl_entityGroups[j].scenarios); k := k + 1){
var integer vl_scIdx := v_ExecCtrl_entityGroups[j].scenarios[k];
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
var EPTF_ExecCtrl_ScenarioGroup_Instance vl_instance;
//f_EPTF_ExecCtrl_ScenarioGroup_get_byIndex(vl_scGrpIdx, vl_instance);
if (vl_scGrpIdx > -1 and vl_scGrpIdx < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data))
{
f_EPTF_Var_newCharstring(c_ExecCtrl_DS_externalDataVar_prefix & "ScGroupOfSc_" & int2str(vl_scIdx), v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].name,
vl_idx);
}
}
}
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_DSProcessData
//
// Purpose:
// Processes the incoming Data requests - iterators and external data elements - and gives back a variable name.
// It should be registered in the ExecCtrl_init_CT. Type function fcb_EPTF_DataSourceClient_dataHandler
//
// Parameters:
// *out charstring pl_dataVarName* - this variable contains the value of the data or the iterator result
// *in charstring pl_source* - the name of the data source 'feature'
// *in charstring pl_ptcName* - the name of the ptc (ID of the PTC)
// *in charstring pl_element* - the name of the data element
// *in* <EPTF_DataSource_Params> *pl_params* - the parameters
// of the data for the dataElement
//
// Return Value:
// integer - error code (0 of OK, non zero if unsuccessful: e.g. invalid parameters given in pl_params)
//
// Detailed Comments:
// When this function is called in the first time it creates the variable that contains the
// names of the variables that store the values of the elements of the data or the iterator. This variable name
// is returned in pl_dataVarName.
//
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_DSProcessData(out charstring pl_dataVarName,
in charstring pl_source,
in charstring pl_ptcName,
in charstring pl_element,
in EPTF_DataSource_Params pl_params)
runs on EPTF_ExecCtrl_CT return integer{
var EPTF_CharstringList vl_cList := {}
var EPTF_CharstringList pl_result := {}
var EPTF_Var_SubscriptionMode vl_subscriptionModeForVars := sampled;
if (v_ExecCtrl_usePullModeForStats) {
vl_subscriptionModeForVars := pull;
}
var integer vl_idx := 0;
pl_dataVarName := "";
select(pl_element){
case(c_ExecCtrl_iteratorEntityTypesForLGen){
vl_cList := {}
var charstring vl_LGenName := "";
if(0 == f_EPTF_ExecCtrl_getParams(pl_params,{c_ExecCtrl_paramNameLGen}, pl_result)){
vl_LGenName := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_lgensHash, vl_LGenName, vl_key)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityTypesForLGen_varName & "." & vl_LGenName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_LGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case(c_ExecCtrl_iteratorRegulatedItems){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulatedItems_varName;
} else {
pl_dataVarName := log2str(%definitionId, ": Datasource Parameter not needed." );
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case(c_ExecCtrl_iteratorEntityGroups){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityGroups_varName
} else {
// Lgen bemeno param kell - c_ExecCtrl_paramNameLGen
vl_cList := {}
var charstring vl_LGenName := "";
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameLGen}, pl_result)){
vl_LGenName := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_lgensHash, vl_LGenName, vl_key)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityGroups_varName & "." & vl_LGenName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_LGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
case(c_ExecCtrl_iteratorRegulators){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulators_varName
} else {
pl_dataVarName := log2str(%definitionId, ": Datasource Parameter not needed." );
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case(c_ExecCtrl_iteratorScenarioGroups){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarioGroups_varName
} else if(sizeof(pl_params) == 1) {
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNamePhaseList}, pl_result)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & pl_result[0] & "." & c_ExecCtrl_iteratorScenarioGroups_varName
}
} else {
pl_dataVarName := log2str(%definitionId, ": Datasource Parameter not needed." );
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case(c_ExecCtrl_iteratorPhaseLists){
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {}, pl_result)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhaseLists;
} else {
pl_dataVarName := log2str(%definitionId, ": Datasource Parameter not needed." );
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case(c_ExecCtrl_iteratorPhases){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName
} else if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNamePhaseList}, pl_result, true)) {
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & pl_result[0];
} else if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameScenarioGroup,c_ExecCtrl_paramNamePhaseList}, pl_result, true)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & pl_result[0] & "." & pl_result[1];
} else if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario}, pl_result)){
vl_cList := {}
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if (vl_scIdx!=-1) {
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx != -1){
for(var integer i := 0; i < sizeof(v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].scenarios); i := i + 1) {
if(v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].scenarios[i].idx == vl_scIdx) {
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName & "." & v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].scenarioPhaseLists[i].name;
break;
}
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario is not in scenarioGroup: "& vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario doesn't exist: "& vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case(c_ExecCtrl_iteratorLGens){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorLGens_varName
} else {
vl_cList := {}
var charstring vl_entityGrpName := "";
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameEntityGroup}, pl_result)){
vl_entityGrpName := pl_result[0];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
if(vl_eGrpIdx > -1){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorLGens_varName & "." & vl_entityGrpName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName ;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
case(c_ExecCtrl_iteratorScenarios){
vl_cList := {}
var charstring vl_scenarioGrpName := "";
// this if is needed to avoid false warning if the second param version is used:
if (sizeof(pl_params)==1 and pl_params[0].paramName == c_ExecCtrl_paramNameScenarioGroup) {
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result)){
vl_scenarioGrpName := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_ScenarioGroupInstanceDB.hashRef, vl_scenarioGrpName, vl_key)){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarioGroups & "." & vl_scenarioGrpName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenarioGroup & ": " & vl_scenarioGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
} else if (sizeof(pl_params)==2 and (pl_params[0].paramName == c_ExecCtrl_paramNameTrafficType or pl_params[1].paramName == c_ExecCtrl_paramNameTrafficType)) {
var charstring vl_trafficType := "";
if(pl_params[0].paramValue == "originating" or pl_params[0].paramValue == "terminating") {
vl_trafficType := pl_params[0].paramValue;
} else if (pl_params[1].paramValue == "originating" or pl_params[1].paramValue == "terminating") {
vl_trafficType := pl_params[1].paramValue;
}
if(vl_trafficType != "") {
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameTrafficType}, pl_result)){
var charstring vl_entityGrpName := "";
vl_entityGrpName := pl_result[0];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
if(vl_eGrpIdx > -1){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & vl_entityGrpName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & vl_entityGrpName & "." & vl_trafficType;
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameTrafficType & ": " & pl_params[0].paramValue & " It can be only originating or terminating";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
var charstring vl_entityGrpName := "";
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameEntityGroup}, pl_result)){
vl_entityGrpName := pl_result[0];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
if(vl_eGrpIdx > -1){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarios_varName & "." & vl_entityGrpName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter(s) is/are wrong. The iterator " & c_ExecCtrl_iteratorScenarios & " either has no parameters or has only one, EntityGroup.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case(c_ExecCtrl_iteratorTrafficCases){
vl_cList := {}
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams(pl_params,{c_ExecCtrl_paramNameEntityGroup,c_ExecCtrl_paramNameScenario}, pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if(vl_eGrpIdx > -1 and vl_scIdx > -1){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTrafficCases_varName & "." & vl_entityGrpName & "." & vl_scName;
} else {
if( vl_scIdx > -1){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenarioGroup & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
} else if(0 == f_EPTF_ExecCtrl_getParams(pl_params,{c_ExecCtrl_paramNameScenarioInstance}, pl_result)){
var charstring vl_scInstanceName := pl_result[0];
var integer vl_scInstIdx := f_EPTF_ExecCtrl_getScenarioIdxByInstanceName(vl_scInstanceName);
if (vl_scInstIdx==-1) {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenarioInstance & ": " & vl_scInstanceName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
vl_entityGrpName := f_EPTF_ExecCtrl_eGrp_name(f_EPTF_ExecCtrl_getScenarioEGroupIdx(vl_scInstIdx));
vl_scName := f_EPTF_ExecCtrl_getScenarioName(vl_scInstIdx);
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if(vl_eGrpIdx > -1 and vl_scIdx > -1){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTrafficCases_varName & "." & vl_entityGrpName & "." & vl_scName;
} else {
if( vl_scIdx > -1){
pl_dataVarName := (%definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName );
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenarioGroup & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
}
case(c_ExecCtrl_iteratorTcStats){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTcStats_varName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case(c_ExecCtrl_iteratorFSMStats){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_eGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_eGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_eGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdx){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorFSMStats_varName & "." & vl_eGrpName & "." & vl_scName & "." & vl_tcName;
}
}
}
case(c_ExecCtrl_iteratorGlobalStats){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorGlobalStats_varName;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
// DATAELEMENTS:
case (c_ExecCtrl_dataElementProgressbar){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".notif.progressbar";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementProgressbarText){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".notif.progressbar.text";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementGlobalProgressbar){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".notif.globalProgressbar";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementExit){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_Exit;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementEndOfConfig){
if(sizeof(pl_params) == 0){
pl_dataVarName := "EPTF_ExecCtrl.EventStatus.EndOfConfig";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementReadyToRun){
if(sizeof(pl_params) == 0){
pl_dataVarName := "EPTF_ExecCtrl.EventStatus.ReadyToRun";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementGUIDone){
if(sizeof(pl_params) == 0){
pl_dataVarName := "EPTF_ExecCtrl.EventStatus.GUIDone";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementEndOfTest){
if(sizeof(pl_params) == 0){
pl_dataVarName := "EPTF_ExecCtrl.EventStatus.EndOfTest";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementTimeElapsed){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_TimeElapsed;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementStart){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_Start;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementStop){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_Stop;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementTerminate){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_Terminate;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementSnapshot){
if(sizeof(pl_params) == 0){
pl_dataVarName := c_EPTF_ExecCtrl_Snapshot;
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter not needed.";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
case (c_ExecCtrl_dataElementEGrpType){
var charstring vl_entityGrpName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
vl_entityGrpName := pl_result[0];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
pl_dataVarName := "EntityType."&int2str(vl_eGrpIdx);
}
}
case (c_ExecCtrl_dataElementEGrpSize){
var charstring vl_entityGrpName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
vl_entityGrpName := pl_result[0];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
pl_dataVarName := "EntityNum."&int2str(vl_eGrpIdx);
}
}
case (c_ExecCtrl_dataElementNofMaxAvailEntitiesForLGen){
var charstring vl_lGenName := "";
var charstring vl_eTypeName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameLGen, c_ExecCtrl_paramNameEntityType},
pl_result)){
vl_lGenName := pl_result[0];
vl_eTypeName := pl_result[1];
var integer vl_lGenIdx := f_EPTF_ExecCtrl_getLGenIdx(vl_lGenName);
if(vl_lGenIdx != -1){
var integer vl_eIdx := f_EPTF_ExecCtrl_getLGenResourceListETypeIdx(vl_lGenIdx,vl_eTypeName);
if(vl_eIdx != -1){
pl_dataVarName := "Resource.EntityAvailNum."&int2str(vl_lGenIdx)&"."&int2str(vl_eIdx);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityType & ": " & vl_eTypeName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_lGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementNofCurrentAvailEntitiesForLGen){
var charstring vl_lGenName := "";
var charstring vl_eTypeName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameLGen, c_ExecCtrl_paramNameEntityType},
pl_result)){
vl_lGenName := pl_result[0];
vl_eTypeName := pl_result[1];
var integer vl_lGenIdx := f_EPTF_ExecCtrl_getLGenIdx(vl_lGenName);
if(vl_lGenIdx != -1){
var integer vl_eIdx := f_EPTF_ExecCtrl_getLGenResourceListETypeIdx(vl_lGenIdx,vl_eTypeName);
if(vl_eIdx != -1){
pl_dataVarName := "Resource.EntityAllocNum."&int2str(vl_lGenIdx)&"."&int2str(vl_eIdx);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityType & ": " & vl_eTypeName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_lGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementEGrpSizeForLGen){
var charstring vl_lGenName := "";
var charstring vl_eGrpName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameLGen},
pl_result)){
vl_eGrpName := pl_result[0];
vl_lGenName := pl_result[1];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_eGrpName);
var integer vl_lGenIdx := f_EPTF_ExecCtrl_getLGenIdx(vl_lGenName);
var integer vl_lGenIdxInList := -1;
for(var integer vl_i := 0; vl_i < sizeof(v_ExecCtrl_entityGroups[vl_eGrpIdx].lgenList) ;vl_i := vl_i + 1){
if(v_ExecCtrl_entityGroups[vl_eGrpIdx].lgenList[vl_i].lgenIdx == vl_lGenIdx){
vl_lGenIdxInList := vl_i;
}
}
if (vl_lGenIdxInList > -1){
pl_dataVarName := "EGrpDistr.ECount."&int2str(vl_eGrpIdx)&"."&int2str(vl_lGenIdxInList);
} else {
pl_dataVarName := %definitionId& ": EntityGroup is not on LGen: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_eGrpName &
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_lGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementEGrpOffsetForLGen){
var charstring vl_lGenName := "";
var charstring vl_eGrpName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameLGen},
pl_result)){
vl_eGrpName := pl_result[0];
vl_lGenName := pl_result[1];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_eGrpName);
var integer vl_lGenIdx := f_EPTF_ExecCtrl_getLGenIdx(vl_lGenName);
var integer vl_lGenIdxInList := -1;
for(var integer vl_i := 0; vl_i < sizeof(v_ExecCtrl_entityGroups[vl_eGrpIdx].lgenList) ;vl_i := vl_i + 1){
if(v_ExecCtrl_entityGroups[vl_eGrpIdx].lgenList[vl_i].lgenIdx == vl_lGenIdx){
vl_lGenIdxInList := vl_i;
}
}
if (vl_lGenIdxInList > -1){
pl_dataVarName := "EGrpDistr.EOffset."&int2str(vl_eGrpIdx)&"."&int2str(vl_lGenIdxInList);
} else {
pl_dataVarName := %definitionId& ": EntityGroup is not on LGen: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_eGrpName &
"\n" & c_ExecCtrl_paramNameLGen & ": " & vl_lGenName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScStatusForLGen){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_lGenName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameLGen},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_lGenName := pl_result[2];
pl_dataVarName := "StatusLED.Scenario.LGenStatus."&vl_lGenName&"."&vl_eGrpName&"."&vl_scTypeName;
}
}
case (c_ExecCtrl_dataElementScIsWeighted){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
pl_dataVarName := "Traffic.ScenarioType." & vl_eGrpName&"."& int2str(vl_scIdx);
}
}
case (c_ExecCtrl_dataElementScStatus){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "ExecCtrl.scenarioStatus."&vl_eGrpName&"."&vl_scName
}
}
case (c_ExecCtrl_dataElementScStart){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "ExecCtrl.startScenario."&vl_eGrpName&"."&vl_scName;
}
}
case (c_ExecCtrl_dataElementScStop){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "ExecCtrl.stopScenario."&vl_eGrpName&"."&vl_scName;
}
}
case (c_ExecCtrl_dataElementScCPS){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
if (not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&": Scenario "&vl_eGrpName&"."&vl_scName&" is not weighted, only weighted scenario has ScCPS.\n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if (f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := "Traffic.ScenarioCPS."&vl_eGrpName&"."&int2str(vl_scIdx);
}
}
}
case (c_ExecCtrl_dataElementTcStart){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdx){
pl_dataVarName := "ExecCtrl.startTC." & vl_entityGrpName & "." & vl_scName & "." & vl_tcName;
}
}
}
case (c_ExecCtrl_dataElementTcStop){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdx){
pl_dataVarName := "ExecCtrl.stopTC." & vl_entityGrpName & "." & vl_scName & "." & vl_tcName;
}
}
}
case (c_ExecCtrl_dataElementTcResetStats){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdx){
pl_dataVarName := "ExecCtrl.resetStatsTC." & vl_entityGrpName & "." & vl_scName & "." & vl_tcName;
}
}
}
case (c_ExecCtrl_dataElementTcResetFSMStats){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdx){
pl_dataVarName := "ExecCtrl.resetFSMStatsTC." & vl_entityGrpName & "." & vl_scName & "." & vl_tcName;
}
}
}
case (c_ExecCtrl_dataElementAllTcResetStats){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == sizeof(pl_params)){
pl_dataVarName := "ExecCtrl.resetStatsAllTC";
}
}
case (c_ExecCtrl_dataElementAllTcResetFSMStats){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == sizeof(pl_params)){
pl_dataVarName := "ExecCtrl.resetFSMStatsAllTC";
}
}
case (c_ExecCtrl_dataElementTcStartDelay){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
var integer vl_tcIdxRel := f_EPTF_ExecCtrl_getTcOfScenarioIdx(vl_tcIdx);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdxRel){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if (f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&": Scenario "&vl_entityGrpName&"."&vl_scName&" is weighted, only non-weighted scenario has TcStartDelay.\n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdxRel and not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)){
pl_dataVarName := "Traffic.TCDelay." & vl_entityGrpName & "." & int2str(vl_scIdx) & "." & int2str(vl_tcIdxRel)
}
}
}
case (c_ExecCtrl_dataElementTcTargetCPSOrWeight){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
var integer vl_tcOfScIdx := f_EPTF_ExecCtrl_getTcOfScenarioIdx(vl_tcIdx);
if( -1 == vl_tcOfScIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else if(-1 != vl_eGrpIdx and -1 != vl_scIdx){
pl_dataVarName := "Traffic.TCCPS." & vl_entityGrpName & "." & int2str(vl_scIdx) & "." & int2str(vl_tcOfScIdx)
}
}
}
}
case (c_ExecCtrl_dataElementTcTimeProfile){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
var integer vl_tcOfScIdx := f_EPTF_ExecCtrl_getTcOfScenarioIdx(vl_tcIdx);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcOfScIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if (f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx) and vl_tcOfScIdx != 0 ) {
pl_dataVarName := %definitionId&": Scenario can have TimeProfile only in the case of scenario is non-weighted or if scenario is weighted and tc is the first within scenario .\n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcOfScIdx and ((not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx) ) or
(f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx) and vl_tcOfScIdx == 0) ) ){
pl_dataVarName := "Traffic.TimeProfile." & vl_entityGrpName & "." & int2str(vl_scIdx) & "." & int2str(vl_tcOfScIdx)
}
}
}
case (c_ExecCtrl_dataElementTcRegulator){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := ""; //optional
if(sizeof(pl_params) == 2){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if (f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&": Scenario "&vl_entityGrpName&"."&vl_scName&" is weighted, it cannot have a TC regulator.\n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)){
pl_dataVarName := "Traffic.Regulator." & vl_entityGrpName & "." & int2str(vl_scIdx);
}
}
} else {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName);
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
var integer vl_tcIdxRel := -1;
if( -1 != vl_tcIdx){
vl_tcIdxRel := v_ExecCtrl_trafficCases[vl_tcIdx].tcOfScenarioIdx;
}
if( -1 == vl_eGrpIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if (f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&": Scenario "&vl_entityGrpName&"."&vl_scName&" is weighted, it cannot have a TC regulator.\n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 == vl_tcIdxRel){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameTrafficCase & ": " & vl_tcName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if(-1 != vl_eGrpIdx and -1 != vl_scIdx and -1 != vl_tcIdxRel){
pl_dataVarName := "Traffic.Regulator." & vl_entityGrpName & "." & int2str(vl_scIdx) & "." & int2str(vl_tcIdxRel)
}
}
}
}
case (c_ExecCtrl_dataElementRegulatedItemType){
var charstring vl_regulatedItemId := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatedItemId},
pl_result)){
vl_regulatedItemId := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_regulatedItemsHash, vl_regulatedItemId, vl_key)){
pl_dataVarName := "RegulatedItemType." & int2str(vl_key);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatedItemId & ": " & vl_regulatedItemId;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatedItemName){
var charstring vl_regulatedItemId := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatedItemId},
pl_result)){
vl_regulatedItemId := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_regulatedItemsHash, vl_regulatedItemId, vl_key)){
pl_dataVarName := "RegulatedItemName." & int2str(vl_key);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatedItemId & ": " & vl_regulatedItemId;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatorName){
var charstring vl_regulatedItemId := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatedItemId},
pl_result)){
vl_regulatedItemId := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_regulatedItemsHash, vl_regulatedItemId, vl_key)){
pl_dataVarName := f_EPTF_ExecCtrl_getRegulatorNameVarName(v_EPTF_ExecCtrl_RegulatedItems[vl_key].idName, vl_key);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatedItemId & ": " & vl_regulatedItemId;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatedItemWeight){
var charstring vl_regulatedItemId := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatedItemId},
pl_result)){
vl_regulatedItemId := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_regulatedItemsHash, vl_regulatedItemId, vl_key)){
pl_dataVarName := "RegulatedItemWeight." & int2str(vl_key);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatedItemId & ": " & vl_regulatedItemId;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatedItemEnabled){
var charstring vl_regulatedItemId := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatedItemId},
pl_result)){
vl_regulatedItemId := pl_result[0];
var integer vl_key := -1;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_regulatedItemsHash, vl_regulatedItemId, vl_key)){
pl_dataVarName := "RegulatedItemEnabled." & int2str(vl_key);
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatedItemId & ": " & vl_regulatedItemId;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatorTotalValue){
var charstring vl_regulatorName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatorName},
pl_result)){
vl_regulatorName := pl_result[0];
var integer vl_regulatorId := f_EPTF_ExecCtrl_Regulator_getRegulatorId(vl_regulatorName);
if(vl_regulatorId != -1){
pl_dataVarName := f_EPTF_Var_getName(f_EPTF_ExecCtrl_Regulator_getRegulatorTotalValueIdxByRegulatorId(vl_regulatorId));
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatorName & ": " & vl_regulatorName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatorTargetLoad){
var charstring vl_regulatorName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatorName},
pl_result)){
vl_regulatorName := pl_result[0];
var integer vl_regulatorId := f_EPTF_ExecCtrl_Regulator_getRegulatorId(vl_regulatorName);
if(vl_regulatorId != -1){
pl_dataVarName := f_EPTF_Var_getName(f_EPTF_ExecCtrl_Regulator_getRegulatorTargetLoadIdxByRegulatorId(vl_regulatorId));
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatorName & ": " & vl_regulatorName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatorCurrentLoad){
var charstring vl_regulatorName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatorName},
pl_result)){
vl_regulatorName := pl_result[0];
var integer vl_regulatorId := f_EPTF_ExecCtrl_Regulator_getRegulatorId(vl_regulatorName);
if(vl_regulatorId != -1){
pl_dataVarName := f_EPTF_Var_getName(f_EPTF_ExecCtrl_Regulator_getRegulatorCurrentLoadIdxByRegulatorId(vl_regulatorId));
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatorName & ": " & vl_regulatorName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementRegulatorStatus){
var charstring vl_regulatorName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameRegulatorName},
pl_result)){
vl_regulatorName := pl_result[0];
var integer vl_regulatorId := f_EPTF_ExecCtrl_Regulator_getRegulatorId(vl_regulatorName);
if(vl_regulatorId != -1){
pl_dataVarName := f_EPTF_Var_getName(f_EPTF_ExecCtrl_Regulator_getRegulatorStatusIdxByRegulatorId(vl_regulatorId));
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameRegulatorName & ": " & vl_regulatorName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementNofDeployedLGens){
// this if is needed to avoid false warning if the second param version is used:
if (sizeof(pl_params)==1 and pl_params[0].paramName == c_ExecCtrl_paramNameEntityGroup) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
var charstring vl_entityGrpName := "";
vl_entityGrpName := pl_result[0];
if( -1 != f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_entityGrpName&".nofLGens"
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
} else {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameScenarioInstance},
pl_result)){
var charstring vl_scInstanceName := pl_result[0];
var integer vl_scenarioIdx := f_EPTF_ExecCtrl_getScenarioIdxByInstanceName(vl_scInstanceName);
if( -1 != vl_scenarioIdx ){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&v_ExecCtrl_entityGroups[v_ExecCtrl_scenarios[vl_scenarioIdx].eGroupIdx].name&".nofLGens"
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenarioInstance & ": " & vl_scInstanceName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
case (c_ExecCtrl_dataElementNofActiveEntities){
var charstring vl_entityGrpName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
vl_entityGrpName := pl_result[0];
if( -1 != f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_entityGrpName&".nofActiveEntities"
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScStatus){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 != vl_scIdx ){
var charstring vl_scTypeName := v_ExecCtrl_scenarios[vl_scIdx].scData.name;
pl_dataVarName := "ExecCtrl.scenarioStatus."& vl_entityGrpName &"." & vl_scTypeName
}
}
}
case (c_ExecCtrl_dataElementScTargetCPS){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 != vl_scIdx ){
if (not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&"Warning: Scenario "&vl_entityGrpName&"."&vl_scName&" is not weighted \n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
pl_dataVarName := "Traffic.ScenarioCPS."& vl_entityGrpName &"." & int2str(vl_scIdx)
}
}
}
case (c_ExecCtrl_dataElementScRegulatorName){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
if( -1 != vl_scIdx ){
if (not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx)) {
pl_dataVarName := %definitionId&"Warning: Scenario "&vl_entityGrpName&"."&vl_scName&" is not weighted \n";
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
pl_dataVarName := "Traffic.Regulator."& vl_entityGrpName &"." & int2str(vl_scIdx)
}
}
}
case (c_ExecCtrl_dataElementScGrpCurrentPhase){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & ".GroupPhase";
} else if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if( -1 != vl_scGrpIdx ){
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".GroupPhase"
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
//ethjgy
case (c_ExecCtrl_dataElementScGrpMode){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & ".GroupMode";
} else if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".GroupMode";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScGrpStatus){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & ".GroupStatus";
} else if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".GroupStatus";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScGrpStart){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & ".GroupStart";
} else if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".GroupStart";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScGrpTerminate){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".TerminateGroup";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScGrpReset){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & ".GroupReset";
} else if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & ".GroupReset";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementScGrpScStatus){
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioGroup, c_ExecCtrl_paramNameScenarioInstance}, pl_result, true)){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_getIdx(pl_result[0])
pl_dataVarName := "Var."& "Execution_Control.PhaseLists.tabbox"&"."&v_ExecCtrl_ScenarioGroupInstanceDB.data[vl_scGrpIdx].groupPhaseList.name&".tab" &
"." & pl_result[0] & "." & pl_result[1] & ".ScenarioStatus";
} else
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result))
{
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if(vl_scIdx != -1){
var charstring vl_scInstanceName := f_EPTF_ExecCtrl_getScenarioInstanceName(vl_scIdx);
if(vl_scGrpIdx != -1){
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx) & "." & vl_scInstanceName & ".ScenarioStatus";
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be in a group: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
case (c_ExecCtrl_dataElementScStartButton){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".ControlButtons.Start";
}
}
case (c_ExecCtrl_dataElementScStopButton){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".ControlButtons.Stop";
}
}
case (c_ExecCtrl_dataElementScReset){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".ControlButtons.Reset";
}
}
case (c_ExecCtrl_dataElementTcStartButton){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&".ControlButtons.Start";
}
}
case (c_ExecCtrl_dataElementTcStopButton){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&".ControlButtons.Stop";
}
}
case (c_ExecCtrl_dataElementTcGroupFinishStatus){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&".GroupFinishStatusLED";
}
}
case (c_ExecCtrl_dataElementTcStatus){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := "ExecCtrl.trafficCaseStatus."&vl_eGrpName&"."&vl_scTypeName&"."&vl_tcName;
}
}
case (c_ExecCtrl_dataElementTcGrpFinishStatus){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
var charstring vl_statName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase, c_ExecCtrl_paramNameCondition},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
vl_statName := pl_result[3]
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&
vl_tcName&".GroupFinishCondStatusLED."&vl_statName;
}
}
case (c_ExecCtrl_dataElementTcExecTime){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&
vl_scTypeName&".TC."&vl_tcName&".ExecTime";
}
}
case (c_ExecCtrl_dataElementTcGoS){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
var charstring vl_nofSuccVarName,vl_nofFailVarName,vl_nofTimeoutVarName,vl_nofErrorVarName;
vl_nofSuccVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&"."&c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Success]
vl_nofFailVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&"."&c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Fail]
vl_nofErrorVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&"."&c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Error]
vl_nofTimeoutVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scTypeName&".TC."&vl_tcName&"."&c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Timeout]
var integer vl_tcId := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_eGrpName,vl_scTypeName,vl_tcName);
var charstring vl_statManagerPTCName := f_EPTF_Base_selfName();
if (v_EPTF_ExecCtrl_nofExternalStatHandlers>0) {
vl_statManagerPTCName := "ExecCtrl_ExternalStatHandler_Comp_"&log2str(vl_tcId mod v_EPTF_ExecCtrl_nofExternalStatHandlers)
}
// forward request to StatManager:
if (0 != f_EPTF_DataSourceClient_getData(
pl_dataVarName := pl_dataVarName,
pl_source := "StatManager",
pl_ptcName := vl_statManagerPTCName,
pl_element := "GoS",
pl_params := {
{paramName := "SuccessVarName", paramValue := vl_nofSuccVarName},
{paramName := "FailVarName", paramValue := vl_nofFailVarName},
{paramName := "TimeoutVarName", paramValue := vl_nofTimeoutVarName},
{paramName := "ErrorVarName", paramValue := vl_nofErrorVarName}
}
)) {
pl_dataVarName := "GoS does not exist"
}
}
}
case (c_ExecCtrl_dataElementTcSingleShotEntityIdx){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&
vl_scTypeName&".TC."&vl_tcName&".SingleShotTc.EIdx";
}
}
case (c_ExecCtrl_dataElementTcSingleShotEnableLog){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&
vl_scTypeName&".TC."&vl_tcName&".SingleShotTc.EnableLog";
}
}
case (c_ExecCtrl_dataElementTcSingleShotStart){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
pl_dataVarName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&
vl_scTypeName&".TC."&vl_tcName&".SingleShotTc.Start";
}
}
case (c_ExecCtrl_dataElementPhaseListEnablePhase){
var charstring vl_phaseListName := "";
var charstring vl_phaseName := "";
//v_ExecCtrl_PhaseListDeclaratorDB.data[pl_declaratorIdx].phases[pl_phaseIdx].enabled
if(0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNamePhaseList, c_ExecCtrl_paramNamePhase}, pl_result)) {
vl_phaseListName := pl_result[0];
vl_phaseName := pl_result[1];
pl_dataVarName := "Var." & "Execution_Control.PhaseLists.tabbox"&"."& vl_phaseListName &".tab" & ".mainTable." & vl_phaseName;
}
}
case (c_ExecCtrl_dataElementScGrpEnablePhase){
var charstring vl_scGrpName := "";
var charstring vl_phaseName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameScenarioGroup, c_ExecCtrl_paramNamePhase},
pl_result)
) {
vl_scGrpName := pl_result[0];
vl_phaseName := pl_result[1];
var integer vl_scGrpIdx;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_ScenarioGroupInstanceDB.hashRef, vl_scGrpName, vl_scGrpIdx)) {
var charstring p_phaseListDeclaratorName := f_EPTF_ExecCtrl_getScenarioGroupInstanceGroupPhaseListName(vl_scGrpIdx);
var integer p_idx;
if (f_EPTF_str2int_HashMap_Find(v_ExecCtrl_PhaseListDeclaratorDB.hashRef, p_phaseListDeclaratorName, p_idx)) {
//"Var."&f_EPTF_ExecCtrl_UIVars_getPhaseListTabName_FromPhaseListDB(p_idx)&
//".mainTable."&f_EPTF_ExecCtrl_getPhaseListDeclaratorPhaseName(p_idx,i)
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getPhaseListTabName_FromPhaseListDB(p_idx)&
".mainTable."&vl_phaseName;
};
}
}
}
case (c_ExecCtrl_dataElementScGrpScEnablePhase){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_phaseName := "";
// this if is needed to avoid false warning if the second param version is used:
if (sizeof(pl_params)==3) {
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNamePhase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_phaseName := pl_result[2];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scTypeName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scIdx!=-1 and vl_scGrpIdx!=-1) {
var charstring vl_scInstanceName := f_EPTF_ExecCtrl_getScenarioInstanceName(vl_scIdx);
//"Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(p_idx)&"."&
// f_EPTF_ExecCtrl_getScenarioGroupInstanceScenarioName(p_idx,j)&"."&
// f_EPTF_ExecCtrl_getScenarioGroupInstanceScenarioPhaseListPhaseName(p_idx,j,i)
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx)&"."&
vl_scInstanceName&"."&
vl_phaseName;
}
}
} else {
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameScenarioInstance, c_ExecCtrl_paramNamePhase},
pl_result)
) {
var charstring vl_scInstanceName := pl_result[0];
vl_phaseName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdxByInstanceName(vl_scInstanceName);
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scIdx!=-1 and vl_scGrpIdx!=-1) {
pl_dataVarName := "Var."&f_EPTF_ExecCtrl_UIVars_getScenarioGroupTableName_FromScenarioGroupDB(vl_scGrpIdx)&"."&
vl_scInstanceName&"."&
vl_phaseName;
}
}
}
}
//eptebal
case (c_ExecCtrl_dataElementEGrpOffset){
var charstring vl_entityGrpName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
vl_entityGrpName := pl_result[0];
pl_dataVarName := "EPTF_ExecCtrl.Statistics.EG."&vl_entityGrpName&".eOffset";
}
}
case (c_ExecCtrl_dataElementEGrpLGenPool){
var charstring vl_entityGrpName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup},
pl_result)){
vl_entityGrpName := pl_result[0];
pl_dataVarName := "EPTF_ExecCtrl.Statistics.EG."&vl_entityGrpName&".LGenPool";
}
}
case (c_ExecCtrl_dataElementScInstanceName){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "EPTF_ExecCtrl.Statistics.EG."&vl_entityGrpName&".SC."&vl_scName&".instanceName";
}
}
case (c_ExecCtrl_dataElementScPhaseListName){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "EPTF_ExecCtrl.Statistics.EG."&vl_entityGrpName&".SC."&vl_scName&".phaseListName";
}
}
case (c_ExecCtrl_dataElementScScGrpName){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
pl_dataVarName := "EPTF_ExecCtrl.Statistics.EG."&vl_entityGrpName&".SC."&vl_scName&".scGrpName";
}
}
case (c_ExecCtrl_dataElementTcStat){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
var charstring vl_tcStatName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase, c_ExecCtrl_paramNameStatistic},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
vl_tcStatName := pl_result[3];
var charstring vl_statName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_entityGrpName&".SC."&vl_scName&".TC."&vl_tcName&"."&vl_tcStatName;
if (vl_tcStatName == c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_ExecTime]) {
pl_dataVarName := vl_statName;
} else {
var EPTF_StatHandler_CT vl_statHandler := f_EPTF_ExecCtrl_findStatHandler(vl_statName);
if (vl_statHandler == null ) {
pl_dataVarName := %definitionId& ": StatHandler is not found for statistic: "&vl_statName;
f_EPTF_ExecCtrl_debug(pl_dataVarName);
} else {
if (vl_statHandler!=self) {
f_EPTF_Var_subscribeRemote(
pl_remoteCompRef := vl_statHandler,
pl_remoteProviderVarName := vl_statName,
pl_subscriptionMode := vl_subscriptionModeForVars,
pl_idx := vl_idx,
pl_localName := vl_statName&"_Local"
);
if (vl_idx==-1) {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
pl_dataVarName := f_EPTF_Var_getName(vl_idx);
}
} else {
if (not f_EPTF_StatHandler_getVarNameByStatName(vl_statName, pl_dataVarName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
}
}
// {Delta statistics}: for LGen Variables
case (c_ExecCtrl_dataElementTcStatDelta){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
var charstring vl_tcStatName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase, c_ExecCtrl_paramNameStatistic},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
vl_tcStatName := pl_result[3];
var charstring vl_varDeltaName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_entityGrpName&".SC."&vl_scName&".TC."&vl_tcName&"."&vl_tcStatName&".delta";
var integer vl_varDeltaId := f_EPTF_Var_getId(vl_varDeltaName);
if(0<=vl_varDeltaId){
pl_dataVarName := vl_varDeltaName;
}
}
}
case (c_ExecCtrl_dataElementCurrentCPS){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx) ){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario should be weighted: "&vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
var charstring vl_statName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_entityGrpName&".SC."&vl_scName&".CurrentCPS";
var EPTF_StatHandler_CT vl_statHandler := f_EPTF_ExecCtrl_findStatHandler(vl_statName);
if (vl_statHandler == null ) {
pl_dataVarName := %definitionId& ": StatHandler is not found for statistic: "&vl_statName;
f_EPTF_ExecCtrl_debug(pl_dataVarName);
} else {
if (vl_statHandler!=self) {
f_EPTF_Var_subscribeRemote(
pl_remoteCompRef := vl_statHandler,
pl_remoteProviderVarName := vl_statName,
pl_subscriptionMode := vl_subscriptionModeForVars,
pl_idx := vl_idx
);
if (vl_idx==-1) {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
pl_dataVarName := f_EPTF_Var_getName(vl_idx);
}
} else {
if (not f_EPTF_StatHandler_getVarNameByStatName(vl_statName, pl_dataVarName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
}
}
case (c_ExecCtrl_dataElementFSMStat){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
var charstring vl_fsmStatName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase, c_ExecCtrl_paramNameStatistic},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
vl_fsmStatName := pl_result[3];
var charstring vl_statName := c_EPTF_ExecCtrl_statisticsRoot&".EG."&vl_eGrpName&".SC."&vl_scName&".TC."&vl_tcName&".FSMStats."&vl_fsmStatName;
var EPTF_StatHandler_CT vl_statHandler := f_EPTF_ExecCtrl_findStatHandler(vl_statName);
if (vl_statHandler == null ) {
pl_dataVarName := %definitionId& ": StatHandler is not found for statistic: "&vl_statName;
f_EPTF_ExecCtrl_debug(pl_dataVarName);
} else {
if (vl_statHandler!=self) {
f_EPTF_Var_subscribeRemote(
pl_remoteCompRef := vl_statHandler,
pl_remoteProviderVarName := vl_statName,
pl_subscriptionMode := vl_subscriptionModeForVars,
pl_idx := vl_idx
);
if (vl_idx==-1) {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
} else {
pl_dataVarName := f_EPTF_Var_getName(vl_idx);
}
} else {
if (not f_EPTF_StatHandler_getVarNameByStatName(vl_statName, pl_dataVarName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_statName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
}
case(c_ExecCtrl_dataElementScGroupOfSc){
var charstring vl_eGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_eGrpName := pl_result[0];
vl_scName := pl_result[1];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_eGrpName, vl_scName);
if (vl_scIdx!=-1) {
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
if (vl_scGrpIdx != -1){
pl_dataVarName := c_ExecCtrl_DS_externalDataVar_prefix & "ScGroupOfSc_" & int2str(vl_scIdx)
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario is not in scenarioGroup: "& vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
} else {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Scenario doesn't exist: "& vl_scName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
case (c_ExecCtrl_dataElementGlobalStat){
var charstring vl_globalStatName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameStatistic},
pl_result)){
vl_globalStatName := pl_result[0];
var charstring vl_globalStatNameFull := c_EPTF_ExecCtrl_statisticsRoot&"."&vl_globalStatName;
var EPTF_StatHandler_CT vl_statHandler := f_EPTF_ExecCtrl_findStatHandler(vl_globalStatNameFull);
if (vl_statHandler == null ) {
pl_dataVarName := %definitionId& ": StatHandler is not found for statistic: "&vl_globalStatNameFull;
f_EPTF_ExecCtrl_debug(pl_dataVarName);
} else {
if (vl_statHandler!=self) {
f_EPTF_Var_subscribeRemote(
pl_remoteCompRef := vl_statHandler,
pl_remoteProviderVarName := vl_globalStatNameFull,
pl_subscriptionMode := vl_subscriptionModeForVars,
pl_idx := vl_idx
);
if (vl_idx==-1) {
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_globalStatNameFull;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
pl_dataVarName := f_EPTF_Var_getName(vl_idx);
} else {
if (not f_EPTF_StatHandler_getVarNameByStatName(vl_globalStatNameFull, pl_dataVarName)){
pl_dataVarName := %definitionId& ": Datasource Parameter is wrong. Statistic doesn't exist: "&vl_globalStatNameFull;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
}
}
}
}
}
case else { //error, no rule for that
pl_dataVarName := %definitionId& ": unhandled element: "& pl_element;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
return -1;
}
}
var integer vl_iteratorVarIdx := f_EPTF_Var_getId(pl_dataVarName);
if(vl_iteratorVarIdx == -1){
pl_dataVarName := %definitionId&": Invalid DataSource parameter: Invalid iterator or externalData or parameter: "&
"\nSource: "&pl_source&
"\nPTC : "&pl_ptcName &
"\nElement Name : " &pl_element&
"\nParams: " & log2str(pl_params)&
"\nReason: "&pl_dataVarName;
f_EPTF_ExecCtrl_warning(pl_dataVarName);
return -2;
}
return 0;
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_DSProcessDataValue
//
// Purpose:
// Processes the incoming DataValue requests - iterators and external data elements - and gives back the value.
// It should be registered in the ExecCtrl_init_CT. Type function fcb_EPTF_DataSourceClient_dataValueHandler
//
// Parameters:
// *out *<EPTF_Var_DirectContent>* pl_dataValue* - the value of the data or the iterator result
// *in charstring pl_source* - the name of the data source 'feature'
// *in charstring pl_ptcName* - the name of the ptc (ID of the PTC)
// *in charstring pl_element* - the name of the data element
// *in* <EPTF_DataSource_Params> *pl_params* - the parameters
// of the data for the dataElement
//
// Return Value:
// integer - error code (0 of OK, non zero if unsuccessful: e.g. invalid parameters given in pl_params)
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_DSProcessDataValue(out EPTF_Var_DirectContent pl_dataValue,
in charstring pl_source,
in charstring pl_ptcName,
in charstring pl_element,
in EPTF_DataSource_Params pl_params)
runs on EPTF_ExecCtrl_CT return integer{
var integer vl_errorCode := -1;
var EPTF_CharstringList pl_result := {};
pl_dataValue := {unknownVal := {omit}}; // set it to invalid
select( pl_element )
{
case(c_EPTF_DataSource_dataElement_Help) {
vl_errorCode := f_EPTF_DataSource_handleHelp(pl_dataValue,pl_source,pl_params,c_EPTF_ExecCtrl_help);
}
case(c_EPTF_DataSource_dataElement_isWritable) {
var charstring vl_source;
var charstring vl_ptcName;
var charstring vl_element;
var EPTF_DataSource_Params vl_params;
vl_errorCode := f_EPTF_DataSource_getRequestPartsFromParams(pl_params, vl_source, vl_ptcName, vl_element, vl_params);
if (vl_errorCode == 0) {
if (vl_element == c_ExecCtrl_dataElementRestart) {
pl_dataValue := {boolVal := true};
} else {
vl_errorCode := -1;
}
}
}
case(c_ExecCtrl_dataElementEntityGroupOfScenarioInstance) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioInstance}, pl_result, true)){
var charstring vl_scInstanceName := pl_result[0];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdxByInstanceName(vl_scInstanceName);
if (vl_scIdx==-1) {
var charstring vl_errorMsg := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenarioInstance & ": " & vl_scInstanceName;
pl_dataValue:={charstringVal := vl_errorMsg}
vl_errorCode := 2;
} else {
var integer vl_eGrpIdx := v_ExecCtrl_scenarios[vl_scIdx].eGroupIdx;
var charstring vl_eGrpName := v_ExecCtrl_entityGroups[vl_eGrpIdx].name;
pl_dataValue:={charstringVal := vl_eGrpName}
vl_errorCode := 0;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameScenarioInstance;
pl_dataValue:={charstringVal := vl_errorMsg}
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementScenarioTypeNameOfScenarioInstance) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioInstance}, pl_result, true)){
var charstring vl_scInstanceName := pl_result[0];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdxByInstanceName(vl_scInstanceName);
if (vl_scIdx==-1) {
var charstring vl_errorMsg := %definitionId& ": Datasource Parameter is wrong: "&
"\n" & c_ExecCtrl_paramNameScenarioInstance & ": " & vl_scInstanceName;
pl_dataValue:={charstringVal := vl_errorMsg}
vl_errorCode := 2;
} else {
var charstring vl_scTypeName := v_ExecCtrl_scenarios[vl_scIdx].scData.name;
pl_dataValue:={charstringVal := vl_scTypeName}
vl_errorCode := 0;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameScenarioInstance;
pl_dataValue:={charstringVal := vl_errorMsg}
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorEGrpsOnClients) {
var integer vl_egrpsSize := sizeof(v_ExecCtrl_entityGroups);
var EPTF_CharstringList vl_result := {};
for (var integer i := 0; i < vl_egrpsSize; i := i + 1) {
var integer vl_clientsSize := sizeof(v_ExecCtrl_entityGroups[i].lgenList);
for (var integer j := 0; j < vl_clientsSize; j := j + 1) {
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(j);
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementEntityGroupOfEGrpOnClient) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameEGrpOnClient}, pl_result, true)){
var charstring vl_lgenInstanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_lgenInstanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_egrpIndex := str2int(vl_instanceParts[0]);
if (vl_egrpIndex < sizeof(v_ExecCtrl_entityGroups)) {
pl_dataValue.charstringVal := v_ExecCtrl_entityGroups[vl_egrpIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEGrpOnClient & " is wrong: nonexistent EntityGroup.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEGrpOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEGrpOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementClientOfEGrpOnClient) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameEGrpOnClient}, pl_result, true)){
var charstring vl_lgenInstanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_lgenInstanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_egrpIndex := str2int(vl_instanceParts[0]);
var integer vl_clientIndex := str2int(vl_instanceParts[1]);
if (vl_egrpIndex < sizeof(v_ExecCtrl_entityGroups) and vl_clientIndex < sizeof(v_ExecCtrl_entityGroups[vl_egrpIndex].lgenList)) {
pl_dataValue.charstringVal := v_ExecCtrl_lgens[v_ExecCtrl_entityGroups[vl_egrpIndex].lgenList[vl_clientIndex].lgenIdx].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEGrpOnClient & " is wrong: nonexistent EntityGroup or LGen.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEGrpOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEGrpOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorEntityTypesForLGenOnClients) {
var integer vl_clientsSize := sizeof(v_ExecCtrl_lgens);
var EPTF_CharstringList vl_result := {};
for (var integer i := 0; i < vl_clientsSize; i := i + 1) {
var integer vl_egrpTypesSize := sizeof(v_ExecCtrl_lgens[i].resourceList);
for (var integer j := 0; j < vl_egrpTypesSize; j := j + 1) {
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(j);
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementClientOfEntityTypesForLGenOnClients) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameEntityTypeForLGenOnClient}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_clientsIndex := str2int(vl_instanceParts[0]);
if (vl_clientsIndex < sizeof(v_ExecCtrl_lgens)) {
pl_dataValue.charstringVal := v_ExecCtrl_lgens[vl_clientsIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong: nonexistent LGen.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEntityTypeForLGenOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementEntityTypeOfEntityTypesForLGenOnClients) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameEntityTypeForLGenOnClient}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_clientsIndex := str2int(vl_instanceParts[0]);
var integer vl_typeIndex := str2int(vl_instanceParts[1]);
if (vl_clientsIndex < sizeof(v_ExecCtrl_lgens) and vl_typeIndex < sizeof(v_ExecCtrl_lgens[vl_clientsIndex].resourceList)) {
pl_dataValue.charstringVal := v_ExecCtrl_lgens[vl_clientsIndex].resourceList[vl_typeIndex].eType;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong: nonexistent LGen or resource.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEntityTypeForLGenOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorScenariosOnClients) {
var integer vl_clientsSize := sizeof(v_ExecCtrl_lgens);
var EPTF_CharstringList vl_result := {};
for (var integer i := 0; i < vl_clientsSize; i := i + 1) {
var integer vl_egrpsSize := sizeof(v_ExecCtrl_lgens[i].eGroups);
for (var integer j := 0; j < vl_egrpsSize; j := j + 1) {
var integer vl_egrpIndex := v_ExecCtrl_lgens[i].eGroups[j].eGrpIdx;
var integer vl_scenariosSize := sizeof(v_ExecCtrl_entityGroups[vl_egrpIndex].scenarios);
for (var integer k := 0; k < vl_scenariosSize; k := k + 1) {
var integer vl_scenarioIndex := v_ExecCtrl_entityGroups[vl_egrpIndex].scenarios[k];
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(vl_egrpIndex) & "." & int2str(vl_scenarioIndex);
}
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementClientOfScenariosOnClients) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioOnClient}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 3) {
var integer vl_clientsIndex := str2int(vl_instanceParts[0]);
if (vl_clientsIndex < sizeof(v_ExecCtrl_lgens)) {
pl_dataValue.charstringVal := v_ExecCtrl_lgens[vl_clientsIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong: nonexistent LGen.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEntityTypeForLGenOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementEntityGroupOfScenariosOnClients) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioOnClient}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 3) {
var integer vl_egrpIndex := str2int(vl_instanceParts[1]);
if (vl_egrpIndex < sizeof(v_ExecCtrl_entityGroups)) {
pl_dataValue.charstringVal := v_ExecCtrl_entityGroups[vl_egrpIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong: nonexistent EntityGroup.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEntityTypeForLGenOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementScenarioOfScenariosOnClients) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioOnClient}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 3) {
var integer vl_scenarioIndex := str2int(vl_instanceParts[2]);
if (vl_scenarioIndex < sizeof(v_ExecCtrl_scenarios)) {
pl_dataValue.charstringVal := v_ExecCtrl_scenarios[vl_scenarioIndex].scData.name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong: nonexistent Scenario.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameEntityTypeForLGenOnClient & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameEntityTypeForLGenOnClient;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorTrafficCasesOfScenarios) {
var integer vl_scenariosSize := sizeof(v_ExecCtrl_scenarios);
var EPTF_CharstringList vl_result := {};
for (var integer i := 0; i < vl_scenariosSize; i := i + 1) {
var integer vl_trafficCasesSize := sizeof(v_ExecCtrl_scenarios[i].scData.tcList);
for (var integer j := 0; j < vl_trafficCasesSize; j := j + 1) {
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(j);
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementScenarioOfTrafficCasesOfScenarios) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameTrafficCaseOfScenario}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_scenarioIndex := str2int(vl_instanceParts[0]);
if (vl_scenarioIndex < sizeof(v_ExecCtrl_scenarios)) {
pl_dataValue.charstringVal := v_ExecCtrl_scenarios[vl_scenarioIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameTrafficCaseOfScenario & " is wrong: nonexistent Scenario.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameTrafficCaseOfScenario & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameTrafficCaseOfScenario;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementTrafficCaseOfTrafficCasesOfScenarios) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameTrafficCaseOfScenario}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_scenarioIndex := str2int(vl_instanceParts[0]);
var integer vl_tcOfScidx := str2int(vl_instanceParts[1]);
if (vl_scenarioIndex < sizeof(v_ExecCtrl_scenarios) and vl_tcOfScidx < sizeof(v_ExecCtrl_scenarios[vl_scenarioIndex].scData.tcList)) {
pl_dataValue.charstringVal := v_ExecCtrl_scenarios[vl_scenarioIndex].scData.tcList[vl_tcOfScidx].tcPrivateName;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameTrafficCaseOfScenario & " is wrong: nonexistent Scenario or TrafficCase.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameTrafficCaseOfScenario & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameTrafficCaseOfScenario;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorScenariosOfScenarioGroupsWithPhaseList) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNamePhaseList}, pl_result, true)){
var charstring vl_phaseList := pl_result[0];
var integer vl_scgrpSize := sizeof(v_EPTF_ExecCtrl_ScenarioGroup_Declarators);
var EPTF_CharstringList vl_result := {};
for (var integer i := 0; i < vl_scgrpSize; i := i + 1) {
if (v_EPTF_ExecCtrl_ScenarioGroup_Declarators[i].phaseListName == vl_phaseList) {
var integer vl_scenariosOfScgrpSize := sizeof(v_EPTF_ExecCtrl_ScenarioGroup_Declarators[i].scenarioNames);
for (var integer j := 0; j < vl_scenariosOfScgrpSize; j := j + 1) {
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(j);
}
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNamePhaseList;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementScenarioGroupOfScenariosOfScenarioGroupsWithPhaseList) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioOfScenarioGroup}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_scenarioGroupIndex := str2int(vl_instanceParts[0]);
if (vl_scenarioGroupIndex < sizeof(v_EPTF_ExecCtrl_ScenarioGroup_Declarators)) {
pl_dataValue.charstringVal := v_EPTF_ExecCtrl_ScenarioGroup_Declarators[vl_scenarioGroupIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameScenarioOfScenarioGroup & " is wrong: nonexistent ScenarioGroup.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameScenarioOfScenarioGroup & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameScenarioOfScenarioGroup;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementScenarioOfScenariosOfScenarioGroupsWithPhaseList) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameScenarioOfScenarioGroup}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 2) {
var integer vl_scenarioGroupIndex := str2int(vl_instanceParts[0]);
var integer vl_scenariosOfScgrpSize := str2int(vl_instanceParts[1]);
if (vl_scenarioGroupIndex < sizeof(v_EPTF_ExecCtrl_ScenarioGroup_Declarators) and vl_scenariosOfScgrpSize < sizeof(v_EPTF_ExecCtrl_ScenarioGroup_Declarators[vl_scenarioGroupIndex].scenarioNames)) {
pl_dataValue.charstringVal := v_EPTF_ExecCtrl_ScenarioGroup_Declarators[vl_scenarioGroupIndex].scenarioNames[vl_scenariosOfScgrpSize];
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameScenarioOfScenarioGroup & " is wrong: nonexistent ScenarioGroup or Scenario.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameScenarioOfScenarioGroup & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameScenarioOfScenarioGroup;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementTcHasTimeProfile){
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
var charstring vl_tcName := "";
if (0 == f_EPTF_ExecCtrl_getParams(pl_params, {c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase}, pl_result)) {
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
vl_tcName := pl_result[2];
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(vl_entityGrpName,vl_scName,vl_tcName);
var integer vl_tcIdxRel := f_EPTF_ExecCtrl_getTcOfScenarioIdx(vl_tcIdx);
pl_dataValue := {boolVal := not f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx) or vl_tcIdxRel == 0};
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given for " & c_ExecCtrl_dataElementTcHasTimeProfile & ". Expected: EntityGroup, Scenario, TrafficCase, received: " & log2str(pl_params);
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_iteratorFSMStatsOfTrafficCases) {
var EPTF_CharstringList vl_result := {};
var integer vl_scenariosSize := sizeof(v_ExecCtrl_scenarios);
for (var integer i := 0; i < vl_scenariosSize; i := i + 1) {
var integer vl_trafficCasesSize := sizeof(v_ExecCtrl_scenarios[i].scData.tcList);
var integer vl_eGroupIdx := v_ExecCtrl_scenarios[i].eGroupIdx;
for (var integer j := 0; j < vl_trafficCasesSize; j := j + 1) {
var charstring vl_fsmStatVarName := c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorFSMStats_varName & "."
& v_ExecCtrl_entityGroups[vl_eGroupIdx].name & "."
& v_ExecCtrl_scenarios[i].scData.name & "."
& f_EPTF_LGenBase_tcNameOfTcOfSc(v_ExecCtrl_scenarios[i].scData,j);
var integer vl_fsmStatsId := f_EPTF_Var_getId(vl_fsmStatVarName);
var EPTF_CharstringList vl_fsmStats := f_EPTF_Var_getCharstringlistValue(vl_fsmStatsId);
for (var integer k := 0; k < sizeof(vl_fsmStats); k := k + 1) {
vl_result[sizeof(vl_result)] := int2str(i) & "." & int2str(j) & "." & int2str(vl_fsmStatsId) & "." & int2str(k);
}
}
}
pl_dataValue.charstringlistVal := vl_result;
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementScenarioOfFSMStatsOfTrafficCases) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameFSMStatsOfTrafficCase}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 4) {
var integer vl_scenarioIndex := str2int(vl_instanceParts[0]);
if (vl_scenarioIndex < sizeof(v_ExecCtrl_scenarios)) {
pl_dataValue.charstringVal := v_ExecCtrl_scenarios[vl_scenarioIndex].name;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong: nonexistent Scenario.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameFSMStatsOfTrafficCase;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementTrafficCaseOfFSMStatsOfTrafficCases) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameFSMStatsOfTrafficCase}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 4) {
var integer vl_scenarioIndex := str2int(vl_instanceParts[0]);
var integer vl_tcOfScidx := str2int(vl_instanceParts[1]);
if (vl_scenarioIndex < sizeof(v_ExecCtrl_scenarios) and vl_tcOfScidx < sizeof(v_ExecCtrl_scenarios[vl_scenarioIndex].scData.tcList)) {
pl_dataValue.charstringVal := v_ExecCtrl_scenarios[vl_scenarioIndex].scData.tcList[vl_tcOfScidx].tcPrivateName;
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong: nonexistent Scenario or TrafficCase.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameFSMStatsOfTrafficCase;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementFSMStatNameOfFSMStatsOfTrafficCases) {
if(0 == f_EPTF_ExecCtrl_getParams( pl_params, {c_ExecCtrl_paramNameFSMStatsOfTrafficCase}, pl_result, true)){
var charstring vl_instanceName := pl_result[0];
var EPTF_CharstringList vl_instanceParts := f_EPTF_Common_splitString(vl_instanceName, ".");
if (sizeof(vl_instanceParts) == 4) {
var integer vl_fsmStatsVarId := str2int(vl_instanceParts[2]);
var integer vl_fsmStatIndex := str2int(vl_instanceParts[3]);
if (vl_fsmStatsVarId > 0) {
var EPTF_CharstringList vl_fsmStatsList := f_EPTF_Var_getCharstringlistValue(vl_fsmStatsVarId);
if (vl_fsmStatIndex < sizeof(vl_fsmStatsList)) {
pl_dataValue.charstringVal := vl_fsmStatsList[vl_fsmStatIndex];
vl_errorCode := 0;
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong: nonexistent FSMStat.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 4;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong: nonexistent FSMStats.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 3;
}
} else {
var charstring vl_errorMsg := %definitionId& ": " & c_ExecCtrl_paramNameFSMStatsOfTrafficCase & " is wrong.";
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 2;
}
} else {
var charstring vl_errorMsg := %definitionId& ": Wrong parameters are given. Parameter is missing: "& c_ExecCtrl_paramNameFSMStatsOfTrafficCase;
pl_dataValue:={charstringVal := vl_errorMsg};
vl_errorCode := 1;
}
}
case(c_ExecCtrl_dataElementGetStartCommand){
var charstring vl_executable := "";
var charstring vl_configFile := "";
var EPTF_CharstringList vl_testCase := {};
pl_dataValue:={charstringVal := f_EPTF_Base_getStartCommand(vl_executable, vl_configFile, vl_testCase)};
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementGetExecutable){
var charstring vl_executable := "";
var charstring vl_configFile := "";
var EPTF_CharstringList vl_testCase := {};
f_EPTF_Base_getStartCommand(vl_executable, vl_configFile, vl_testCase);
pl_dataValue:={charstringVal := vl_executable};
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementGetConfigFile){
var charstring vl_executable := "";
var charstring vl_configFile := "";
var EPTF_CharstringList vl_testCase := {};
f_EPTF_Base_getStartCommand(vl_executable, vl_configFile, vl_testCase);
pl_dataValue:={charstringVal := vl_configFile};
vl_errorCode := 0;
}
case(c_ExecCtrl_dataElementGetTestCases){
var charstring vl_executable := "";
var charstring vl_configFile := "";
var EPTF_CharstringList vl_testCase := {};
f_EPTF_Base_getStartCommand(vl_executable, vl_configFile, vl_testCase);
pl_dataValue:={charstringlistVal := vl_testCase};
vl_errorCode := 0;
}
case (c_ExecCtrl_dataElementTcGoS){
var charstring vl_eGrpName := "";
var charstring vl_scTypeName := "";
var charstring vl_tcName := "";
if(0 == f_EPTF_ExecCtrl_getParams(
pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario, c_ExecCtrl_paramNameTrafficCase},
pl_result)
) {
vl_eGrpName := pl_result[0];
vl_scTypeName := pl_result[1];
vl_tcName := pl_result[2];
var charstring vl_nofSuccVarName,vl_nofFailVarName,vl_nofTimeoutVarName,vl_nofErrorVarName;
f_EPTF_ExecCtrl_DSProcessData(
pl_dataVarName := vl_nofSuccVarName,
pl_source := pl_source,
pl_ptcName:= pl_ptcName,
pl_element := c_ExecCtrl_dataElementTcStat,
pl_params := pl_params & {{paramName := c_ExecCtrl_paramNameStatistic, paramValue := c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Success]}}
)
f_EPTF_ExecCtrl_DSProcessData(
pl_dataVarName := vl_nofFailVarName,
pl_source := pl_source,
pl_ptcName:= pl_ptcName,
pl_element := c_ExecCtrl_dataElementTcStat,
pl_params := pl_params & {{paramName := c_ExecCtrl_paramNameStatistic, paramValue := c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Fail]}}
)
f_EPTF_ExecCtrl_DSProcessData(
pl_dataVarName := vl_nofTimeoutVarName,
pl_source := pl_source,
pl_ptcName:= pl_ptcName,
pl_element := c_ExecCtrl_dataElementTcStat,
pl_params := pl_params & {{paramName := c_ExecCtrl_paramNameStatistic, paramValue := c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Timeout]}}
)
f_EPTF_ExecCtrl_DSProcessData(
pl_dataVarName := vl_nofErrorVarName,
pl_source := pl_source,
pl_ptcName:= pl_ptcName,
pl_element := c_ExecCtrl_dataElementTcStat,
pl_params := pl_params & {{paramName := c_ExecCtrl_paramNameStatistic, paramValue := c_EPTF_ExecCtrl_tcStatNames[c_EPTF_ExecCtrl_tcStatId_Error]}}
)
var integer vl_succ := f_EPTF_Var_getIntValue(f_EPTF_Var_getId(vl_nofSuccVarName));
var integer vl_fail := f_EPTF_Var_getIntValue(f_EPTF_Var_getId(vl_nofFailVarName));
var integer vl_timeout := f_EPTF_Var_getIntValue(f_EPTF_Var_getId(vl_nofTimeoutVarName));
var integer vl_error := f_EPTF_Var_getIntValue(f_EPTF_Var_getId(vl_nofErrorVarName));
var float vl_gos := 0.0;
if (vl_succ!=0) {
vl_gos := 100.0*int2float(vl_succ)/int2float(vl_succ+vl_fail+vl_timeout+vl_error);
}
pl_dataValue:={floatVal := vl_gos};
vl_errorCode := 0;
}
}
case else
{
}
}
return vl_errorCode;
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_DSProcessSetDataValue
//
// Purpose:
// Processes the incoming setDataValue requests - iterators and external data elements - and gives back the value.
// It should be registered in the ExecCtrl_init_CT. Type function fcb_EPTF_DataSourceClient_setDataValueHandler
//
// Parameters:
// *inout* <EPTF_Var_DirectContent> *pl_dataValue* - the value of the data
// *in charstring pl_source* - the name of the data source 'feature'
// *in charstring pl_ptcName* - the name of the ptc (ID of the PTC)
// *in charstring pl_element* - the name of the data element
// *in* <EPTF_DataSource_Params> *pl_params* - the parameters
// of the data for the dataElement
// *in* <EPTF_IntegerList> *pl_indexList* - in case of list-type values the elements of this parameter
// are the indexes in the list-type data for which the values should be set
// For elementary type values this argument is not used
//
// Return Value:
// integer - error code (0 of OK, non zero if unsuccessful:
// e.g. invalid parameters given in pl_params, or data is read-only.
// If error code is not zero pl_dataValue can be used to provide textual error message)
//
// Detailed Comments:
// -
//
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_DSProcessSetDataValue(inout EPTF_Var_DirectContent pl_dataValue,
in charstring pl_source,
in charstring pl_ptcName,
in charstring pl_element,
in EPTF_DataSource_Params pl_params,
in EPTF_IntegerList pl_indexList)
runs on EPTF_ExecCtrl_CT return integer{
var integer vl_errorCode := -1;
var EPTF_CharstringList pl_result := {};
select( pl_element )
{
case (c_ExecCtrl_dataElementRestart){
var charstring vl_executable := "-";
var charstring vl_configFile := "-";
var EPTF_CharstringList vl_testCase := {"-"};
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameExecutable},
pl_result)){
vl_executable := pl_result[0];
}
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameConfigFile},
pl_result)){
vl_configFile := pl_result[0];
}
if (0 == f_EPTF_ExecCtrl_getParams(pl_params,
{c_ExecCtrl_paramNameTestCases},
pl_result)){
vl_testCase := f_EPTF_Common_splitString(pl_result[0], " "); // there could be more TC name spearated by space in pl_result[0];
}
f_EPTF_Base_restart(vl_executable, vl_configFile, vl_testCase); // it will never return, pl_dataValue is invalid by default
vl_errorCode := 0;
}
case else
{
}
}
return vl_errorCode;
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_conditionHandler_isWeightedSc
//
// Purpose:
// Callback function type to handle condition for isWeighted.
// The type of this function is <fcb_EPTF_DataSourceClient_conditionHandler>
//
// Parameters:
// *out boolean pl_conditionValue* - true if the given scenario is weighted
// *in charstring pl_source* - the name of the data source 'feature' (now <c_ExecCtrl_DataSource_sourceId>)
// *in charstring pl_ptcName* - the name of the ptc (ID of the PTC) (now "f_EPTF_Base_selfName())
// *in charstring pl_method* - the name of the method (now: <c_ExecCtrl_conditionIsWeightedSc>)
// *in* <EPTF_DataSource_Params> *pl_params* - the parameters
// of the data for the dataElement (now <c_ExecCtrl_paramNameEntityGroup>, and <c_ExecCtrl_paramNameScenario>)
//
// Return Value:
// integer - error code (0 of OK, non zero if unsuccessful:
// e.g. invalid parameters given in pl_params)
//
// Detailed Comments:
// This function is called when <f_EPTF_DataSource_getCondition> is requested
// for the specified pl_source,pl_ptcName and pl_method.
// Its return value (error code) and pl_conditionValue is forwarded
// to <f_EPTF_DataSource_getCondition>.
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_conditionHandler_isWeightedSc(
out boolean pl_conditionValue,
in charstring pl_source,
in charstring pl_ptcName,
in charstring pl_method,
in EPTF_DataSource_Params pl_params
) runs on EPTF_ExecCtrl_CT return integer {
var EPTF_CharstringList pl_result := {};
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
f_EPTF_ExecCtrl_warning(%definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName );
return 1;
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
f_EPTF_ExecCtrl_warning(%definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName );
return 2;
}
if( -1 != vl_scIdx ){
pl_conditionValue := f_EPTF_ExecCtrl_isWeightedScenario(vl_scIdx);
return 0;
}
}
return -1;
}
///////////////////////////////////////////////////////////
// Function: f_EPTF_ExecCtrl_conditionHandler_isInScGroup
//
// Purpose:
// Callback function type to handle condition for isInScGroup.
// The type of this function is <fcb_EPTF_DataSourceClient_conditionHandler>
//
// Parameters:
// *out boolean pl_conditionValue* - true if the given scenario is in a scenario group
// *in charstring pl_source* - the name of the data source 'feature' (now <c_ExecCtrl_DataSource_sourceId>)
// *in charstring pl_ptcName* - the name of the ptc (ID of the PTC) (now f_EPTF_Base_selfName())
// *in charstring pl_method* - the name of the method (now: <c_ExecCtrl_conditionIsInScGroup>)
// *in* <EPTF_DataSource_Params> *pl_params* - the parameters
// of the data for the dataElement (now <c_ExecCtrl_paramNameEntityGroup>, and <c_ExecCtrl_paramNameScenario>)
//
// Return Value:
// integer - error code (0 of OK, non zero if unsuccessful:
// e.g. invalid parameters given in pl_params)
//
// Detailed Comments:
// This function is called when <f_EPTF_DataSource_getCondition> is requested
// for the specified pl_source,pl_ptcName and pl_method.
// Its return value (error code) and pl_conditionValue is forwarded
// to <f_EPTF_DataSource_getCondition>.
///////////////////////////////////////////////////////////
friend function f_EPTF_ExecCtrl_conditionHandler_isInScGroup(
out boolean pl_conditionValue,
in charstring pl_source,
in charstring pl_ptcName,
in charstring pl_method,
in EPTF_DataSource_Params pl_params
) runs on EPTF_ExecCtrl_CT return integer {
var EPTF_CharstringList pl_result := {};
var charstring vl_entityGrpName := "";
var charstring vl_scName := "";
if(0 == f_EPTF_ExecCtrl_getParams( pl_params,
{c_ExecCtrl_paramNameEntityGroup, c_ExecCtrl_paramNameScenario},
pl_result)){
vl_entityGrpName := pl_result[0];
vl_scName := pl_result[1];
if( -1 == f_EPTF_ExecCtrl_getEntityGroupIdx(vl_entityGrpName)){
f_EPTF_ExecCtrl_warning(%definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameEntityGroup & ": " & vl_entityGrpName );
return 1;
}
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(vl_entityGrpName, vl_scName);
if( -1 == vl_scIdx){
f_EPTF_ExecCtrl_warning(%definitionId& ": Datasource Parameter is wrong."&
"\n" & c_ExecCtrl_paramNameScenario & ": " & vl_scName );
return 2;
}
if( -1 != vl_scIdx ){
var integer vl_scGrpIdx := f_EPTF_ExecCtrl_ScenarioGroup_get_byScIndex(vl_scIdx);
pl_conditionValue := (vl_scGrpIdx!=-1);
return 0;
}
}
return -1;
}
// returns positive error code if params are not correct
// returns -1 if params are wrong syntactically
private function f_EPTF_ExecCtrl_getParams(in EPTF_DataSource_Params pl_params,
in EPTF_CharstringList pl_needed,
out EPTF_CharstringList pl_result,
in boolean pl_noWarning := false)
runs on EPTF_ExecCtrl_CT return integer {
pl_result := {};
if(sizeof(pl_params) == sizeof(pl_needed)){
for(var integer j := 0; j < sizeof(pl_needed); j := j + 1){
for(var integer i := 0; i < sizeof(pl_params); i:= i + 1){
if(pl_params[i].paramName == pl_needed[j]){
pl_result[sizeof(pl_result)] := pl_params[i].paramValue;
}
}
}
if(sizeof(pl_result) != sizeof(pl_needed)){
if(not pl_noWarning){
var EPTF_CharstringList vl_error := {};
for(var integer i := 0; i < sizeof(pl_params); i:= i + 1){
vl_error[i] := pl_params[i].paramName;
}
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Parameters are not correct: "&
"\nReceived: "& log2str(vl_error)&
"\nNeeded : "& log2str(pl_needed) );
}
return -1;
}
return f_EPTF_ExecCtrl_DScheckParams(pl_params);
} else{
if(not pl_noWarning){
var EPTF_CharstringList vl_error := {};
for(var integer i := 0; i < sizeof(pl_params); i:= i + 1){
vl_error[i] := pl_params[i].paramName;
}
if(sizeof(pl_params) < sizeof(pl_needed)){
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Too few parameters are given: "&
"\nReceived: "& log2str(vl_error)&
"\nNeeded : "& log2str(pl_needed));
} else {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Too many parameters are given: "&
"\nReceived: "& log2str(vl_error)&
"\nNeeded : "& log2str(pl_needed));
}
}
return -1;
}
}
// extracts the needed parameters from the params. It returns "" for values of params that are not found.
private function f_EPTF_ExecCtrl_extractParams(in EPTF_DataSource_Params pl_params,
in EPTF_CharstringList pl_needed,
out EPTF_CharstringList pl_result)
runs on EPTF_ExecCtrl_CT {
pl_result := {};
for(var integer j := 0; j < sizeof(pl_needed); j := j + 1){
pl_result[j] := "";
for(var integer i := 0; i < sizeof(pl_params); i:= i + 1){
if(pl_params[i].paramName == pl_needed[j]){
pl_result[j] := pl_params[i].paramValue;
break;
}
}
}
}
// returns positive error code if params are not correct
private function f_EPTF_ExecCtrl_DScheckParams(
in EPTF_DataSource_Params pl_params,
in boolean pl_noWarning := false)
runs on EPTF_ExecCtrl_CT return integer {
var EPTF_CharstringList pl_result;
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameEntityGroup,c_ExecCtrl_paramNameScenario,c_ExecCtrl_paramNameTrafficCase},pl_result);
// check EGrp
if (pl_result[0]!="") { // c_ExecCtrl_paramNameEntityGroup is present
// check if entity group exists
var integer vl_eGrpIdx := f_EPTF_ExecCtrl_getEntityGroupIdx(pl_result[0]);
if(vl_eGrpIdx == -1){
var integer vl_eGrpListVarIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityGroups_varName);
var EPTF_CharstringList vl_eGrpNames := {};
if (vl_eGrpListVarIdx!=-1) {
vl_eGrpNames:= f_EPTF_Var_getCharstringlistValue(vl_eGrpListVarIdx);
}
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Entity group """&pl_result[0]&""" does not exits. Available entity groups:"&log2str(vl_eGrpNames));
return 1;
}
}
// check Scenario
if (pl_result[1]!="" and pl_result[0]!="") { // c_ExecCtrl_paramNameScenario and c_ExecCtrl_paramNameEntityGroup are present
// check if scenario exists
var integer vl_scIdx := f_EPTF_ExecCtrl_getScenarioIdx(pl_result[0], pl_result[1]);
if(vl_scIdx == -1){
var EPTF_IntegerList vl_scIdxs := f_EPTF_ExecCtrl_eGrp_scenarios(f_EPTF_ExecCtrl_getEntityGroupIdx(pl_result[0]));
var EPTF_CharstringList vl_scNames := {};
for(var integer i:=0; i<sizeof(vl_scIdxs); i:=i+1) {
vl_scNames[sizeof(vl_scNames)] := f_EPTF_ExecCtrl_getScenarioName(vl_scIdxs[i]);
}
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Scenario """&pl_result[1]&""" does not exits in entity group """&pl_result[0]&""". Available scenarios:"&log2str(vl_scNames));
return 2;
}
}
// check Traffic case
if (pl_result[2]!="" and pl_result[1]!="" and pl_result[0]!="") { //c_ExecCtrl_paramNameTrafficCase,c_ExecCtrl_paramNameScenario and c_ExecCtrl_paramNameEntityGroup are present
// check if traffic case exists
var integer vl_tcIdx := f_EPTF_ExecCtrl_getTrafficCaseIdx(pl_result[0],pl_result[1],pl_result[2]);
if( -1 == vl_tcIdx){
var integer vl_tcListVarIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorTrafficCases_varName & "." & pl_result[0] & "." & pl_result[1]);
var EPTF_CharstringList vl_tcNames := {};
if (vl_tcListVarIdx!=-1) {
vl_tcNames:= f_EPTF_Var_getCharstringlistValue(vl_tcListVarIdx);
}
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Traffic case """&pl_result[2]&""" does not exits in the scenario """
&pl_result[1]&""" of entity group """&pl_result[0]&""". Available traffic cases:"&log2str(vl_tcNames));
return 3;
}
}
// check TC stat name (and FSM stat name)
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameStatistic},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameStatistic is present
// check if tc stat name exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(c_EPTF_ExecCtrl_tcStatNames); i:=i+1) {
if (c_EPTF_ExecCtrl_tcStatNames[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
// check FSM stat names:
if (not vl_found) {
// available FSM statNames:
var EPTF_CharstringList vl_params;
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameEntityGroup,c_ExecCtrl_paramNameScenario,c_ExecCtrl_paramNameTrafficCase},vl_params);
var charstring vl_eGrpName := vl_params[0];
var charstring vl_scName := vl_params[1];
var charstring vl_tcName := vl_params[2];
var integer vl_varIdx := f_EPTF_Var_getId(
c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorFSMStats_varName & "."
& vl_eGrpName & "."
& vl_scName & "."
& vl_tcName
);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if FSM statName exists
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: FSM statistics """&pl_result[0]&""" does not exits. Available FSM statNames:"&log2str(vl_availableValues));
//return 4; // do not return here: TC Stats warning is also shown
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Traffic case statistics """&pl_result[0]&""" does not exits. Available TC statNames:"&log2str(c_EPTF_ExecCtrl_tcStatNames));
return 4;
}
}
// check Group finish condition name
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameCondition},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameCondition is present
// available grp finish conditions:
var EPTF_CharstringList vl_availableConditions := {};
for(var integer st:=0; st<sizeof(c_EPTF_ExecCtrl_tcStatNames);st:=st+1) {
var EPTF_ExecCtrl_GrpFinishConditionType vl_grpFinishConditionType := f_EPTF_ExecCtrl_UIVars_tcStatId2GrpFinishConditionType(st);
if (vl_grpFinishConditionType == c_EPTF_ExecCtrl_groupFinishConditionUnknown) {
continue; // no conditions for these stats
}
vl_availableConditions[sizeof(vl_availableConditions)] := c_EPTF_ExecCtrl_tcStatNames[st];
}
// check if group finish condition exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableConditions); i:=i+1) {
if (vl_availableConditions[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Group finish condition """&pl_result[0]&""" does not exits. Available grp finish conditions:"&log2str(vl_availableConditions));
return 5;
}
}
// check LGen name
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameLGen},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameLGen is present
// available lgens:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorLGens_varName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if group finish condition exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: LGen with name """&pl_result[0]&""" does not exits. Available LGens:"&log2str(vl_availableValues));
return 6;
}
}
// check Scenario group name
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameScenarioGroup},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameScenarioGroup is present
// available scGroups:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorScenarioGroups_varName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if scGroup exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Scenario group """&pl_result[0]&""" does not exits. Available scenario groups:"&log2str(vl_availableValues));
return 7;
}
}
// check entity type name
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameEntityType,c_ExecCtrl_paramNameLGen},pl_result);
if (pl_result[0]!="" and pl_result[1]!="") { // c_ExecCtrl_paramNameEntityType is present
var charstring vl_LGenName := pl_result[1];
// available values:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorEntityTypesForLGen_varName & "." & vl_LGenName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if given value exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Entity type name """&pl_result[0]&""" does not exits on LGen """&vl_LGenName&""". Available entity types:"&log2str(vl_availableValues));
return 8;
}
}
// check c_ExecCtrl_paramNameScenarioInstance
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameScenarioInstance},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameScenarioInstance is present
// available values:
var EPTF_CharstringList vl_availableValues := {};
for(var integer scidx:=0; scidx<sizeof(v_ExecCtrl_scenarios);scidx:=scidx+1) {
vl_availableValues[sizeof(vl_availableValues)] := v_ExecCtrl_scenarios[scidx].name;
}
// check if given value exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Scenario instance """&pl_result[0]&""" does not exits. Available scenario instances:"&log2str(vl_availableValues));
return 9;
}
}
// check c_ExecCtrl_paramNameRegulatedItemId
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameRegulatedItemId},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameRegulatedItemId is present
// available regulated items:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulatedItems_varName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if regulated items exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Regulated item """&pl_result[0]&""" does not exits. Available regulated items:"&log2str(vl_availableValues));
return 10;
}
}
// check c_ExecCtrl_paramNameRegulatorName
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNameRegulatorName},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNameRegulatorName is present
// available regulators:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorRegulators_varName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if regulator exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Regulator with name """&pl_result[0]&""" does not exits. Available regulator names:"&log2str(vl_availableValues));
return 11;
}
}
// check c_ExecCtrl_paramNamePhase
f_EPTF_ExecCtrl_extractParams(pl_params,{c_ExecCtrl_paramNamePhase},pl_result);
if (pl_result[0]!="") { // c_ExecCtrl_paramNamePhase is present
// available phases:
var integer vl_varIdx := f_EPTF_Var_getId(c_ExecCtrl_DS_iteratorVar_prefix & c_ExecCtrl_iteratorPhases_varName);
var EPTF_CharstringList vl_availableValues := {};
if (vl_varIdx!=-1) {
vl_availableValues:= f_EPTF_Var_getCharstringlistValue(vl_varIdx);
}
// check if phase name exists
var boolean vl_found := false;
for(var integer i:=0; i<sizeof(vl_availableValues); i:=i+1) {
if (vl_availableValues[i]==pl_result[0]) {
vl_found:=true;
break;
}
}
if (not vl_found) {
f_EPTF_ExecCtrl_warning(%definitionId& ": Invalid DataSource parameter: Phase """&pl_result[0]&""" does not exits. Available phases:"&log2str(vl_availableValues));
return 12;
}
}
return 0;
}
} // group R3
} // module