####################################
## SCFD file version: 0.11        ##
## PDDB version: TLF17_1609_001   ##
####################################

#General checking for rule file execution
check_version minor TL17A
check_version minor TLF17A
check_version minor TLC17A

#v0.3 exit rule for 17SP
check_version minor TLF17SP
check_version minor TLC17SP
#v0.3 end


check_param minor LNBTS actPCMDReport


####################################################################################################################
# LTE3296-B/E - Single OAM - included in TLF17_1608_003
####################################################################################################################

#1. EQM tree
add_cls minor MRBTS/EQM-1
set_operation minor EQM create

add_cls minor EQM/APEQM-1
set_operation minor APEQM create

add_cls minor APEQM/CABINET-1
set_operation minor CABINET create


#2.SMOD ==> CABINET/SMOD
#v0.6 rename_cls logic different in BTSSM
#rename_cls minor MRBTS/SMOD MRBTS/EQM/APEQM/CABINET/SMOD

#add_param minor SMOD administrativeState Locked
#add_param minor SMOD eutraSupport true
#add_param minor SMOD geranSupport false
#add_param minor SMOD utranSupport false
#del_param minor SMOD dualModeSyncSlave
#del_param minor SMOD prodCode
#del_param minor SMOD productName
#del_param minor SMOD ribsSyncStatus
#del_param minor SMOD serNum
#del_param minor SMOD syncMaster
#del_param minor SMOD technology

dependence_add_obj_with_special_instance minor SMOD MRBTS/EQM/APEQM/CABINET/SMOD_NEW + 0
set_operation minor SMOD_NEW create

copy_list_param minor SMOD SMOD_NEW coreModuleSyncInputList coreModuleSyncInputList
copy_param minor SMOD SMOD_NEW moduleLocation moduleLocation
copy_param minor SMOD SMOD_NEW prodCodePlanned prodCodePlanned
copy_param minor SMOD SMOD_NEW ribsEarfcn ribsEarfcn
copy_param minor SMOD SMOD_NEW ribsSrcCellId ribsSrcCellId
add_param minor SMOD_NEW administrativeState Locked
add_param minor SMOD_NEW eutraSupport true
add_param minor SMOD_NEW geranSupport false
add_param minor SMOD_NEW utranSupport false

#v0.7
#del_cls minor SMOD
#v0.7 end
rename_cls minor SMOD SMOD_OLD
rename_cls minor SMOD_NEW SMOD
#v0.6 end

#3.REPEATER: FDD - not mandatory MOC (actRepeaterMode is not shown at the GUI and set to 'none' ==> repeaterDelay not set), TDD - no MOC
#add_cls minor RMOD/REPEATER-1
#set_operation minor REPEATER create


#4. MRBTS/passUnitList ==> PASSDEV MOC
#4.1 add PASSDEV MOC if MRBTS/passUnitList exists
add_list minor MRBTS passUnitList_new
add_list_item minor MRBTS passUnitList_new
#v0.11 logic different in BTSSM
add_list_param minor MRBTS passUnitList_new 0 tempParam value
#v0.11 end
add_list_param minor MRBTS passUnitList * key temp
dependence_move_list_item_relative minor MRBTS passUnitList key temp MRBTS-${MRBTS} passUnitList_new

dependence_add_obj_with_next_free_instance minor structuredList MRBTS MRBTS/EQM/APEQM/PASSDEV passUnitList_new - - -

del_cls minor PASSDEV-0
set_operation minor PASSDEV create

#4.2 set params
add_param minor PASSDEV deviceDescription value
add_param minor PASSDEV vendorName value
add_param minor PASSDEV vendorUnitTypeNumber value
add_param minor PASSDEV serialNumber value
add_param minor PASSDEV versionNumber value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/PASSDEV deviceDescription = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS} passUnitList_new ${PASSDEV} comment : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/PASSDEV vendorName = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS} passUnitList_new ${PASSDEV} name : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/PASSDEV vendorUnitTypeNumber = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS} passUnitList_new ${PASSDEV} prodCode : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/PASSDEV serialNumber = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS} passUnitList_new ${PASSDEV} serNum : 
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/PASSDEV versionNumber = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS} passUnitList_new ${PASSDEV} version : 

#4.3 cleanup
dependence_del_param minor PASSDEV deviceDescription value deviceDescription
dependence_del_param minor PASSDEV vendorName value vendorName
dependence_del_param minor PASSDEV vendorUnitTypeNumber value vendorUnitTypeNumber
dependence_del_param minor PASSDEV serialNumber value serialNumber
dependence_del_param minor PASSDEV versionNumber value versionNumber
del_list minor MRBTS passUnitList_new
del_list minor MRBTS passUnitList


#5. MNL tree
add_cls minor MRBTS/MNL-1
set_operation minor MNL create

add_cls minor MNL/MNLENT-1
set_operation minor MNLENT create

add_cls minor MNLENT/SYNC-1
set_operation minor SYNC create

add_cls minor MNLENT/SYNC/CLOCK-1
set_operation minor CLOCK create

#v0.6 rename_cls logic different in BTSSM
#rename_cls minor MRBTS/EQM/APEQM/CABINET/SMOD/GNSSI MRBTS/MNL/MNLENT/SYNC/CLOCK/GNSSI
#del_param minor GNSSI gnssConstellationMode
#del_param minor GNSSI gnssUnitName
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/SYNC/CLOCK/GNSSI gnssControlMode = PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/SYNC-${SYNC}/CLOCK-${CLOCK}/GNSSI-${GNSSI} gnssControlMode == CONST "All-in-view" ? CONST "GPS-GLONASS" : 

#MRBTS/SMOD/GNSSI ==> MRBTS/MNL/MNLENT/SYNC/CLOCK/GNSSI
dependence_add_obj_with_special_instance minor GNSSI MRBTS/MNL/MNLENT/SYNC/CLOCK/GNSSI_NEW + 0
set_operation minor GNSSI_NEW create

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/SMOD_OLD/GNSSI gnssControlMode = PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/GNSSI-${GNSSI} gnssControlMode == CONST "All-in-view" ? CONST "GPS-GLONASS" : 
copy_param minor GNSSI GNSSI_NEW actGnssOutputLnaPowerSupply actGnssOutputLnaPowerSupply
copy_param minor GNSSI GNSSI_NEW gnssAntennaAltitudeConf gnssAntennaAltitudeConf
copy_param minor GNSSI GNSSI_NEW gnssAntennaLatitudeConf gnssAntennaLatitudeConf
copy_param minor GNSSI GNSSI_NEW gnssAntennaLongitudeConf gnssAntennaLongitudeConf
copy_param minor GNSSI GNSSI_NEW gnssControlMode gnssControlMode
copy_param minor GNSSI GNSSI_NEW gnssLineDelay gnssLineDelay
copy_param minor GNSSI GNSSI_NEW locationMode locationMode

