We’re facing a compliance risk issue in SAP PLM 2021. When regulatory attributes are modified in the classification system (transaction CL20N), the associated change records don’t reflect these updates. The classification data synchronization appears broken - we update attributes like RoHS compliance status, REACH registration numbers, or material declarations, but the ECO/ECN records remain stale.
This creates a serious compliance problem because our audit trail doesn’t show the actual regulatory changes. We’ve verified the classification updates are saving correctly, but they’re not triggering updates to the linked change masters. Has anyone successfully implemented BAdI enhancements to ensure regulatory attribute changes propagate to change documentation? We need the change records to capture what was changed, when, and by whom for regulatory reporting.
Let me provide a complete solution addressing all three focus areas:
Classification Data Synchronization:
The root cause is that SAP’s classification system (CL* transactions) and change management system (EC* transactions) operate independently. To bridge this gap, implement a custom synchronization framework:
Create a change document object in transaction SCDO:
Pass to ECN creation as originator (field AENNR-USNAM)
Log to Z-table with timestamp SY-DATUM and SY-UZEIT
Critical Configuration Steps:
Transaction SPRO → Cross-Application Components → Classification System → Master Data → Define regulatory characteristic types (create custom flag field in CAWN)
Transaction SPRO → Logistics General → Engineering Change Management → Change Master → Define change type ‘REG’ for regulatory updates
Create authorization object Z_REG_CHG to control who can trigger automatic ECN creation from classification changes
Implement workflow event linkage (SWETYPV) to notify compliance team when regulatory ECNs are created
Monitoring and Validation:
Create custom report (transaction SE38) to reconcile:
Classification changes in AUSP/CDPOS (last 30 days)
Corresponding ECN records in AENR
Identify orphaned classification changes without change records
Schedule daily via SM36 with email alerts for discrepancies
This comprehensive solution ensures every regulatory attribute change creates a proper audit trail through the change management system, addresses the synchronization gap, implements proper triggers, and leverages BAdI enhancement points effectively. The batch update handling prevents ECN explosion while maintaining complete traceability for compliance audits.
This draft is based on general SAP PLM knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.
This is a known gap in standard SAP PLM functionality. Classification changes don’t automatically create change documents because they’re stored in different tables (AUSP/INOB vs. CDHDR/CDPOS). You need to implement custom logic. Check if you have any BAdI implementations for BADI_CLASSIFICATION_DATA or BADI_ECM_CHECK_DATA_CHANGE. These are the hook points where you can intercept classification updates and create corresponding change master entries.
Tested this on ECC 6.0 EHP8 and creating the ZCLASSREG change document object in SCDO with AUSP and INOB table entries successfully captured regulatory attribute modifications in our change records.
Maria’s right about the table structure issue. We solved this by implementing a custom change document object specifically for classification data. Use transaction SCDO to create a new object type, then implement the write functions to capture AUSP table changes. Link this to your change master workflow using event linkage in SWETYPV. The tricky part is ensuring the classification change timestamp matches the change master creation time - you need to read the AUSP-AEDAT field and pass it through to the change document.
I want to emphasize the regulatory attribute change triggers aspect. In our implementation, we used BAdI BADI_MATERIAL_CHECK with method CHECK_DATA_SAVE to intercept classification updates. The key is to compare old vs. new values for regulatory-specific characteristics (we filtered by class type ‘023’ for material compliance). When changes are detected, we automatically create an ECN using function module ‘ENGINEERING_CHANGE_CREATE’ with the classification delta in the description field. This ensures every regulatory change has a formal change record.
Thanks everyone. Susan, your approach sounds promising. Are you capturing the actual attribute values in the ECN description, or just flagging that a change occurred? We need to show the before/after values for audit purposes. Also, does your solution work for batch updates when multiple regulatory attributes change simultaneously? We often update 10-15 compliance fields at once during annual regulatory reviews.
For capturing before/after values, you’ll need to read from table CAWN (characteristic values) and AUSP (characteristic value assignments) in your BAdI implementation. Build a comparison structure that stores ATINN (characteristic internal number), ATWRT (old value), and ATWRT_NEW (new value). Then format this into the ECN long text using function module ‘SAVE_TEXT’. For batch updates, wrap the logic in a BAPI transaction - collect all changes in an internal table, then create a single ECN with multiple line items in the description. This avoids creating 15 separate ECNs for one regulatory review session.
From an audit perspective, make sure your solution also logs WHO made the classification change. The standard AUSP table has AENAM (changed by) but it’s not always populated correctly if changes come through interfaces. We added custom logging to a Z-table with fields: OBJEK (object key), ATINN (characteristic), OLD_VALUE, NEW_VALUE, CHANGE_USER, CHANGE_TIMESTAMP, ECN_NUMBER. This creates an immutable audit trail that links classification changes to change masters. It’s saved us multiple times during FDA and ISO audits.