AS/400 Wont compile Printer File under RDP 8

3.5k Views Asked by At

I'm currently taking a college course on AS400 (IBM I) and i've been good until Chapter 11, dealing with RDP 8.0. Either way, i managed to get through the assignment up until the point where i'm required to copy a previously crafted physical file called "EMPPFLP" under the library "INTROCLASS".

I copied the file over to my personal library under "QDDSSRC" source and then right clicked on it (EMPPFLP) and selected Compile then CRTPRTF and i get this.

Job 942098/DDELAP01/QDFTJOBD submitted to job queue QBATCH in library QGPL.

CRTPRTF SRCFILE(DDELAP01/QDDSSRC) SRCMBR(EMPPFLP) REPLACE(*YES) OPTION(*EVENTF) FILE(DDELAP01/EMPPFLP) Errors in DDS not allowed with specified GENLVL. Cause . . . . . : Either the severity level of the errors found in DDS was greater than or equal to the error generation level (GENLVL parameter), or GENLVL(0) was specified. Recovery . . . : See the DDS source listing for the GENLVL value and error messages. Either correct the errors or change the GENLVL value on the command, and then try the request again. File EMPPFLP not created in library DDELAP01. Cause . . . . . : The file was not created because of errors. Recovery . . . : See the error messages previously listed. Correct the errors, and then try the request again.

enter image description here

I will appreciate any help guys, not sure whats going on here, I already posted questions for professor but i've received no response and i need to submit this assignment by 12am.

3

There are 3 best solutions below

3
On BEST ANSWER

CPD5248: File specified on REF or REFFLD keyword not found.

The library containing the file EMPPFL used in your REFFLD statement is not in your library list.

Either replace *LIBL with the actual library name that contains the file or add it to your library list with the ADDLIBLE command (or other method appropriate for your development environment).

CPD7528: Number of decimal replace positions not valid

This is caused because the field definition can not be found because of the previous error.


The REFFLD keyword allows you to pull field attributes from a file (table) instead of hardcoding every one.

The error indicates that the file being referenced, EMPPFL, can not be found in your library list. The library list is similar to the PATH in Windows/Linux/etc.

In order to resolve the error you must help the system find the EMPPFL file. This can be done by explicitly pointing to the library containing the file or including the file in a library within your library list.


If you can provide the output from the following commands it will help resolve the issue:

DSPLIBL OUTPUT(*PRINT)

DSPOBJD *LIBL/EMPPFL *FILE OUTPUT(*PRINT)

DSPOBJD *ALLUSR/EMPPFL *FILE OUTPUT(*PRINT)

Note that the second command should return a message "Object EMPPFL in *LIBL type *FILE not found".

1
On

I know pretty much nothing about the AS400, but did find an article that describes the error message shown in your image:

Message Number of decimal replace positions not valid.

Cause The number of decimal replace positions for the EDTWRD or EDTCDE keyword must equal the field length. The number of decimal replace positions is the sum of the number of blanks and the first stop-zero-suppression character. If the first character in the EDTWRD is a stop-zero-suppression character, one additional blank may be specified.

Recovery Change either the field length or the value on the EDTWRD or EDTCDE keyword to make the field length the same as the number of decimal replace positions. Then try the request again.

http://www.iseriesworld.net/?messages=cl&prefix=cpd&code=7528

I hope that helps. Good luck with your class and welcome to Stack Overflow!

2
On

It seem a GENLVL error. You should have a look on the SPLF which product after you compile. There should be some useful message on there