Robert,
If you are using xpmstore in your xltp proc then yes.
As a matter of fact, before the IF Action was available, we used a generic if proc (xltp) that I wrote in the Xlates.
Among other functions, that proc allowed one to change the address path wherein a data item could be used in place of the %xn repetition counter and the proc would replace the name of the data item in the address path with the value of the data item – 0(0).1(@my_cntr).XXX(0).fld# would change the @my_cntr in the address path of the contrived preceding example to the actual value of the data item (let’s say @my_cntr has the value 1 – 0(0).1(@my_cntr).XXX(0).fld# would become 0(0).1(1).XXX(0).fld#).
That is accomplished by changing the appropriate xlateOutList entry.
Note that you then are not restricted to using the ITERATE counters or absolute number in an address path . I have asked that Cloverleaf(R) be enhanced to allow the use of any valid data item including temp variables, and inbound or outbound fields in the address paths. It is on the list of things requested.
One caveat – apparennty if a temp variable is not referenced before a proc tries to access it, the lists get out of sync. That is the xlateInList has the entry for the data name but the xlateInVals does not – so if one data item is in the inbound side and that data item is a temp variable and that temp variable is not ‘initialized’ then there will be one entry in the xlateInList and zero entries in the xlateInVals. This causes a difficult to debug situation.
Hence I always try to initialize all temp variables I am using in my Xlate right at the beginning of the Xlate (a very good programming practice learned in the ‘old school’). That way I should not get bit by the caveat expressed above.
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.