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



Interesting that the compiler doesn't complain about the unqualified name. If the pointer were set to some valid data but not the *ENTRY parameter, which field would the compiler use when the field reference is unqualifed?


On 10/7/2016 1:01 PM, CRPence wrote:
You can effect nearly identical to what TEMPLATE provides, using BASED, as shown here. Note that the QUALIFIED keyword is *not* required to be specified; although unqualified references will be problematic if the basing pointer is not set correctly; oddly, I do not get a MCH3601 on v6r1 [but I do on v5r3, and msg CPF8E17 when EVAL @MODE] when the basing pointer is initialized to *NULL as shown, and instead get INCORROUT UNPRED (UR) results -- but the code shown here sets the pointer to the address of the by-reference-pointer *immediately* upon entry:

d ptrToData s * inz(*NULL)
d @PARMS e DS extname(OB0050PR)
d based(ptrToData)

d OB0050AN pi
d @RETURNCODE 2A
d @CALLER 10A
d PARMS likeds(@PARMS)
d c111 s 111A

/free
ptrToData = %addr(PARMS) ;

// The following, if un-commented, are function equivalents:
// if parms.@mode = 'B' ;
// if @MODE = 'B' ;

Thus, for the same reason those two predicates are the /same/, the SQL can be written as shown here, thus avoiding a qualified name that would prevent the pre-compiler from functioning as desired:

UPDATE myTable SET myColumn = :@MODE WHERE ...



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.