Viv*_*vek 1 rpgle ibm-midrange
我正在寻找从rpgle.I 中的子过程返回多个值(如数组)的方法。我不想使用文件等来存储这个值。有人可以推荐任何好的方法来实现这一目标吗?
如果被调用的过程决定返回多少个元素,那么如果使用返回值机制,最好将返回值定义为具有数组和值数量的数据结构。
拷贝文件
dcl-c MAX_VALUES_RETURNED 20;
dcl-ds values_t qualified template;
num int(10);
arr char(200) dim(MAX_VALUES_RETURNED);
end-ds;
dcl-pr proc likeds(values_t) rtnparm;
...
Run Code Online (Sandbox Code Playgroud)
呼叫者
dcl-ds values likeds(values_t);
values = proc(parms);
for i = 1 to values.num;
... handle values.arr(i)
Run Code Online (Sandbox Code Playgroud)