× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Internally defined file
  • From: Jim Langston <jimlangston@xxxxxxxxxxxxxxxx>
  • Date: Wed, 29 Nov 2000 11:28:07 -0800
  • Organization: Pacer International

Easiest way I can think of.  Build another DDS file with the correct
mapping for the file including the packed field.

When you open the file in your program open it like this:

 FARFILE    UF   F  222        DISK                                   
                                                                      
 D FileNM_DS     E DS                  ExtName(ARFileNM)              
 D                                     Based(FileNM_DS@)              
 D                                     Prefix(NM_)                    
 D FileNM_DS@      S               *                                  

 IARFile    NS                                                   
 I                                  1  222  ARBuffer             

 C     *InzSR        BegSR                                       
 C                                                               
 C                   Eval      FileNM_DS@ = %Addr(ARBuffer)      
 C                                                               
 C                   EndSr                                                      
                                                  

Where:
ARFILE = Your existing file with data
ARFileNM = Your new empty file with correct DDS

Other than this, you are going to have to repair your file with the correct DDS.
To do that, I create a new file with new DDS and then do a CPYF FMTOPT(*NOCHK)
then make sure I can get to the data correctly with UPDDTA.  If all is fine I
then copy this over the original physical file.  Logicals usually get in the way
and I have to recompile all of them.  A big pain.

Then I have to recompile all the programs that use this file externally 
described.

Regards,

Jim Langston

"Shrader, Patrick" wrote:
> 
> I am trying to use an external physical file that in one program has been
> used as an internally defined file. While this is normally not a problem,
> about 12 years ago someone decided to remap a character filler field, length
> 3, to an packed numeric length of 1. DFU and DBU cannot maintain the file
> because of the type conflict.
> 
> How can I access the field inside an RPG program without defining it
> internally? Unfortunately, the information encoded in the field is very
> important to my current program. Redesigning this payroll application to
> make everything externally defined would be very difficult, and not an
> option since I am hoping to completely replace it soon.
> 
> Thanks!
> 
> Patrick Shrader
>
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-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 thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.