Option Explicit Const cnNoFlags = 0 Const cnNoCheckpoint = -1 Dim ctMgr 'Container Manager Dim aeMgr 'Active Element Manager Dim aeTMgr 'Active Element Template Manager Dim aSec 'Athena Security Token Dim mdi 'Meter Data Interface Dim nContractContainerID 'Internal ID of contract Dim nMeterProxyID 'Internal ID of new meter proxy 'Initialisation of object instances Set mdi = CreateObject("DeviceAndMeterdata.ADASDeviceAndMeterdata.1") Set ctMgr = CreateObject( "Athena.CT.ContainerManager.1" ) Set aeMgr = CreateObject("Athena.CT.ActiveElementManager.1") Set aeTMgr = CreateObject("Athena.CT.ActiveElementTemplateManager.1") Set aSec = CreateObject( "AthenaSecurity.UserSessions.1" ) aSec.ConvergeLogin "Administrator", "Athena", 0, 666 '--- Main code ------------------------------------------------------------------------------- nContractContainerID = GetContainerID( Array( Array( "contract_number", "MyTestContract01" ))) nMeterProxyID = CreateMeterProxy( nContractContainerID, "Mp_Default", "MyTestMeterProxy02", _ GetDeviceID( "+SimMeter004" ) ) WScript.Echo "Meter proxy created having the ID: " & nMeterProxyID WScript.Echo "Script Finished" '--------------------------------------------------------------------------------------------- Function GetContainerID( ByVal paCriteria ) Dim rs Set rs = ctMgr.Search( Array( "ContainerID" ), paCriteria, Empty, _ cnNoFlags, cnNoCheckPoint, aSec ) GetContainerID = rs.Fields( "ContainerID" ) End Function '--------------------------------------------------------------------------------------------- Function GetDeviceID( ByVal psDeviceName ) Dim resultset Set resultset = mdi.FindDevice(Array( "ADAS_DEVICE" ), _ Array( Array( "ADAS_DEVICE_NAME", psDeviceName ) ), _ Empty, cnNoFlags ) GetDeviceID = resultset.Fields( "ADAS_DEVICE" ) End Function '--------------------------------------------------------------------------------------------- Function CreateMeterProxy( ByVal pnContainerID, ByVal psTemplate, ByVal psProxyName, _ ByVal pnDeviceID ) Dim rs Dim nTemplateID Dim nCheckoutID, nProxID nProxID = -1 Set rs = aeTMgr.Search( Array( "AETemplateID" ), _ Array( Array( "AETemplateName", psTemplate ) ), _ Empty, cnNoFlags, cnNoCheckPoint, aSec ) If Not rs.EOF Then nTemplateID = rs.Fields( "AETemplateID" ) Set rs = aeTMgr.GetValues( nTemplateID, Array( "AEName", "ADAS_ID" ), _ cnNoFlags, cnNoCheckPoint, aSec ) rs.Fields( "AEName" ) = psProxyName rs.Fields( "ADAS_ID" ) = pnDeviceID nCheckoutID = ctMgr.Checkout( pnContainerID, aSec ) nProxID = aeMgr.CreateActiveElement( nTemplateID, nCheckoutID, rs, aSec ) ctMgr.Checkin nCheckoutID, aSec End If CreateMeterProxy = nProxID End Function