Man kann auch mit Kanonen auf Spatzen schießen.
Das Problem ist doch, dass das Attribut zur Laufzeit ein/ausgeschaltet werden kann. Und diesen Zustand kann man nicht per API herausfinden.
Ein Programm weiß über seine Eingabefelder doch Bescheid, sonst kann man ja sowieso keine Daten eingeben bzw. prüfen lassen.
Also mach einen simplen
Select;
when CSRFeld = 'Feld1';
PromptF4(...);
when ...
endsl;
Ebenso kannst du dann auch abfragen, ob die Bezugszahl für PR ein/aus ist.
Eine allgemeine Methode gibts dafür nicht, dafür ist RPGLE zu unflexibel.
Das API (sieh dir alleine mal die komplexe Struktur an) ist eben viel zu komplex.

Ich kenne auch Programme, die diese Definitionen per Ladezeittabelle erstellen und per Lookup die benötigte Prompt-Funktion aufrufen.