Tabellenpflege SM30 mit Zeitpunkten anpassen
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Pflegeviews (Transaktion SM30).
Ein exzellenter Blog-Artikel von Beyhan MEYRALI (EN) ist zur Einführung in das Thema hervorragend.
Zeitpunkte
01 Vor dem Sichern
Tabellen EXTRACT und TOTAL
- Der gesamte Inhalt der internen Tabelle steht in den Tabellen EXTRACT und TOTAL.
- Wenn Daten beim Zeitpunkt 01 verändert werden, dann müssen die Daten sowohl in der Tabelle TOTAL als auch EXTRACT geändert werden
- Siehe *SAP-Hilfe: Interne Tabelle EXTRACT
Variable VIM_ABORT_SAVING
- Wenn die Variable "vim_abort_saving" auf 'X' gesetzt wird, wird der Speichervorgang abgebrochen und es werden keine Änderungen auf der Datenbank gespeichert
vim_abort_saving" = 'X'. "Speichervorgang wird abgebrochen
Field-Symbol <ACTION>
- Loopt man über die Tabelle TOTAL, dann steht im Field-Symbol <ACTION> was mit dem Datensatz passiert ist
- Das Field-Symbol ist allerdings nur bei der internen Tabelle TOTAL gefüllt
case <action>. when anzeigen. "VALUE 'S' .. when aendern. "VALUE 'U' .. when vim_ds_loeschen. "VALUE 'D' .. when hinzufuegen. "VALUE 'A' .. endcase.
Coding
FORM check_save. DATA: ls_zsdreqvers TYPE zsdreqvers, lt_zsdreqvers_ext TYPE STANDARD TABLE OF zsdreqvers, lt_zsdreqvers_tot TYPE STANDARD TABLE OF zsdreqvers. LOOP AT total. ls_zsdreqvers = <vim_total_struc>. IF ls_zsdreqvers-vint1 IS INITIAL. * 'Rückswärtsintervall gepflegt sein in allen Zeilen.' MESSAGE i007(zsdsls2). * 'Speichern wird abgebrochen' vim_abort_saving = abap_true. MESSAGE i008(zsdsls2). return. ENDIF. ENDLOOP. ENDFORM.
05 Vor dem Hinzufügen
- Ein neuer Datensatz wird hinzugefügt
21 Vor dem Versorgen von verborgenen Feldern
- Geänderte Datensätze werden durchlaufen, aber keine keine Datensätze, wo keine Änderungen erfolgten
Tabelle TVIMF
- In der Tabelle stehen alle SM30-Pflegeviews (Viewname, Zeitpunkt und Form-Routine), die über Zeitpunkte erweitert worden. Das ist sehr praktisch, um Beispiele zu finden
- Hier ein Ausschnitt aus einem Kundenprojekt