###########################################
## SCFD file version: 0.5                ##
## Release: FLF/FLC17ASP_1705_002        ##
## EQM version: EQM17ASP_FZM_1705_001    ##
## EQM version: EQM17ASP_FZC_1705_001    ##
###########################################




####################################################################################################################
# CRL13607 Mini Macro Feature Support
####################################################################################################################
add_param minor APFTM actLoSPropagation false



#v0.2
####################################################################################################################
# LBT4813 3rd RFM activation for tri-band MBI
####################################################################################################################
#OM_LTE_SFS_RNL.19124 Migration of RMOD identifiers
#For FW2PIRA and FW2GEHA, RMOD id will need to be reordered according to the BPF definition for the FR card. 


# Temporary variables
add_param minor RMOD tempNewRmodDN ""
add_param minor RMOD tempOldRmodDN ""
add_param minor RMOD toBeDeleted false
add_param minor RMOD tempParentProdCodePlanned ""
add_param minor CHANNEL tempOldRmodDN ""
add_param minor CHANNEL tempAntlDNAfterRmod ""

dependence_add_param_based_on_MOC_instance minor MRBTS tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor APEQM tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor APMOD tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor RMOD tempInstanceId + 0
dependence_add_param_based_on_MOC_instance minor RMOD tempNewRmodId + 0

#v0.3 corrected rules due to different BTSSM logic (PR254754: [Bug 30878]][FLF00]Can not go Next in cell Resources when convert scf from 17A to FLF00)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempOldRmodDN = CONST 1 == CONST 1 ? CONST "MRBTS-" JOIN PARAM MRBTS-${MRBTS} tempInstanceId JOIN CONST "/EQM-1/APEQM-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId JOIN CONST "/RMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempInstanceId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempOldRmodDN = CONST 1 == CONST 1 ? CONST "MRBTS-" JOIN PARAM MRBTS-${MRBTS} tempInstanceId JOIN CONST "/EQM-1/APEQM-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId JOIN CONST "/APMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD} tempInstanceId JOIN CONST "/RMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempInstanceId :

# Decide based on prodCodePlanned the new RMOD-# (order as in BPF for FW2GEHA)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempParentProdCodePlanned = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/CABINET-1/SMOD-1 prodCodePlanned :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempParentProdCodePlanned = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD} prodCodePlanned :

dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2EA" ? CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2HA" ? CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2GA" ? CONST 3 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2EA" ? CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2HA" ? CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474003A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2GA" ? CONST 3 :

# Decide based on prodCodePlanned the new RMOD-# (order as in BPF for FW2PIRA)
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2IA" ? CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2RA" ? CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} prodCodePlanned == CONST "FR2PA" ? CONST 3 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2IA" ? CONST 1 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2RA" ? CONST 2 :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodId = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempParentProdCodePlanned == CONST "474220A" && PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} prodCodePlanned == CONST "FR2PA" ? CONST 3 :

# Add full path prefix before /RMOD-*
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/RMOD tempNewRmodDN = CONST 1 == CONST 1 ? CONST "MRBTS-" JOIN PARAM MRBTS-${MRBTS} tempInstanceId JOIN CONST "/EQM-1/APEQM-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId JOIN CONST "/RMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempNewRmodId :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempNewRmodDN = CONST 1 == CONST 1 ? CONST "MRBTS-" JOIN PARAM MRBTS-${MRBTS} tempInstanceId JOIN CONST "/EQM-1/APEQM-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId JOIN CONST "/APMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD} tempInstanceId JOIN CONST "/RMOD-" JOIN PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempNewRmodId :
#v0.3 end

