|
By adding the PFCST of *prikey you've added a key to the physical
file, hence the key on *prikey.
DDS:
A1:
UNIQUE
R A1R
FIELD1 5A
FIELD2 10A
K FIELD1
A2:
R A2R
FIELDA 5A
FIELDB 10A
From file A1:
Access path . . . . . . . . . . . . . . . . : Keyed
Access path size . . . . . . . . . . . . . : ACCPTHSIZ *MAX1TB
Maximum key length . . . . . . . . . . . . : 5
Maximum record length . . . . . . . . . . . : 15
File is currently journaled . . . . . . . . : No
Access Path Description
Access path maintenance . . . . . . . . . . : MAINT *IMMED
Unique key values required . . . . . . . . : UNIQUE Yes
Access path journaled . . . . . . . . . . . : No
Access path . . . . . . . . . . . . . . . . : Keyed
Constraint Type . . . . . . . . . . . . . . : NONE
From file A2, after the ADDPFCST:
Access path . . . . . . . . . . . . . . . . : Keyed
Access path size . . . . . . . . . . . . . : ACCPTHSIZ *MAX1TB
Maximum key length . . . . . . . . . . . . : 5
Maximum record length . . . . . . . . . . . : 15
File is currently journaled . . . . . . . . : No
Access Path Description
Access path maintenance . . . . . . . . . . : MAINT *IMMED
Unique key values required . . . . . . . . : UNIQUE Yes
Access path journaled . . . . . . . . . . . : No
Access path . . . . . . . . . . . . . . . . : Keyed
Constraint Type . . . . . . . . . . . . . . : PRIMARY
mcalabro@commsoft.net on 10/15/99 01:26:38 PM
Please respond to MIDRANGE-L@midrange.com@Internet
To: MIDRANGE-L@midrange.com@Internet
cc:
Fax to:
Subject: RE: PF File Definition questions...
Rob,
I am fairly new to RI, so I had to try this. On V4R3, I created a PF:
A R PHYR TEXT('Sample PF w/o key')
A*
A PHYKEY 5 COLHDG('Logical key')
A PHYDTA 50 COLHDG('Associated data')
I was able to use the following command to add a *PRIKEY constraint even
though there is no key specified in the PF:
ADDPFCST FILE(PHY) TYPE(*PRIKEY) KEY(PHYKEY)
When I DFU the file, I am unable to add two records with the same value for
PHYKEY.
I built another unkeyed physical:
A R DEPR TEXT('Sample PF w/o key')
A*
A DEPKEY 5 COLHDG('Logical key')
A DEPDTA 50 COLHDG('Associated data')
and added an RI constraint:
ADDPFCST FILE(PHYDEP) TYPE(*REFCST) KEY(DEPKEY) PRNFILE(PHY)
and was unable to DFU a record into PHYDEP unless the equivalent record was
in PHY. What problems did you encounter?
By the way, I completely agree with your assessment of multiple members.
They are a big mistake. We have old software here that makes extensive use
of multiple members (one for each month) and it is a genuine headache to
deal with cross-month/quarter/year reporting. The member name knows what
accounting month the data is for, but the DATA inside the member doesn't.
If we had the accounting month in the files we could have easily done
queries, SETLL/READE etc across month boundaries.
Buck Calabro
> -----Original Message-----
> From: Rob Berendt
> Sent: Friday, October 15, 1999 10:00 AM
> To: MIDRANGE-L@midrange.com
> Subject: Re: PF File Definition questions...
>
> Most of our package PF's do not have a key. Any new ones I create,
> do. I am trying to follow database rules. You cannot do Referential
> Integrity on files without a primary key. Also, I avoid multiple
> members for the same reason. I've had to use trigger programs when
> simple RI would have been effective just because of the multiple member
> situation. We have a UPS. We use RAID. The risk mentioned by one
> person aren't overweighing the benefits. At least in our situation.
>
+---
| 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 mailing list archive is Copyright 1997-2025 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.