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



OK. So it uses varying character to get the *INT2 length of the value passed to the CPP QCPEX0FL [instead of TYPE(*X)]; which also means that numeric /value/ specifications are also passed as character data. The issue\effect remains the same however, irrespective of the PARM definition used to get there.

I can not explain why they [the OS CP /copy utility/ design and development] did not effect padding for the specified /value/ to the length of the field [the _key_ field for xxKEY parameters]. The docs sure do little to explain the effects for the INCREL parameter [or for the FROMKEY and TOKEY parameters when not using *BLDKEY]. The docs even seem to imply padding, per the suggestion that one can "use the INCREL parameter to select records for copying by testing for the value of an *entire* field." [emphasis mine]. But I can confirm the effects for testing only for the length of the field for the length of the supplied value, has always been that way; as I described in my earlier reply.

So as I noted, what is seen is either working-as-coded or working-as-designed. And if the former, then the effects are unlikely to ever change [without some new element or parameter to influence the behavior]. As I had alluded in a older message to which a link was provided, I thought there was a "Technical Document" KB article on the IBM service\support website that described the effect, but I found none then and I found none still. One could submit an electronic reader feedback\comment from the page(s) of on the InfoCenter which document these parameters; e.g. the following page and its subtopics:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/dm/rbal3selrecords.htm

And FWiW... That is what some of us in the lab referred to as a .feeture. because it is an effect that is not generally the most desirable, yet it serves a valid function in the manner that it works. So although it is not regarded as a /feature/ in the preferred sense, described with the spelling as /feeture/ implied its possibly specious effect; just as how both _words_ would be pronounced the same and similar enough when written to convey a message, even if not the genuine spelling ;-)

Regards, Chuck

On 08 May 2013 08:43, Steve Landess wrote:
RTVCMDSRC output:
<<SNIP>>
31400 ELEM TYPE(*CHAR) +
31500 LEN(256) +
31600 SPCVAL( +
31700 (*NULL )) +
31800 MIN(1) +
31900 EXPR(*YES) +
32000 VARY(*YES) +
32100 PROMPT('Value')
<<SNIP>>
* * * * E N D O F S O U R C E * * * *

On 07 May 2013 16:15, CRPence wrote:

Working /correctly/ as coded; thus probably a .feeture. ;-)
Whether that is working-as-designed is moot, after having always
functioned that way... since the S/38, I believe. The value passed
on the INCREL parameter has an actual or effective length attribute
[ELEM TYPE(*X) I believe; someone could use their version of a
RTVCMDSRC to validate that], and the /field/ being compared against
the specified /value/ elment is compared only up to the length of
the literal value that was specified. Thus the comparison is
effectively the following predicate [as expressed using SQL; e.g.
as a predicate in a WHERE clause]:
left(LMLL, length('BR_T')) = 'BR_T'

At the command line [i.e. a command string without a CL variable
for the /value/ element of the Include Relationship], to copy just
the one row with the value 'BR_T', use the following
specification:
INCREL((*IF LMLL *EQ 'BR_T '))

Or similarly, as I had explained here:
http://archive.midrange.com/midrange-l/201107/msg00408.html


<<SNIP>>

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.