Weil es eben nicht automatisch geht.RantanplanFX hat geschrieben:Okay, aber warum muss ich einen Verucher generieren und den manuell in mein Programm einarbeiten?
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:Für was markiere ich dann extra die Datenelmente für die Änderungsbelege und lege ein Änderungsobjekt an?
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?RantanplanFX hat geschrieben:Da kann ich doch gleich an der entsprechenden Programmstelle ein INSERT auf die Änderungsbelegtabelle absetzen - theortisch
Hab's versucht. Verstehen musst du es selber...RantanplanFX hat geschrieben:Also so wirklich verstehe ich die Logih nicht.
Kann mir das mal irgendjemand erklären?
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.
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.
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'.
=> Tabelle CDPOS!RantanplanFX hat geschrieben:Im Objektwert hätte ich jetzt aber gerne die Partnernummer stehen. Wie bekomme ich das denn hin?
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
RantanplanFX