del_cls minor GNSSI
rename_cls minor GNSSI_NEW GNSSI
#v0.6 end

#6.ANTMOD
rename_cls minor APANTMOD tempAPANT
#v0.6 rename_cls logic different in BTSSM
#rename_cls minor MRBTS/EQM/APEQM/CABINET/SMOD/ANTMOD MRBTS/EQM/APEQM/ANTMOD
#MRBTS/SMOD/ANTMOD ==> MRBTS/EQM/APEQM/ANTMOD
dependence_add_obj_with_special_instance minor ANTMOD MRBTS/EQM/APEQM/ANTMOD_NEW + 0
rename_cls minor tempAPANT APANTMOD
set_operation minor ANTMOD_NEW create

move_param minor ANTMOD ANTMOD_NEW actLocationLock
move_param minor ANTMOD ANTMOD_NEW altitudeConf
move_param minor ANTMOD ANTMOD_NEW autoConHWId
move_param minor ANTMOD ANTMOD_NEW autoConSiteId
move_param minor ANTMOD ANTMOD_NEW latitudeConf
move_list minor ANTMOD ANTMOD_NEW locationLockConf
move_param minor ANTMOD ANTMOD_NEW longitudeConf
move_param minor ANTMOD ANTMOD_NEW moduleLocation
move_param minor ANTMOD ANTMOD_NEW prodCodePlanned
move_param minor ANTMOD ANTMOD_NEW tolerance

del_cls minor ANTMOD
rename_cls minor ANTMOD_NEW ANTMOD
#v0.6 end

#7.APMOD
#7.1 rename APMOD to fzcAPEQM, add fzcAPEQM/newAPMOD
#v0.6 rename_cls logic different in BTSSM
#rename_cls minor MRBTS/EQM/APEQM/CABINET/SMOD/APMOD MRBTS/EQM/fzcAPEQM
#add_cls minor fzcAPEQM/newAPMOD-1
#set_operation minor newAPMOD create

#7.2 move params from fzcAPEQM to newAPMOD
#move_param minor fzcAPEQM newAPMOD actHybridSynch
#move_param minor fzcAPEQM newAPMOD actLocationLock
#move_param minor fzcAPEQM newAPMOD actSfn
#move_param minor fzcAPEQM newAPMOD altitudeConf
#move_param minor fzcAPEQM newAPMOD apHwType
#move_param minor fzcAPEQM newAPMOD autoConHWId
#move_param minor fzcAPEQM newAPMOD autoConSiteId
#move_list minor fzcAPEQM newAPMOD coreModuleSyncInputList
#move_param minor fzcAPEQM newAPMOD latitudeConf
#move_list minor fzcAPEQM newAPMOD locationLockConf
#move_param minor fzcAPEQM newAPMOD locationMode
#move_param minor fzcAPEQM newAPMOD longitudeConf
#move_param minor fzcAPEQM newAPMOD moduleLocation
#move_param minor fzcAPEQM newAPMOD operatingMode
#move_param minor fzcAPEQM newAPMOD ppsTimingOffset
#move_param minor fzcAPEQM newAPMOD ribsEarfcn
#move_param minor fzcAPEQM newAPMOD ribsSrcCellId
#move_param minor fzcAPEQM newAPMOD tolerance


#MRBTS/SMOD/APMOD ==> MRBTS/EQM/fzcAPEQM
dependence_add_obj_with_special_instance minor APMOD MRBTS/EQM/fzcAPEQM + 0
set_operation minor fzcAPEQM create
add_cls minor fzcAPEQM/newAPMOD-1
set_operation minor newAPMOD create

#move params from APMOD to newAPMOD
#v0.11 move_param rule logic different in BTSSM
#move_param minor APMOD newAPMOD actHybridSynch
#move_param minor APMOD newAPMOD actLocationLock
#move_param minor APMOD newAPMOD actSfn
#move_param minor APMOD newAPMOD altitudeConf
#move_param minor APMOD newAPMOD apHwType
#move_param minor APMOD newAPMOD autoConHWId
#move_param minor APMOD newAPMOD autoConSiteId
#move_list minor APMOD newAPMOD coreModuleSyncInputList
#move_param minor APMOD newAPMOD latitudeConf
#move_list minor APMOD newAPMOD locationLockConf
#move_param minor APMOD newAPMOD locationMode
#move_param minor APMOD newAPMOD longitudeConf
#move_param minor APMOD newAPMOD moduleLocation
#move_param minor APMOD newAPMOD operatingMode
#move_param minor APMOD newAPMOD ppsTimingOffset
#move_param minor APMOD newAPMOD ribsEarfcn
#move_param minor APMOD newAPMOD ribsSrcCellId
#move_param minor APMOD newAPMOD tolerance

dependence_add_param_based_on_MOC_instance minor fzcAPEQM apeqmInstanceId + 0
add_param minor newAPMOD instanceId value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_add_param_based_on_MOC_instance minor APMOD instanceId + 0

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM actHybridSynch
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM actLocationLock
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM actSfn
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM altitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM apHwType
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM autoConHWId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM autoConSiteId

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId LISTPARAM coreModuleSyncInputList syncInputPrio
add_list_param minor newAPMOD coreModuleSyncInputList * syncInputType value
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD coreModuleSyncInputList * syncInputType = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM} coreModuleSyncInputList ${coreModuleSyncInputList} syncInputType :

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM latitudeConf

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId LISTPARAM locationLockConf alarmingPeriod
add_list_param minor newAPMOD locationLockConf 0 automaticDisable value
add_list_param minor newAPMOD locationLockConf 0 detectionMethods value
add_list_param minor newAPMOD locationLockConf 0 gnssTriggerDistance value
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD locationLockConf 0 automaticDisable = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM} locationLockConf 0 automaticDisable :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD locationLockConf 0 detectionMethods = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM} locationLockConf 0 detectionMethods :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD locationLockConf 0 gnssTriggerDistance = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM} locationLockConf 0 gnssTriggerDistance :

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM locationMode
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM longitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM moduleLocation
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM operatingMode
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM ppsTimingOffset
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM ribsEarfcn
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM ribsSrcCellId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD instanceId PARAM MRBTS/SMOD_OLD/APMOD instanceId PARAM tolerance

del_param minor newAPMOD instanceId
del_param minor APMOD instanceId
del_param minor fzcAPEQM apeqmInstanceId
#v0.11 end
#v0.6 end