# Divide CHANNEL.antlDN into 2 parts: CHANNEL.tempOldRmodDN and CHANNEL.tempAntlDNAfterRmod
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL tempAntlDNAfterRmod = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} antlDN :
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL tempOldRmodDN = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} antlDN :
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* tempOldRmodDN REPLACE "/ANTL-[0-9]*" ALL ""
regex_replace minor PARAM MRBTS-*/MNL-*/MNLENT-*/CELLMAPPING-*/LCELL-*/CHANNELGROUP-*/CHANNEL-* tempAntlDNAfterRmod REPLACE ".*/RMOD-[0-9]*" ALL ""

# Copy tempNewRmodDN to CHANNEL from matching RMOD (same tempOldRmodDN keys on both CHANNEL and RMOD)
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL tempOldRmodDN PARAM MRBTS/EQM/APEQM/RMOD tempOldRmodDN PARAM tempNewRmodDN
dependence_copy_param_value_based_on_relation_matching minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL tempOldRmodDN PARAM MRBTS/EQM/APEQM/APMOD/RMOD tempOldRmodDN PARAM tempNewRmodDN

# Change the CHANNEL.antlDN to point to the new RMOD
dependence_mod_param_conditional_expression_relative minor PARAM MRBTS/MNL/MNLENT/CELLMAPPING/LCELL/CHANNELGROUP/CHANNEL antlDN = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} tempNewRmodDN JOIN PARAM MRBTS-${MRBTS}/MNL-${MNL}/MNLENT-${MNLENT}/CELLMAPPING-${CELLMAPPING}/LCELL-${LCELL}/CHANNELGROUP-${CHANNELGROUP}/CHANNEL-${CHANNEL} tempAntlDNAfterRmod : 

# Prepare dummy RMOD values for below dependence_move_cls_if_key_atributes_match
add_list minor RMOD tempKeyList
add_list_item minor RMOD tempKeyList
add_list_param minor RMOD tempKeyList 0 rmodKey temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD tempKeyList 0 rmodKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempNewRmodId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/APMOD/RMOD tempKeyList 0 rmodKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempNewRmodId :

add_list_param minor RMOD tempKeyList 0 apeqmKey 1
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD tempKeyList 0 apeqmKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/APMOD/RMOD tempKeyList 0 apeqmKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId :

# Prepare dummy ANTL values for below dependence_move_cls_if_key_atributes_match
add_list minor ANTL tempKeyList
add_list_item minor ANTL tempKeyList
add_list_param minor ANTL tempKeyList 0 rmodKey temp
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD/ANTL tempKeyList 0 rmodKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/RMOD-${RMOD} tempNewRmodId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/APMOD/RMOD/ANTL tempKeyList 0 rmodKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/RMOD-${RMOD} tempNewRmodId :

add_list_param minor ANTL tempKeyList 0 apeqmKey 1
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/RMOD/ANTL tempKeyList 0 apeqmKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId :
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/APMOD/RMOD/ANTL tempKeyList 0 apeqmKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId :



### FZC specific (APEQM/APMOD etc.)

# Prepare dummy APMOD values for below dependence_move_cls_if_key_atributes_match
add_list minor APMOD tempKeyList
add_list_item minor APMOD tempKeyList
add_list_param minor APMOD tempKeyList 0 rmodKey1 1
add_list_param minor APMOD tempKeyList 0 rmodKey2 2
add_list_param minor APMOD tempKeyList 0 rmodKey3 3
add_list_param minor APMOD tempKeyList 0 apeqmKey 1
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM/APMOD tempKeyList 0 apeqmKey = CONST 1 == CONST 1 ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM} tempInstanceId :

# Create temporary destination of RMOD-1 as RMOD_NEW_FIRST-1 and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_FIRST-0
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/APEQM/APMOD/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD tempKeyList rmodKey1 apeqmKey - - RMOD_NEW_FIRST

add_cls minor APEQM/APMOD/RMOD_NEW_FIRST-1
add_param minor RMOD_NEW_FIRST-1 toBeDeleted true

