将隐式变量从外部定义的文件复制到 IBM i 上的结构中
Copy implicit variables from an external defined file into a struct on IBM i
我有一个 PF,在 rpgle 程序中引用。记录格式名称为 "ROETBL".
FROEPF UF A E K DISK
现在,我根据生成的(内部)输入规范创建一个具有不同名称("copy" 的 C_)的字段结构:
DC_ROETBL E DS EXTNAME(ROEPF:ROETBL) PREFIX(C_)
我应该怎么做:
C MOVE ROETBL C_ROETBL
编译器抱怨 RNF7260:因子 2 中的 ROETBL 对于给定操作无效。
因为我读到可以在 RPGLE 中利用 C 库中的函数,所以我也尝试使用 memcpy
进行利用。不幸的是,我手边没有确切的错误消息,但我也无法编译源代码,因为 ROETBL 不是指向结构的指针。
对此有何评论?我使用的操作系统版本为V4R5.
Mike 说得对,EVAL-CORR 旨在简化数据从 DS 到 DS 的复制...
但是 EVAL-CORR 是在 v5r4 中添加的...此外,它实际上是为处理合格的数据结构而设计的,并且 I/O 直接进入 DS;而不是独立的全局变量。
您的另一个问题是认为格式名称 (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
我有一个 PF,在 rpgle 程序中引用。记录格式名称为 "ROETBL".
FROEPF UF A E K DISK
现在,我根据生成的(内部)输入规范创建一个具有不同名称("copy" 的 C_)的字段结构:
DC_ROETBL E DS EXTNAME(ROEPF:ROETBL) PREFIX(C_)
我应该怎么做:
C MOVE ROETBL C_ROETBL
编译器抱怨 RNF7260:因子 2 中的 ROETBL 对于给定操作无效。
因为我读到可以在 RPGLE 中利用 C 库中的函数,所以我也尝试使用 memcpy
进行利用。不幸的是,我手边没有确切的错误消息,但我也无法编译源代码,因为 ROETBL 不是指向结构的指针。
对此有何评论?我使用的操作系统版本为V4R5.
Mike 说得对,EVAL-CORR 旨在简化数据从 DS 到 DS 的复制...
但是 EVAL-CORR 是在 v5r4 中添加的...此外,它实际上是为处理合格的数据结构而设计的,并且 I/O 直接进入 DS;而不是独立的全局变量。
您的另一个问题是认为格式名称 (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