× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



That any one particular database file might have exhibited difficulties in SAVxxx when it reached 8K members, would not have been a valid indication that any other database files would have the same issue when they also reached the same number of members. Even if two or three files exhibited that effect [presumably the error message CPF375E symptom msgCPF375E], any conclusion that there was some upper limit other than the documented 32K database *FILE MAXMBRS(*NOMAX) limit, would have been apocryphal. The similarity in effect would have been coincidental or have arisen only from the similarity of the attributes of the members themselves; attributes may be file-level attributes, such as key fields. The message does not name any specific number of members, not simply to avoid updating the text with removal of a limit, but because the save limits are not only by number. For a database file, a limit in storage size of 16MB for the "descriptions" of the *FILE and its members is the limit that is enforced.

http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzamp/rzampsaverst.htm
"When you perform a save operation, the system creates a list of the objects and their descriptions that it saves. The system saves this list with the objects for use when it displays the save media or restores the objects. The list is an internal object that is not accessible to user programs.

The system requires that all description data saved for a file must be contained in the same 16 MB internal object. This data includes information about the file, its formats, and its members. For database physical files with dependent logical files, the data also includes information about the logical files, if access paths are saved. If your save operation fails because the description data for a file has exceeded the size of a 16 MB internal object, you need to divide the members of the file among multiple files and save these files. Because the system might try to put the description data for more than one file in the same 16 MB internal object, you might need to use separate save commands to save these files."

So although such load\dump descriptor limits as imposed on the database save feature by the SAVxxx features may have been manifest as an error [like CPF375E] that alluded to some limit being exceeded [and thus why a database *FILE was not saved], the origin for the "not saved" condition was not directly the number of members, merely influenced by the number of members. A source file with 32K members added, would on every release, be saved successfully within the LD descriptor limits, as verified by a /limits test/ that was performed. Such a save would succeed whenever the attributes of the file members did not cause the internal 16MB limit to be exceeded, or IIRC, also that the ordered objects within the descriptor did not happen to place that *FILE as the last object. Thus in a specific scenario [unique to a specific system environment], a *FILE that could not be saved might have had as few as one member. In other scenarios a *FILE that could not be saved might have had 2K, 10K, 20K, or any number of members up to the MAXMBR limit. So the particulars of the *MEM objects, the *FILE object, and the other objects & relations saved on the same SAVxxx request could prevent the *FILE being saved, but the specific number of members required to see a problem was always indeterminate.

So again, there has never been any hard\specific number-limit for members of a database file for save; I know of this quite well, having worked on the database team. As such, no specific number of members as an upper limit could ever be used to appropriately define generally at what point a database file would no longer be able to be saved on SAVxxx requests.

Regards, Chuck

Wintermute, Sharon wrote:
There was a limit on the # of members you could save at one time
with SAVLIB. I have hit it at multiple shops. I may not remember
the # correctly, (ie 8000) but I do know it existed at one time.

That was one reason several shops started putting source into
multiple files and separating source from production objects.

This may no longer exist, but it did at one point.

For some shops, having multiple source files may simply be a
carry-over from this restriction.

CRPence on Friday, May 07, 2010 10:38 AM wrote:

Wintermute, Sharon wrote:
One of the reasons (way back when) was the 8000 member limit
on saving of files. I don't know if that still exists. I have
seen applications that exceed that. (Working on 2 of them
now).

hr wrote:
I know this is not directly the subject, but I have always
wondered why people has different source files for
different source types <<SNIP>>

If "saving of files" means SAVOBJ or SAVLIB, neither has ever
had a hard-limit like 8000; I doubt also for SAV. The database
supports up to 32766 [and remains functional for most requests,
even up to the documented limit of 32767] members in a database
file; the database save feature [which implements SAVxxx]
included.

There are dozens of reasons that one could justify self-imposed
limits on the number of members, mostly performance-related;
or perhaps to avoid exceeding some application-imposed limits.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.