# Create temporary destination of RMOD-2 as RMOD_NEW_SECOND-2 and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_SECOND-0
add_cls minor APEQM/APMOD/RMOD_NEW_SECOND-1
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/APEQM/APMOD/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD tempKeyList rmodKey2 apeqmKey - - RMOD_NEW_SECOND
add_cls minor APEQM/APMOD/RMOD_NEW_SECOND-2
add_param minor RMOD_NEW_SECOND-2 toBeDeleted true

# Create temporary destination of RMOD-3 as RMOD_NEW_THIRD-3 and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_THIRD-0
add_cls minor APEQM/APMOD/RMOD_NEW_THIRD-1
add_cls minor APEQM/APMOD/RMOD_NEW_THIRD-2
dependence_move_cls_if_key_atributes_match minor MRBTS/EQM/APEQM/APMOD/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD tempKeyList rmodKey3 apeqmKey - - RMOD_NEW_THIRD
add_cls minor APEQM/APMOD/RMOD_NEW_THIRD-3
add_param minor RMOD_NEW_THIRD-3 toBeDeleted true

# Create temporary destination of RMOD-1/ANTL as RMOD_NEW_FIRST-1/ANTL and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_FIRST-1/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/APMOD/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD/RMOD_NEW_FIRST-1 tempKeyList rmodKey apeqmKey - - ANTL

# Create temporary destination of RMOD-2/ANTL as RMOD_NEW_SECOND-2/ANTL and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_SECOND-2/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/APMOD/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD/RMOD_NEW_SECOND-2 tempKeyList rmodKey apeqmKey - - ANTL

# Create temporary destination of RMOD-3/ANTL as RMOD_NEW_THIRD-3/ANTL and helper objects
add_cls minor APEQM/APMOD/RMOD_NEW_THIRD-3/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/APMOD/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/APMOD/RMOD_NEW_THIRD-3 tempKeyList rmodKey apeqmKey - - ANTL

# Remove unneeded helper objects
del_cls minor RMOD_NEW_FIRST-0
del_cls minor RMOD_NEW_FIRST-1/ANTL-0
del_cls minor RMOD_NEW_SECOND-0
del_cls minor RMOD_NEW_SECOND-1
del_cls minor RMOD_NEW_SECOND-2/ANTL-0
del_cls minor RMOD_NEW_THIRD-0
del_cls minor RMOD_NEW_THIRD-1
del_cls minor RMOD_NEW_THIRD-2
del_cls minor RMOD_NEW_THIRD-3/ANTL-0
#v0.3 added due to different BTSSM logic (PR254754: [Bug 30878]][FLF00]Can not go Next in cell Resources when convert scf from 17A to FLF00)
del_cls minor ANTL-0
#v0.3 end

# Remove empty RMODs and ANTL which were added as side-effect of dependence_move_cls_if_key_atributes_match
del_cls minor APMOD-1/RMOD-1
del_cls minor APMOD-1/RMOD-2
del_cls minor APMOD-1/RMOD-3

del_cls minor APMOD-1/RMOD-1/ANTL-1
del_cls minor APMOD-1/RMOD-1/ANTL-2
del_cls minor APMOD-1/RMOD-2/ANTL-1
del_cls minor APMOD-1/RMOD-2/ANTL-2
del_cls minor APMOD-1/RMOD-3/ANTL-1
del_cls minor APMOD-1/RMOD-3/ANTL-2

# Rename 3 left objects as RMOD-1, RMOD-2, RMOD-3 (effectively renumber RMODs)
rename_cls minor RMOD_NEW_FIRST TMP_FZC_RMOD
rename_cls minor RMOD_NEW_SECOND TMP_FZC_RMOD
rename_cls minor RMOD_NEW_THIRD TMP_FZC_RMOD

# Leave only real RMODs as in the original file but renumbered 
# TMP_FZC_RMOD as intermediate step required due to SU tool bug which doesn't distinguish between APEQM/RMOD and APMOD/RMOD 
dependence_del_target_relative minor MOC MRBTS/EQM/APEQM/APMOD/TMP_FZC_RMOD ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/APMOD-${APMOD}/TMP_FZC_RMOD-${TMP_FZC_RMOD} toBeDeleted == CONST "true"
rename_cls minor TMP_FZC_RMOD RMOD


