SAP tableObjectBDCPSModuleBTP_INTEGRATION

BDCPS table — Change Pointer Processing Status per Message Type

BDCPS is a small ALE control table that records the processing status of change pointer collection for each outbound message type. It does not store the actual changed field data - that lives in BDCP. One row per message type tells the change pointer collection program whether a run is currently active or locked for that message type, preventing overlapping runs and double-sent IDocs.

This page covers what a row in BDCPS actually represents, the fields worth trusting in a diagnostic, and how it fits alongside BDCP and the resulting IDoc control tables. The focus is on the failure pattern where change pointers stop generating IDocs and BDCPS is checked before BDCP, and on the pitfalls of editing it directly.

Published 15 Sept 2026· 1,033 words

What it stores

BDCPS stores the ALE change pointer processing status for a message type. When the change pointer collection report runs (typically scheduled as a batch job per message type), it reads pending entries from BDCP and needs to remember that a run is in progress so a second, overlapping execution for the same message type does not pick up and resend the same pointers. One row in BDCPS represents the current processing state for one message type: essentially whether collection is locked or free for that message type. It is a technical bookkeeping table, not a business data table - it carries no information about which object changed, which document was affected, or what the old and new values were. Those details live entirely in BDCP. BDCPS exists purely to serialize and track the collection runs.

Key fields

Only two fields can be stated with confidence without checking the dictionary directly. Beyond client and message type, the table is understood to carry a processing lock or status indicator used internally by the change pointer collection logic, but the exact field name for that indicator should be confirmed in SE11 rather than assumed, since guessing it wrong is worse than leaving it undescribed.

  • MANDT - client
  • MESTYP - ALE/IDoc message type whose change pointer collection status this row describes

How it joins the data model

The joins that matter in practice all run through the message type, since that is the only column shared with confidence across the change pointer landscape. BDCPS is never queried alone in a diagnostic - it is always cross-checked against BDCP to see whether pointers are actually piling up for the message type in question, and against the partner profile outbound parameters to see who is meant to consume the resulting IDoc.

  • BDCPS-MESTYP = BDCP-MESTYP (status row for a message type against the pool of individual pending or processed change pointer entries for that same message type)
  • BDCPS-MESTYP = BDCP2-MESTYP (equivalent join against the reduced-message-type variant of the change pointer table, if reduced IDoc types are in use)
  • BDCPS-MESTYP = EDP13-MESTYP (outbound partner profile entries for the same message type, useful for confirming who is supposed to receive the IDoc once the pointer is processed)

How to read it safely

The table is client-dependent and trivially small - one row per active message type, so at most a few dozen or a few hundred rows in a typical system. There is no selectivity problem here; the issue is never performance, it is interpretation. Always restrict by MANDT and MESTYP together when looking at a specific interface. Do not draw conclusions from BDCPS in isolation - its value only comes from being read alongside BDCP counts and job logs for the change pointer collection program.

How to prove it in the data

Symptom: change pointers for a message type keep accumulating and no new IDocs are being generated even though the collection job is scheduled and apparently running. Select BDCPS for MANDT and the affected MESTYP. If the status/lock indicator shows a run still marked as active while no corresponding job is actually executing, a previous run died mid-processing and left the message type locked, which is why every subsequent scheduled run for that message type is silently skipping.

ECC vs S/4HANA

BDCPS belongs to the classic ALE change pointer mechanism, which remains available as a supported outbound distribution technique on S/4HANA the same way it existed in ECC. There is no compatibility CDS view associated with it, since it is a technical control table rather than an application-facing one, and its structure and role are not documented as having changed materially across releases.

Common pitfalls

This table is small and looks simple, which invites shortcuts that cause real damage in a live interface.

  • Assuming no row for a message type in BDCPS means change pointers were never activated for it - it may simply mean the collection job has never executed yet, even though activation is configured elsewhere.
  • Confusing the processing lock recorded here with the tRFC or qRFC queue locks that govern actual IDoc dispatch - these are separate layers and a clean BDCPS status says nothing about whether the resulting IDoc reached the partner system.
  • Manually deleting or resetting a BDCPS row to unstick a job without first checking BDCP for entries already marked as processed - this risks the next run resending changes that were already distributed, producing duplicate IDocs downstream.
  • Treating BDCPS as if it contains the change pointer payload - it holds no object, field, or key information, only run status per message type.
  • Reading a healthy BDCPS status as proof that the interface is working end to end - it only confirms that change pointer collection executed, not that IDoc generation, tRFC transmission, or partner acknowledgment succeeded.

Whose problem this is

This is ALE/interfaces technical territory, owned by whoever configures and monitors change pointer activation and the collection job schedule, not by the functional consultant of the sending module. When a business team reports that master data changes are not reaching an external system, the first stop is the interface/ALE team checking BDCP and BDCPS together, before escalating to the functional side to check the actual master data change.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tables/bdcpsERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.