Änderungsbelege - wie geht das?

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Hallo zusammen,
ich versuche mich gerade mit den Änderungsbelegen, komme da aber irgendwie nicht weiter.
Ich habe eine Tabelle "TEST" mit 3 Feldern "PARTNER","ALTER" und "BEMERKUNG" erzeugt.
Bei dem Datenelement "BEMEKRUNG" habe ich das Häckchen für Änderungsbelege gesetzt.

Über die Transaktion SCDO habe ich ein Änderungsobjekt "TESTAEND" angelegt und dem die Tabelle "TEST" zugewiesen.
Normalerweise müsste er doch jetzt sämtliche Änderungen in dem Feld "BEMERKUNG" automatisch protokollieren oder nicht?

Gruß
André

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



Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Okay, aber warum muss ich einen Verucher generieren und den manuell in mein Programm einarbeiten?
Für was markiere ich dann extra die Datenelmente für die Änderungsbelege und lege ein Änderungsobjekt an?
Da kann ich doch gleich an der entsprechenden Programmstelle ein INSERT auf die Änderungsbelegtabelle absetzen - theortisch ;)
Also so wirklich verstehe ich die Logih nicht.

Kann mir das mal irgendjemand erklären?

Re: Änderungsbelege - wie geht das?

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
RantanplanFX hat geschrieben:Okay, aber warum muss ich einen Verucher generieren und den manuell in mein Programm einarbeiten?
Weil es eben nicht automatisch geht.
RantanplanFX hat geschrieben:Für was markiere ich dann extra die Datenelmente für die Änderungsbelege und lege ein Änderungsobjekt an?
Weil du den Änderungsbelegbaustein für ganze Tabellen definierst und nicht für einzelne Felder. Deswegen musst du explizit definieren, für welche Felder ein Änderungsbeleg erzeugt werden soll.
RantanplanFX hat geschrieben:Da kann ich doch gleich an der entsprechenden Programmstelle ein INSERT auf die Änderungsbelegtabelle absetzen - theortisch ;)
Kannst du auch praktisch machen, nur sind ein paar mehr Dinge zu bedenken, als ein einfacher INSERT. Hat sich das Feld wirklich geändert? Wurde der Datensatz gelöscht?
Diese ganzen Prüfungen übernimmt der generierte Baustein für dich.
RantanplanFX hat geschrieben:Also so wirklich verstehe ich die Logih nicht.
Kann mir das mal irgendjemand erklären?
Hab's versucht. Verstehen musst du es selber... ;)

Re: Änderungsbelege - wie geht das?

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Hallo André,

möchtest Du die Tabellenänderungen denn nur ansehen oder per Programm weiterverarbeiten?
Bei ersterem würde ich das Häkchen 'Datenänderungen protokollieren' in den technischen Einstellungen der Tabelle setzen. Dann kann man mit der Transaktion SCU3 die Änderungen anschauen. Sie werden in der Tabelle DBTABLOG im RAW-Format gespeichert, d.h. man kann sie nicht einfach so weiterverarbeiten. Es gibt aber sicherlich auch einen Funktionsbaustein bzw. eine Klasse die dies möglich macht.

Viele Grüsse
Nicola

Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Hallo Lucyalison,

ich möchte das die Änderungen in den Tabellen CDHDR und CDPOS protokolliert werden.
Ich fasse vielleicht nochmal zusammen, was ich bisher getan habe:

1) Ich habe eine Tabelle "TEST" mit 3 Feldern angelegt. Bei einem Feld (BEMERKUNG) habe ich das Häckchen beim Änderungsbelg gesetzt.
2) In der Transaktion SCDO habe ich eine Änderungsobjekt für diese Tabelle erstellt und den entsprechenden Verbucher generiert.
3) Ich hab mir ein Testprogramm geschrieben:

Code: Alles auswählen.

report  zaenbelegtest.

data: lt type standard table of ztest,
         wa like line of lt,
        wao like line of lt,

*-----------------------------------------------
start-of-selection.
*-----------------------------------------------
select *
  into table lt
  from ztest.

read table lt into wa index 1.

wao = wa.
wa-bemerkung    = 'test123456'.

update ztest from wa.

