繁体   English   中英

SAP JCo 3 RFC RSAQ_REMOTE_QUERY_CALL - 意外结果

[英]SAP JCo 3 RFC RSAQ_REMOTE_QUERY_CALL - unexpected results

我们使用 JCo 3.0 连接到 RFC 并从 SAP R/3 读取数据。 我们经常使用一个 RFC RFC_READ_TABLE 并使用第二个自定义 RFC 来读取员工信息。 我的问题围绕着第三个 RFC RSAQ_REMOTE_QUERY_CALL。 我正在使用这个 RFC 调用我在 SAP 中构建的临时查询,但我没有得到预期的结果。 主要问题是,SAP 似乎忽略了我的一个选择标准,并使用了我最初构建它时保存在 SAP 中的内容。 存储在我的 ad-hoc 中的日期标准是 6/23/2013。 如果我在 2013 年 6 月 28 日从 JCo 中通过,我得到的结果与从 JCo 中通过 2013 年 6 月 23 日的结果相同。

我们已经构建了几个临时查询,其唯一标准是人员编号,并使用 RFC RSAQ_REMOTE_QUERY_CALL 成功调用它们。

我的临时查询的背景:今天的报告期,将员工信息的四个方面结合在一起:他们的最新行动(雇用,重新雇用等),组织(例如公司),薪酬(例如工资等级)和沟通(例如电子邮件)。 查询将在每个工作日运行。

以下是我的问题:

  1. 我的临时有三个选择标准。 前两个是简单的字符串。 三是约会。 每次查询运行时,日期都会有所不同。 我们使用 SP$00001 引用第一个条件,使用 SP$00002 引用第二个条件,使用 SP$00003 引用第三个条件。 条件的顺序从 ad-hoc 更改为 SQ01(ad-hoc 中的 SP$00001 现在是 SP$00003)。 我们不应该按照 ad-hoc 中定义的顺序(例如 SP$00001)来引用它们吗?

  2. 两个简单的字符串选择使用 OPTION “EQ”。 日期标准使用 OPTION GT(大于)。 “GT”正确吗?

  3. 我们对 SAP 的访问能力有限。 有没有办法查看哪些 SP$ 参数映射到哪些条件?

  4. 如果我的 ad-hoc 保存有五个标准,但当我从 JCo 调用 ad-hoc 时,其中四个永远不会改变,我是否只需要设置一个的值,还是需要设置其他四个?

  5. 我是否必须使用变体 (function.getImportParameterList().setValue(“VARIANT”, “VARIANT_NAME”)) 来调用此临时方法?

  6. 报告期对日期标准有影响吗? 我曾尝试将报告期更改为 PNPBEGDA = 今天和 PNPENDDA = 今天,但没有发现任何变化。

  7. SAP 中有没有办法获得您的临时(名称、输入、输出、标准)的“声明”? 我看过 JCoFunction.toXml() 和 JCoFunctionTemplate。 如果您想在进入 SAP 之前在运行时看到一些东西,这些是很好的,但我正在寻找可以在 JCo 端使用的东西来帮助我编写与临时匹配的 Java 代码。

我在网上仔细查看了我的问题的答案,但没有找到任何有用的东西。 如果有什么可以帮助我,请告诉我。

谢谢,

LM

由于我对SQnn了解不多,因此无法回答您的所有问题...

  1. 我不知道,抱歉。
  2. 它应该是,至少它是大于的常用运算符。
  3. 是 - 在功能模块内部设置一个外部断点,并在执行 RFC 调用时跟踪其执行情况。 警告:至少需要基本的 ABAP 知识。
  4. 我不知道,抱歉。
  5. 我也不知道,抱歉。
  6. 这将取决于查询,我怀疑......
  7. JCo 将无法帮助您——它不知道查询,它只知道功能模块。 不过,可能还有其他RSAQ_*功能模块可以获取该信息。

我在 SQ01 中为我的查询设置了一个变体。 我在解决我的问题的变体中添加了一些设置,并在我的帖子中回答了我的几个问题。 我所做的主要事情是添加一个动态计算的日期作为我的标准的一部分。 就是这样:
1. 在 SQ01 中,访问菜单“转到”->“维护变体”。 2. 选择您的变体并在子对象中选择“属性”并单击“更改”。
3. 在显示的列表中,找到您的日期标准。
4. 在选择变量中选择“D”,选择一个比较选项(我的 GT 表示大于)和“变量名称”(实际上,这是您需要的动态日期计算类型)。
5. 返回子对象面板,选择“值”并单击“更改”。
6. 在“程序选择”部分输入您需要的任何其他标准。
7. 保存变体。
通过这样做,我不需要将任何内容传递到 JCo 的查询中。 此外,SAP 将自动更新您在上述第 4 步中输入的日期条件。
所以要从我的原始帖子中回答我的问题:
1 和 4。没关系,因为我不再从 JCo 传递任何东西。
2.“GT”大于。
3 和 7。如果有人知道,我真的很想知道。
5. 使用您在 SAP 中的名称(上面的第 2 步)。
6.我仍然不知道,但这并没有阻止我。
我张贴这个以防有人需要这种类型的信息。 感谢 Esti 和 vwegert 帮助我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM