Speichern per Pflegedialog

Mithilfe von Pflegeviews bietet sich auch die interessante Möglichkeit, Daten vor der Speicherung dem Anwender zu präsentieren. So können Daten per Datei hochgeladen werden und im Pflegedialog angezeigt werden. Hier werden automatisch Fremdschlüsselprüfungen durchgeführt und die Daten können vom Anwender geprüft und gegebenenfalls nachbearbeitet werden.

Mithilfe des folgenden Codings werden zwei Tabelleneinträge zum View ZXX generiert. Um zu verhindern, dass der Anwender eigene Zeile einfügt, werden die beiden Funktionscodes „New Line“ und „Kopieren“ ausgeblendet.

Damit das Ganze funktioniert, muss zu dem View/ der Tabelle ein Tabellenpflegedialog vorhanden sein. Entgegen der Dokumentation wird kein Pflegedialog angelegt, wenn der Parameter GENERATE_MAINT_TOOL_IF_MISSING mitgegeben wird.

TIPP:
Bereits auf der Datenbank vorhandende Daten müssen das ACTION-Kennzeichen „U“ bekommen. Ansonsten gibt es einen Kurzdump (INSERT_DUPREC).

Coding

TYPES: BEGIN OF ty_xx.
        INCLUDE STRUCTURE zxx.
        INCLUDE STRUCTURE vimflagtab.
TYPES: END OF ty_xx.

DATA lt_xx TYPE STANDARD TABLE OF ty_xx.
DATA ls_xx TYPE ty_xx.
DATA lt_fc TYPE STANDARD TABLE OF vimexclfun.

START-OF-SELECTION.

*** Funktionen „Neue Zeile“ und „Kopieren“ deaktivieren
  APPEND ‚NEWL‘ TO lt_fc.
  APPEND ‚KOPE‘ TO lt_fc.

*** 1. neue Zeile
  ls_xx-mandt   = sy-mandt.
  ls_xx-feld1   = ‚A1000‘.
  ls_xx-action  = ‚N‘.
  APPEND ls_xx TO lt_xx.

*** 1. neue Zeile
  ls_xx-mandt   = sy-mandt.
  ls_xx-feld1   = ‚B2000‘.
  ls_xx-action  = ‚N‘.
  APPEND ls_xx TO lt_xx.

*** Daten präsentieren
  CALL FUNCTION ‚VIEW_MAINTENANCE_GIVEN_DATA‘
    EXPORTING
      action                         = ‚U‘
      view_name                      = ‚ZXX‘
    TABLES
      data                           = lt_xx
      excl_cua_funct                 = lt_fc
    EXCEPTIONS
      OTHERS                         = 13.

 

image_pdfimage_print