Given a character variable containing a variable name, retrieve the pointer to the named variable.
This program uses the API QleGetExp, which means the variable whose
pointer is to be retrieved has to be IMPORT/EXPORT. I created a service program
to export the variables VAR1 and VAR2, and then bound
that into a program using the API:
%Str( varName@ : %Len(varName) ) = 'VAR1';
var@ = getExp( *Omit
: *Omit
: *Omit
: varName@
: *Omit
: expType
: %Addr(ErrDS)
);
After the call to the API, the pointer variable var@ contains
the address of VAR1.
The following link takes you to the source code, written in beautiful /free ILE/RPG. The source is
distributed under a creative commons license.