【问题标题】:Why cant I use a Character length more than 65535 RPGIV为什么我不能使用超过 65535 RPGIV 的字符长度
【发布时间】:2016-08-23 10:51:34
【问题描述】:

我在下面的文章中添加了红色,看来我应该能够定义一个可变类型的变量,其大小限制将是 16mb 而不是 65535 个字符。

http://www.mcpressonline.com/programming/rpg/v6r1-rpg-enhancements.html

此论坛帖子建议在 V6.1 中执行此操作。

http://www.code400.com/forum/forum/iseries-programming-languages/rpg-rpgle/11426-character-string-max-length

D BigVarying      S               a   Len(25000000) Varying(4)

当我尝试实现此功能时,我收到以下错误,似乎我无法使用 Len(25000000) Varying(4)

也许我不明白 V6.1 到底是什么意思,但我使用命令DSPSFWRSC 在绿屏上检查并获得以下版本 V6R1..

我还使用 I systems navigator 进行了检查,并检查了服务器属性,它是:i5/OS version Version 6 Release 1 Modification 0。

我用来编译的IDE是IBM Websphere development studio

Version: 7.0.0
Build id: 20070202_0030

试图编译一个 RPGLE 函数。

我检查的是正确的版本还是有 RPG 版本以及如何检查它。

请你帮我解惑。

【问题讨论】:

  • 您的链接表明可以声明“Len(10000000) Varying(4)”变量,但您尝试将其声明为Len(25000000)。链接的示例很好,因为它在 16MB 限制内。您是否需要一个 25MB 长的变量?

标签: web-services ibm-midrange rpgle rpg


【解决方案1】:

V6.1 是您的操作系统版本,您可以参考V6.1 ILE RPG Language Reference here 看看是否可行。我想你要找的是第 185 页。

我刚刚在 7.2 中对此进行了测试,但没有遇到同样的错误。

 D BigVarying      S               a   Len(25000000) Varying(4)
 RNF0501E Length of character item exceeds 16773104; length defaults to 16773104.
 RNF0231E Length of varying length character item exceeds 16773100; length defaults to 16773100.
   //Dcl-S BigVarying Varchar(25000000);

   BigVarying = 'Hello world';

   Return;

所以,正如(重复的)错误所提到的那样

字符项长度超过16773104;长度默认为 16773104。

如果您想要更大的长度,则需要更新到较新版本的 IBM i - 但最大长度也是 16773104,这意味着 25000000 无效。

【讨论】:

    【解决方案2】:

    而 RPGLE 从 6.1 开始支持 16MB 变量,而您使用的是 6.1..

    你有两个问题:

    • 25000000 (23.8MB) 大于 16773104 (~16MB)
    • Websphere Development Studio v7 (WDSc) 早于 IBM i 6.1(您的构建日期是 2007 年,您引用的文章发表于 2008 年)。所以您的 IDE 无法识别新的关键字和新的最大大小。

    问题 #2 不是破坏交易,您可以简单地忽略 IDE 中的错误并在服务器上成功编译。如果您使用的是绿屏编辑器 SEU,则必须像 IBM 在 6.1 停止增强 SEU 一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      相关资源
      最近更新 更多