#######################################################################################
#######################################################################################
#NIDD_VER: EQM17_1610_003_00
#######################################################################################
#EQM: EQM17_1610_003
#Migration from WBTS17 to SBTS17 - EQM
#22.12.2016/ v0.1 /first draft /John Villangca
#
#######################################################################################

#######################################################################################
#######################################################################################
#If SCF version == WBTS17 proceed with migration, else abort this ruleset

if ( objects_count "WBTS/MRBTS" ) == 0 abort_file

for_objects "WBTS/MRBTS"
	begin
		define "WBTS_MRBTS" $current_dist_name
		define "newMrbtsRoot" "MRBTS-" JOIN $current_MRBTS
		for_objects "MRBTS/BTSSCW"
			if ( param_exist $current_dist_name "btsConfiguration" )
				if ( get_param $current_dist_name "btsConfiguration" ) >= 0 && ( get_param $current_dist_name "btsConfiguration" ) <= 1048575
					define "newMrbtsRoot" "MRBTS-" JOIN get_param $current_dist_name "btsConfiguration"
	end
	
if not ( ( get_version WBTS_MRBTS ) == "WBTS17" || ( get_version WBTS_MRBTS ) == "WBTS18" )
	begin
		abort_file
	end

define "SBTS_EQM" newMrbtsRoot JOIN "/EQM-1"
add_object SBTS_EQM

define "SBTS_APEQM" SBTS_EQM JOIN "/APEQM-1"
add_object SBTS_APEQM

#####SMOD#####
for_objects WBTS_MRBTS JOIN "/SMOD"
	begin
		define "WBTS_SMOD" $current_dist_name
		define "sModId" $current_SMOD
		if ( get_param WBTS_SMOD "technology" ) == "UTRAN"
			begin
				add_object SBTS_APEQM JOIN "/CABINET-" JOIN sModId
				define "SBTS_SMOD" SBTS_APEQM JOIN "/CABINET-" JOIN sModId JOIN "/SMOD-1"
				
				add_object SBTS_SMOD
				add_param SBTS_SMOD "climateControlOcxoTemperatureLearning" "false"
				add_param SBTS_SMOD "eutraSupport" "false"
				add_param SBTS_SMOD "geranSupport" "false"
				add_param SBTS_SMOD "utranSupport" "true"
				if ( param_exist WBTS_SMOD "climateControlProfiling" )
					if not ( get_param WBTS_SMOD "climateControlProfiling" ) == "Not Used" add_param SBTS_SMOD "climateControlProfiling" get_param WBTS_SMOD "climateControlProfiling"
				if ( param_exist WBTS_SMOD "moduleLocation" ) add_param SBTS_SMOD "moduleLocation" get_param WBTS_SMOD "moduleLocation"
				if ( param_exist WBTS_SMOD "prodCode" ) add_param SBTS_SMOD "prodCodePlanned" get_param WBTS_SMOD "prodCode"

				#####SMOD/EAC_IN#####
				for_list WBTS_SMOD "extAlList"
					begin
						define "SBTS_SMOD_EAC_IN" SBTS_SMOD JOIN "/EAC_IN-" JOIN ( $current_index + 1 )
						define "WBTS_SMOD_extAlList_PREFIX" "extAlList." JOIN $current_index JOIN "."

						add_object SBTS_SMOD_EAC_IN
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "cancelDelay" ) add_param SBTS_SMOD_EAC_IN "cancelDelay" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "cancelDelay"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "descr" ) add_param SBTS_SMOD_EAC_IN "descr" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "descr"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "inUse" ) add_param SBTS_SMOD_EAC_IN "inUse" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "inUse"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "polarity" ) add_param SBTS_SMOD_EAC_IN "polarity" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "polarity"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "id" ) add_param SBTS_SMOD_EAC_IN "portId" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "id"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "severity" ) add_param SBTS_SMOD_EAC_IN "severity" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "severity"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "startDelay" ) add_param SBTS_SMOD_EAC_IN "startDelay" get_param WBTS_SMOD WBTS_SMOD_extAlList_PREFIX JOIN "startDelay"
					end
				#####SMOD/EAC_IN#####

				#####SMOD/EAC_OUT#####
				for_list WBTS_SMOD "extCtrlList"
					begin
						define "SBTS_SMOD_EAC_OUT" SBTS_SMOD JOIN "/EAC_OUT-" JOIN ( $current_index + 1 )
						define "WBTS_SMOD_extCtrlList_PREFIX" "extCtrlList." JOIN $current_index JOIN "."

						add_object SBTS_SMOD_EAC_OUT
						if ( param_exist WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "descr" ) add_param SBTS_SMOD_EAC_OUT "descr" get_param WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "descr"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "inUse" ) add_param SBTS_SMOD_EAC_OUT "inUse" get_param WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "inUse"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "id" ) add_param SBTS_SMOD_EAC_OUT "portId" get_param WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "id"
						if ( param_exist WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "initState" ) add_param SBTS_SMOD_EAC_OUT "state" get_param WBTS_SMOD WBTS_SMOD_extCtrlList_PREFIX JOIN "initState"
					end
				#####SMOD/EAC_OUT#####

				#####SMOD/TRMOD#####
				for_objects "FTM/UNIT"
					begin
						define "WBTS_UNIT" $current_dist_name
						if ( param_exist WBTS_UNIT "unitTypeActual" )
							begin
								define "actualType" get_param WBTS_UNIT "unitTypeActual"
								if ( actualType != "FSM" && actualType != "FSI" )
									begin
										define "SBTS_TRMOD" SBTS_SMOD JOIN "/TRMOD-1"
										if ( 0 == objects_count ( "TRMOD" ) ) 
											begin
												add_object SBTS_TRMOD
												add_param SBTS_TRMOD "prodCodePlanned" get_param WBTS_UNIT "unitTypeActual"
											end
									end		
							end
					end
				#####SMOD/TRMOD#####
			end
		else	
			begin
				define "SBTS_SMOD_EXT" SBTS_EQM JOIN "/SMOD_EXT-" JOIN sModId
				
				add_object SBTS_SMOD_EXT
				if ( get_param WBTS_SMOD "technology" ) == "EUTRA" add_param SBTS_SMOD_EXT "eutraSupport" "true"
					else add_param SBTS_SMOD_EXT "eutraSupport" "false"
				if ( get_param WBTS_SMOD "technology" ) == "GERAN" add_param SBTS_SMOD_EXT "geranSupport" "true"
					else add_param SBTS_SMOD_EXT "geranSupport" "false"
				add_param SBTS_SMOD_EXT "utranSupport" "false"
				if ( param_exist WBTS_SMOD "moduleLocation" ) add_param SBTS_SMOD_EXT "moduleLocation" get_param WBTS_SMOD "moduleLocation"
				if ( param_exist WBTS_SMOD "prodCode" ) add_param SBTS_SMOD_EXT "productCode" get_param WBTS_SMOD "prodCode"
				if ( param_exist WBTS_SMOD "serNum" ) add_param SBTS_SMOD_EXT "serialNumber" get_param WBTS_SMOD "serNum"
				if ( param_exist WBTS_SMOD "syncMaster" ) add_param SBTS_SMOD_EXT "syncMaster" get_param WBTS_SMOD "syncMaster"
			end
	end
	
for_objects SBTS_SMOD
	begin
		define "currentSMOD" $current_dist_name
		for_objects "WBTS/FTM/UNIT"
			begin
				if ( param_exist $current_dist_name "enableRP301Interface" )
					begin
						if ( get_param $current_dist_name "enableRP301Interface" ) == "true" add_param currentSMOD "portMode" "RF"
						else add_param currentSMOD "portMode" "Ethernet"
					end
			end
	end
