#######################################################################################
#######################################################################################
#NIDD_VER: xL17SP_1611_001_00, xL17_1611_001_00
#LNBTS: xL17SP_1611_001
#Migration from xL17_1610_006 to xL17SP_1611_001
#13.12.2016/ v0.1 /L.Preuss
#######################################################################################

#######################################################################################
#######################################################################################
#General version check

for_objects "MRBTS/LNBTS"
	begin
		if not ( ( get_version $current_dist_name ) == "xL17_1610_006" ||
            ( get_version $current_dist_name ) == "FL17A_RADIO_1701_004" ||
            ( get_version $current_dist_name ) == "FL17A_RADIO_1701_006" ||
            ( get_version $current_dist_name ) == "FL17A_RADIO_1701_007" )
                begin
                    abort_file
                end
	end
	
if ( objects_count "MRBTS/LNBTS" ) == "0"
	abort_file
#######################################################################################	

#######################################################################################
#######################################################################################
#parameters removal

for_objects "MRBTS/LNBTS/LNCEL/SIB"
	begin
		if ( param_exist $current_dist_name "acBarCsfbOc" ) del_param $current_dist_name "acBarCsfbOc"
		if ( param_exist $current_dist_name "acBarCsfbOcOvl" ) del_param $current_dist_name "acBarCsfbOcOvl"
		if ( param_exist $current_dist_name "acBarMMTelVideoOc" ) del_param $current_dist_name "acBarMMTelVideoOc" 
		if ( param_exist $current_dist_name "acBarMMTelVideoOcOvl" ) del_param $current_dist_name "acBarMMTelVideoOcOvl"
		if ( param_exist $current_dist_name "acBarMMTelVoiceOc" ) del_param $current_dist_name "acBarMMTelVoiceOc"
		if ( param_exist $current_dist_name "acBarMMTelVoiceOcOvl" ) del_param $current_dist_name "acBarMMTelVoiceOcOvl"
		if ( param_exist $current_dist_name "acBarOc" ) del_param $current_dist_name "acBarOc"
		if ( param_exist $current_dist_name "acBarOcOvl" ) del_param $current_dist_name "acBarOcOvl"
		if ( param_exist $current_dist_name "acBarSig" ) del_param $current_dist_name "acBarSig"
		if ( param_exist $current_dist_name "acBarSigOvl" ) del_param $current_dist_name "acBarSigOvl"
		if ( param_exist $current_dist_name "eCallAcBarred" ) del_param $current_dist_name "eCallAcBarred"
		if ( param_exist $current_dist_name "eCallAcBarredOvl" ) del_param $current_dist_name "eCallAcBarredOvl"
	end

#######################################################################################
#######################################################################################
#parameters additions

for_objects "MRBTS/LNBTS"
	begin
		if not ( param_exist $current_dist_name "actAcBarringRrcConn" ) add_param $current_dist_name "actAcBarringRrcConn" "None"
		if not ( param_exist $current_dist_name "actAcBarringRrcReq" ) add_param $current_dist_name "actAcBarringRrcReq" "false"
	end
	
for_objects "MRBTS/LNBTS/LNCEL"
	begin
		if not ( param_exist $current_dist_name "msg3ConsecutiveDtx" ) add_param $current_dist_name "msg3ConsecutiveDtx" "0"
		if not ( param_exist $current_dist_name "msg3DtxOffset" ) add_param $current_dist_name "msg3DtxOffset" "0"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNCEL_FDD"
	begin
		if not ( param_exist $current_dist_name "actRedFreqOffset" ) add_param $current_dist_name "actRedFreqOffset" "false"
	end

