× 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.



On 28 Aug 2012 13:37, fbocch2595@xxxxxxx wrote:
as part of a command we allow programmers to use that copies files
from one i to another, I'd like to change it up so that the library
on the TOFILE can not be changed but the file can be changed. I'm not
sure how that's done since TOFILE includes the file along with the
library. So, if midrange nation can tell me how it's done and/or
gimme some code, I'd appreciate it.

<<SNIP prompted CPYF command showing kwd view>>


So there is already a command that has a CPP, which apparently eventually [calls something that] presents an interactive prompted request such as?:

?CPYF ??TOFILE(SomeLib/SomeFile) ...

And the issue is that there is no capability via the "selective prompt characters" feature of the command prompter to hide or protect just one element of a QUAL specification of a Command definition; i.e. there is no way to allow the value SomeFile to be modified, while also preventing the value SomeLib from being modified, because the selective prompt feature acts only on an entire parameter rather than on portions of qualified names and elements.? If so...

In a similar scenario long ago, I had used QCMDCHK to get the resolved command string from the prompted request, then verified the value remained unchanged from its prompted value, then either requested [by an inquiry message and re-prompting] or effected correction of the parameter specification directly within the command string, and finally invoked the verified [or the corrected and re-verified] command string using QCMDEXC [or QCAPCMD]. My scenario required, similarly, an OUTFILE library name to remain unchanged. And prior to changing the code to force the library name, I had retrieved the file and library name from the completion message sent by the feature that created or directed to the named output file; since the change, both names were derived from the command string. I would have created my own command and then invoked the other utility, but the command and the amount of flexibility the user required for their specifications of the command made that option unpalatable. That said...

If the capabilities of the CPYF allowable for use by the programmers in their prompted requests ["as part of a command" already in use] is somewhat limited in scope, then creating a private command and a CPP that does little more than invoke the equivalent *SYSTEM/CPYF [or if prompted again, then probably *NLVLIBL/CPYF] request is easily a better choice over /parsing/ and possibly modifying the command string and thus having to use interpreted versus compiled [though optionally prompted] command requests. For example, the following prompted command invocation coded in a CLP protects but displays a ToFileLibr() parameter value of 'SomeLib', while enabling the user to modify the ToFileName() parameter value from 'SomeFile' to any other allowed name-value that the programmer\user chooses:

?SIMPLECPYF ?*TOFILELIBR(SomeLib) ??TOFILENAME(SomeFile) ...

The TOFILELIB and TOFILE parameters of the SIMPLECPYF would be defined as simple names instead of as QUALified names, and the specified values could be passed to the CPYF command [shown below as prompted, but that is optional; the intent is to show the protected qualified name, which if TOFILENAME had been changed to 'ThatFile' in the SIMPLECPYF invocation then the resolved parameter would become TOFILE(SomeLib/ThatFile) in the following invocation]:

? *SYSTEM/CPYF ?*TOFILE(&ToFileLibr/&ToFileName) ...

Note: the CPP for the SIMPLECPYF command would best specify effectively all parameters on that CPYF invocation to prevent changed defaults [to the CPYF command] from impacting the behavior [of the SIMPLECPYF command].


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.