SAP MDG · WORKFLOWS
How do I handle snapshot differences in SAP MDG Change Requests?
Snapshot differences in SAP MDG happen when backend data changes while a Change Request is still open. You can analyze them with USMD_CREQUEST_SNAPSHOT_COMPARE, resolve them by refreshing or correcting the CR before activation, or control activation with TS60808002 using IGNORE_SNAPSHOT_DIFF.
Snapshot differences in SAP MDG happen when backend data changes while a Change Request is still open. You can analyze them with USMD_CREQUEST_SNAPSHOT_COMPARE, resolve them by refreshing or correcting the CR before activation, or control activation with TS60808002 using IGNORE_SNAPSHOT_DIFF.
SAP MDG creates a snapshot when a Change Request is started. If the same backend record changes while the CR is still open, you get a snapshot difference, which can be checked with USMD_CREQUEST_SNAPSHOT_COMPARE. Before activation, you can refresh the CR, revert the backend change, reject/recreate the CR, or adjust the CR value to match the backend value.
Process flow
- 1. Run
USMD_CREQUEST_SNAPSHOT_COMPAREfor the affected CR(s) to identify the snapshot difference. - 2. Choose the handling option before activation: refresh the CR, revert the backend change, reject/recreate the CR, or adjust the CR value to the correct backend value.
- 3. If you want workflow-driven handling, use TS60808002 with IGNORE_SNAPSHOT_DIFF blank for do-not-bypass or X for bypass.
- 4. In WS60800086, use process pattern [05] for no bypass and [06] for bypass.
- 5. To automate refresh, configure a synchronous system method using process pattern [02], BAdI
USMD_SSW_SYSTEM_METHOD_CALLER, enhancement spotUSMD_SSW_SERVICE_PROCESSOR, and interface IF_USMD_SSW_SYST_METHOD_CALLER. - 6. For custom workflow templates, create a background standard task in PFTC that calls CL_USMD_SNAPSHOT_TOOLS=>REFRESH_SNAPSHOT_FOR_CR.
- 7. To prevent conflicts in mass processing, add a validation rule that checks whether an open CR already exists for the object using the External Model API.
- 8. For backend-update refresh, configure bgRFC destination MDG_SNAPSHOT_REFRESH with queue prefix MDG_SNAP_, then activate the relevant backend trigger for Material or Business Partner.
MDGIMGGeneral Settings > Process Modeling > Workflow > Rule-Based Workflow > Configure Rule-Based Workflow > Define Service Names for Rule-Based Workflow
Define a service name such as ZREFRESH_CR for a synchronous system method refresh step.
MDGIMGGeneral Settings > Process Modeling > Workflow > Rule-Based Workflow > Business Add-Ins > BAdI: Calling of System Method for Rule-Based Workflow
Implement USMD_SSW_SYSTEM_METHOD_CALLER for the service name and call CL_USMD_SNAPSHOT_TOOLS=>REFRESH_SNAPSHOT_FOR_CR.
SE18Enhancement Spot USMD_SSW_SERVICE_PROCESSOR / BAdI USMD_SSW_SYSTEM_METHOD_CALLER
Create or maintain the BAdI implementation for the workflow system method caller.
Create a Standard Task as a synchronous object method in background processing
Call CL_USMD_SNAPSHOT_TOOLS=>REFRESH_SNAPSHOT_FOR_CR from a custom workflow template.
Define Inbound Destination
Create inbound destination MDG_SNAPSHOT_REFRESH and add queue prefix MDG_SNAP_ for automatic CR refresh on backend update.
Monitor bgRFC background processing
Check whether the automatic refresh queues are processed successfully.
Referenced tables
| Object | Purpose |
|---|---|
MDG_SNAPSHOT_REFRESH | bgRFC inbound destination name used for automatic CR refresh integration. |
MDG_SNAP_ | Queue prefix used by the bgRFC refresh processing. |
The remaining configuration, implementation details, and testing guidance continue from this answer more…
Related questions and keywords
Alternative questions
- How do I detect and resolve snapshot differences in an MDG CR?
- Which report and workflow settings are used for snapshot differences in SAP MDG?
- How can I prevent snapshot differences during MDG activation?
Possible questions
- What is a snapshot difference in SAP MDG?
- Which report shows snapshot differences?
- How do I refresh a CR snapshot before activation?
- How do I configure bypass vs. do-not-bypass snapshot in workflow?
- How do I add an automatic refresh step to workflow?
- How do I prevent open CR conflicts in mass processing?
- What bgRFC settings are required for automatic CR refresh on backend update?