call function 'ZTEST_WRITE_DOCUMENT'
  exporting
    objectid                      = '/IHTZR/TEST'
    tcode                         = sy-tcode
    utime                         = sy-uzeit
    udate                         = sy-datum
    username                   = sy-uname
    n_ztest                       = wa
    o_ztest                       = wao.
 
In den Tabellen CDHDR wird leider nichts protokoliert.

Was mache ich falsch?

Gruß
André

Re: Änderungsbelege - wie geht das?

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Probier mal ob COMMIT WORK fehlt.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Commit Work geht auch nicht :(
SC5.JPG

Code: Alles auswählen.

report  /ihtzr/aenbelegtest.

data: lt type standard table of /ihtzr/test,
      wa like line of lt,
      wao like line of lt,

*-----------------------------------------------
start-of-selection.
*-----------------------------------------------
select *
  into table lt
  from /ihtzr/test.

read table lt into wa index 1.

wao = wa.
wa-text    = 'XX6'.

update /ihtzr/test from wa.

call function '/IHTZR/TEST_WRITE_DOCUMENT'
  exporting
    objectid                      = '/IHTZR/TEST'
    tcode                         = sy-tcode
    utime                         = sy-uzeit
    udate                         = sy-datum
    username                      = sy-uname
*     PLANNED_CHANGE_NUMBER         = ' '
*     OBJECT_CHANGE_INDICATOR       = 'U'
*     PLANNED_OR_REAL_CHANGES       = ' '
*     NO_CHANGE_POINTERS            = ' '
    n_ihtzr_test                  = wa
    o_ihtzr_test                  = wao.

commit work.

Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Jetzt bin ich einen Schritt weiter gekommen :)

Ich muss beim FUBA Aufruf einen CHANGE-INDIKATOR mitgeben. Also ob es sich um einen INSERT, UPDATE oder DELETE handelt...

Code: Alles auswählen.

call function '/IHTZR/TEST_WRITE_DOCUMENT'
  exporting
    objectid                      = '/IHTZR/TEST'
    tcode                         = sy-tcode
    utime                         = sy-uzeit
    udate                         = sy-datum
    username                   = sy-uname
    n_ihtzr_test               = wa
    o_ihtzr_test               = wao
    UPD_IHTZR_TEST       = 'U'.
Anschließend wird folgender EIntrag in die Tabelle CDHDR geschrieben:
SC6.JPG
Im Objektwert hätte ich jetzt aber gerne die Partnernummer stehen. Wie bekomme ich das denn hin?

Re: Änderungsbelege - wie geht das?

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
RantanplanFX hat geschrieben:Im Objektwert hätte ich jetzt aber gerne die Partnernummer stehen. Wie bekomme ich das denn hin?
=> Tabelle CDPOS!

Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
@ewx: Ja richtig, in der Tabelle steht der Tabellenschlüssel. Das wäre eine Lösung.
Wenn ich aber CDHDR Tabelle durchblättere, sehe ich andere Änderungsobjekte wo im Objektwert
eine Partnernummer oder Bankverbindung drin steht.
Das hätte ich nun auch gerne ;) So liesse sich die Tabelle später schneller auswerten.

Re: Änderungsbelege - wie geht das?

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
Den musst du deinem Funktionsbaustein in der OBJECTID übergeben.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
RantanplanFX


Re: Änderungsbelege - wie geht das?

Beitrag von RantanplanFX (ForumUser / 20 / 2 / 0 ) »
Ahhhhhh - das schaut gut aus :)
Danke!

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2224
Views
Änderungsbelege
von Thomas R. » 14.02.2005 12:21 • Verfasst in Dialogprogrammierung
2
Antw.
4356
Views
Änderungsbelege
von Z_Sven » 28.09.2011 16:21 • Verfasst in ABAP® für Anfänger
9
Antw.
8063
Views
Änderungsbelege
von Amin » 07.06.2006 11:33 • Verfasst in ABAP® Core
7
Antw.
14185
Views
Änderungsbelege für Klassifizierung
von quercus » 29.06.2005 14:52 • Verfasst in SAP - Allgemeines
2
Antw.
6366
Views
Änderungsbelege für Kundenfelder im BP
von GerryRe » 07.12.2019 11:35 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 511
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2146
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8742