EZTC0186E >>> $ macro variable LENGTH not defined

Document ID : KB000015168
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

Under release 11.6, having '&' references in the MACRO definition is resulting in the following EZTC0186E compiler error:

     EZTC0186E >>> $ macro variable LENGTH not defined

 

How can I resolve this?

    

Answer:

CA Easytrieve is not designed to have "&" references in the MACRO definition, only in the body of the macro.

The Programming Guide identifies the following:
Within the body of a macro, the ampersand (&) is the prefix concatenated to parameter substitution words. You must spell parameter substitution words exactly the same their counterparts on the macro prototype, except for the leading ampersand. 

The workaround is to hard code the "&" value where it is needed, instead of placing the "&" in the invocation of the macro.