#####SMOD#####

#####BBMOD#####
for_list WBTS_MRBTS "unitList"
	begin
		define "WBTS_MRBTS_unitList_PREFIX" "unitList." JOIN $current_index JOIN "."
		if ( get_param WBTS_MRBTS WBTS_MRBTS_unitList_PREFIX JOIN "unitName" ) == "FSP"
			begin
				define "unitNumber" get_param WBTS_MRBTS WBTS_MRBTS_unitList_PREFIX JOIN "unitNumber"
			
				if ( unitNumber < 10 )
					define "SBTS_BBMOD" SBTS_APEQM JOIN "/CABINET-1/BBMOD-" JOIN unitNumber
				else
					define "SBTS_BBMOD" SBTS_APEQM JOIN "/CABINET-2/BBMOD-" JOIN ( unitNumber - 10 )
				
				add_object SBTS_BBMOD
				
				add_param SBTS_BBMOD "eutraSupport" "false"
				add_param SBTS_BBMOD "geranSupport" "false"
				add_param SBTS_BBMOD "prodCodePlanned" get_param WBTS_MRBTS WBTS_MRBTS_unitList_PREFIX JOIN "prodCode"
				add_param SBTS_BBMOD "utranSupport" "true"
				add_param SBTS_BBMOD "useFullCapacity" "true"
			end
	end
#####BBMOD#####

#####RMOD#####
for_objects WBTS_MRBTS JOIN "/RMOD"
	begin
		define "WBTS_RMOD" $current_dist_name
		define "SBTS_RMOD" SBTS_APEQM JOIN "/RMOD-" JOIN $current_RMOD
		
		add_object SBTS_RMOD
		if ( param_exist WBTS_RMOD "climateControlProfiling" )
			if not ( get_param WBTS_RMOD "climateControlProfiling" ) == "Not Used" add_param SBTS_RMOD "climateControlProfiling" get_param WBTS_RMOD "climateControlProfiling"
		if ( param_exist WBTS_RMOD "moduleLocation" ) add_param SBTS_RMOD "moduleLocation" get_param WBTS_RMOD "moduleLocation"
		if ( param_exist WBTS_RMOD "prodCode" ) add_param SBTS_RMOD "prodCodePlanned" get_param WBTS_RMOD "prodCode"
        else add_param SBTS_RMOD "prodCodePlanned" "undefined"

		
		#####RMOD/EAC_IN#####
		for_list WBTS_RMOD "extAlList"
			begin
				define "SBTS_RMOD_EAC_IN" SBTS_RMOD JOIN "/EAC_IN-" JOIN ( $current_index + 1 )
				define "WBTS_RMOD_extAlList_PREFIX" "extAlList." JOIN $current_index JOIN "."

				add_object SBTS_RMOD_EAC_IN
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "cancelDelay" ) add_param SBTS_RMOD_EAC_IN "cancelDelay" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "cancelDelay"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "descr" ) add_param SBTS_RMOD_EAC_IN "descr" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "descr"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "polarity" ) add_param SBTS_RMOD_EAC_IN "polarity" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "polarity"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "id" ) add_param SBTS_RMOD_EAC_IN "portId" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "id"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "severity" ) add_param SBTS_RMOD_EAC_IN "severity" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "severity"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "startDelay" ) add_param SBTS_RMOD_EAC_IN "startDelay" get_param WBTS_RMOD WBTS_RMOD_extAlList_PREFIX JOIN "startDelay"
				add_param SBTS_RMOD_EAC_IN "inUse" "true"
			end
		#####RMOD/EAC_IN#####

		#####RMOD/EAC_OUT#####
		for_list WBTS_RMOD "extCtrlList"
			begin
				define "SBTS_RMOD_EAC_OUT" SBTS_RMOD JOIN "/EAC_OUT-" JOIN ( $current_index + 1 )
				define "WBTS_RMOD_extCtrlList_PREFIX" "extCtrlList." JOIN $current_index JOIN "."

				add_object SBTS_RMOD_EAC_OUT
				if ( param_exist WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "descr" ) add_param SBTS_RMOD_EAC_OUT "descr" get_param WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "descr"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "inUse" ) add_param SBTS_RMOD_EAC_OUT "inUse" get_param WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "inUse"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "id" ) add_param SBTS_RMOD_EAC_OUT "portId" get_param WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "id"
				if ( param_exist WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "initState" ) add_param SBTS_RMOD_EAC_OUT "state" get_param WBTS_RMOD WBTS_RMOD_extCtrlList_PREFIX JOIN "initState"
			end
		#####RMOD/EAC_OUT#####
		
		#####RMOD/ANTL#####
		define "rModId" $current_RMOD
		for_objects WBTS_MRBTS JOIN "/ANTL"
			begin
				define "WBTS_ANTL" $current_dist_name
				define "antlId" $current_ANTL
				
				if ( get_param WBTS_ANTL "rModId" ) == rModId 
					begin
						define "SBTS_PHYANT" SBTS_APEQM JOIN "/PHYANT-" JOIN antlId
						add_object SBTS_PHYANT
						define "SBTS_PHYANTU" SBTS_PHYANT JOIN "/PHYANTU-1"
						add_object SBTS_PHYANTU
				
						define "SBTS_ANTL" SBTS_RMOD JOIN "/ANTL-" JOIN antlId
						add_object SBTS_ANTL
						
						add_param SBTS_ANTL "cwaThreshold" "215"
						add_param SBTS_ANTL "dcVoltage" "AUTO"
						add_param SBTS_ANTL "hdlcCommunicationAllowed" "true"
						add_param SBTS_ANTL "totalLoss" "30"

						if ( param_exist WBTS_ANTL "antennaRoundTripDelay" ) add_param SBTS_ANTL "antennaRoundTripDelay" get_param WBTS_ANTL "antennaRoundTripDelay"
						if ( param_exist WBTS_ANTL "communication3gppEnabled" ) add_param SBTS_ANTL "hdlcCommunicationAllowed" get_param WBTS_ANTL "communication3gppEnabled"
							else add_param SBTS_ANTL "hdlcCommunicationAllowed" "true"
						if ( param_exist WBTS_ANTL "ulDelay" ) add_param SBTS_ANTL "ulDelay" get_param WBTS_ANTL "ulDelay"
						if ( param_exist WBTS_ANTL "vswrMajorAlarm" )
							begin
								define "value" get_param WBTS_ANTL "vswrMajorAlarm"
								if value > 35 define "value" "35"
								add_param SBTS_ANTL "vswrMajorThreshold" value
							end
						if ( param_exist WBTS_ANTL "vswrMinorAlarm" ) add_param SBTS_ANTL "vswrMinorThreshold" get_param WBTS_ANTL "vswrMinorAlarm"
						if ( param_exist WBTS_ANTL "alDcVoltageEnabled" )
							begin
								if ( get_param WBTS_ANTL "alDcVoltageEnabled" ) == "false" add_param SBTS_ANTL "dcVoltage" "OFF"
									else add_param SBTS_ANTL "dcVoltage" "AUTO"
							end
							else add_param SBTS_ANTL "dcVoltage" "AUTO"
						if ( param_exist WBTS_ANTL "antennaTotalLoss" )
							begin
								define "value" "" JOIN get_param WBTS_ANTL "antennaTotalLoss"
								define "value" replace value "-" ""
								if value > 990 define "value" "990"
								add_param SBTS_ANTL "totalLoss" value
							end
							else add_param SBTS_ANTL "totalLoss" "30"
						if ( param_exist WBTS_ANTL "antId" )
							begin
								define "value" get_param WBTS_ANTL "antId"
								define "value" replace value "ANT" ""
								add_param SBTS_ANTL "antPortId" value
							end
						
						# Find MRBTS/MHA with corresponding antlId ; if mhaAlarmDetection = false, set 0 , else copy alarmThresholdLevel
						define "value" ""
						for_objects WBTS_MRBTS JOIN "/MHA"
							begin
								define "WBTS_MHA" $current_dist_name
								if ( param_exist WBTS_MHA "antlId" )
									if ( get_param WBTS_MHA "antlId" ) == antlId
										if ( param_exist WBTS_MHA "mhaAlarmDetection" )
											if ( get_param WBTS_MHA "mhaAlarmDetection" ) == "true"
												begin
													if ( param_exist WBTS_MHA "alarmThresholdLevel" )
														define "value" get_param WBTS_MHA "alarmThresholdLevel"
												end
												else define "value" "0"
								if value == "" add_param SBTS_ANTL "cwaThreshold" "215"
									else add_param SBTS_ANTL "cwaThreshold" value
							end
						
						if ( param_exist WBTS_ANTL "additionalRxGain" )
							if not ( get_param WBTS_ANTL "additionalRxGain" ) == 0
								begin
									define "PASSDEV_COUNT" objects_count "MRBTS/EQM/APEQM/PASSDEV"
									define "PASSDEV_COUNT" PASSDEV_COUNT + 1
									define "SBTS_PASSDEV" SBTS_APEQM JOIN "/PASSDEV-" JOIN PASSDEV_COUNT
									add_object SBTS_PASSDEV
									
									add_param SBTS_PASSDEV "additionalTxAttenuation" "0"
									add_param SBTS_PASSDEV "additionalTxGain" "0"
									add_param SBTS_PASSDEV "inventoryUnitType" "Not Available"
									add_param SBTS_PASSDEV "vendorName" "Not Available"

									
									add_param SBTS_PASSDEV "additionalRxGain" get_param WBTS_ANTL "additionalRxGain"
									
									add_param SBTS_PASSDEV "tempLoglinkANTL" SBTS_ANTL
								end
						
					end
			end
		#####RMOD/ANTL#####
	end