for_objects "MRBTS/LNBTS/PMRNL"
	begin
		if not ( param_exist $current_dist_name "mtBroadcast" ) add_param $current_dist_name "mtBroadcast" "15min"
		if not ( param_exist $current_dist_name "mtPIMCancellation" ) add_param $current_dist_name "mtPIMCancellation" "15min"
		
		define "pmccpDN" $current_dist_name JOIN "/PMCCP-1"
		
		if ( objects_count pmccpDN ) == 0
			begin
				add_object pmccpDN
				set_operation pmccpDN "create"
				
				if not ( param_exist pmccpDN "cfgPRBUtilThreshold" ) add_param pmccpDN "cfgPRBUtilThreshold" "15"
			end
	end
	
#######################################################################################

for_objects "MRBTS/LNBTS/CTRLTS/MTRACE"
	begin
        define "mTraceDn" $current_dist_name

        if ( param_exist mTraceDn "enhCellVendorSpecTracing.0.ripReportType" )
            begin
                define "ripReportType" get_param mTraceDn "enhCellVendorSpecTracing.0.ripReportType"

                if ( ripReportType ) == "subframe"
                    begin
                        add_param mTraceDn "enhCellVendorSpecTracing.0.ripReportType" "subframe_slot"
                    end
            end
    end

#######################################################################################
#######################################################################################
#some added validation
for_objects "MRBTS/LNBTS/LNCEL"
	begin
		define "LNCEL_MO" $current_dist_name

		# if actIfHo is enabled then a2TimeToTriggerActInterFreqMeas must be configured.
		# if actIfHo is disabled then a2TimeToTriggerActInterFreqMeas shall not be specified.
		define "actIfHo" "enabled"
		for_objects "MRBTS/LNBTS"
			begin
				if ( param_exist $current_dist_name "actIfHo" )
					define "actIfHo" get_param $current_dist_name "actIfHo"
			end

		if ( actIfHo == "enabled" )
			begin
				if not ( param_exist LNCEL_MO "a2TimeToTriggerActInterFreqMeas" ) add_param LNCEL_MO "a2TimeToTriggerActInterFreqMeas" "480ms"
			end
		else
			begin
				if ( param_exist LNCEL_MO "a2TimeToTriggerActInterFreqMeas" ) del_param LNCEL_MO "a2TimeToTriggerActInterFreqMeas"
			end

	end
#######################################################################################
#######################################################################################
#Set proepr version and adaptation to LNBTS objects

for_objects "MRBTS/LNBTS"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/SCTP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/TRSNW"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANRPRL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ANRPRW"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CADPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CRAN"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/CRGPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS/LTRACE"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/CTRLTS/MTRACE"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/GTPU"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/ISHPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LBPUCCHRDPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNADJ"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNADJ/LNADJL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
for_objects "MRBTS/LNBTS/LNADJG"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNADJW"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNADJX"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/LNBTS_FDD"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end		

for_objects "MRBTS/LNBTS/LNCEL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/AMLEPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/BBPOOLALLOC"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CAPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CAREL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/CDFIM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/DRX"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/GFIM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/GFIM/GNFL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/IAFIM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/IRFIM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNCEL_FDD"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOG"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOH"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOW"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNHOX"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNNEIH"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNREL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELG"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELW"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/LNRELX"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/REDRT"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/SDRX"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/UFFIM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/XPARAM"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCSG"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNHENB"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMCE"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMCE/LNM3"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNMME"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNSENB"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/M1SYNC"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MFBIPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR/MODIMP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MODPR/MODRED"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/MOPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/MOPR/MOIMP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/PMRNL"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/PSGRP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/ULCOMP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/LNCEL/SIB"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
	
for_objects "MRBTS/LNBTS/PMRNL/PMCCP"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/CRGPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNCEL/LNCEL_FDD/MPUCCH_FDD"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	

for_objects "MRBTS/LNBTS/LNCEL/IFGPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/LNCEL/IFGDPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end

for_objects "MRBTS/LNBTS/ACBPR"
	begin
		set_version $current_dist_name "xL17SP_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end
	
for_objects "MRBTS/LNBTS/LNCEL/NBIOT_FDD"
	begin
		set_version $current_dist_name "xL17_1611_001"
		set_adaptation $current_dist_name "NOKLTE"
	end	
#######################################################################################
