我重写了以下文章,看起来我应该能够定义一个变量类型的变量,其大小限制将是16mb而不是65535个字符。
http://www.mcpressonline.com/programming/rpg/v6r1-rpg-enhancements.html
此论坛帖子表明在V6.1中可以这样做。
D BigVarying S a Len(25000000) Varying(4)
当我尝试实现此操作时,我收到以下错误,似乎我无法使用Len(25000000) Varying(4)
也许我不明白V6.1究竟是什么意思,但是我使用命令DSPSFWRSC
检查了绿色屏幕并获得了以下版本V6R1 ..
我还使用I系统导航器进行了检查,并检查了服务器属性,它是:i5 / OS版本6版本1修改0。
我用来编译的IDE是IBM Websphere开发工作室
Version: 7.0.0
Build id: 20070202_0030
尝试编译RPGLE函数。
我是否检查了正确的版本或是否有RPG版本以及如何检查它。
你可以帮我解决一下我的困惑。答案 0 :(得分:4)
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无效。
答案 1 :(得分:3)
虽然RPGLE支持6.1前进的16MB变量,但你在6.1 ..
你有两个问题:
问题#2不是交易破坏者,您可以简单地忽略IDE中的错误并成功地在服务器上进行编译。如果您使用的是绿屏编辑器SEU,那么您必须像IBM在6.1停止增强SEU一样。