将隐式变量从外部定义的文件复制到IBM i上的结构中

时间:2018-07-17 16:04:10

标签: ibm-midrange rpgle

我有一个rpgle程序中引用的PF。记录格式名称为“ ROETBL”。

FROEPF     UF A E           K DISK

现在,我从结果(内部)输入规范中创建具有不同名称(C_表示“副本”)的字段结构:

DC_ROETBL       E DS                  EXTNAME(ROEPF:ROETBL) PREFIX(C_)

我应该如何处理:

C                   MOVE      ROETBL        C_ROETBL

编译器抱怨RNF7260:因子2中的ROETBL对于给定的操作无效。

由于我读到可以从RPGLE内部利用C库中的函数,因此我也尝试使用memcpy进行利用。不幸的是,我手头没有确切的错误消息,但是我也无法编译源代码,因为ROETBL不是指向结构的指针。

对此有何评论?我正在使用操作系统版本V4R5。

1 个答案:

答案 0 :(得分:4)

迈克(Mike)的权利,EVAL-CORR旨在简化从DS到DS的数据复制...

但是EVAL-CORR是在v5r4上添加的...另外,它实际上是为处理合格的数据结构并直接在DS中进行I / O而设计的;而不是独立的全局变量。

另一个问题是,格式名称(ROETBL)是类似于DS的内存结构,不是。

尝试定义另一个不带前缀的DS,以便将文件字段组织到DS中。

 fROEPF     UF A E           K DISK

 d rec           e ds                  extname(roepf)

 d rec2          e ds                  extname(roepf) prefix(c_)

 c                   eval      rec2 = rec
 c                   eval      *INLR = *ON
 c                   return