Skip to content
ERP Preflight

Change Pointer Coverage Auditor

BD61/BD50/BD52 change pointer configuration, runtime reconciliation and coverage matrix

Content reviewed September 26, 2026

Engine
CHANGE_POINTER_COVERAGE_AUDITOR
Domain
Integration
Version
2.1.0
Target releases
S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
Accepted formats
JSON, CSV, TEXT

Input contract

ALE change pointer configuration: JSON {'target_message_type', 'bd61_active', 'bd50_msg_types', 'bd52_fields', 'expected_fields', 'dd04l_metadata', 'bdcp2_samples', 'change_documents', 'bd53_reduced_fields'} or a record-type CSV (BD61/BD50/BD52/DD04L/BDCP2/CDPOS rows).

Required input

  • message type (target_message_type or active BD50 entry)
  • BD52 field configuration
  • Runtime reconciliation (expected vs observed): 'change_documents' [{object_class, object_id, table, field, change_number, count}] (CDHDR/CDPOS sample) together with 'bdcp2_samples' [{message_type, table, field, tabkey, change_number, process_status, count}]; CSV rows CDPOS,<OBJECTCLAS>,<OBJECTID>,<TABNAME>,<FNAME>,<CHANGENR>[,<COUNT>] and BDCP2,<MESTYPE>,<TABNAME>,<FLDNAME>,<PROCESS>,<COUNT>[,<TABKEY>,<CDCHGNO>].
  • Structured output: metrics.additional_metrics.coverageMatrix (VERIFIED / AT_RISK / NOT_COVERED per expected field) and generatedTestCases ('change field X -> expect message type Y pointer').

Finding codes

Finding codes (9)

  • CP_GLOBAL_DEACTIVATEDDefault severity: CriticalCategory: ALE_GLOBAL_CONFIGURATION

    Change pointers globally deactivated (BD61)

    Remediation: Run BD61 in the sending client, set 'Change pointers activated - generally' and transport the customizing (table TBDA1).

  • CP_MSG_TYPE_DEACTIVATEDDefault severity: CriticalCategory: ALE_MESSAGE_TYPE_CONFIGURATION

    Message type change pointers inactive (BD50)

    Remediation: Activate change pointers for the message type in BD50 (table TBDA2) and transport the entry.

  • CP_CUSTOM_FIELD_OMITTED_BD52Default severity: MajorCategory: EXTENSIBILITY_GOVERNANCE

    Custom field omitted from BD52

    Remediation: Add the custom (YY1_/ZZ) field to BD52 for the message type and extend the IDoc segment / mapping so the value is distributed.

  • CP_FIELD_DD04L_CHGFLAG_MISSINGDefault severity: MajorCategory: DATA_DICTIONARY_GOVERNANCE

    Data element not change-document relevant

    Remediation: In SE11 set 'Change document' on the data element (DD04L-LOGFLAG) of the field and regenerate the change document object (SCDO).

  • CP_FIELD_NOT_CONFIGURED_BD52Default severity: MajorCategory: ALE_FIELD_LINKAGE

    Expected field not linked in BD52

    Remediation: Add the table/field to the message type's change document object in BD52 (table TBD62); otherwise changes to the field never create change pointers.

  • CP_RUNTIME_DUPLICATE_POINTERDefault severity: MajorCategory: RUNTIME_RECONCILIATION

    Duplicate change pointers for the same change (retry anomaly)

    Remediation: Several BDCP2 pointers exist for the same change document item (message type, table key, field, change number): the update task was retried or the change was posted twice, which creates duplicate IDocs. Find the retry source (SM13 update requests, custom re-posting), reorganise the duplicates with RBDCPCLR2 and make the receiver idempotent.

  • CP_RUNTIME_POINTER_MISSINGDefault severity: MajorCategory: RUNTIME_RECONCILIATION

    Business change without the expected change pointer (expected vs observed)

    Remediation: The change documents (CDHDR/CDPOS) show changes to a field linked in BD52, but BDCP2 holds no pointer for it in the same sample. Check that the application writes change documents through the change document object (SCDO) with pointer creation, that BD52 names that object, and that no BAdI / user exit suppresses CHANGE_POINTERS_CREATE; then re-test with the generated test case.

  • CP_RUNTIME_UNPROCESSED_BACKLOGDefault severity: MajorCategory: RUNTIME_RECONCILIATION

    Unprocessed change pointer backlog (BDCP2)

    Remediation: Schedule / repair report RBDMIDOC (BD21) for the message type, check SM37 job logs, and clean up processed pointers with RBDCPCLR2.

  • CP_FIELD_FILTERED_BD53Default severity: MinorCategory: ALE_REDUCED_MESSAGE_TYPE

    Field filtered by reduced message type (BD53)

    Remediation: Review the reduced message type in BD53 and select the field if downstream systems need it.

Input validation codes (5)

  • CP_ARCHIVE_REJECTEDDefault severity: MajorCategory: INPUT_VALIDATION

    Archive rejected by ingestion safety limits

    Remediation: The archive exceeded the 100:1 expansion ratio, 500 MB total size, entry-count or 2-level nesting limit, or contained path traversal / encrypted members. Upload a flat, unencrypted archive of the export files. No verdict was produced. Re-export the artifact in one of the formats accepted by Change Pointer Coverage Auditor (JSON, CSV, TEXT) and re-run the analysis.

  • CP_INVALID_INPUTDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact does not match the engine input contract

    Remediation: Provide the artifact type documented for this engine; unrelated or structurally invalid documents are rejected. No verdict was produced. Re-export the artifact in one of the formats accepted by Change Pointer Coverage Auditor (JSON, CSV, TEXT) and re-run the analysis.

  • CP_PARSE_ERRORDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact could not be parsed

    Remediation: Fix the syntax error at the reported line/column (or re-export the file unmodified from SAP). No verdict was produced. Re-export the artifact in one of the formats accepted by Change Pointer Coverage Auditor (JSON, CSV, TEXT) and re-run the analysis.

  • CP_PAYLOAD_TOO_LARGEDefault severity: MajorCategory: INPUT_VALIDATION

    Artifact exceeds the size limit

    Remediation: Split the export (e.g. per package, company code or date range) so each upload stays under the service payload limit. No verdict was produced. Re-export the artifact in one of the formats accepted by Change Pointer Coverage Auditor (JSON, CSV, TEXT) and re-run the analysis.

  • CP_INSUFFICIENT_INPUTDefault severity: InfoCategory: INPUT_VALIDATION

    Required input missing

    Remediation: Supply every input the engine's contract marks as required (see the engine catalog entry). No verdict was produced. Re-export the artifact in one of the formats accepted by Change Pointer Coverage Auditor (JSON, CSV, TEXT) and re-run the analysis.

Back to the documentation
Change Pointer Coverage Auditor — ERP Preflight Docs