我想从Java到BAPI进行BAPI调用" BAPI_MDDATASET_CREATE_OBJECT"。
因此我想使用以下MDX查询:
SELECT
[0DISTR_CHAN].Members ON COLUMNS,
[0MATERIAL].Members ON ROWS
FROM [$/PKG/AB_C01]
因为参数" COMMAND_TEXT"是短的我做了4个这样的条目:
现在我运行BAPI并获得DATASETID作为回报。我将这个id用于下一个BAPI" BAPI_MDDATASET_CHECK_SYNTAX"
英文版:
为什么会这样?
这个MDX查询似乎没问题,因为在transcation" MDXTEST"这个查询正在运行。
有什么建议吗?
答案 0 :(得分:1)
我只有c#和sap连接器才遇到同样的问题。 我解决了需要在一个上下文中使用所有命令:
RfcSessionManager.BeginContext(destination);
Create_Object();
CheckSyntax();
etc.
RfcSessionManager.EndContext(this.destination);
答案 1 :(得分:0)
以下将返回一个大表n * m,其中n是列数,m是行数:
SELECT
[0DISTR_CHAN].Members ON COLUMNS,
[0MATERIAL].Members ON ROWS
FROM [$/PKG/AB_C01]
n =此维度中的成员数[0DISTR_CHAN]
+ 1
m =此维度[0MATERIAL]
这不是答案,但可能有助于发现mdx是否是问题。如果您将上述内容简化为行上的单个成员,而列上的单个成员仍然会出现错误吗?
SELECT
{[0DISTR_CHAN].[0DISTR_CHAN].[someMemberY]} ON COLUMNS,
{[0MATERIAL].[0MATERIAL].[someMemberX]} ON ROWS
FROM [$/PKG/AB_C01];