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 / 84 / 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 / 332 ) »
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 / 84 / 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 / 332 ) »
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.
4071
Views
Lock vor Insert oder Update
von kbit100 » 02.03.2016 14:07 • Verfasst in ABAP® für Anfänger
0
Antw.
1472
Views
9
Antw.
9790
Views
DBTab Update from Table oder in Loop mit "Update Set" Oder ?
von RIG » 09.03.2018 11:27 • Verfasst in ABAP® Core
6
Antw.
3272
Views
Falscher Insert?
von Beginner014 » 24.07.2014 10:33 • Verfasst in ABAP® für Anfänger
3
Antw.
3177
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

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.