所以我在将源代码复制到IFS时遇到了问题。我基本上只是希望代码中的文本看起来像一个.txt文件。我正在本地机器上存储,以便在已有的备份之上保留另一个备份。
我发现并使用了一个CL程序,它可以很好地处理我想要的许多文件。它的作用如下:
PGM PARM(&file &LIBRARY)
dcl &file *char 10
dcl &library *char 12
dcl &docname *char 12
DCLF FILE(QTEMP/MEMBERS)
monmsg cpf0000
DSPFD FILE(&LIBRARY/&FILE) TYPE(*MBRLIST) +
OUTPUT(*OUTFILE) OUTFILE(QTEMP/MEMBERS)
Loop: Rcvf
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(EXIT))
CPYTOIMPF FROMFILE(&LIBRARY/&FILE &MLNAME) +
TOSTMF('/BACKUP/SOURCE/' *TCAT &LIBRARY +
*TCAT '/' *TCAT &FILE *TCAT '/' *TCAT +
&MLNAME) MBROPT(*REPLACE) +
STMFCODPAG(*PCASCII) RCDDLM(*CRLF) +
DTAFMT(*FIXED)
goto loop
Exit:
RCLRSC
ENDPGM
同样,这适用于我的几个库和文件。然而,我有一些会给我一个数据映射错误,并且会一直通知我它正在打包,直到我结束工作。同样,同一库中的其他文件"工作"在那里传输数据,但文本不可读,因此基本上毫无价值。我只在这一个图书馆遇到过这个问题。
我一直在寻找推荐人,但我找到的所有信息都不够具体。
知道为什么这些dspf、pf、rpgle、clp、txt等项目不同吗。当我运行它时,我得到的另一件事是:
Primary group of object QCPEXTEMPS in QTEMP type *USRSPC changed.
Primary group of object QACP000135 in QTEMP type *USRSPC changed.
Primary group of object QACEXFLD12 in QTEMP type *USRSPC changed.
我不知道这是否是我成功时得到的,当它成功时我不会看代码。我也不知道这是否重要。但在我的工作日志中,它显示在错误之前。
Data mapping error on member
Data mapping error on member
Data mapping error on member
Data mapping error on member
如果我在"成员xxxx上的数据映射错误"上按F1,我会得到这个
Cause . . . . . : A data mapping error occurred on field
file_member_1.SRCDAT in record number 1, record format *FIRST, member
number 1, in member xxxx file xxxx in library xxxx, because of
error
code 1. The error code meanings follow:
1 -- There is data in a decimal field that is not valid.
这对我来说没有意义,因为我认为我基本上只是"复制"粘贴"到IFS上的文本文件中。
我尝试使用CPYTOIMPF,SRCSEQ和SRCDAT字段中的数据无效,但我得到了错误。
但是CPYTOSTMF工作得很好,而且它似乎对源文件产生了相同的结果。