#7.3 APMOD child MOCs ==> APMOD/APTNL
add_cls minor newAPMOD/APTNL-1
set_operation minor APTNL create

#v0.5 rename_cls rule working in a different way in BTSSM
#rename_cls minor APB2TH newAPMOD-1/APTNL-1/APB2TH
#rename_cls minor APELNK newAPMOD-1/APTNL-1/APELNK
#rename_cls minor APFTM newAPMOD-1/APTNL-1/APFTM
#rename_cls minor APIEIF newAPMOD-1/APTNL-1/APIEIF
#rename_cls minor APL2SW newAPMOD-1/APTNL-1/APL2SW
#rename_cls minor APPOE newAPMOD-1/APTNL-1/APPOE
#rename_cls minor APSTPG newAPMOD-1/APTNL-1/APSTPG
#rename_cls minor APTAC newAPMOD-1/APTNL-1/APTAC
#rename_cls minor APWIFI newAPMOD-1/APTNL-1/APWIFI
#rename_cls minor APGNSS newAPMOD-1/APGNSS
#rename_cls minor APANTMOD newAPMOD-1/APANTMOD

#v0.6 rename_cls logic different in BTSSM - APMOD child MOCs still in old APMOD
#e.g. MRBTS/SMOD/APMOD/APB2TH ==> MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APB2TH
#v0.6 end

#MOCs have multiple instances: APELNK (2-4) and APANTMOD (0-12) 
add_cls minor APTNL/APELNK_NEW-11
add_cls minor APTNL/APELNK_NEW-12
add_cls minor APTNL/APELNK_NEW-13
add_cls minor APTNL/APELNK_NEW-14
add_cls minor newAPMOD/APANTMOD_NEW-1
add_cls minor newAPMOD/APANTMOD_NEW-2
add_cls minor newAPMOD/APANTMOD_NEW-3
add_cls minor newAPMOD/APANTMOD_NEW-4
add_cls minor newAPMOD/APANTMOD_NEW-5
add_cls minor newAPMOD/APANTMOD_NEW-6
add_cls minor newAPMOD/APANTMOD_NEW-7
add_cls minor newAPMOD/APANTMOD_NEW-8
add_cls minor newAPMOD/APANTMOD_NEW-9
add_cls minor newAPMOD/APANTMOD_NEW-10
add_cls minor newAPMOD/APANTMOD_NEW-11
add_cls minor newAPMOD/APANTMOD_NEW-12

set_operation minor APELNK_NEW create
set_operation minor APANTMOD_NEW create

#copy parameters from old APELNK and APANTMOD MOCs to APELNK_NEW and APANTMOD_NEW
dependence_add_param_based_on_MOC_instance minor APELNK_NEW instanceId + 0
dependence_add_param_based_on_MOC_instance minor APELNK instanceId + 0
dependence_add_param_based_on_MOC_instance minor APANTMOD_NEW instanceId + 0
dependence_add_param_based_on_MOC_instance minor APANTMOD instanceId + 0
dependence_add_param_based_on_MOC_instance minor fzcAPEQM apeqmInstanceId + 0
#v0.6 rename_cls logic different in BTSSM - APMOD child MOCs still in old APMOD e.g. MRBTS/SMOD/APMOD/APB2TH
dependence_add_param_based_on_MOC_instance minor APMOD apmodInstanceId + 0

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} instanceId :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APELNK-${APELNK} instanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD}/APELNK-${APELNK} instanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} instanceId :
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APANTMOD-${APANTMOD} instanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD}/APANTMOD-${APANTMOD} instanceId :

#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM administrativeState
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM l2BurstSize
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM l2ShaperRate
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM administrativeState
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM l2BurstSize
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM l2ShaperRate

#v0.7 dependence_copy_param_value_based_on_relation_matching rule logic different in BTSSM
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId LISTVALUE l2VlanIdList
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId LISTVALUE l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_param minor APELNK_NEW l2VlanIdList * highValue value
#add_list_param minor APELNK_NEW l2VlanIdList * lowValue value
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * highValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} highValue :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * lowValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} lowValue :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * highValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} highValue :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * lowValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} lowValue :
#dependence_del_target_relative minor LISTITEM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} highValue == CONST "value"

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId LISTPARAM l2VlanIdList highValue
add_list_param minor APELNK_NEW l2VlanIdList * lowValue value
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * lowValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} lowValue :
#v0.7 end


#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM portDefaultPriority
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM portDefaultVlanId
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APELNK instanceId PARAM speedAndDuplex
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM portDefaultPriority
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM portDefaultVlanId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APELNK instanceId PARAM speedAndDuplex

#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM actLocationLock
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM altitudeConf
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM autoConHWId
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM autoConSiteId
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM latitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM actLocationLock
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM altitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM autoConHWId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM autoConSiteId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM latitudeConf

#v0.7 dependence_copy_param_value_based_on_relation_matching rule logic different in BTSSM
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId LISTVALUE locationLockConf
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId LISTVALUE locationLockConf
#add_list_item minor APANTMOD_NEW locationLockConf
#add_list_param minor APANTMOD_NEW locationLockConf 0 alarmingPeriod value
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId LISTPARAM locationLockConf alarmingPeriod
add_list_param minor APANTMOD_NEW locationLockConf 0 automaticDisable value
add_list_param minor APANTMOD_NEW locationLockConf 0 detectionMethods value
add_list_param minor APANTMOD_NEW locationLockConf 0 gnssTriggerDistance value
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 alarmingPeriod = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 alarmingPeriod :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 automaticDisable = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 automaticDisable :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 detectionMethods = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 detectionMethods :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 gnssTriggerDistance = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 gnssTriggerDistance :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 alarmingPeriod = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 alarmingPeriod :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 automaticDisable = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 automaticDisable :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 detectionMethods = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 detectionMethods :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 gnssTriggerDistance = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 gnssTriggerDistance :
#v0.7 end

#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM longitudeConf
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM moduleLocation
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM prodCodePlanned
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/APANTMOD instanceId PARAM tolerance
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM longitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM moduleLocation
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM prodCodePlanned
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/SMOD_OLD/APMOD/APANTMOD instanceId PARAM tolerance

#delete empty APELNK_NEW
add_param minor APELNK_NEW toBeDeleted true
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW toBeDeleted = PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} speedAndDuplex == PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} speedAndDuplex ? CONST "false" :
dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} toBeDeleted == CONST "true"
del_param minor APELNK_NEW toBeDeleted
del_cls minor APELNK
rename_cls minor APELNK_NEW APELNK

