Solved

RPG Problems

Posted on 2008-10-20
1
2,453 Views
Last Modified: 2013-11-25
I am getting compile errors.  I have taken one 8 hour class in RPG and I could use expert help with the following code/errors - I have also attached a word document - It is very hard to cut and paste from - the compiler errors are in red.

0001.00 HDATFMT(*ISO)    DATEDIT(*YMD)                                                                  
0002.00 FBADMPEU   IF   E             DISK                                                              
0003.00 FBADMPNU   IF   E             DISK                                                              
0004.00 FNAMECHG   O    E           K DISK    RENAME(NAMECHG:NCOUT)                                      
0005.00 DYEST             S               D                                        YESTERDAY VARIABLE    
0006.00 DTODAY            S               D                                        TODAY'S DATE          
0007.00 DHOSP             S              3I 0                                      HOSPITAL #            
0008.00 DCHGDT            S             10I 0                                      DATE NAME CHANGED    
0009.00 DSPID             S             20A                                        SPID                  
0010.00 DCHGBY            S              4A                                        NAME CHGED BY INITIL  
0011.00 DNEWLN            S             35A                                        NEW LAST NAME        
0012.00 DPREVFN           S             35A                                        PREVIOUS FIRST NAME  
0013.00 DPREVMN           S             35A                                        PREVIOUS MIDDLE NAME  
0014.00 DNEWFN            S             35A                                        NEW FIRST NAME        
0015.00 DNEWMN            S             35A                                        NEW MIDDLE NAME      
0016.00 DPREVLN           S             35A                                        PREVIOUS LAST NAME    
0017.00                                                                                                  
0018.00  /FREE                                                                                          
0019.00     TODAY = %date();                                                                            
0020.00     YEST = TODAY + %DAYS(-1);                                                                                        
0021.00     DOU %EOF(BADMPNU);                                                                                                
0022.00       READ PFPNR1;                                                                                                  
0023.00       IF NOT %EOF(BADMPNU);                                                                                        
0024.00          IF %DATE(PNNMDT) = YEST;                                                                                    
0025.00           chain (PNHSP : PNSPID) BADMPEU;                                                                            
0026.00              IF %FOUND(BADMPEU);                                                                                      
0027.00                 HOSP = PEHSP;                                                                                        
0028.00                 CHGDT = PNNMDT;                                                                                      
0029.00                 SPID = PNSPID;                                                                                        
0030.00                 PREVLN = PNLSTN;                                                                                      
0031.00                 PREVFN = PNFSTN;                                                                                      
0032.00                 PREVMN = PNMIDN;                                                                                      
0033.00                 NEWFN = PEFSTN;                                                                                      
0034.00                 NEWMN = PEMIDN;                                                                                      
0035.00                 NEWLN = PELSTN;                                                                                      
0036.00                 CHGBY = PNLMBY;                                                                                      
0037.00                 WRITE NAMECHG;                                                                                      
0038.00               ENDIF;                                                                                081019                  
0039.00            ENDIF;                                                                                   081019                  
0040.00         ENDIF;                                                                                    
0041.00       ENDDO;                                                                                      
0042.00                                                                                                  
0043.00    *INLR = *ON;                                                                                  
0044.00    RETURN;                                                                                        

000400  External descriptions for file NAMECHG not found; file is  
         ignored.
*RNF7066 00      2 000200  Record-Format PFPER1 not used for input or output.              
 *RNF7702 30    100 002500  A list of key fields is not allowed with program described      
                            file.   corresponds to line 25                                                          
 *RNF7503 30    112 003700  Expression contains an operand that is not defined. corresponds to line 37            
 *RNF7086 00      3 000300  RPG handles blocking for file BADMPNU. INFDS is updated          
                            only when blocks of data are transferred.

The file called NAMECHG had a record format of NAMECHG  if the line reads:
0004.00 FNAMECHG   O    E             DISK        

Then I get the following error:

*RNF2121 30 a      000400  Record format NAMECHG in file NAMECHG already defined;    
                           record format is ignored.                                
*RNF2109 40 b      000400  All Record Formats for externally-described file NAMECHG  
                           ignored or dropped due to error; file ignored.            
                                                         

namechgerrs.doc
0
Comment
Question by:Jeanniem
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Accepted Solution

by:
Jeanniem earned 0 total points
ID: 22770094
I found that the main problem with the above code is that I didn't specify that the files had key fields in the F spec.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In part one, we reviewed the prerequisites required for installing SQL Server vNext. In this part we will explore how to install Microsoft's SQL Server on Ubuntu 16.04.
What do responsible coders do? They don't take detrimental shortcuts. They do take reasonable security precautions, create important automation, implement sufficient logging, fix things they break, and care about users.
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question