在将源代码作为文本复制到IFS时出现问题,映射错误

时间:2019-01-21 20:58:37

标签: ibm-midrange rpgle

所以我在将源代码复制到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上的文本文件中。

1 个答案:

答案 0 :(得分:1)

我尝试将CPYTOIMPF与SRCSEQ和SRCDAT字段中的无效数据一起使用,但出现此错误。

但是CPYTOSTMF工作正常,并且似乎对源文件产生了相同的结果。