### FZM standalone specific (no APMOD, only APEQM)

# Prepare dummy APEQM values for below dependence_move_cls_if_key_atributes_match
add_list minor APEQM tempKeyList
add_list_item minor APEQM tempKeyList
add_list_param minor APEQM tempKeyList 0 rmodKey1 1
add_list_param minor APEQM tempKeyList 0 rmodKey2 2
add_list_param minor APEQM tempKeyList 0 rmodKey3 3
add_list_param minor APEQM tempKeyList 0 apeqmKey 1

# Avoid matching FZM part in FZC/SFN configuration
#v0.5 mrbtsId can differ from lnbtsId
copy_param_relative minor MRBTS/LNBTS/FTM/UNIT MRBTS-${MRBTS} unitTypeExpected unitTypeExpected
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM tempKeyList 0 apeqmKey = PARAM MRBTS-${MRBTS} unitTypeExpected == CONST "FZC1100" || PARAM MRBTS-${MRBTS} unitTypeExpected == CONST "FZC2000" ? CONST -1 : 
dependence_mod_param_conditional_expression_relative minor LISTPARAM MRBTS/EQM/APEQM tempKeyList 0 apeqmKey = PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/CABINET-1/SMOD-1 operatingMode == CONST "SFN" ? CONST -1 : 
del_param minor MRBTS unitTypeExpected
#v0.5 end

## Create temporary destination of RMOD-1 as RMOD_NEW_FIRST-1 and helper objects
add_cls minor APEQM/RMOD_NEW_FIRST-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM tempKeyList rmodKey1 apeqmKey - - RMOD_NEW_FIRST
add_cls minor APEQM/RMOD_NEW_FIRST-1
add_param minor RMOD_NEW_FIRST-1 toBeDeleted true

# Create temporary destination of RMOD-2 as RMOD_NEW_SECOND-2 and helper objects
add_cls minor APEQM/RMOD_NEW_SECOND-0
add_cls minor APEQM/RMOD_NEW_SECOND-1
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM tempKeyList rmodKey2 apeqmKey - - RMOD_NEW_SECOND
add_cls minor APEQM/RMOD_NEW_SECOND-2
add_param minor RMOD_NEW_SECOND-2 toBeDeleted true

# Create temporary destination of RMOD-3 as RMOD_NEW_THIRD-3 and helper objects
add_cls minor APEQM/RMOD_NEW_THIRD-0
add_cls minor APEQM/RMOD_NEW_THIRD-1
add_cls minor APEQM/RMOD_NEW_THIRD-2
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM tempKeyList rmodKey3 apeqmKey - - RMOD_NEW_THIRD
add_cls minor APEQM/RMOD_NEW_THIRD-3
add_param minor RMOD_NEW_THIRD-3 toBeDeleted true

# Create temporary destination of RMOD-1/ANTL as RMOD_NEW_FIRST-1/ANTL and helper objects
add_cls minor APEQM/RMOD_NEW_FIRST-1/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/RMOD_NEW_FIRST-1 tempKeyList rmodKey apeqmKey - - ANTL

# Create temporary destination of RMOD-2/ANTL as RMOD_NEW_SECOND-2/ANTL and helper objects
add_cls minor APEQM/RMOD_NEW_SECOND-2/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/RMOD_NEW_SECOND-2 tempKeyList rmodKey apeqmKey - - ANTL

# Create temporary destination of RMOD-3/ANTL as RMOD_NEW_THIRD-3/ANTL and helper objects
add_cls minor APEQM/RMOD_NEW_THIRD-3/ANTL-0
dependence_move_cls_if_key_atributes_match minor  MRBTS/EQM/APEQM/RMOD/ANTL tempKeyList rmodKey apeqmKey - - MRBTS/EQM/APEQM/RMOD_NEW_THIRD-3 tempKeyList rmodKey apeqmKey - - ANTL

