0

我想从 Java 对 BAPI“BAPI_MDDATASET_CREATE_OBJECT”进行 BAPI 调用。

因此我想使用以下 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 查询似乎没问题,因为在事务“MDXTEST”中这个查询是有效的。

有什么建议么?

4

2 回答 2

1

我只有 c# 和 sap 连接器有同样的问题。我解决了。需要在一个上下文中使用所有命令:

RfcSessionManager.BeginContext(destination);
Create_Object();
CheckSyntax();
etc.
RfcSessionManager.EndContext(this.destination);
于 2017-04-19T04:40:46.723 回答
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];
于 2016-05-11T10:34:02.043 回答