Thanks Alan. In pulling together a response to your post, I decided to try this iteration:

===> CRTLF FILE(LIBC/LF1) SRCFILE(LIBC/QDDSSRC) MBR(*FILE) DTAMBRS(*ALL) MAXMBRS(*NOMAX)

This time I did not qualify the DTAMBR parameter with the PFILE that was on the logical file source and it worked. So, I'll go with that. I don't know why specifying the physical file and library in the DTAMBR caused an error (they really do match) but ... whatever.

Pete Helgren
Value Added Software, Inc
www.asaap.com
www.opensource4i.com


On 10/26/2010 11:24 AM, Alan Shore wrote:
You need to run the command CRTLF against the new physical file in the new
library

Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill



Pete Helgren
<pete@xxxxxxxxxx>
Sent by: To
midrange-l-bounce Midrange Systems Technical
s@xxxxxxxxxxxx Discussion
<midrange-l@xxxxxxxxxxxx>
cc
10/26/2010 12:51
PM Subject
Cannot Add a logical file member.
Not sure why
Please respond to
Midrange Systems
Technical
Discussion
<midrange-l@midra
nge.com>






I needed to set up a test environment so that I could run a program that
updates a file. The update is actually through a logical file (I didn't
write the program I just need to do some testing).

So I created a new library and used CRTDUPOBJ to create the Physical
File in the new library. Then I used CRTDUPOBJ to create the logical in
the same library even though the original logical didn't reside in the
same library as the physical at the time. I assumed (wrongly) that the
logical would find the physical in the target library and properly point
to it. It doesn't. The logical file still points to the physical file
in the production library.

So basically PF1 in Library A has a logical file LF1 in Library B and I
wanted to build a test library C where both PF1 and LF1 resided and had
the correct access path (pointing only to the file in library C).

So I deleted the logical that I created using CRTDUPOBJ and decided to
create the logical from source.

Here is the command I used: ===> CRTLF FILE(LibC/LF1)
SRCFILE(LibC/QDDSSRC) MBR(LF1) DTAMBRS((LibC/PF1 (PF1))) MAXMBRS(*NOMAX)

When I run it I get the following error:

File LF1 created in library LibC.
File PF1 in LibC on DTAMBRS not valid.

I don't know why. The LF should reside in library LibC and it should be
built over PF1. The source has the following:

R FPF1 PFILE(PF1)
A K PRKEY
A S SPID CMP(EQ 'SP')
A S PMETH CMP(EQ '1')
A S PTYPE CMP(EQ '4')

The PFILE specifies PF1 so I am not sure why the compile complains about
adding a DTAMBR. The created logical properly points to the physical
located in the same library when I view the access path setting in
DSPFD. So I am stumped. What am I missing? Using ADDLFM results in
the same error: File PF1 in LibC on DTAMBRS not valid.


--
Pete Helgren
Value Added Software, Inc
www.asaap.com
www.opensource4i.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.