Dan & Jim:
I don't know if this will help, but COBOL has a status variable
DB-FORMAT-NAME that holds the name of format read. 
May be there is something similar i nRPG.

Sincerely

Domenico Finucci
Fiditalia , Milano, 02- 4301-2494


-----Messaggio originale-----
Da: D.BALE@handleman.com [mailto:D.BALE@handleman.com]
Inviato: marted́ 9 gennaio 2001 20.34
A: MIDRANGE-L@midrange.com
Oggetto: Re: Can a PF have >1 record form


Thanks for the example, Jim.  Upon reading a record from the file, how do
you
know which "format" it is?

When you update the record, do you just output ARBuffer?

Dan Bale
IT - AS/400
Handleman Company
248-362-4400  Ext. 4952

-------------------------- Original Message --------------------------
Dan,

No.  This has been a thorn in my side for a long time.  It was very
common in the S36 days to have a single file with two different file
formats, but with DDS you can only specify one of the formats.  I have
tried different things with join logicals, etc.. to no avail.

I finally found a solution that works.

I give no DDS to the file itself.  I then create 2 physical files with
the DDS for the file layouts for the 2 records.  These files never contain
any data.  In my program I open the real file as program defined.  I then
add ot my D-Specs an external data structure to those two files I made with
the DDS of the record layouts.  This here is a real world example of how
this
looks and works.  Please note that although I am opening these up as Primary
files, they work just fine as full procedural.  This snippet was taken from
a one shot file update program I wrote:

FARFILE    UP   F  222        DISK

D FileNM_DS     E DS                  ExtName(ARFileNM)
D                                     Based(FileNM_DS@)
D                                     Prefix(NM_)
D FileNM_DS@      S               *
D
D FileCR_DS     E DS                  ExtName(ARFileCR)
D                                     Based(FileCR_DS@)
D                                     Prefix(CR_)
D FileCR_DS@      S               *

IARFile    NS
I                                  1  222  ARBuffer

C     *InzSR        BegSR
C
C                   Eval      FileNM_DS@ = %Addr(ARBuffer)
C                   Eval      FileCR_DS@ = %Addr(ARBuffer)
C
C                   EndSr
+---
| 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
+---
+---
| 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
+---

This thread ...


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

This mailing list archive is Copyright 1997-2019 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].