#delete empty APANTMOD_NEW
add_param minor APANTMOD_NEW toBeDeleted true
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW toBeDeleted = PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} actLocationLock == PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} actLocationLock ? CONST "false" :
dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} toBeDeleted == CONST "true"
del_param minor APANTMOD_NEW toBeDeleted
del_cls minor APANTMOD
rename_cls minor APANTMOD_NEW APANTMOD

#APELNK and APANTMOD cleanup
del_param minor APELNK instanceId
del_param minor APANTMOD instanceId


#MOCs have only one instance (1)
add_list minor APTNL tempKeyList
add_list_item minor APTNL tempKeyList
add_list_param minor APTNL tempKeyList 0 tempKey temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :


add_cls minor APTNL/APB2TH_NEW-0
add_list minor APB2TH tempKeyList
add_list_item minor APB2TH tempKeyList
add_list_param minor APB2TH tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APB2TH tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APB2TH tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APB2TH tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APB2TH_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APB2TH tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APB2TH_NEW
del_cls minor APB2TH_NEW-0
del_cls minor APB2TH
rename_cls minor APB2TH_NEW APB2TH


add_cls minor APTNL/APFTM_NEW-0
add_list minor APFTM tempKeyList
add_list_item minor APFTM tempKeyList
add_list_param minor APFTM tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APFTM tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APFTM tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APFTM tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APFTM_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APFTM tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APFTM_NEW
del_cls minor APFTM_NEW-0
del_cls minor APFTM
rename_cls minor APFTM_NEW APFTM


add_cls minor APTNL/APIEIF_NEW-0
add_list minor APIEIF tempKeyList
add_list_item minor APIEIF tempKeyList
add_list_param minor APIEIF tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APIEIF tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APIEIF tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APIEIF tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APIEIF_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APIEIF tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APIEIF_NEW
del_cls minor APIEIF_NEW-0
del_cls minor APIEIF
rename_cls minor APIEIF_NEW APIEIF


add_cls minor APTNL/APL2SW_NEW-0
add_list minor APL2SW tempKeyList
add_list_item minor APL2SW tempKeyList
add_list_param minor APL2SW tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APL2SW tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APL2SW tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APL2SW tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APL2SW_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APL2SW tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APL2SW_NEW
del_cls minor APL2SW_NEW-0
del_cls minor APL2SW
rename_cls minor APL2SW_NEW APL2SW


add_cls minor APTNL/APPOE_NEW-0
add_list minor APPOE tempKeyList
add_list_item minor APPOE tempKeyList
add_list_param minor APPOE tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APPOE tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APPOE tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APPOE tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APPOE_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APPOE tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APPOE_NEW
del_cls minor APPOE_NEW-0
del_cls minor APPOE
rename_cls minor APPOE_NEW APPOE


add_cls minor APTNL/APSTPG_NEW-0
add_list minor APSTPG tempKeyList
add_list_item minor APSTPG tempKeyList
add_list_param minor APSTPG tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APSTPG tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APSTPG tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APSTPG tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APSTPG_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APSTPG tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APSTPG_NEW
del_cls minor APSTPG_NEW-0
del_cls minor APSTPG
rename_cls minor APSTPG_NEW APSTPG


add_cls minor APTNL/APTAC_NEW-0
add_list minor APTAC tempKeyList
add_list_item minor APTAC tempKeyList
add_list_param minor APTAC tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APTAC tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APTAC tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APTAC tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APTAC_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APTAC tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APTAC_NEW
del_cls minor APTAC_NEW-0
del_cls minor APTAC
rename_cls minor APTAC_NEW APTAC


add_cls minor APTNL/APWIFI_NEW-0
add_list minor APWIFI tempKeyList
add_list_item minor APWIFI tempKeyList
add_list_param minor APWIFI tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APWIFI tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APWIFI tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APWIFI tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APWIFI_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APWIFI tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList tempKey - - - APWIFI_NEW
del_cls minor APWIFI_NEW-0
del_cls minor APWIFI
rename_cls minor APWIFI_NEW APWIFI


add_cls minor newAPMOD/APGNSS_NEW-0
add_list minor newAPMOD tempKeyList
add_list_item minor newAPMOD tempKeyList
add_list_param minor newAPMOD tempKeyList 0 tempKey temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :

add_list minor APGNSS tempKeyList
add_list_item minor APGNSS tempKeyList
add_list_param minor APGNSS tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/APGNSS tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/SMOD_OLD/APMOD/APGNSS tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/SMOD_OLD-${SMOD_OLD}/APMOD-${APMOD} apmodInstanceId :

#dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM/APGNSS tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD tempKeyList tempKey - - - APGNSS_NEW
dependence_move_cls_if_key_atributes_match minor MRBTS/SMOD_OLD/APMOD/APGNSS tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM/newAPMOD tempKeyList tempKey - - - APGNSS_NEW
del_cls minor APGNSS_NEW-0
del_cls minor APGNSS
rename_cls minor APGNSS_NEW APGNSS


#cleanup
del_list minor APTNL tempKeyList
del_list minor APB2TH tempKeyList
del_list minor APELNK tempKeyList
del_list minor APFTM tempKeyList
del_list minor APIEIF tempKeyList
del_list minor APL2SW tempKeyList
del_list minor APPOE tempKeyList
del_list minor APSTPG tempKeyList
del_list minor APTAC tempKeyList
del_list minor APWIFI tempKeyList
del_list minor APGNSS tempKeyList
del_list minor APANTMOD tempKeyList
del_list minor newAPMOD tempKeyList
del_param minor fzcAPEQM apeqmInstanceId
#v0.5 end

#v0.8 APMOD and SMOD_OLD MOCs deleted too early
#del_cls minor APMOD
#del_cls minor SMOD_OLD
#v0.8 end
#v0.6 end

#7.4 fzcAPEQM-1 ==> fzcAPEQM-101
#v0.6 rename_cls logic different in BTSSM
#rename_cls minor fzcAPEQM-1/newAPMOD fzcAPEQM-101/newAPMOD
add_cls minor EQM/fzcAPEQM-101
set_operation minor fzcAPEQM create
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/RMOD connectionList 0 apModId = LISTPARAM MRBTS-${MRBTS}/RMOD-${RMOD} connectionList 0 apModId == CONST 1 ? CONST 101 :

#v0.3 create fzcAPEQM-101 only if APMOD-1 existed so far ==> delete fzcAPEQM-101 if empty (without newAPMOD)
#dependence_add_param_based_on_MOC_instance minor newAPMOD tempInstanceId + 0
#add_param minor fzcAPEQM hasApmod no
#dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM hasApmod = PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1 tempInstanceId == CONST 1 ? CONST "yes" :
#dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} hasApmod == CONST "no"
#del_param minor newAPMOD tempInstanceId
#del_param minor fzcAPEQM hasApmod
#v0.3 end

