{"ref":"content:how-to-implement-sap-change-document","page":"/content/how-to-implement-sap-change-document","json":"/content/how-to-implement-sap-change-document.json","generated":"2026-10-27","drafted_with_ai":true,"entity":{"id":"how-to-implement-sap-change-document","title":"How to Implement SAP Change Document","url":"https://community.sap.com/t5/abap-blog-posts/how-to-implement-sap-change-document/ba-p/14423026","content_type":"blog","published_on":"source:sap-community","explains":[{"ref":"capability:change-tracking","applies_to":{"ecosystems":["abap"]}}],"summary":"Builds SAP's Change Document framework on two custom tables, ZZCUSTOMER and ZZCUSTOMER_BANK: creating the Change Document Object in transaction SCDO, then wrapping each INSERT, MODIFY and DELETE on the Z-tables together with a call to the generated WRITE method inside one ABAP class, so both commit in the same Logical Unit of Work. Because the generated method cannot read old values back from the database itself, the class reads them before the update and holds them in memory; a Managed RAP application skips this step by specifying the Change Document Object directly in its Behaviour Definition instead. This is the ABAP side of [change tracking](capability:change-tracking): a change document object logs who changed a field, and when, into CDHDR and CDPOS.","short":"Change Document framework on custom ABAP tables","author":"Subhasree1","published":"2026-07-09","provenance":{"discovered_via":[{"source":"source:sap-community","channel":"btp-abap-environment-tag"}],"first_seen":"2026-10-15"},"drafted_with_ai":true},"readings":{"liveness":[{"label":"Checked against the source","tier":"unknown","evidence":"nobody has checked it"},{"label":"Source reachable","tier":"unknown","evidence":"not crawled"},{"label":"Age","tier":"good","evidence":"published 3 months ago"}],"compatibility":[{"label":"Version","tier":"unknown","evidence":"no version declared"},{"label":"Moved since?","tier":"good","evidence":"no recorded change after 2026-07-09"},{"label":"Findings","tier":"good","evidence":"none flagged"}],"reach":[{"value":1065,"unit":"views"},{"value":0,"unit":"comments"},{"value":1,"unit":"likes"}]},"signals":{"views":1065,"likes":1,"comments":0,"metrics_at":"2026-10-25"},"series":null,"edges":{"authors":[]}}