hi!
Gehts hier jetzt darum wie man sowas generell macht
Code: Alles auswählen.
LOOP AT screen.
" IF TEXT1 IS INITIAL.
screen-required = 0. "Kann Feld
screen-required = 1. "Muss Feld
screen-required = 2. "Soll Feld (Muss Feld ohne Dynpro-Prüfung)
" ENDIF.
MODIFY SCREEN.
ENDLOOP.
oder darum wie der Algorithmus im Detail auszusehen hat.
Das sollte man eigentlich selbst zuerst mal ausprobieren, ehe man hier Fragen stellt und nur wenn man gar nicht mehr weiter kommt hier den Code posten und um Hilfe fragen.
Kleiner Tipp:
Ich würde anstatt eines Muss-Feldes ein Soll Feld verwenden, damit man auch problemlos umschalten kann. Sonst kommt nämlich immer die Dynpro-Meldung man möge doch alle Muss Felder zuerst ausfüllen, obwohl man eigentlich das Feld nicht mehr auszufüllen bräuchte.
Hat natürlich aber auch den Nachteil, dass man dann vor dem Aufruf der Verarbeitung selbst prüfen muss ob tatsächlich alle benötigten Felder ausgefüllt wurden.
Außerdem ist zu beachten, dass erst nach einem PAI/PBO der "Zustand" eines Feldes auf dem Dynpro aktualisiert wird. Der User muss also entweder aktiv ENTER drücken damit sich was ändert, oder im Falle von Checkboxen, Radiobuttons oder Listboxen muss ein Funktionscode angegeben werden der dann nach einer neuen Auswahl ausgelöst werden soll.
Diesen Funktionscodes kann man als Typ E(xit-Kommando) geben, dann kann man für die Prüfung auch wieder normale Muss Felder verwenden, die durch die Dynpro-Prüfung verarbeitet werden.
lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
ECC: 6.18
Basis: 7.50