• Subject: RE: Can a PF have >1 record format?
  • From: "Shaw, David" <dshaw@xxxxxxxxxxx>
  • Date: Thu, 11 Jan 2001 11:36:59 -0500


What's wrong with the classic approach of a separate physical for each
record format, a multi-format (NOT join) logical to replace the original
physical, and a record format selector program to accommodate writes to the
logical which don't specify a record format?  This capability has been
around since CPF Release 1.0 and was put there specifically to make
migrating S/3 apps to the S/38 easier, back when the S/38 was the "official"
upgrade path for S/3 users.

Dave Shaw
Spartan International, Inc.
Spartanburg, SC
To subscribe to the MAPICS-L mailing list send email to
MAPICS-L-SUB@midrange.com or go to www.midrange.com and follow the

-----Original Message-----
From: Jim Langston [mailto:jimlangston@conexfreight.com]


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
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 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                   Eval      FileNM_DS@ = %Addr(ARBuffer) 
C                   Eval      FileCR_DS@ = %Addr(ARBuffer) 
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

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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

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