On 16-Nov-2015 15:39 -0600, Steinmetz, Paul wrote:
Qsh cat worked.
I'm surprised that IBM does not have an i5/OS command for this?

Deemed necessary for the traditional user of the integrated database, was an ability for such users to copy textual data between record-delimited stream files and database source or flat files. Thus the Command (CMD) objects, Copy From Stream File (CPYFRMSTMF) and Copy To Stream File (CPYTOSTMF) were provided to do that. Similarly the capability is provided to copy record-data between database /described/ [i.e. not flat nor source] files and text stream record-data, for which the commands Copy From Import File (CPYFRMIMPF) and Copy To Import File (CPYTOIMPF) were provided. All of those commands allow moving the record-data *between* the stream record of the Stream File (STMF) and the database record of the DataBase File (DBF).

Yet for the capabilities to work solely with stream data [copy, append, truncate, compare, et al, for the data within a STMF or between STMFs], that was already available from utilities that are included as part of the QSHELL. And for those utilities [as noted already, found to be functional for that purpose], there is of course the Command QSH using the CMD() parameter specification, for which the capability is given to pass requests of those utilities to be interpreted by\within the shell; i.e. a Command (CMD) interface is already provided, though a generic interface to the utilities rather than a one-to-one correlation between command and utility.

So deemed quite near literally as unnecessary, was providing separate Command (CMD) objects to mimic those various *other* functions that were already provided by the shell utilities. The OS providing specific Command interfaces for each utility would be additive to, as well as duplicitous of the functionality already available via QSH. The duplication, and the associated costs of supporting each additional interface, at least figuratively, would be mostly just /bloat/. Such added capabilities could be left to someone else to provide either for themselves or as a [free or paid 3rd party] offering to those who would not want to use the already-existing utilities nor to write their own features outside of what those shell utilities provide.

FWiW the FTP subcommand APPEND also provides the capability to concatenate records from one [stream] file to another existing [stream] file when sending data; i.e. instead of PUT, use APPEND. While there is a "(REPLACE" capability for GET [using NAMEFMT=0], I am not aware of an Append capability with the GET subcommand [e.g. there is not "(ADD"] nor an alternate subcommand for data transfers when receiving data.

IIRC, IBM did provide IFSTOOLS [or something quite similar by nature, even if what they provided was not by that name] as a no-cost offering with no formal support, that did provide some specific /command/ interfaces that would act on STMF without having to defer to the Qshell. However in a quick web search of that token IFSTOOLS, along with the word APPEND, I noticed a document [dead link, but in a cache] that seemingly implied [or so I inferred, with only a cursory glance] that there was no tooling as part of IFSTOOLS for appending one STMF to another.

This thread ...


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

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