|
Thanks for your reply Clyde. Upon further testing, it looks like the placement of QTEMP within the library list has a major impact. Our sites "rule" is that QTEMP is low in the library list. There is no problem in creating the physical in QTEMP, the problem is creating the logical in QTEMP, linking to the Physical also in QTEMP. I can create the file, but it ends up with no member. I even tried ADDLFM ending up with the same error message - and no member. Changing QTEMP to be *FIRST, results in there being no problems, both the Physical AND Logical are created WITH members and the data in the logical is linked to the physical. I don't know if this is "as designed" but to me there should be no problems in creating a Logical tied to a physical in whichever library even if there is another file (or files) of the same names in other libraries within your library list. Anyway - thanks to everyone who supplied answers and suggestions to my dilemma. Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx midrange-l-bounces@xxxxxxxxxxxx wrote on 01/11/2007 09:51:28 PM:
Alan, the library list has no meaning if you are creating the files with an explicit library (QTEMP) unless you have a hard coded library name in the DDS. I am making an assumption that you are creating the files in your interactive program and not submitting the job to batch. Using the code provided, the command will create the physical file in QTEMP with the following attributes. 1/11/07 Display File Description DSPFD Command Input File . . . . . . . . . . . . . . . . . . . : FILE PHYFILE Library . . . . . . . . . . . . . . . . . : QTEMP Record Format List Record Format Level Format Fields Length Identifier PFMBR 3 70 205E368F48128 You then create the logical file in QTEMP with another explicit value for the library and the datamember (also in your interactive job). THIS CAN BE DONE IN BATCH WITH A CL PROGRAM, BUT YOU WILL LOSE THE FILES WHEN THE PROGRAM COMPLETES. At this point you will have a physical and logical file in QTEMP with no data. This is the information from a DSPDBR command. 1/11/07 Display Data Base Relations DSPDBR Command Input File . . . . . . . . . . . . . . . . . . . : FILE PHYFILE Library . . . . . . . . . . . . . . . . . : QTEMP Member . . . . . . . . . . . . . . . . . . : MBR *NONE Record format . . . . . . . . . . . . . . . : RCDFMT *NONE Output . . . . . . . . . . . . . . . . . . : OUTPUT * Specifications Type of file . . . . . . . . . . . . . . . : Physical File . . . . . . . . . . . . . . . . . . . : PHYFILE Library . . . . . . . . . . . . . . . . . : QTEMP Member . . . . . . . . . . . . . . . . . : *NONE Record format . . . . . . . . . . . . . . : *NONE Number of dependent files . . . . . . . . : 1 Files Dependent On Specified File Dependent File Library Dependency JREF Constraint LOGFILE QTEMP Data You can then use your edit member of choice (DBU, DFU, etc) to add a record to the file or do a CPYF from the production library to the file in QTEMP and you will have data accessible from both the logical and physical view. Here is a sample record added to the physical file. DATA BASE UTILITY (DBU) File . . . : PHYFILE Member . . : PHYFILE Record Length . : 70 Library . : QTEMP Format . . : PFMBR File Access . . : Arrival Page# . . . : 1 of 1 Mode . . . : Display Record Number . : 1 Control . . . Text . . . : Tteval SAMPLE RECORD Ttival TEST Shan ANOTHER FIELD The library list has no meaning if you explicitly put in QTEMP as the file library. IT has been this way since the System/38 and the pre-release version of OS/400 WAyyyy back in 88. Clyde -----Original Message----- From: Alan Shore [mailto:AlanShore@xxxxxxxx] Sent: Thursday, January 11, 2007 4:07 PM To: Midrange Systems Technical Discussion Subject: Re: Creating a physical AND Logical file Thanks Jerry. (and Elvis) For some reason the way Elvis explained the situation, it just was NOT sticking to my brain. Through various testing, I've come to realize that the library QTEMP HAS to be above the PRODUCTION library in creating the QTEMP physical and QTEMP logical. So it looks like for the creation of the logical, I will have to temporarily move QTEMP. As far as Audit is concerned, the *USERS don't have *OBJMGT therefore couldn't directly use CRTDUPOBJ, and I was contemplating creating a program that adopts owner authority to do this when I found out that the PRODUCTION file is also created on the fly, so if I tried to CRTDUPOBJ when the file wasn't there, it wouldn't have worked anyway, hence the CRTPF along with CRTLF. Thanks to ALL who supplied answers. Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx midrange-l-bounces@xxxxxxxxxxxx wrote on 01/11/2007 04:38:41 PM:Alan, Is QTEMP lower in the library list than the Production library?That'sreally a rhetorical question since the LF is being created over the Production file. What Elvis was trying to say was, unless the library is specified intheLF's DDS (such as R HSTLINR PFILE(HISTORY/HSTLIN) ), the LF will be created over the first *File object by the name of the PFILE( ) that it finds. If the library is coded in the PFILE( ) statement, the library list is irrelevant (i.e., will not be used).SoElvis was suggesting putting QTEMP at the top of your system library list (which would have been the effect if it had not already existedinthe library list somewhere - system or user portion). I know this works; did it last week on a project and again this morning on anotherone.So the issue, in brief, is to get QTEMP ahead of the Production library. There are a myriad of ways to do this and things toconsider,not least of which is the state of the library list when the process ends. If you use RMVLIBLE QTEMP before doing a CHGSYSLIBL or an ADDLIBLE, you won't get the error you mentioned. Audit is audit and no getting around that, as you say. I am curious, though, how one audits QTEMP regardless of the method used to createthetable? I was led to believe that even the NSA would have a fit retrieving stuff from there once the job ends. * Jerry C. Adams *IBM System i5/iSeries Programmer/Analyst B&W Wholesale Distributors, Inc.* * voice 615.995.7024 fax 615.995.1201 email jerry@xxxxxxxxxxxxxxx <mailto:jerry@xxxxxxxxxxxxxxx> Alan Shore wrote:Sorry Elvis - this wont work with the command CHGSYSLIBL QTEMP *ADD the error message is Library QTEMP already exists in library list. Alan Shore NBTY, Inc (631) 244-2000 ext. 5019 AShore@xxxxxxxx midrange-l-bounces@xxxxxxxxxxxx wrote on 01/11/2007 02:34:19 PM:CHGSYSLIBL QTEMP *ADD ... create your LFs .... CHGSYSLIBL QTEMP *REMOVE Celebrating 10-Years of SQL Performance Excellence -----Original Message----- Subject: RE: Creating a physical AND Logical file Thanks Nick, but unfortunately that picks up the physical file thatresidesin an earlier library on the library list Alan Shore -- This is the Midrange Systems Technical Discussion (MIDRANGE-L)mailinglistTo 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.-- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailinglistTo 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.-- 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.
**************************************************************************************************
This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to whom they are addressed. If you are not the original recipient or the person responsible for delivering the e-mail to
the
intended recipient, be advised that you have received this e-mail in error, and that any use, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please immediately notify Postmaster@xxxxxxxxxxxx Woodhead Industries, Inc. and its affiliates reserve the right to monitor all internal and external communications at any time. *** WARNING *** Any email correspondence including responses to this email
with
Woodhead Industries Inc or any of its subsidiaries will be scanned for Viruses and content deemed inappropriate by Woodhead Industries Inc.
**************************************************************************************************
-- 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 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.