#delete fzcAPEQM-101 if APMOD-1 (fzcAPEQM-1) did not existed so far
dependence_add_param_based_on_MOC_instance minor fzcAPEQM tempInstanceId + 0
add_param minor EQM apeqmOneExists no
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM apeqmOneExists = PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-1 tempInstanceId == CONST 1 ? CONST "yes" :
dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId == CONST 101 && PARAM MRBTS-${MRBTS}/EQM-${EQM} apeqmOneExists == CONST "no"
del_param minor EQM apeqmOneExists

#fzcAPEQM child MOCs to handle: newAPMOD-1 + APTNL-1(without parameters) with children (APB2TH, 2-4 APELNK, APFTM, APIEIF, APL2SW, APPOE, APSTPG, APTAC, APWIFI) + APGNSS-1 + up to 12 APANTMOD
add_cls minor fzcAPEQM/newAPMOD-0
add_list minor fzcAPEQM tempKeyList
add_list_item minor fzcAPEQM tempKeyList
add_list_param minor fzcAPEQM tempKeyList 0 tempKey temp

add_list minor newAPMOD tempKeyList
add_list_item minor newAPMOD tempKeyList
add_list_param minor newAPMOD tempKeyList 0 tempKey temp
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101 tempKeyList tempKey - - - newAPMOD
del_cls minor newAPMOD-0

add_cls minor newAPMOD/APGNSS-0
add_list minor APGNSS tempKeyList
add_list_item minor APGNSS tempKeyList
add_list_param minor APGNSS tempKeyList 0 tempKey temp
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APGNSS-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD tempKeyList tempKey - - - APGNSS


add_cls minor newAPMOD/APANTMOD_NEW-1
add_cls minor newAPMOD/APANTMOD_NEW-2
add_cls minor newAPMOD/APANTMOD_NEW-3
add_cls minor newAPMOD/APANTMOD_NEW-4
add_cls minor newAPMOD/APANTMOD_NEW-5
add_cls minor newAPMOD/APANTMOD_NEW-6
add_cls minor newAPMOD/APANTMOD_NEW-7
add_cls minor newAPMOD/APANTMOD_NEW-8
add_cls minor newAPMOD/APANTMOD_NEW-9
add_cls minor newAPMOD/APANTMOD_NEW-10
add_cls minor newAPMOD/APANTMOD_NEW-11
add_cls minor newAPMOD/APANTMOD_NEW-12
dependence_add_param_based_on_MOC_instance minor APANTMOD instanceId + 0
dependence_add_param_based_on_MOC_instance minor APANTMOD_NEW instanceId + 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} instanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APANTMOD instanceId = CONST 1 == CONST 1 ? CONST "101_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD-${APANTMOD} instanceId :

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM actLocationLock
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM altitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM autoConHWId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM autoConSiteId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM latitudeConf

#v0.7 dependence_copy_param_value_based_on_relation_matching rule logic different in BTSSM
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId LISTVALUE locationLockConf
#add_list_item minor APANTMOD_NEW locationLockConf
#add_list_param minor APANTMOD_NEW locationLockConf 0 alarmingPeriod value
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId LISTPARAM locationLockConf alarmingPeriod
add_list_param minor APANTMOD_NEW locationLockConf 0 automaticDisable value
add_list_param minor APANTMOD_NEW locationLockConf 0 detectionMethods value
add_list_param minor APANTMOD_NEW locationLockConf 0 gnssTriggerDistance value
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 alarmingPeriod = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 alarmingPeriod :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 automaticDisable = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 automaticDisable :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 detectionMethods = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 detectionMethods :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW locationLockConf 0 gnssTriggerDistance = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/SMOD_OLD-1/APMOD-${fzcAPEQM}/APANTMOD-${APANTMOD_NEW} locationLockConf 0 gnssTriggerDistance :
#v0.7 end
#v0.8 APMOD and SMOD_OLD MOCs deleted too early
del_cls minor APMOD
del_cls minor SMOD_OLD
#v0.8 end

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM longitudeConf
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM moduleLocation
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM prodCodePlanned
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD instanceId PARAM tolerance

#delete empty APANTMOD_NEW
add_param minor APANTMOD_NEW toBeDeleted true
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW toBeDeleted = PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} actLocationLock == PARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} actLocationLock ? CONST "false" :
dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM/newAPMOD/APANTMOD_NEW ? PARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APANTMOD_NEW-${APANTMOD_NEW} toBeDeleted == CONST "true"
del_param minor APANTMOD_NEW toBeDeleted
rename_cls minor APANTMOD_NEW APANTMOD
del_param minor APANTMOD instanceId


add_cls minor newAPMOD/APTNL-1
add_list minor APTNL tempKeyList
add_list_item minor APTNL tempKeyList
add_list_param minor APTNL tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :

add_cls minor APTNL/APB2TH-0
add_list minor APB2TH tempKeyList
add_list_item minor APB2TH tempKeyList
add_list_param minor APB2TH tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APB2TH tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APB2TH tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APB2TH-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APB2TH


add_cls minor APTNL/APELNK_NEW-11
add_cls minor APTNL/APELNK_NEW-12
add_cls minor APTNL/APELNK_NEW-13
add_cls minor APTNL/APELNK_NEW-14
dependence_add_param_based_on_MOC_instance minor APELNK instanceId + 0
dependence_add_param_based_on_MOC_instance minor APELNK_NEW instanceId + 0
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} instanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APELNK instanceId = CONST 1 == CONST 1 ? CONST "101_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK-${APELNK} instanceId :

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM administrativeState
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM l2BurstSize
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM l2ShaperRate

#v0.7 dependence_copy_param_value_based_on_relation_matching rule logic different in BTSSM
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId LISTVALUE l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_item minor APELNK_NEW l2VlanIdList
#add_list_param minor APELNK_NEW l2VlanIdList * highValue value
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId LISTPARAM l2VlanIdList highValue
add_list_param minor APELNK_NEW l2VlanIdList * lowValue value
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * highValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} highValue :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * lowValue = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} lowValue :
#dependence_del_target_relative minor LISTITEM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW l2VlanIdList * ? LISTPARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} l2VlanIdList ${l2VlanIdList} highValue == CONST "value"
#v0.7 end

dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM portDefaultPriority
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM portDefaultVlanId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW instanceId PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK instanceId PARAM speedAndDuplex

