MODIFY SCREEN: Parameter Änderungen sofort auf Screen anzeigen

Event AT SELECTION-SCREEN OUTPUT muss verwendet werden. PBO eines Dynpro, Das ist, wenn ein Programm gestartet wird, bevor der Selektionsbildschirm angezeigt wird oder während der Anzeige des Selektionsbildschirm eine Funktionstaste gedrückt wurde.

Ein Parameter Änderung löst kein PBO aus, außer man ergänzt USER-COMMAND.

Zwei Parameter Änderungen lösen auch ein PBO aus 🙂

Eine Selektion Änderung löst PBO aus.

Event LOAD-OF-PROGRAM und INITIALIZATION wird nur einmalig aufgerufen.

Weiters muss USER-COMMAND flag angegeben sein, damit das Event sofort nach jeder Feldänderung aufgerufen wird und nicht nur vor der ersten Anzeige.

Event AT SELECTION-SCREEN ON <field> funktioniert für die Aktualiserung nicht. PAI eines Dynpro

  PARAMETERS: pa_test  AS CHECKBOX user-command flag DEFAULT 'X',                "Testlauf
              pa_updat AS CHECKBOX user-command flag DEFAULT 'X'.             "Update Nein 

AT SELECTION-SCREEN output.
  perform modify_screen.

*&---------------------------------------------------------------------*
*& Form MODIFY_SCREEN
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM MODIFY_SCREEN.
  LOOP AT SCREEN INTO DATA(screen_wa). "HST20220801
    IF pa_test = 'X'.
      IF screen_wa-name = 'PA_UPDAT'.
        pa_updat = 'X'.
        "screen_wa-required    = '1'.
        screen_wa-intensified = '1'.
        MODIFY SCREEN FROM screen_wa.
      ENDIF.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " MODIFY_SCREEN