Auch Pointer helfen hier nicht, da die Adresse eines Feldes angegeben werden muss, die zur Compile-Zeit bekannt ist !

Nochmal:

In RPG keine Chance.

Um variable Abfragen dieser Art zu gestalten nutze entweder SQL oder eine Select-Anweisung:

select;
when ijcxxt = 'F1';
eval Hilfsfeld = F1;
when ijcxxt = 'F2';
eval Hilfsfeld = F2;
:
:
endsl;

eval v_hf256 = %subst(xml202:1:v_p2) +
Hilfsfeld + %subst(xml202:v_p3)

PS:
Mit den Dateinamen wirst du das gleiche Problem haben, der USROPN heißt nicht, dass der Dateiname variabel ist !