# Remove unneeded helper objects
del_cls minor RMOD_NEW_FIRST-0
del_cls minor RMOD_NEW_FIRST-1/ANTL-0
del_cls minor RMOD_NEW_SECOND-0
del_cls minor RMOD_NEW_SECOND-1
del_cls minor RMOD_NEW_SECOND-2/ANTL-0
del_cls minor RMOD_NEW_THIRD-0
del_cls minor RMOD_NEW_THIRD-1
del_cls minor RMOD_NEW_THIRD-2
del_cls minor RMOD_NEW_THIRD-3/ANTL-0
#v0.3 added due to different BTSSM logic (PR254754: [Bug 30878]][FLF00]Can not go Next in cell Resources when convert scf from 17A to FLF00)
del_cls minor ANTL-0
#v0.3 end

# Remove empty RMODs and ANTL which were added as side-effect of dependence_move_cls_if_key_atributes_match
del_cls minor MRBTS/EQM/APEQM/RMOD-1/ANTL-1
del_cls minor MRBTS/EQM/APEQM/RMOD-1/ANTL-2
del_cls minor MRBTS/EQM/APEQM/RMOD-2/ANTL-1
del_cls minor MRBTS/EQM/APEQM/RMOD-2/ANTL-2
del_cls minor MRBTS/EQM/APEQM/RMOD-3/ANTL-1
del_cls minor MRBTS/EQM/APEQM/RMOD-3/ANTL-2

del_cls minor MRBTS/EQM/APEQM/RMOD-1
del_cls minor MRBTS/EQM/APEQM/RMOD-2
del_cls minor MRBTS/EQM/APEQM/RMOD-3

# Rename 3 left objects as RMOD-1, RMOD-2, RMOD-3
rename_cls minor RMOD_NEW_FIRST TMP_FZM_RMOD
rename_cls minor RMOD_NEW_SECOND TMP_FZM_RMOD
rename_cls minor RMOD_NEW_THIRD TMP_FZM_RMOD

# Leave only real RMODs as in the original file but renumbered 
# TMP_FZM_RMOD as intermediate step required due to SU tool bug which doesn't distinguish between APEQM/RMOD and APMOD/RMOD 
dependence_del_target_relative minor MOC MRBTS/EQM/APEQM/TMP_FZM_RMOD ? PARAM MRBTS-${MRBTS}/EQM-${EQM}/APEQM-${APEQM}/TMP_FZM_RMOD-${TMP_FZM_RMOD} toBeDeleted == CONST "true"
rename_cls minor TMP_FZM_RMOD RMOD

#### FZC + FZM standalone common part

# Clean up. Remove temporary attributes/lists
del_param minor RMOD toBeDeleted
del_param minor RMOD tempNewRmodDN
del_param minor RMOD tempOldRmodDN
del_param minor CHANNEL tempOldRmodDN
del_param minor CHANNEL tempAntlDNAfterRmod
del_param minor CHANNEL tempNewRmodDN
del_list minor APEQM tempKeyList
del_list minor APMOD tempKeyList
del_list minor RMOD tempKeyList
del_list minor ANTL tempKeyList
del_param minor MRBTS tempInstanceId
del_param minor APEQM tempInstanceId
del_param minor APMOD tempInstanceId
del_param minor RMOD tempInstanceId
del_param minor RMOD tempNewRmodId
del_param minor RMOD tempParentProdCodePlanned

#v0.4 set operation and adaptation to new classes
set_operation minor RMOD create
set_adaptation minor RMOD com.nokia.srbts.eqm
set_operation minor ANTL create
set_adaptation minor ANTL com.nokia.srbts.eqm
#v0.4 end

#v0.2 end




#history:
add_log minor "Conversion from EQM17ASP_FZM/FZC_1703_001 to EQM17ASP_FZM/FZC_1705_001"