#delete empty APELNK_NEW
add_param minor APELNK_NEW toBeDeleted true
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW toBeDeleted = PARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} speedAndDuplex == PARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} speedAndDuplex ? CONST "false" :
dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APELNK_NEW ? PARAM MRBTS-${MRBTS}/EQM-1/fzcAPEQM-${fzcAPEQM}/newAPMOD-1/APTNL-1/APELNK_NEW-${APELNK_NEW} toBeDeleted == CONST "true"
del_param minor APELNK_NEW toBeDeleted
rename_cls minor APELNK_NEW APELNK
del_param minor APELNK instanceId

add_cls minor APTNL/APFTM-0
add_list minor APFTM tempKeyList
add_list_item minor APFTM tempKeyList
add_list_param minor APFTM tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APFTM tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APFTM tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APFTM-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APFTM

add_cls minor APTNL/APIEIF-0
add_list minor APIEIF tempKeyList
add_list_item minor APIEIF tempKeyList
add_list_param minor APIEIF tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APIEIF tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APIEIF tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APIEIF-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APIEIF

add_cls minor APTNL/APL2SW-0
add_list minor APL2SW tempKeyList
add_list_item minor APL2SW tempKeyList
add_list_param minor APL2SW tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APL2SW tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APL2SW tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APL2SW-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APL2SW

add_cls minor APTNL/APPOE-0
add_list minor APPOE tempKeyList
add_list_item minor APPOE tempKeyList
add_list_param minor APPOE tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APPOE tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APPOE tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APPOE-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APPOE

add_cls minor APTNL/APSTPG-0
add_list minor APSTPG tempKeyList
add_list_item minor APSTPG tempKeyList
add_list_param minor APSTPG tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APSTPG tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APSTPG tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APSTPG-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APSTPG

add_cls minor APTNL/APTAC-0
add_list minor APTAC tempKeyList
add_list_item minor APTAC tempKeyList
add_list_param minor APTAC tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APTAC tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APTAC tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APTAC-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APTAC

add_cls minor APTNL/APWIFI-0
add_list minor APWIFI tempKeyList
add_list_item minor APWIFI tempKeyList
add_list_param minor APWIFI tempKeyList 0 tempKey temp
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM/newAPMOD/APTNL/APWIFI tempKeyList 0 tempKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId :
#dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APWIFI tempKeyList 0 tempKey = CONST 1 == CONST 1 ? CONST "101" :
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/fzcAPEQM-1/newAPMOD/APTNL/APWIFI-1 tempKeyList tempKey - - - MRBTS/EQM/fzcAPEQM-101/newAPMOD/APTNL tempKeyList tempKey - - - APWIFI


del_cls minor APGNSS-0
del_cls minor APB2TH-0
del_cls minor APFTM-0
del_cls minor APIEIF-0
del_cls minor APL2SW-0
del_cls minor APPOE-0
del_cls minor APSTPG-0
del_cls minor APTAC-0
del_cls minor APWIFI-0

del_list minor fzcAPEQM tempKeyList
del_list minor newAPMOD tempKeyList
del_list minor APGNSS tempKeyList
del_list minor APANTMOD tempKeyList
del_list minor APTNL tempKeyList
del_list minor APB2TH tempKeyList
del_list minor APELNK tempKeyList
del_list minor APFTM tempKeyList
del_list minor APIEIF tempKeyList
del_list minor APL2SW tempKeyList
del_list minor APPOE tempKeyList
del_list minor APSTPG tempKeyList
del_list minor APTAC tempKeyList
del_list minor APWIFI tempKeyList

dependence_del_target_relative minor MOC MRBTS/EQM/fzcAPEQM ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} tempInstanceId == CONST 1
del_param minor fzcAPEQM tempInstanceId

del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APGNSS-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-2
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-3
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-4
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-5
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-6
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-7
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-8
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-9
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-10
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-11
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APANTMOD-12
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APB2TH-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-11
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-12
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-13
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APELNK-14
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APFTM-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APIEIF-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APL2SW-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APPOE-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APSTPG-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APTAC-1
del_cls minor MRBTS/EQM/fzcAPEQM-1/newAPMOD-1/APTNL-1/APWIFI-1

set_operation minor newAPMOD create
set_operation minor APGNSS create
set_operation minor APANTMOD create
set_operation minor APTNL create
set_operation minor APB2TH create
set_operation minor APELNK create
set_operation minor APFTM create
set_operation minor APIEIF create
set_operation minor APL2SW create
set_operation minor APPOE create
set_operation minor APSTPG create
set_operation minor APTAC create
set_operation minor APWIFI create
#v0.6 end

#7.5 cleanup
rename_cls minor newAPMOD APMOD


#8. RMOD
#8.1 FZM MRBTS/RMOD ==> MRBTS/EQM/APEQM-1/RMOD

#v0.6 rename_cls logic different in BTSSM
#rename_cls minor MRBTS/RMOD MRBTS/EQM/APEQM/fzmRMOD
#del_list_param minor fzmRMOD connectionList positionInChain
#del_list_param minor fzmRMOD connectionList sModId
#del_param minor fzmRMOD linkSpeed
#del_param minor fzmRMOD prodCode
#del_param minor fzmRMOD productName
#del_param minor fzmRMOD serNum
#add_param minor fzmRMOD administrativeState Locked

dependence_add_obj_with_special_instance minor RMOD MRBTS/EQM/APEQM/fzmRMOD + 0
set_operation minor fzmRMOD create

del_list_param minor RMOD connectionList positionInChain
del_list_param minor RMOD connectionList sModId
move_list minor RMOD fzmRMOD connectionList
move_param minor RMOD fzmRMOD prodCodePlanned
add_param minor fzmRMOD administrativeState Locked

del_cls minor RMOD
#v0.6 end

#8.2 FZC MRBTS/RMOD ==> MRBTS/EQM/APEQM-(2..101)/RMOD
#8.2.1 create fzcAPEQM-connectionList for every RMOD for this fzcAPEQM (mapping with fzmRMOD-connectionList-apModId/fzcAPEQM-apeqmInstanceId)
dependence_add_param_based_on_MOC_instance minor fzcAPEQM apeqmInstanceId + 0
dependence_add_param_based_on_MOC_instance minor fzmRMOD rmodInstanceId + 0
move_param_to_list_param minor MRBTS/EQM/APEQM/fzmRMOD MRBTS/EQM/APEQM/fzmRMOD rmodInstanceId connectionList 0 rmodInstanceId
dependence_add_param_based_on_MOC_instance minor fzmRMOD rmodInstanceId + 0
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM apeqmInstanceId LISTPARAM MRBTS/EQM/APEQM/fzmRMOD connectionList 0 apModId LISTPARAM connectionList rmodInstanceId

