Code: Select all
Sub Write_String()
TM1APIInitialize
Dim hPool As Long
hPool = TM1ValPoolCreate(TM1_API2HAN)
' Get the Cube
Dim hServer As Long
hServer = TM1SystemServerHandle(TM1_API2HAN, strServerName)
Dim hCube As Long
hCube = TM1ObjectListHandleByNameGet(hPool, hServer, TM1ServerCubes, TM1ValString(hPool, strCubeName, 0))
' Build Element Array
Dim hDimensions(2) As Long
hDimensions(1) = TM1ObjectListHandleByNameGet(hPool, hCube, TM1CubeDimensions, TM1ValString(hPool, strDim1Name, 0))
hDimensions(2) = TM1ObjectListHandleByNameGet(hPool, hCube, TM1CubeDimensions, TM1ValString(hPool, strDim2Name, 0))
Dim arrayElements(2) As Long
arrayElements(1) = TM1ObjectListHandleByNameGet(hPool, hDimensions(1), TM1DimensionElements, TM1ValString(hPool, strElem1Name, 0))
arrayElements(2) = TM1ObjectListHandleByNameGet(hPool, hDimensions(2), TM1DimensionElements, TM1ValString(hPool, strElem2Name, 0))
Dim hElements As Long
hElements = TM1ValArray(hPool, arrayElements, 2)
' Put value into Cube
Dim hValue As Long
hValue = TM1ValString(hPool, "Test", 0)
TM1CubeCellValueSet hPool, hCube, hElements, hValue 'It all goes sideways here
TM1APIFinalize
End Sub
Yes, the cell combination takes a string. Yes, the cell combination is writable.