|
I'm working on the WRTSRCMBR procedure as shown in Brad Stone's eRPG book. I did make a change from QHTMLSRC to QRPGLESRC since all the source I work with is RPG/IV and will be stored in 112-length members. When I run the program, I get message RNX1011 on the file READ: RNX1011: Undefined record type is found in file QRPGLESRC. Cause: RPG procedure XXX in program YYY/ZZZ at statement 003700 detected an undefined record type in file QRPGLESRC. If file QRPGLESRC is a program-described file, a record is read with record-identification codes that do not match any of the record types defined on the input specifications for the file. If file QRPGLESRC is an externally-described file, a record is read with a format unknown to the RPG program. The actual file is PROD_SRC/DAILYPTINV(PIVCSS). This is an externally described file. A dump of the program results in this input buffer: Input Buffer: 0000 80000000 00000000 E2C648BC 6F000E10 00060021 007B0070 00000000 03404040 *Ø SFç¯? # ø * 0020 F0F0F0F1 F0F0F0F0 F0F5F0F4 4CA2A3A8 93856E40 40404040 40404040 40404040 *000100000504<style> * 0040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * 0060 40404040 40404040 40404040 40404040 * * My concern is the first line (32 bytes) that clearly do not belong in a source file as described. The "real" file input begins at byte 32 (hex 20). Display Record Format File . . : QRPGLESRC Record Format . : QARPGLESRC Record Length . . : 112 Library . : QGPL File Type . . . : PF Number of Fields . : 3 Text . . : ILE RPG/400 Source File Field Type Size Key Begin End Text SRCSEQ ZONED 6,2 1 6 SRCDAT ZONED 6,0 7 12 SRCDTA CHAR 100 13 112 Here's a standalone program I'm testing with: *************** Beginning of data ***************************************** *-- Must compile with DFTACTGRP(*NO). *-- *-- Before compiling: *-- CRTBNDDIR BNDDIR(yourlib/yourbnddir) *-- ADDBNDDIRE BNDDIR(yourlib/yourbnddir) OBJ(QTCP/QTMHCGI *SRVPGM) *-- *-- Edit the three lines below for lib, file, srcmbr to something *-- on your system. *-- *-- Compile with option 14, specify: *-- DFTACTGRP(*NO) BNDDIR(yourlib/yourbnddir) fqrpglesrc if e disk usropn *-- NOTE: This source file must have record length of 112 *-- (SRCDTA length = 100) d lib s 10 inz('PROD_SRC') d file s 10 inz('DAILYPTINV') d srcmbr s 10 inz('PIVCSS') d newline c x'15' d wrtdta s 1024 d qcmdcmd s 512 inz d qcmdlength s 15 5 inz(%size(qcmdcmd)) d APIWrStout pr extproc('QtmhWrStout') d Output 32767a const options(*varsize) d OutputLen 10i 0 const d ErrorCode 100a options(*varsize) d errc0100 ds d errc01bytpro 10i 0 d errc01bytava 10i 0 d errc01excid 7a d errc01resaaa 1a d errc01excdta 40a c if lib = ' ' c eval lib = '*LIBL' c endif c eval qcmdcmd = 'ovrdbf file' + c '(qrpglesrc) ' + c 'tofile(' + c %trim(lib) + '/' + c %trim(file) + c ') mbr(' + c %trim(srcmbr) + ')' c call 'QCMDEXC' c parm qcmdcmd c parm qcmdlength c open qrpglesrc c read qrpglesrc c dow not %eof c eval wrtdta = %trim(srcdta) + newline c callp apiwrstout(wrtdta : %size(wrtdta) : errc0100) c read qrpglesrc c enddo c close qrpglesrc c eval *inlr = *on ****************** End of data ******************************************** I don't have the first clue why this is happening, or what it even means... :) Any help appreciated! Loyd +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.