#8.2.2 add APEQM/fzcRMOD for every fzcAPEQM-connectionList item (instances starting from 1)
dependence_add_obj_with_next_free_instance minor structuredList MRBTS/EQM/fzcAPEQM MRBTS/EQM/fzcAPEQM/fzcRMOD connectionList - - -
#v0.10 dependence_add_obj_with_next_free_instance rule updated to meet the requirements
#dependence_add_obj_with_next_free_instance minor p fzcRMOD-0 MRBTS/EQM/fzcAPEQM/fzcRMOD tempParam - - -
add_param minor fzcAPEQM tempParam value
dependence_add_obj_with_next_free_instance minor p MRBTS/EQM/fzcAPEQM MRBTS/EQM/fzcAPEQM/fzcRMOD tempParam - - -
del_cls minor fzcRMOD-0
set_operation minor fzcRMOD create
del_param minor fzcAPEQM tempParam
#v0.10 end

#8.2.3 set fzcRMOD-rmodInstanceId to identify RMOD
add_param minor fzcRMOD rmodInstanceId value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-1 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 0 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-2 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 1 rmodInstanceId :
#v0.4 make sure that fzcRMOD-1 refers to smaller RMOD instanceId of old MRBTS/RMOD and fzcRMOD-2 refers to bigger RMOD instanceId of old MRBTS/RMOD
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-1 rmodInstanceId = LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 0 rmodInstanceId < LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 1 rmodInstanceId ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 0 rmodInstanceId : LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 1 rmodInstanceId
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-2 rmodInstanceId = LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 0 rmodInstanceId > LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 1 rmodInstanceId ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 0 rmodInstanceId : LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 1 rmodInstanceId
#v0.4 end
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-3 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 2 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-4 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 3 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-5 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 4 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-6 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 5 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-7 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 6 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-8 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 7 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-9 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 8 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-10 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 9 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-11 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 10 rmodInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD-12 rmodInstanceId = CONST 1 == CONST 1 ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/fzcAPEQM-${fzcAPEQM} connectionList 11 rmodInstanceId :

#8.2.4 copy params (mapping with fzmRMOD-connectionList-rmodInstanceId/fzcRMOD-rmodInstanceId)
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD rmodInstanceId LISTPARAM MRBTS/EQM/APEQM/fzmRMOD connectionList 0 rmodInstanceId PARAM prodCodePlanned
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD rmodInstanceId LISTPARAM MRBTS/EQM/APEQM/fzmRMOD connectionList 0 rmodInstanceId LISTPARAM connectionList linkId
add_list_param minor fzmRMOD connectionList 0 antModId value
add_list_param minor fzmRMOD connectionList 0 apAntModId value
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD rmodInstanceId LISTPARAM MRBTS/EQM/APEQM/fzmRMOD connectionList 0 rmodInstanceId LISTPARAM connectionList antModId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/fzcAPEQM/fzcRMOD rmodInstanceId LISTPARAM MRBTS/EQM/APEQM/fzmRMOD connectionList 0 rmodInstanceId LISTPARAM connectionList apAntModId
move_list_param_to_param minor MRBTS/EQM/fzcAPEQM/fzcRMOD MRBTS/EQM/fzcAPEQM/fzcRMOD connectionList 1 antModId antModId
move_param_to_list_param minor MRBTS/EQM/fzcAPEQM/fzcRMOD MRBTS/EQM/fzcAPEQM/fzcRMOD antModId connectionList 0 antModId
move_list_param_to_param minor MRBTS/EQM/fzcAPEQM/fzcRMOD MRBTS/EQM/fzcAPEQM/fzcRMOD connectionList 1 apAntModId apAntModId
move_param_to_list_param minor MRBTS/EQM/fzcAPEQM/fzcRMOD MRBTS/EQM/fzcAPEQM/fzcRMOD apAntModId connectionList 0 apAntModId

#8.2.5 add mandatory params
add_list_param minor fzcRMOD connectionList 0 apModId 1
add_param minor fzcRMOD administrativeState Locked

#8.3 cleanup
add_param minor fzmRMOD toBeDeleted false
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/fzmRMOD toBeDeleted = LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/fzmRMOD-${fzmRMOD} connectionList 0 apModId == LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/fzmRMOD-${fzmRMOD} connectionList 0 apModId ? CONST "true" :
dependence_del_target_relative minor MOC MRBTS/EQM/APEQM/fzmRMOD ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/fzmRMOD-${fzmRMOD} toBeDeleted == CONST "true"
del_param minor fzmRMOD toBeDeleted

rename_cls minor fzcAPEQM APEQM
rename_cls minor fzcRMOD RMOD
rename_cls minor fzmRMOD RMOD
del_param minor APEQM apeqmInstanceId
del_list minor APEQM connectionList
dependence_del_target_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD connectionList 0 apAntModId ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} connectionList 0 apAntModId == CONST "value"
dependence_del_target_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD connectionList 0 antModId ? LISTPARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} connectionList 0 antModId == CONST "value"
del_list_param minor RMOD connectionList sModId
del_list_param minor RMOD connectionList rmodInstanceId


#9. MRBTS/ANTL ==> RMOD-${ANTL-rModId}/ANTL-${ANTL-antId}
#ANTL-antlId: TLF 1..24, TLC 1..2400, FLF 1..4, FLC 1..400
#ANTL-rModId: TLF 1..12, TLC 1..1200, FLC 1..200, FLF 1..2
#9.1 ANTL-antId: ANT1 ANT2 ANT3 ANT4 ==> 1 2 3 4
regex_replace minor PARAM MRBTS-*/ANTL-* antId REPLACE "ANT" ALL ""

#9.2 add new RMOD/ANTL
add_cls minor RMOD/newANTLnew-1
add_cls minor RMOD/newANTLnew-2
add_cls minor RMOD/newANTLnew-3
add_cls minor RMOD/newANTLnew-4
set_operation minor newANTLnew create

#9.2 add MOC IDs (tempInstanceId)
dependence_add_param_based_on_MOC_instance minor newANTLnew tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor ANTL tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor MRBTS tempInstanceId + 0

#9.3 map old rmodInstanceId to new rmodInstanceId
dependence_add_param_based_on_MOC_instance minor RMOD newRmodInstanceId + 0
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/ANTL rModId PARAM MRBTS/EQM/APEQM/RMOD rmodInstanceId PARAM newRmodInstanceId

#9.4 create ANTL tempId to have values like "rModId_antId"
add_param minor ANTL tempId tempValue
add_param minor newANTLnew tempId tempValue
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/ANTL tempId = PARAM MRBTS-${MRBTS}/ANTL-${ANTL} tempId == CONST "tempValue" ? PARAM MRBTS-${MRBTS}/ANTL-${ANTL} newRmodInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/ANTL-${ANTL} antId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD/newANTLnew tempId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD}/newANTLnew-${newANTLnew} tempId == CONST "tempValue" ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} newRmodInstanceId JOIN CONST "_" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD}/newANTLnew-${newANTLnew} tempInstanceId :

