|
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-2025 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.