‎2009 Sep 18 2:49 PM
Hi,
I have to do a logged change for ASMD table. Unfortunately, my ECC 4.6 has no BAPI for service changes - so I've decided to change the records manually and save change documents along with it.
I went through the procedure as advised, and that was:
(enqueue)
1) CHANGEDOCUMENT_OPEN
2) CHANGEDOCUMENT_SINGLE_CASE
3) CHANGEDOCUMENT_CLOSE
(dequeue)
and so:
1) works fine
2) is fine as well
3) CHANGEDOCUMENT_CLOSE returns 4, which corresponds to 'NO_POSITION_INSERTED', though the former function call (2) says it had been done... now that's confusing
The code where the program stops in CHANGEDOCUMENT_CLOSE looks as follows:
IF anz_insert = 0. " <= checked positive - so the positions number is zero
* Es wurden keine Positionen erfasst
CLEAR: aendnr, sequence.
MESSAGE e327 WITH 'NO_POSITION_INSERTED' 'CDOK'
RAISING no_position_inserted.
ENDIF.
There is always an option of creating an extra table just for tracking changes of services but the above method seems more elegant
Thanks for any help on that.
Marcin
‎2009 Sep 18 3:18 PM
One poosbile error will be due to in fm CHANGEDOCUMENT_SINGLE_CASE any duplicate rows with same key
a®
‎2009 Sep 18 3:18 PM
One poosbile error will be due to in fm CHANGEDOCUMENT_SINGLE_CASE any duplicate rows with same key
a®
‎2009 Sep 21 9:29 AM
Hi,
It was true - I mixed the sequence - change documents were created after writing, and I tried to insert document with the same key.
Thanks,
Marcin