Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

AS400 Compile Error

chuckw0325

Programmer
Dec 2, 2024
5
I'm new to using AS400 COBOL. I'm trying to compile a program that is already in production. I have not made any changes to the program or any of the related files (DDS, CL, etc). When I compile, I get the following error"

* 20 MSGID: LBL1106 SEVERITY: 30 SEQNBR: 002300
Message . . . . : File 'POSPEMLMST' not externally described,
keyed file. External key specification ignored.

I get this on any COBOL program I try to compile. Any thoughts?
 
I got similar error when i removed my library with my file from my *LIBL
Code:
 *    19  MSGID: LNC1106  SEVERITY: 30  SEQNBR:  000068                      
          Message . . . . :   File 'P600091I' not externally described, keyed
            file. External key specification ignored.

How are you compiling your code?
Directly from Console using CRTBNDCBL command or from any IDE, like WDSC, IBM Rational Developer or VisualStudio Code?
 
If you enter option 14=Compile and press F4 you will get the details of the used command Create Bound COBOL Program (CRTBNDCBL)

But back to your problem: IMHO, the cause is, that the required file is not in your path, i.e. *LIBL. Look in what library is your file placed and then look using EDTLIBL command if this library is in your library list.
 
Last edited:
The compiler runs the CRTCBLPGM command.
1733252631127.png


The file POSPEMLMST is also getting put in the CDWLIB just like where the Cobol program is trying to get created.

1733252797813.png

CDWLIB is in my library list.
1733252847731.png
 
I'm new to using AS400 COBOL. I'm trying to compile a program that is already in production. I have not made any changes to the program or any of the related files (DDS, CL, etc). When I compile, I get the following error"

* 20 MSGID: LBL1106 SEVERITY: 30 SEQNBR: 002300
Message . . . . : File 'POSPEMLMST' not externally described,
keyed file. External key specification ignored.

I get this on any COBOL program I try to compile. Any thoughts?
This message indicates an issue with a file specification in an RPG program or DDS (Data Description Specifications) for an AS/400 or IBM i system. The specific problem is:

1. The file 'POSPEMLMST' is not externally described.
2. The file is not a keyed file.
3. An external key specification was provided but ignored due to points 1 and 2.

To resolve this issue:

1. Ensure the file 'POSPEMLMST' has an external file description (usually created with DDS).
2. If the file should be keyed, define the key fields in the DDS.
3. Remove any external key specifications in the RPG program if the file is not meant to be keyed.

This message is typically a warning (severity 30) and may not prevent the program from running, but it indicates that the file is not being used as intended in the program.

This is the answer of the chatbot perplexity.
 
We actually just figured it out internally. Under the F18=Change Defaults, the Object Library was set to *SRCLIB instead of CDWLIB. When they created my settings from another user's, they didn't get this updated. Once that was updated, I was able to compile without getting the error that I was getting. I appreciate everyone's assistance and feedback in trying to help resolve this issue. I learned a lot in the process.

1733256088549.png
 

Part and Inventory Search

Sponsor

Back
Top