#v0.2 only antennaRoundTripDelay in new ANTL MOC
#9.5 copy only needed params (mapping with ANTL-tempId/newANTLnew-tempId)
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM/RMOD/newANTLnew tempId PARAM MRBTS/ANTL tempId PARAM antennaRoundTripDelay
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM/RMOD/newANTLnew tempId PARAM MRBTS/ANTL tempId PARAM ulDelay
#dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/EQM/APEQM/RMOD/newANTLnew tempId PARAM MRBTS/ANTL tempId PARAM vswrMajorAlarm
#v0.2 end

#9.6 resourceList/antlDN ==> write pointer to associated ANTL object, e.g.: MRBTS-1/EQM-1/APEQM-1/RMOD-2/ANTL-1 ("MRBTS-${MRBTS}/EQM-1/APEQM-${APEQM}/RMOD-{ANTL-rModId}/ANTL-{ANTL-antlId})"
#9.6.1 add LCELL/apeqmInstanceId (mapping with RMOD-rmodInstanceId/ANTL-rModId and ANTL-tempInstanceId/LCELL-resourceList-antlId)
dependence_add_param_based_on_MOC_instance minor APEQM apeqmInstanceId + 0
copy_param_relative minor MRBTS/EQM/APEQM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-* apeqmInstanceId apeqmInstanceId
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/ANTL rModId PARAM MRBTS/EQM/APEQM/RMOD rmodInstanceId PARAM apeqmInstanceId
dependence_copy_param_value_based_on_relation_matching minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList 0 antlId PARAM MRBTS/ANTL tempInstanceId PARAM apeqmInstanceId

#9.6.2 antlDN ==> "MRBTS-x/EQM-1/APEQM-x/RMOD-"
add_list_param minor LCELL resourceList * antlDN "/EQM-1/APEQM-"
regex_replace minor PARAM MRBTS-*/ANTL-* tempId REPLACE "_" ALL "/ANTL-"
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList * antlDN = CONST "true" == CONST "true" ? CONST "MRBTS-" JOIN PARAM MRBTS-${MRBTS} tempInstanceId JOIN LISTPARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} resourceList ${resourceList} antlDN :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList * antlDN = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} resourceList ${resourceList} antlDN JOIN PARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} apeqmInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList * antlDN = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} resourceList ${resourceList} antlDN JOIN CONST "/RMOD-" :

#9.6.3 create LCELL/RESOURCELIST for every LCELL resourceList item
dependence_add_obj_with_next_free_instance minor structuredList MRBTS/BTSSCL/LCELL MRBTS/BTSSCL/LCELL/RESOURCELIST resourceList - - -

#9.6.4 copy antlId there
add_param minor RESOURCELIST antlId value
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/BTSSCL/LCELL/RESOURCELIST antlId = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} resourceList ${RESOURCELIST} antlId :

#9.6.5 ANTL-tempId ==> RESOURCELIST-tempId (mapping with ANTL-tempInstanceId/RESOURCELIST-antlId)
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/BTSSCL/LCELL/RESOURCELIST antlId PARAM MRBTS/ANTL tempInstanceId PARAM tempId

#9.6.6 antlDN ==> "MRBTS-x/EQM-1/APEQM-x/RMOD-x/ANTL-x"
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList * antlDN = CONST "true" == CONST "true" ? LISTPARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL} resourceList ${resourceList} antlDN JOIN PARAM MRBTS-${MRBTS}/BTSSCL-${BTSSCL}/LCELL-${LCELL}/RESOURCELIST-${resourceList} tempId :

#9.6.7 antlId set to 1
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/BTSSCL/LCELL resourceList * antlId = CONST "true" == CONST "true" ? CONST 1 :

#9.6.8 delete old ANTL, delete empty newANTLnew
del_cls minor MRBTS/ANTL-

add_param minor newANTLnew check isEmpty
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD/newANTLnew check = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD}/newANTLnew-${newANTLnew} antennaRoundTripDelay == PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD}/newANTLnew-${newANTLnew} antennaRoundTripDelay ? CONST "notEmpty" :
dependence_del_target_relative minor MOC MRBTS/EQM/APEQM/RMOD/newANTLnew ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD}/newANTLnew-${newANTLnew} check == CONST "isEmpty"

#9.7 cleanup
del_cls minor RESOURCELIST
del_param minor newANTLnew check
del_param minor newANTLnew tempId
del_param minor newANTLnew tempInstanceId
del_param minor RMOD rmodInstanceId
del_param minor RMOD newRmodInstanceId
del_param minor MRBTS tempInstanceId
del_param minor APEQM apeqmInstanceId
del_param minor RMOD apeqmInstanceId
del_param minor LCELL apeqmInstanceId

rename_cls minor newANTLnew ANTL





###########
# COMMON: #
###########

####################################################################################################################
# LTE3333 Per Call Measurement Data (PCMD)
####################################################################################################################
add_param minor LNBTS actPCMDReport false
add_param minor MTRACE actPCMDReporting false


####################################################################################################################
# LTE3071-A-g LTE3071 Narrow Band - Internet of Things (NB-IoT) Inband
####################################################################################################################
#OM_LTE_SFS_RNL_17540
#MOC NBIOT is deprecated and new MOC NBIOT_FDD is to support NB-IoT feature instead
#all the parameters under NBIOT are deprecated.
#LNCEL-actNBIoT is deleted from FL16A for FL17.
#MOC NBIOT is deleted from FL16A for FL17.
#Optionally LNCEL-cellTechnology is set to 'NB-IoT-FDD' for MOC NBIOT_FDD creation and NB-IoT operation.
#LNCEL-nbIoTMode is set to default value in FL17.
#Generally mandatory parameter is initialized with its default value.

add_param minor LNCEL nbIoTMode disabled


   
########
# TDD: #
########



#version
#FZM Replace# set_version major TL17
dependence_set_version major PARAM MRBTS-${MRBTS}/LNBTS-${LNBTS}/FTM-${FTM}/UNIT-${UNIT} unitTypeExpected == CONST "FZC1100" ? CONST "TLC17" : CONST "TLF17"

#history:
#FZM Replace# add_log minor "Conversion from TL17 FB16.08 (003) to TL17 FB16.09 (001)"
add_log minor "Conversion from TLF17 FB16.08 (003) to TLF17 FB16.09 (001)"