SAP GUI 7.5 PL5 Unicode ActiveX控件的数据类型问题

2020-09-15 15:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我在AutoIt脚本中使用...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我在AutoIt脚本中使用了FM RFC_READ_TABLE…我对VBA Excel 2016进行了双重检查,例如在 Stefan Schnell ,但我找不到解决方案 以下奇怪行为:

似乎我无法将func.Exports(" ROWSKIPS")的值设置为大于32767,例如=" 40000" =>?(func.Exports(" ROWSKIPS")) = -25536(如果为40000)…最大值为" 32767"(显然是带符号的Integer数据类型,而不是Long数据类型)

与ROWCOUNT相同,但是在这种情况下,我可以使用32767以下的值进行管理 。

我不可能在块中接收巨大的表内容…如果我试图一步一步接收所有表内容,那么我会遇到本地内存问题。 因此,只能以块部分的形式获取数据。

在SAP内部,为这些变量设置了INT4数据类型。 这对应于一个Long数据类型(4-Byte-Integer,-2.147.483.648 bis +2.147.483.647),它对我来说足够大。

例如ROWSKIPS = 30000并进行澄清

块1 1-30000行
 Block2 30001-60000行
 Block3 60001-90000行
 

因此,我需要将ROWSKIPS计数到高于32767才能收到这些行块。 第三迭代超出了此限制。

  1. 迭代
    func.Exports(" ROWSKIPS ")=" 0 "'大于32767的问题
    func.Exports(" ROWCOUNT") =" 30000"'大于32767时出现的问题
  2. 迭代
    func.Exports(" ROWSKIPS ")=" 30000 "
    func.Exports(" ROWCOUNT")=" 30000"
  3. 迭代
    func.Exports(" ROWSKIPS ")=" 60000 "
    func.Exports(" ROWCOUNT")=" 30000"

我已经安装了GUI 7.5 PL 5,并引用了以下Unicode OCX:

  • Tablefactory Unicode 7500.2.5.83
  • BAPI Unicode控制7500.2.5.66
  • RFC Unicode控制7500.2.5.86
  • 登录Unicode Control 7500.2.5.176

有人知道解决此问题的解决方案吗?

关于Michael Morgenstern

3条回答
悻福寶寶
2020-09-15 15:16 .采纳回答

迈克尔你好,

非常感谢您的帖子。

我可以确认此错误。 我用32767和32768进行了尝试,并且FM的接口获取32767和-32768。 看来ActiveX库使用的是带符号的单词,而不是带符号的双单词。

请举报事件。

最诚挚的问候
Stefan

一周热门 更多>