Update oder Insert

Getting started ... Alles für einen gelungenen Start.
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Update oder Insert

Beitrag von ABAPlerv (ForumUser / 87 / 24 / 1 ) »
Hallo,

ich habe eine Beispiel:

ich drücke in Transaktion X auf speichern. Daten werden in einer SAP Datenbanktabelle gespeichert & nun möchte wissen, ob es ein INSERT war (neuer Eintrag) oder ob es nur ein UPDATE (Eintrag hat bereits existiert) war, damit dann dementsprechend Prozesse ausgeführt werden..

Ich verwende dafür ein ZDatenbanktabelle in einer Erweiterung.
In einem Report wird die SAP Datenbanktabelle kopiert und in einem Z-Tabelle gespeichert. (wird einmalig eingespielt)

Im Erweiterungspunkt:
Bei jedem Klick auf SAVE in Transaktion X, schaue ich nach, ob der Eintrag in der Z-Tabelle existiert.
So kann ich zwischen UPDATE und INSERT unterscheiden.


Wie macht ihr das? gibt es andere bessere Möglichkeiten?
Danke

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Update oder Insert

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Moin.
1.) Möglichkeit:
Wenn es eine Kundentabelle ist, könnte man die Tabellen Aufzeichnung aktivieren und die Änderungen in der Tabelle DBTABLOG abfragen. Dazu den Haken für "Log Data Changes" setzen.
Wenn es eine SAP Tabelle ist, geht das zwar auch, aber hat dann ein schlechteres Gewissen.
dbtabloag.png
Man muss dabei beachten, das die Tabelle noch einmal mit SE14 im Entwicklungssystem aktiviert werden muss, wenn Diese schon existiert. (Vorzugsweise mit Erhalt der Daten) ;-)

2.) Möglichkeit:
Programmgesteuerte Änderungs Aufzeichnung in CDHDR /CDPOS
Beispiel für Kunden Ergänzung am Material ist hier :
https://bb1.j-gun.de/viewtopic.php?f=36&t=20614

Falls es den Update Baustein *WRITE_DOCUMENT noch nicht gibt:
Transaction SCDO.
https://answers.sap.com/questions/57005 ... -rssc.html

3.) Möglichkeit:
Das Application Log
https://bb1.j-gun.de/viewtopic.php?f=36&t=20616

gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Update oder Insert

Beitrag von ABAPlerv (ForumUser / 87 / 24 / 1 ) »
Tron hat geschrieben:
16.08.2022 14:09
Moin.
1.) Möglichkeit:
Wenn es eine Kundentabelle ist, könnte man die Tabellen Aufzeichnung aktivieren und die Änderungen in der Tabelle DBTABLOG abfragen. Dazu den Haken für "Log Data Changes" setzen.
Wenn es eine SAP Tabelle ist, geht das zwar auch, aber hat dann ein schlechteres Gewissen.

dbtabloag.png

Man muss dabei beachten, das die Tabelle noch einmal mit SE14 im Entwicklungssystem aktiviert werden muss, wenn Diese schon existiert. (Vorzugsweise mit Erhalt der Daten) ;-)

2.) Möglichkeit:
Programmgesteuerte Änderungs Aufzeichnung in CDHDR /CDPOS
Beispiel für Kunden Ergänzung am Material ist hier :
https://bb1.j-gun.de/viewtopic.php?f=36&t=20614

Falls es den Update Baustein *WRITE_DOCUMENT noch nicht gibt:
Transaction SCDO.
https://answers.sap.com/questions/57005 ... -rssc.html

3.) Möglichkeit:
Das Application Log
https://bb1.j-gun.de/viewtopic.php?f=36&t=20616

gruß Jens
Danke & was hälst du von der Idee mit derZ-Datenbanktabelle?

Re: Update oder Insert

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Moin.
Es wird sicherlich gute Gründe geben, eine eigene Tabelle zu verwenden, letzten Endes würde diese Entscheidung sicherlich mein Team treffen, bzw das Business.
Hier ein Beispiel , wo eine eigene Änderungstabelle verwendet wurde :
Tabell SE16N_CD_DATA und SE16N_CD_KEY.
Hatte ich noch vergessen zu erwähnen:
4.) Möglichkeit .
Der Datenbank Trigger:
https://help.sap.com/docs/SAP_HANA_PLAT ... ion=2.0.03
Ermöglicht Änderungs Aufzeichnungen ohne Coding,da dieses die Datenbank erledigt.
Ein älteres Experiment meinerseits mit Oracle .
https://bb1.j-gun.de/viewtopic.php?f=16&t=2854&p=7982
Wobei ich hoffe das, das Erstellen von Triggern auf Datenbank Ebene unter S4Hana mittlerweile eine erlaubte Option ist ;-) .
gruß Jens

Folgende Benutzer bedankten sich beim Autor Tron für den Beitrag:
ABAPlerv

<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4574
Views
Lock vor Insert oder Update
von kbit100 » 02.03.2016 14:07 • Verfasst in ABAP® für Anfänger
0
Antw.
1961
Views
9
Antw.
12954
Views
DBTab Update from Table oder in Loop mit "Update Set" Oder ?
von RIG » 09.03.2018 11:27 • Verfasst in ABAP® Core
1
Antw.
1438
Views
SQL Insert in ABAP
von Paul » 14.11.2018 20:55 • Verfasst in ABAP® für Anfänger
3
Antw.
3553
Views
Insert into Tabelle
von hauke_daniel » 02.01.2008 12:04 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 315
Zukunft des ABAP Entwicklers
vor einer Woche von DeathAndPain 14 / 5196
HR in der Zukunft?
vor einer Woche von DeathAndPain 6 / 6945
Analyse abhängiger Objekte zu einem ABAP-Programm
vor einer Woche von MAJOR_TOM gelöst 5 / 4922

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 315
Zukunft des ABAP Entwicklers
vor einer Woche von DeathAndPain 14 / 5196
HR in der Zukunft?
vor einer Woche von DeathAndPain 6 / 6945
Analyse abhängiger Objekte zu einem ABAP-Programm
vor einer Woche von MAJOR_TOM gelöst 5 / 4922

Unbeantwortete Forenbeiträge

Benutzerdefinierte Felder PSP
vor 3 Tagen von Rabea1103 1 / 315
Spool vereinen OTF und PDF
vor 2 Wochen von anna2205 1 / 4521
XSLT und Loipro05 Transformation
letzen Monat von Torsten1965 1 / 10801
VOLL Artikel in einem Display Typ 12
November 2025 von ThomasM84 1 / 29285