我们使用 JCo 3.0 连接到 RFC 并从 SAP R/3 读取数据。我们经常使用一个 RFC RFC_READ_TABLE 并使用第二个自定义 RFC 来读取员工信息。我的问题围绕着第三个 RFC RSAQ_REMOTE_QUERY_CALL。我正在调用我使用此 RFC 在 SAP 中构建的临时查询,但我没有得到预期的结果。主要问题是 SAP 似乎忽略了我的选择标准之一,并使用了我最初构建它时保存在 SAP 中的内容。存储在我的 ad-hoc 中的日期标准是 2013 年 6 月 23 日。如果我从 JCo 于 2013 年 6 月 28 日通过,我得到的结果与我从 JCo 于 2013 年 6 月 23 日通过的结果相同。
我们构建了几个临时查询,其唯一条件是人员编号,并使用 RFC RSAQ_REMOTE_QUERY_CALL 成功调用它们。
我的临时查询的背景:今天的报告期,将员工信息的四个方面结合在一起:他们的最新行动(雇用,重新雇用等),组织(例如公司),薪酬(例如薪酬等级)和沟通(例如电子邮件)。查询将在每个工作日运行。
以下是我的问题:
我的 ad-hoc 有三个选择标准。前两个是简单的字符串。三是约会。每次查询运行时,日期都会有所不同。我们使用 SP$00001 引用第一个标准,使用 SP$00002 引用第二个标准,使用 SP$00003 引用第三个标准。标准的顺序从 ad-hoc 更改为 SQ01(ad-hoc 中的 SP$00001 现在是 SP$00003)。我们不应该按照 ad-hoc 中定义的顺序引用它们吗(例如 SP$00001)?
两个简单的字符串选择使用 OPTION “EQ”。日期标准使用 OPTION GT(大于)。“GT”正确吗?
我们对 SAP 的访问有限。有没有办法查看哪些 SP$ 参数映射到哪些标准?
如果我的 ad-hoc 保存了五个条件,但当我从 JCo 调用 ad-hoc 时其中四个永远不会改变,我只需要设置一个的值还是我还需要设置其他四个?
我是否必须使用变体 (function.getImportParameterList().setValue(“VARIANT”, “VARIANT_NAME”)) 来调用这个 ad-hoc?
报告期对日期标准有影响吗?我尝试将报告期更改为 PNPBEGDA = 今天和 PNPENDDA = 今天,但没有发现任何变化。
SAP 中是否有办法获得您的临时(名称、输入、输出、标准)的“声明”?我看过 JCoFunction.toXml() 和 JCoFunctionTemplate。如果您想在运行到 SAP 之前在运行时看到一些东西,这些很好,但我正在寻找可以在 JCo 端使用的东西来帮助我编写与 ad-hoc 匹配的 Java 代码。
我已经在网上查看了我的问题的答案,但没有找到任何有用的东西。如果有什么可以帮助我的,请告诉我。
谢谢,
LM