#####RMOD#####

#####ALD#####
define "ALD_COUNT" 0

#####ALD/LNA#####
# All MHA managed objects which belong to single device should be added under single ALD object (same prodCode and serNum)
for_objects WBTS_MRBTS JOIN "/MHA"
begin
	define "WBTS_MHA" $current_dist_name
	define "mhaId" $current_MHA
	if not ( param_exist WBTS_MHA "tempDone" )
		begin
			define "ALD_COUNT" ALD_COUNT + 1
			define "SBTS_ALD" SBTS_APEQM JOIN "/ALD-" JOIN ALD_COUNT
			add_object SBTS_ALD
		
			define "prodCode" ""
			define "serNum" ""
			if ( param_exist WBTS_MHA "prodCode" )
				begin
					define "prodCode" get_param WBTS_MHA "prodCode"
					add_param SBTS_ALD "productCode" prodCode
				end
			if ( param_exist WBTS_MHA "serNum" )
				begin
					define "serNum" get_param WBTS_MHA "serNum"
					add_param SBTS_ALD "serialNumber" serNum
				end
			
			if not ( prodCode == "" || serNum == "" )
				begin
					for_objects WBTS_MRBTS JOIN "/MHA"
						begin
							define "WBTS_MHA_INNER_LOOP" $current_dist_name
							define "mhaId" $current_MHA
							if ( param_exist WBTS_MHA_INNER_LOOP "prodCode" )
								if ( get_param WBTS_MHA_INNER_LOOP "prodCode" ) == prodCode
									if ( param_exist WBTS_MHA_INNER_LOOP "serNum" )
										if ( get_param WBTS_MHA_INNER_LOOP "serNum" ) == serNum
											begin
												add_param WBTS_MHA_INNER_LOOP "tempDone" "true"
												define "SBTS_LNA" SBTS_ALD JOIN "/LNA-" JOIN mhaId
												add_object SBTS_LNA
												
												if ( param_exist WBTS_MHA_INNER_LOOP "antBearing" ) add_param SBTS_LNA "antBearing" get_param WBTS_MHA_INNER_LOOP "antBearing"
												if ( param_exist WBTS_MHA_INNER_LOOP "antModel" ) add_param SBTS_LNA "antModel" get_param WBTS_MHA_INNER_LOOP "antModel"
												if ( param_exist WBTS_MHA_INNER_LOOP "antSerial" ) add_param SBTS_LNA "antSerial" get_param WBTS_MHA_INNER_LOOP "antSerial"
												if ( param_exist WBTS_MHA_INNER_LOOP "baseStationID" ) add_param SBTS_LNA "baseStationID" get_param WBTS_MHA_INNER_LOOP "baseStationID"
												if ( param_exist WBTS_MHA_INNER_LOOP "mhaGain" ) add_param SBTS_LNA "gain" get_param WBTS_MHA_INNER_LOOP "mhaGain"
												if ( param_exist WBTS_MHA_INNER_LOOP "installDate" ) add_param SBTS_LNA "installDate" get_param WBTS_MHA_INNER_LOOP "installDate"
												if ( param_exist WBTS_MHA_INNER_LOOP "installerID" ) add_param SBTS_LNA "installerID" get_param WBTS_MHA_INNER_LOOP "installerID"
												if ( param_exist WBTS_MHA_INNER_LOOP "sectorID" ) add_param SBTS_LNA "sectorID" get_param WBTS_MHA_INNER_LOOP "sectorID"
												
												if ( param_exist WBTS_MHA_INNER_LOOP "lnaNumber" )
													begin
														define "value" get_param WBTS_MHA_INNER_LOOP "lnaNumber"
														if ( value == "LNA1" ) add_param SBTS_LNA "subunitNumber" "1"
														if ( value == "LNA2" ) add_param SBTS_LNA "subunitNumber" "2"
													end
												
												if ( param_exist WBTS_MHA_INNER_LOOP "wmhConnector" )
													begin
														define "value" get_param WBTS_MHA_INNER_LOOP "wmhConnector"
														if ( value == "BTS1" || value == "NODEB0" ) add_param SBTS_LNA "subunitNumber" "1"
														if ( value == "BTS2" || value == "NODEB1" ) add_param SBTS_LNA "subunitNumber" "2"
													end
												
												if ( param_exist WBTS_MHA_INNER_LOOP "antBandList" )
													begin
														copy_list WBTS_MHA_INNER_LOOP "antBandList" SBTS_LNA "antBandList"
														
														for_list SBTS_LNA "antBandList"
															begin
																if ( param_exist SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand" )
																	begin
																		define "value" get_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
																		
																		if ( value == "Band I" ) define "value" 1
																		if ( value == "Band II" ) define "value" 2
																		if ( value == "Band III" ) define "value" 3
																		if ( value == "Band IV" ) define "value" 4
																		if ( value == "Band V" ) define "value" 5
																		if ( value == "Band VI" ) define "value" 6
																		if ( value == "Band VII" ) define "value" 7
																		if ( value == "Band VIII" ) define "value" 8
																		if ( value == "Band IX" ) define "value" 9
																		if ( value == "Band X" ) define "value" 10
																		if ( value == "Band XI" ) define "value" 11
																		if ( value == "Band XII" ) define "value" 12
																		if ( value == "Band XIII" ) define "value" 13
																		if ( value == "Band XIV" ) define "value" 14
																		if ( value == "Band XVII" ) define "value" 17
																		if ( value == "Band XVIII" ) define "value" 18
																		if ( value == "Band XIX" ) define "value" 19
																		if ( value == "Band XX" ) define "value" 20
																		if ( value == "Band XXI" ) define "value" 21
																		if ( value == "Band XXII" ) define "value" 22
																		if ( value == "Band 23" ) define "value" 23
																		if ( value == "Band 24" ) define "value" 24
																		if ( value == "Band XXV" ) define "value" 25
																		if ( value == "Band XXVI" ) define "value" 26
																		if ( value == "Band 27" ) define "value" 27
																		if ( value == "Band 28" ) define "value" 28
																		if ( value == "Band 29" ) define "value" 29
																		if ( value == "Band 30" ) define "value" 30
																		if ( value == "Band 31" ) define "value" 31
																		if ( value == "Band XXXII" ) define "value" 32
																		if ( value == "Band a33" ) define "value" 33
																		if ( value == "Band a34" ) define "value" 34
																		if ( value == "Band b35" ) define "value" 35
																		if ( value == "Band b36" ) define "value" 36
																		if ( value == "Band c" ) define "value" 37
																		if ( value == "Band d" ) define "value" 38
																		if ( value == "Band f" ) define "value" 39
																		if ( value == "Band e" ) define "value" 40
																		if ( value == "Band 41" ) define "value" 41
																		if ( value == "Band 42" ) define "value" 42
																		if ( value == "Band 43" ) define "value" 43
																		if ( value == "Band 44" ) define "value" 44
																																				
																		add_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antFreqBand" value
																		del_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
																	end
															end
													end
												
												if ( param_exist WBTS_MHA_INNER_LOOP "active" )
													begin
														if ( get_param WBTS_MHA_INNER_LOOP "active" ) == "true" add_param SBTS_ALD "controlProtocol" "AISG 2.0"
															else add_param SBTS_ALD "controlProtocol" "CWA"
													end
													else add_param SBTS_ALD "controlProtocol" "AISG 2.0"
												
												if ( param_exist WBTS_MHA_INNER_LOOP "mhaType" )
													begin
														define "value" get_param WBTS_MHA_INNER_LOOP "mhaType"
														define "value" replace value "(.*TMA.*)" "Other"
														add_param SBTS_ALD "mhaType" value
													end
													else add_param SBTS_ALD "mhaType" "WMHA"
												
												# to be deleted later. used for LOGLINK
												add_param SBTS_LNA "tempScannedAntennaInterface" get_param WBTS_MHA_INNER_LOOP "scannedAntennaInterface"
												add_param SBTS_LNA "tempAntlId" get_param WBTS_MHA_INNER_LOOP "antlId"
												add_param SBTS_LNA "tempConnection" get_param WBTS_MHA_INNER_LOOP "connection"
											end
									
						end
				end
				
				else
					begin
						add_param WBTS_MHA "tempDone" "true"
						define "SBTS_LNA" SBTS_ALD JOIN "/LNA-" JOIN mhaId
						add_object SBTS_LNA
						
						if ( param_exist WBTS_MHA "antBearing" ) add_param SBTS_LNA "antBearing" get_param WBTS_MHA "antBearing"
						if ( param_exist WBTS_MHA "antModel" ) add_param SBTS_LNA "antModel" get_param WBTS_MHA "antModel"
						if ( param_exist WBTS_MHA "antSerial" ) add_param SBTS_LNA "antSerial" get_param WBTS_MHA "antSerial"
						if ( param_exist WBTS_MHA "baseStationID" ) add_param SBTS_LNA "baseStationID" get_param WBTS_MHA "baseStationID"
						if ( param_exist WBTS_MHA "mhaGain" ) add_param SBTS_LNA "gain" get_param WBTS_MHA "mhaGain"
						if ( param_exist WBTS_MHA "installDate" ) add_param SBTS_LNA "installDate" get_param WBTS_MHA "installDate"
						if ( param_exist WBTS_MHA "installerID" ) add_param SBTS_LNA "installerID" get_param WBTS_MHA "installerID"
						if ( param_exist WBTS_MHA "sectorID" ) add_param SBTS_LNA "sectorID" get_param WBTS_MHA "sectorID"
						
						if ( param_exist WBTS_MHA "lnaNumber" )
							begin
								define "value" get_param WBTS_MHA "lnaNumber"
								if ( value == "LNA1" ) add_param SBTS_LNA "subunitNumber" "1"
								if ( value == "LNA2" ) add_param SBTS_LNA "subunitNumber" "2"
							end
						
						if ( param_exist WBTS_MHA "wmhConnector" )
							begin
								define "value" get_param WBTS_MHA "wmhConnector"
								if ( value == "BTS1" || value == "NODEB0" ) add_param SBTS_LNA "subunitNumber" "1"
								if ( value == "BTS2" || value == "NODEB1" ) add_param SBTS_LNA "subunitNumber" "2"
							end
						
						if ( param_exist WBTS_MHA "antBandList" )
							begin
								copy_list WBTS_MHA "antBandList" SBTS_LNA "antBandList"
								
								for_list SBTS_LNA "antBandList"
									begin
										if ( param_exist SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand" )
											begin
												define "value" get_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
												
												if ( value == "Band I" ) define "value" 1
												if ( value == "Band II" ) define "value" 2
												if ( value == "Band III" ) define "value" 3
												if ( value == "Band IV" ) define "value" 4
												if ( value == "Band V" ) define "value" 5
												if ( value == "Band VI" ) define "value" 6
												if ( value == "Band VII" ) define "value" 7
												if ( value == "Band VIII" ) define "value" 8
												if ( value == "Band IX" ) define "value" 9
												if ( value == "Band X" ) define "value" 10
												if ( value == "Band XI" ) define "value" 11
												if ( value == "Band XII" ) define "value" 12
												if ( value == "Band XIII" ) define "value" 13
												if ( value == "Band XIV" ) define "value" 14
												if ( value == "Band XVII" ) define "value" 17
												if ( value == "Band XVIII" ) define "value" 18
												if ( value == "Band XIX" ) define "value" 19
												if ( value == "Band XX" ) define "value" 20
												if ( value == "Band XXI" ) define "value" 21
												if ( value == "Band XXII" ) define "value" 22
												if ( value == "Band 23" ) define "value" 23
												if ( value == "Band 24" ) define "value" 24
												if ( value == "Band XXV" ) define "value" 25
												if ( value == "Band XXVI" ) define "value" 26
												if ( value == "Band 27" ) define "value" 27
												if ( value == "Band 28" ) define "value" 28
												if ( value == "Band 29" ) define "value" 29
												if ( value == "Band 30" ) define "value" 30
												if ( value == "Band 31" ) define "value" 31
												if ( value == "Band XXXII" ) define "value" 32
												if ( value == "Band a33" ) define "value" 33
												if ( value == "Band a34" ) define "value" 34
												if ( value == "Band b35" ) define "value" 35
												if ( value == "Band b36" ) define "value" 36
												if ( value == "Band c" ) define "value" 37
												if ( value == "Band d" ) define "value" 38
												if ( value == "Band f" ) define "value" 39
												if ( value == "Band e" ) define "value" 40
												if ( value == "Band 41" ) define "value" 41
												if ( value == "Band 42" ) define "value" 42
												if ( value == "Band 43" ) define "value" 43
												if ( value == "Band 44" ) define "value" 44
																														
												add_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antFreqBand" value
												del_param SBTS_LNA "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
											end
									end
							end
						
						if ( param_exist WBTS_MHA "active" )
							begin
								if ( get_param WBTS_MHA "active" ) == "true" add_param SBTS_ALD "controlProtocol" "AISG 2.0"
									else add_param SBTS_ALD "controlProtocol" "CWA"
							end
							else add_param SBTS_ALD "controlProtocol" "AISG 2.0"
						
						if ( param_exist WBTS_MHA "mhaType" )
							begin
								define "value" get_param WBTS_MHA "mhaType"
								define "value" replace value "(.*TMA.*)" "Other"
								add_param SBTS_ALD "mhaType" value
							end
							else add_param SBTS_ALD "mhaType" "WMHA"

						# to be deleted later. used for LOGLINK
						add_param SBTS_LNA "tempScannedAntennaInterface" get_param WBTS_MHA "scannedAntennaInterface"
						add_param SBTS_LNA "tempAntlId" get_param WBTS_MHA "antlId"
						add_param SBTS_LNA "tempConnection" get_param WBTS_MHA "connection"
					end
		end
end
#####ALD/LNA#####

#####ALD/RETU#####
#If “retDeviceType = SingleAntennaDevice” then add separate ALD object for it
#If “retDeviceType = MultiAntennaDevice” then add all RET units belonging to the same multi RET device under single ALD object

for_objects WBTS_MRBTS JOIN "/RET"
	begin
		define "WBTS_RET" $current_dist_name
		define "retId" $current_RET
		define "ALD_COUNT" ALD_COUNT + 1
		define "SBTS_ALD" SBTS_APEQM JOIN "/ALD-" JOIN ALD_COUNT
		add_object SBTS_ALD
		
		define "prodCode" ""
		define "serNum" ""
		if ( param_exist WBTS_RET "prodCode" )
			begin
				define "prodCode" get_param WBTS_RET "prodCode"
				add_param SBTS_ALD "productCode" prodCode
			end
		if ( param_exist WBTS_RET "serNum" )
			begin
				define "serNum" get_param WBTS_RET "serNum"
				add_param SBTS_ALD "serialNumber" serNum
			end
		
		add_param SBTS_ALD "controlProtocol" "AISG 2.0"
				
		if ( get_param WBTS_RET "retDeviceType" ) == "SingleAntennaDevice"
			begin
				define "SBTS_RETU" SBTS_ALD JOIN "/RETU-" JOIN retId
				add_object SBTS_RETU
				add_param WBTS_RET "tempDone" "true"
				# For legacy - SBTS RET mapping
				add_param WBTS_RET "tempSbtsRetDN" SBTS_RETU
				
				if ( param_exist WBTS_RET "angle" ) add_param SBTS_RETU "angle" get_param WBTS_RET "angle"
				if ( param_exist WBTS_RET "antBearing" ) add_param SBTS_RETU "antBearing" get_param WBTS_RET "antBearing"
				if ( param_exist WBTS_RET "antModel" ) add_param SBTS_RETU "antModel" get_param WBTS_RET "antModel"
				if ( param_exist WBTS_RET "antSerial" ) add_param SBTS_RETU "antSerial" get_param WBTS_RET "antSerial"
				if ( param_exist WBTS_RET "baseStationID" ) add_param SBTS_RETU "baseStationID" get_param WBTS_RET "baseStationID"
				if ( param_exist WBTS_RET "installDate" ) add_param SBTS_RETU "installDate" get_param WBTS_RET "installDate"
				if ( param_exist WBTS_RET "installerID" ) add_param SBTS_RETU "installerID" get_param WBTS_RET "installerID"
				if ( param_exist WBTS_RET "maxAngle" ) add_param SBTS_RETU "maxAngle" get_param WBTS_RET "maxAngle"
				if ( param_exist WBTS_RET "mechanicalAngle" ) add_param SBTS_RETU "mechanicalAngle" get_param WBTS_RET "mechanicalAngle"
				if ( param_exist WBTS_RET "minAngle" ) add_param SBTS_RETU "minAngle" get_param WBTS_RET "minAngle"
				if ( param_exist WBTS_RET "sectorID" ) add_param SBTS_RETU "sectorID" get_param WBTS_RET "sectorID"
				if ( param_exist WBTS_RET "retAntUnitNumber" ) add_param SBTS_RETU "subunitNumber" get_param WBTS_RET "retAntUnitNumber"
				
				if ( ( param_exist WBTS_RET "connection" ) && ( "External" == get_param WBTS_RET "connection" ) )
					begin
						add_list SBTS_RETU "phyAntUDNList"
						add_param SBTS_RETU "phyAntUDNList.0" "external"
					end
				else
					begin
						if ( param_exist WBTS_RET "antlIdList" )
							begin
								add_list SBTS_RETU "phyAntUDNList"
								for_list WBTS_RET "antlIdList"
									begin
										define "antlId" get_param WBTS_RET "antlIdList." JOIN $current_index
										add_param SBTS_RETU "phyAntUDNList." JOIN $current_index SBTS_APEQM JOIN "/PHYANT-" JOIN antlId JOIN "/PHYANTU-1"
									end
							end
					end

				# to be deleted later. used for LOGLINK
				add_param SBTS_RETU "tempScannedAntennaInterface" get_param WBTS_RET "scannedAntennaInterface"

				if ( param_exist WBTS_RET "antBandList" )
					begin
						copy_list WBTS_RET "antBandList" SBTS_RETU "antBandList"
						
						for_list SBTS_RETU "antBandList"
							begin
								if ( param_exist SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand" )
									begin
										define "value" get_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
										
										if ( value == "Band I" ) define "value" 1
										if ( value == "Band II" ) define "value" 2
										if ( value == "Band III" ) define "value" 3
										if ( value == "Band IV" ) define "value" 4
										if ( value == "Band V" ) define "value" 5
										if ( value == "Band VI" ) define "value" 6
										if ( value == "Band VII" ) define "value" 7
										if ( value == "Band VIII" ) define "value" 8
										if ( value == "Band IX" ) define "value" 9
										if ( value == "Band X" ) define "value" 10
										if ( value == "Band XI" ) define "value" 11
										if ( value == "Band XII" ) define "value" 12
										if ( value == "Band XIII" ) define "value" 13
										if ( value == "Band XIV" ) define "value" 14
										if ( value == "Band XVII" ) define "value" 17
										if ( value == "Band XVIII" ) define "value" 18
										if ( value == "Band XIX" ) define "value" 19
										if ( value == "Band XX" ) define "value" 20
										if ( value == "Band XXI" ) define "value" 21
										if ( value == "Band XXII" ) define "value" 22
										if ( value == "Band 23" ) define "value" 23
										if ( value == "Band 24" ) define "value" 24
										if ( value == "Band XXV" ) define "value" 25
										if ( value == "Band XXVI" ) define "value" 26
										if ( value == "Band 27" ) define "value" 27
										if ( value == "Band 28" ) define "value" 28
										if ( value == "Band 29" ) define "value" 29
										if ( value == "Band 30" ) define "value" 30
										if ( value == "Band 31" ) define "value" 31
										if ( value == "Band XXXII" ) define "value" 32
										if ( value == "Band a33" ) define "value" 33
										if ( value == "Band a34" ) define "value" 34
										if ( value == "Band b35" ) define "value" 35
										if ( value == "Band b36" ) define "value" 36
										if ( value == "Band c" ) define "value" 37
										if ( value == "Band d" ) define "value" 38
										if ( value == "Band f" ) define "value" 39
										if ( value == "Band e" ) define "value" 40
										if ( value == "Band 41" ) define "value" 41
										if ( value == "Band 42" ) define "value" 42
										if ( value == "Band 43" ) define "value" 43
										if ( value == "Band 44" ) define "value" 44
																												
										add_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antFreqBand" value
										del_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
									end
							end
					end

			end

		if ( get_param WBTS_RET "retDeviceType" ) == "MultiAntennaDevice"
			begin
				if not ( param_exist WBTS_RET "tempDone" )
					begin
						if not ( prodCode == "" || serNum == "" )
							begin
								for_objects WBTS_MRBTS JOIN "/RET"
									begin
										define "WBTS_RET_INNER_LOOP" $current_dist_name
										define "retId" $current_RET
										
										if ( get_param WBTS_RET_INNER_LOOP "retDeviceType" ) == "MultiAntennaDevice"
										if ( param_exist WBTS_RET_INNER_LOOP "prodCode" )
											if ( get_param WBTS_RET_INNER_LOOP "prodCode" ) == prodCode
												if ( param_exist WBTS_RET_INNER_LOOP "serNum" )
													if ( get_param WBTS_RET_INNER_LOOP "serNum" ) == serNum
														begin
															add_param WBTS_RET_INNER_LOOP "tempDone" "true"
															define "SBTS_RETU" SBTS_ALD JOIN "/RETU-" JOIN retId
															add_object SBTS_RETU
															# For legacy - SBTS RET mapping
															add_param WBTS_RET_INNER_LOOP "tempSbtsRetDN" SBTS_RETU
															
															if ( param_exist WBTS_RET_INNER_LOOP "angle" ) add_param SBTS_RETU "angle" get_param WBTS_RET_INNER_LOOP "angle"
															if ( param_exist WBTS_RET_INNER_LOOP "antBearing" ) add_param SBTS_RETU "antBearing" get_param WBTS_RET_INNER_LOOP "antBearing"
															if ( param_exist WBTS_RET_INNER_LOOP "antModel" ) add_param SBTS_RETU "antModel" get_param WBTS_RET_INNER_LOOP "antModel"
															if ( param_exist WBTS_RET_INNER_LOOP "antSerial" ) add_param SBTS_RETU "antSerial" get_param WBTS_RET_INNER_LOOP "antSerial"
															if ( param_exist WBTS_RET_INNER_LOOP "baseStationID" ) add_param SBTS_RETU "baseStationID" get_param WBTS_RET_INNER_LOOP "baseStationID"
															if ( param_exist WBTS_RET_INNER_LOOP "installDate" ) add_param SBTS_RETU "installDate" get_param WBTS_RET_INNER_LOOP "installDate"
															if ( param_exist WBTS_RET_INNER_LOOP "installerID" ) add_param SBTS_RETU "installerID" get_param WBTS_RET_INNER_LOOP "installerID"
															if ( param_exist WBTS_RET_INNER_LOOP "maxAngle" ) add_param SBTS_RETU "maxAngle" get_param WBTS_RET_INNER_LOOP "maxAngle"
															if ( param_exist WBTS_RET_INNER_LOOP "mechanicalAngle" ) add_param SBTS_RETU "mechanicalAngle" get_param WBTS_RET_INNER_LOOP "mechanicalAngle"
															if ( param_exist WBTS_RET_INNER_LOOP "minAngle" ) add_param SBTS_RETU "minAngle" get_param WBTS_RET_INNER_LOOP "minAngle"
															if ( param_exist WBTS_RET_INNER_LOOP "sectorID" ) add_param SBTS_RETU "sectorID" get_param WBTS_RET_INNER_LOOP "sectorID"
															if ( param_exist WBTS_RET_INNER_LOOP "retAntUnitNumber" ) add_param SBTS_RETU "subunitNumber" get_param WBTS_RET_INNER_LOOP "retAntUnitNumber"

															if ( param_exist WBTS_RET_INNER_LOOP "antlIdList" )
																begin
																	add_list SBTS_RETU "phyAntUDNList"
																	for_list WBTS_RET_INNER_LOOP "antlIdList"
																		begin
																			define "antlId" get_param WBTS_RET_INNER_LOOP "antlIdList." JOIN $current_index
																			add_param SBTS_RETU "phyAntUDNList." JOIN $current_index SBTS_APEQM JOIN "/PHYANT-" JOIN antlId JOIN "/PHYANTU-1"
																		end
																end
																
															# to be deleted later. used for LOGLINK
															add_param SBTS_RETU "tempScannedAntennaInterface" get_param WBTS_RET_INNER_LOOP "scannedAntennaInterface"

															if ( param_exist WBTS_RET_INNER_LOOP "antBandList" )
																begin
																	copy_list WBTS_RET_INNER_LOOP "antBandList" SBTS_RETU "antBandList"
																	
																	for_list SBTS_RETU "antBandList"
																		begin
																			if ( param_exist SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand" )
																				begin
																					define "value" get_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
																					
																					if ( value == "Band I" ) define "value" 1
																					if ( value == "Band II" ) define "value" 2
																					if ( value == "Band III" ) define "value" 3
																					if ( value == "Band IV" ) define "value" 4
																					if ( value == "Band V" ) define "value" 5
																					if ( value == "Band VI" ) define "value" 6
																					if ( value == "Band VII" ) define "value" 7
																					if ( value == "Band VIII" ) define "value" 8
																					if ( value == "Band IX" ) define "value" 9
																					if ( value == "Band X" ) define "value" 10
																					if ( value == "Band XI" ) define "value" 11
																					if ( value == "Band XII" ) define "value" 12
																					if ( value == "Band XIII" ) define "value" 13
																					if ( value == "Band XIV" ) define "value" 14
																					if ( value == "Band XVII" ) define "value" 17
																					if ( value == "Band XVIII" ) define "value" 18
																					if ( value == "Band XIX" ) define "value" 19
																					if ( value == "Band XX" ) define "value" 20
																					if ( value == "Band XXI" ) define "value" 21
																					if ( value == "Band XXII" ) define "value" 22
																					if ( value == "Band 23" ) define "value" 23
																					if ( value == "Band 24" ) define "value" 24
																					if ( value == "Band XXV" ) define "value" 25
																					if ( value == "Band XXVI" ) define "value" 26
																					if ( value == "Band 27" ) define "value" 27
																					if ( value == "Band 28" ) define "value" 28
																					if ( value == "Band 29" ) define "value" 29
																					if ( value == "Band 30" ) define "value" 30
																					if ( value == "Band 31" ) define "value" 31
																					if ( value == "Band XXXII" ) define "value" 32
																					if ( value == "Band a33" ) define "value" 33
																					if ( value == "Band a34" ) define "value" 34
																					if ( value == "Band b35" ) define "value" 35
																					if ( value == "Band b36" ) define "value" 36
																					if ( value == "Band c" ) define "value" 37
																					if ( value == "Band d" ) define "value" 38
																					if ( value == "Band f" ) define "value" 39
																					if ( value == "Band e" ) define "value" 40
																					if ( value == "Band 41" ) define "value" 41
																					if ( value == "Band 42" ) define "value" 42
																					if ( value == "Band 43" ) define "value" 43
																					if ( value == "Band 44" ) define "value" 44
																																							
																					add_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antFreqBand" value
																					del_param SBTS_RETU "antBandList." JOIN $current_index JOIN ".antOperFreqBand"
																				end
																		end
																end
														end
									end
							end

					end
			end
	end

#####ALD/RETU#####

#####ALD#####

#####PASSDEV#####
for_objects WBTS_MRBTS JOIN "/MHA"
	begin
		define "WBTS_MHA" $current_dist_name
		if ( param_exist WBTS_MHA "connection" )
			if ( get_param WBTS_MHA "connection" ) == "External"
				begin
					define "PASSDEV_COUNT" objects_count "MRBTS/EQM/APEQM/PASSDEV"
					define "PASSDEV_COUNT" PASSDEV_COUNT + 1
					define "SBTS_PASSDEV" SBTS_APEQM JOIN "/PASSDEV-" JOIN PASSDEV_COUNT
					add_object SBTS_PASSDEV
					
					add_param SBTS_PASSDEV "additionalTxAttenuation" "0"
					add_param SBTS_PASSDEV "additionalTxGain" "0"
					add_param SBTS_PASSDEV "inventoryUnitType" "Not Available"
					add_param SBTS_PASSDEV "vendorName" "Not Available"
					
					if ( param_exist WBTS_MHA "manufacturer" ) add_param SBTS_PASSDEV "manufacturerData" get_param WBTS_MHA "manufacturer"
					if ( param_exist WBTS_MHA "serNum" ) add_param SBTS_PASSDEV "serialNumber" get_param WBTS_MHA "serNum"
					if ( param_exist WBTS_MHA "prodCode" ) add_param SBTS_PASSDEV "vendorUnitTypeNumber" get_param WBTS_MHA "prodCode"
					if ( param_exist WBTS_MHA "hwVersion" ) add_param SBTS_PASSDEV "versionNumber" get_param WBTS_MHA "hwVersion"
				end
	end

for_list WBTS_MRBTS "passUnitList"
	begin
		define "passUnitList_PREFIX" "passUnitList." JOIN $current_index JOIN "."
		define "PASSDEV_COUNT" objects_count "MRBTS/EQM/APEQM/PASSDEV"
		define "PASSDEV_COUNT" PASSDEV_COUNT + 1
		define "SBTS_PASSDEV" SBTS_APEQM JOIN "/PASSDEV-" JOIN PASSDEV_COUNT
		add_object SBTS_PASSDEV
		
		add_param SBTS_PASSDEV "additionalTxAttenuation" "0"
		add_param SBTS_PASSDEV "additionalTxGain" "0"
		add_param SBTS_PASSDEV "inventoryUnitType" "Not Available"
		add_param SBTS_PASSDEV "vendorName" "Not Available"
		
		if ( param_exist WBTS_MRBTS passUnitList_PREFIX JOIN "comment" ) add_param SBTS_PASSDEV "deviceDescription" get_param WBTS_MRBTS passUnitList_PREFIX JOIN "comment"
		if ( param_exist WBTS_MRBTS passUnitList_PREFIX JOIN "name" ) add_param SBTS_PASSDEV "inventoryUnitType" get_param WBTS_MRBTS passUnitList_PREFIX JOIN "name"
		if ( param_exist WBTS_MRBTS passUnitList_PREFIX JOIN "serNum" ) add_param SBTS_PASSDEV "serialNumber" get_param WBTS_MRBTS passUnitList_PREFIX JOIN "serNum"
		if ( param_exist WBTS_MRBTS passUnitList_PREFIX JOIN "prodCode" ) add_param SBTS_PASSDEV "vendorUnitTypeNumber" get_param WBTS_MRBTS passUnitList_PREFIX JOIN "prodCode"
		if ( param_exist WBTS_MRBTS passUnitList_PREFIX JOIN "version" ) add_param SBTS_PASSDEV "versionNumber" get_param WBTS_MRBTS passUnitList_PREFIX JOIN "version"
	end
#####PASSDEV#####

define "SBTS_HWTOP" SBTS_EQM JOIN "/HWTOP-1"
add_object SBTS_HWTOP

#####LOGLINK#####
# between ANTL to PASSDEV
for_objects "MRBTS/EQM/APEQM/PASSDEV"
	begin
		define "SBTS_PASSDEV" $current_dist_name
		if ( param_exist SBTS_PASSDEV "tempLoglinkANTL" )
			begin
				define "LOGLINK_COUNT" objects_count "MRBTS/EQM/HWTOP/LOGLINK"
				define "LOGLINK_COUNT" LOGLINK_COUNT + 1
				define "SBTS_LOGLINK" SBTS_HWTOP JOIN "/LOGLINK-" JOIN LOGLINK_COUNT
				add_object SBTS_LOGLINK 
				
				add_param SBTS_LOGLINK "firstEndpointDN" get_param SBTS_PASSDEV "tempLoglinkANTL"
				add_param SBTS_LOGLINK "secondEndpointDN" SBTS_PASSDEV
				add_param SBTS_LOGLINK "linkModeConfiguration" "false"
				add_param SBTS_LOGLINK "linkModeData" "true"
				add_param SBTS_LOGLINK "linkModeDC" "false"		
				add_param SBTS_LOGLINK "linkModeSynchronization" "false"
				
				del_param SBTS_PASSDEV "tempLoglinkANTL"
			end
	end

# logical link connection between Antenna Line Port and Antenna Line Device
for_branch SBTS_APEQM JOIN "/ALD"
	begin
		define "aldId" $current_ALD
		define "MO" replace $current_dist_name "(.*\/)+" "" flags "g"
		define "MO" replace MO "(.*)-(.*)" "$1"

		if ( MO == "LNA" || MO == "RETU" )
			begin
				define "SBTS_MO" $current_dist_name
				if ( param_exist SBTS_MO "tempScannedAntennaInterface" )
					begin
						if not ( get_param SBTS_MO "tempScannedAntennaInterface" ) == "NONE"
							begin
								#RMODx-ANTy
								define "scannedAntennaInterface" get_param SBTS_MO "tempScannedAntennaInterface"
								define "rmodId" scannedAntennaInterface
								define "rmodId" replace scannedAntennaInterface "(.*)-(.*)" "$1"
								define "rmodId" replace rmodId "RMOD" ""
								define "antId" replace scannedAntennaInterface "(.*)-(.*)" "$2"
								define "antId" replace antId "ANT" ""
								
								define "SBTS_ANTL" ""
								
								for_objects SBTS_APEQM JOIN "/RMOD-" JOIN rmodId JOIN "/ANTL"
									begin
										if ( get_param $current_dist_name "antPortId" ) == antId
											define "SBTS_ANTL" $current_dist_name
									end
								
								if not ( SBTS_ANTL == "" )
									begin
										define "exists" "false"
										for_objects SBTS_EQM JOIN "/HWTOP/LOGLINK"
											begin
												define "first" get_param $current_dist_name "firstEndpointDN"
												define "second" get_param $current_dist_name "secondEndpointDN"
												
												if ( first == SBTS_ANTL ) && ( second == SBTS_APEQM JOIN "/ALD-" JOIN aldId )
													define "exists" "true"
											end
									
										if ( exists == "false" )
											begin
												define "LOGLINK_COUNT" objects_count "MRBTS/EQM/HWTOP/LOGLINK"
												define "LOGLINK_COUNT" LOGLINK_COUNT + 1
												define "SBTS_LOGLINK" SBTS_HWTOP JOIN "/LOGLINK-" JOIN LOGLINK_COUNT
												add_object SBTS_LOGLINK
												
												add_param SBTS_LOGLINK "firstEndpointDN" SBTS_ANTL
												add_param SBTS_LOGLINK "secondEndpointDN" SBTS_APEQM JOIN "/ALD-" JOIN aldId
												add_param SBTS_LOGLINK "linkModeConfiguration" "true"
												add_param SBTS_LOGLINK "linkModeData" "false"
												add_param SBTS_LOGLINK "linkModeDC" "false"
												add_param SBTS_LOGLINK "linkModeSynchronization" "false"
												
												# from which port Antenna Line Device unit (RET, RAE) is powered
												if ( MO == "RETU" ) add_param SBTS_LOGLINK "linkModeDC" "true"
											end
										
										# logical link dc connection between Antenna Line Port and Low Noise Amplifier
										if ( MO == "LNA" )
											begin
												define "LOGLINK_COUNT" objects_count "MRBTS/EQM/HWTOP/LOGLINK"
												define "LOGLINK_COUNT" LOGLINK_COUNT + 1
												define "SBTS_LOGLINK" SBTS_HWTOP JOIN "/LOGLINK-" JOIN LOGLINK_COUNT
												add_object SBTS_LOGLINK
												
												add_param SBTS_LOGLINK "firstEndpointDN" SBTS_ANTL
												add_param SBTS_LOGLINK "secondEndpointDN" SBTS_MO
												add_param SBTS_LOGLINK "linkModeConfiguration" "false"
												add_param SBTS_LOGLINK "linkModeData" "false"
												add_param SBTS_LOGLINK "linkModeDC" "true"
												add_param SBTS_LOGLINK "linkModeSynchronization" "false"
											end
									end
								
							end

						del_param SBTS_MO "tempScannedAntennaInterface"
					end
				end
	end

# connection between Antenna Line Port and Low Noise Amplifier
for_objects SBTS_APEQM JOIN "/ALD/LNA"
	begin
		define "SBTS_LNA" $current_dist_name
		
		if ( param_exist SBTS_LNA "tempConnection" ) && ( param_exist SBTS_LNA "tempAntlId" )
			begin
				if not ( get_param SBTS_LNA "tempConnection" ) == "External"
					for_objects SBTS_APEQM JOIN "/RMOD/ANTL"
						begin
							define "SBTS_ANTL" $current_dist_name
							define "antlId" $current_ANTL
							if ( get_param SBTS_LNA "tempAntlId" ) == antlId
								begin
									define "exists" "false"
									for_objects SBTS_EQM JOIN "/HWTOP/LOGLINK"
										begin
											define "first" get_param $current_dist_name "firstEndpointDN"
											define "second" get_param $current_dist_name "secondEndpointDN"
											
											if ( first == SBTS_ANTL ) && ( second == SBTS_LNA )
												begin
													define "exists" "true"
													add_param $current_dist_name "linkModeData" "true"
												end
										end
								
									if ( exists == "false" )
										begin
											define "LOGLINK_COUNT" objects_count "MRBTS/EQM/HWTOP/LOGLINK"
											define "LOGLINK_COUNT" LOGLINK_COUNT + 1
											define "SBTS_LOGLINK" SBTS_HWTOP JOIN "/LOGLINK-" JOIN LOGLINK_COUNT
											add_object SBTS_LOGLINK
											
											add_param SBTS_LOGLINK "firstEndpointDN" SBTS_ANTL
											add_param SBTS_LOGLINK "secondEndpointDN" SBTS_LNA
											add_param SBTS_LOGLINK "linkModeConfiguration" "false"
											add_param SBTS_LOGLINK "linkModeData" "true"
											add_param SBTS_LOGLINK "linkModeDC" "false"
											add_param SBTS_LOGLINK "linkModeSynchronization" "false"
										end
								end
						end
				del_param SBTS_LNA "tempConnection"
				del_param SBTS_LNA "tempAntlId"
			end
	end

#####LOGLINK#####

#####CABLINK#####
define "CABLINK_COUNT" 0

# System Module - RF Module Connection
# RF Module - RF Module Connection
for_objects WBTS_MRBTS JOIN "/RMOD"
	begin
		define "WBTS_RMOD" $current_dist_name
		define "rmodId" $current_RMOD
		
		for_list WBTS_RMOD "connectionList"
			begin
				define "CABLINK_COUNT" CABLINK_COUNT + 1
				define "SBTS_CABLINK" SBTS_HWTOP JOIN "/CABLINK-" JOIN CABLINK_COUNT
				add_object SBTS_CABLINK

				define "sModId" get_param WBTS_RMOD "connectionList." JOIN $current_index JOIN ".sModId"
				define "CONNECTED_WBTS_SMOD" WBTS_MRBTS JOIN "/SMOD-" JOIN sModId

				if ( param_exist CONNECTED_WBTS_SMOD "technology" ) define "technology" get_param CONNECTED_WBTS_SMOD "technology"
					else define "technology" ""
				
				define "position" get_param WBTS_RMOD "connectionList." JOIN $current_index JOIN ".positionInChain"
				define "linkId" get_param WBTS_RMOD "connectionList." JOIN $current_index JOIN ".linkId"
				if ( position == 1 )
					begin
						if ( technology == "UTRAN" ) add_param SBTS_CABLINK "firstEndpointDN" SBTS_APEQM JOIN "/CABINET-" JOIN sModId JOIN "/SMOD-1"
						else add_param SBTS_CABLINK "firstEndpointDN" SBTS_EQM JOIN "/SMOD_EXT-" JOIN sModId
						add_param SBTS_CABLINK "firstEndpointPortId" linkId
					end
				# Chained RF
				else
					begin
						add_param SBTS_CABLINK "firstEndpointPortId" "2"
						for_objects WBTS_MRBTS JOIN "/RMOD"
							begin
								define "WBTS_RMOD_INNER_LOOP" $current_dist_name
								define "rmodId_INNER_LOOP" $current_RMOD
								
								for_list WBTS_RMOD_INNER_LOOP "connectionList"
									begin
										if ( linkId == get_param WBTS_RMOD_INNER_LOOP "connectionList." JOIN $current_index JOIN ".linkId" )
											if ( ( position - 1 ) == ( get_param WBTS_RMOD_INNER_LOOP "connectionList." JOIN $current_index JOIN ".positionInChain" ) )
												add_param SBTS_CABLINK "firstEndpointDN" SBTS_APEQM JOIN "/RMOD-" JOIN rmodId_INNER_LOOP
									end
							end
					end
				add_param SBTS_CABLINK "firstEndpointLabel" "OPT"
				add_param SBTS_CABLINK "linkModeConfiguration" "true"
				add_param SBTS_CABLINK "linkModeData" "true"
				add_param SBTS_CABLINK "secondEndpointDN" SBTS_APEQM JOIN "/RMOD-" JOIN rmodId
			end
	end

# System Module - BBMOD connection
for_list WBTS_MRBTS "unitList"
	begin
		define "WBTS_MRBTS_unitList_PREFIX" "unitList." JOIN $current_index JOIN "."
		if ( get_param WBTS_MRBTS WBTS_MRBTS_unitList_PREFIX JOIN "unitName" ) == "FSP"
			begin
				define "unitNumber" get_param WBTS_MRBTS WBTS_MRBTS_unitList_PREFIX JOIN "unitNumber"
			
				define "CABLINK_COUNT" CABLINK_COUNT + 1
				define "SBTS_CABLINK" SBTS_HWTOP JOIN "/CABLINK-" JOIN CABLINK_COUNT
				add_object SBTS_CABLINK

				if ( unitNumber < 10 )
					begin
						define "SBTS_BBMOD" SBTS_APEQM JOIN "/CABINET-1/BBMOD-" JOIN unitNumber
						add_param SBTS_CABLINK "firstEndpointDN" SBTS_APEQM JOIN "/CABINET-1/SMOD-1"
						define "portId" unitNumber - 1
					end
				else
					begin
						define "SBTS_BBMOD" SBTS_APEQM JOIN "/CABINET-2/BBMOD-" JOIN ( unitNumber - 10 )
						add_param SBTS_CABLINK "firstEndpointDN" SBTS_APEQM JOIN "/CABINET-2/SMOD-1"
						define "portId" unitNumber - 11
					end
				add_param SBTS_CABLINK "firstEndpointPortId" portId
				add_param SBTS_CABLINK "firstEndpointLabel" "QSFP"

				add_param SBTS_CABLINK "secondEndpointDN" SBTS_BBMOD
                add_param SBTS_CABLINK "secondEndpointPortId" 1
                add_param SBTS_CABLINK "secondEndpointLabel" "QSFP"
			end
	end

#####CABLINK#####

for_branch SBTS_EQM
	begin
		set_operation $current_dist_name "create"
		set_version $current_dist_name "EQM17_1610_003"
		set_adaptation $current_dist_name "com.nokia.srbts.eqm"
	end
#######################################################################################
