Change master links not updating after BOM revision in engineering workflow

After revising a BOM through our engineering change workflow, the associated change master records are not maintaining proper links to the revised BOM versions. We create an ECN, revise the BOM from revision A to B, but the change master still points to revision A. This breaks our traceability chain completely.

When we query the change master in transaction CC03, the object list shows the old BOM revision. The new revision exists (we can see it in CS03) but there’s no connection to the change record that created it. This is critical for our ISO compliance - we need to prove which change drove which BOM revision. Has anyone dealt with change master object configuration issues or implemented user exits to force the BOM revision update in the ECN object list during the workflow approval process?

From an ISO compliance perspective, make sure your solution maintains the complete revision history. Our auditors specifically look for: 1) Which ECN created each BOM revision, 2) Date/time of revision, 3) Who approved the change, 4) What changed between revisions. The standard SAP change master can store all this if configured correctly. Check table AENR (change master header) and AEOI (object items) - the AEOI table should have one entry per BOM revision, not just the latest. If you’re only seeing one entry, your object list update logic isn’t working properly.

Thanks for the insights. Raj, I checked and the change number field is being populated during BOM revision - I can see it in STKO-AENNR. But Petra’s point about the workflow binding might be the issue. When I look at our workflow in PFTC, I see the BOM object is bound as a single-line element. Could that be causing the system to only track one revision at a time? How do we modify the binding to support multiple revisions in the object list?

This is a classic issue with BOM revision handling in SAP PLM. The problem is that when you create the ECN, it captures a snapshot of the current BOM revision in the object list. When the BOM revision happens later in the workflow, the ECN object list doesn’t automatically update. You need to implement logic in the workflow to refresh the object list after the BOM revision step. Check workflow task TS20000132 (Release change master) - there should be a method call to update object references.

Lisa’s right about the workflow method. But you also need to look at the BOM revision process itself. In transaction CS02, when you revise a BOM, there’s a field for ‘Change number’ - make sure this is populated with your ECN number. If it’s blank, the system won’t create the linkage. We use user exit EXIT_SAPLCSDI_012 to automatically populate the change number field during BOM revision. This ensures the new BOM revision is linked to the triggering ECN in both directions - ECN object list points to new BOM, and BOM header points back to ECN.

I want to add that the workflow configuration matters significantly here. In your workflow template (transaction PFTC), check the binding between the workflow container and the change master object. Specifically, look at element ‘BOMRevision’ - it should be configured as a multi-line element that can hold multiple revisions. During the BOM revision step, the workflow should append the new revision to this element, not replace it. We had to modify our workflow to explicitly call function module ‘CCAP_ECN_OBJECT_MAINTAIN’ after BOM revision to update the object list with the new revision while preserving the old one for historical tracking.

The binding modification requires changes in transaction SWO1 (Business Object Builder). You need to extend the change master object (object type BUS1003) to support multi-valued attributes for BOM revisions. Create a new attribute ‘BOMRevisionList’ as a multi-line field, then modify your workflow binding to use this instead of the standard ‘BOMRevision’ single-line field. But be careful - this is a significant change that affects all your change workflows. Test thoroughly in development first. Also check SAP Note 2847563 which addresses similar BOM revision tracking issues in change management.

Let me provide a comprehensive solution addressing all three focus areas:

Change Master Object Configuration: The core issue is how the change master object list (table AEOI) is configured to handle BOM revisions:

  1. Object list entry structure:

    • Each BOM revision should create a separate entry in AEOI
    • Fields required: AEOI-OBJTYP = ‘BOM’, AEOI-OBJID = concatenation of MATNR+WERKS+STLAL+STLNR+REVISION
    • Current problem: System is updating existing AEOI entry instead of creating new one
  2. Configuration in SPRO:

    • Path: Logistics General → Engineering Change Management → Change Master → Object Management
    • Setting: ‘Object revision handling’ = ‘Create new entry for each revision’
    • Check table T430 (object type definitions) - field T430-MKONN should be ‘X’ for BOM object type
  3. Change master header setup:

    • Transaction CC01 - ensure ‘Revision level tracking’ checkbox is enabled
    • Field AENR-REVLV must be populated with the target BOM revision level
    • This links the change master to a specific revision, not just the material

BOM Revision Process: The BOM revision workflow must properly maintain change number linkage:

  1. BOM header change number field:

    • Table STKO, field AENNR must contain the ECN number during revision
    • Verify in transaction CS02: Menu → Extras → Administration data → Change number
    • This field creates the backward link from BOM to ECN
  2. User exit implementation (EXIT_SAPLCSDI_012):

    • Enhancement: SAPLCSDI
    • Function module: EXIT_SAPLCSDI_012
    • Logic to implement:
      • Read current ECN from workflow container
      • Populate STKO-AENNR with ECN number before BOM save
      • Call function ‘CCAP_ECN_OBJECT_ADD’ to add new BOM revision to ECN object list
      • Pass parameters: I_CHANGE_NO (ECN), I_OBJECT_TYPE (‘BOM’), I_OBJECT_KEY (new revision)
  3. Revision creation timing:

    • Problem: ECN object list is created before BOM revision happens
    • Solution: Implement two-phase object list update:
      • Phase 1: Add BOM base object to ECN at creation time (old revision)
      • Phase 2: Add new BOM revision to ECN after revision step completes
      • Both entries remain in AEOI for complete traceability

User Exit/BAdI Implementation: Complete implementation guide for maintaining ECN-BOM linkage:

  1. User exit EXIT_SAPLCSDI_012 (BOM maintenance):
FUNCTION EXIT_SAPLCSDI_012.
* Called during BOM save operation
  DATA: lv_ecn_number TYPE aennr,
        lv_bom_key TYPE aeoi-objid.

  " Read change number from workflow or session
  IMPORT lv_ecn_number FROM MEMORY ID 'ECN'.

  IF lv_ecn_number IS NOT INITIAL.
    " Populate change number in BOM header
    stko_upd-aennr = lv_ecn_number.

    " Build BOM object key with new revision
    CONCATENATE stko_upd-matnr stko_upd-werks
                stko_upd-stlal stko_upd-stlnr
                stko_upd-stlst  " New revision level
                INTO lv_bom_key.
  1. BAdI BADI_ECM_CHECK_DATA_CHANGE implementation:

    • Method: IF_EX_ECM_CHECK_DATA_CHANGE~AFTER_CHANGE_SAVE
    • Purpose: Update ECN object list after BOM revision completes
    • Logic:
      • Read all BOM objects from current ECN (table AEOI)
      • Compare revision levels in AEOI vs. current STKO table
      • For each BOM with new revision, add new AEOI entry
      • Preserve old AEOI entry for historical tracking
  2. Workflow step modification:

    • Transaction PFTC → Workflow template for ECN (e.g., WS20000132)
    • Add new step after ‘Revise BOM’ activity:
      • Step name: ‘Update ECN Object List’
      • Method: Custom Z-method to call CCAP_ECN_OBJECT_MAINTAIN
      • Binding: Pass BOM revision info from task container to method
  3. Workflow binding configuration:

    • Transaction SWO1 → Object type BUS1003 (Change Master)
    • Add new attribute: BOMREVISIONLIST (multi-line, type AEOI-OBJID)
    • Modify workflow container element ‘BOMObjects’ to use this attribute
    • Ensure binding type is ‘Table’ not ‘Structure’ to support multiple revisions

Implementation Steps:

  1. Modify SPRO settings for revision-level object tracking
  2. Implement user exit EXIT_SAPLCSDI_012 to populate STKO-AENNR
  3. Implement BAdI BADI_ECM_CHECK_DATA_CHANGE to update AEOI after revision
  4. Modify workflow template to add object list refresh step
  5. Update workflow binding in SWO1 to support multi-valued BOM revision attribute
  6. Create custom report to validate ECN-BOM linkage:
    • Join tables: AENR (ECN header), AEOI (object list), STKO (BOM header)
    • Validate: Each BOM revision in STKO has corresponding AEOI entry
    • Flag: ECNs where AEOI only shows old revision but STKO has new revision

Validation Query: Use this SQL to identify broken linkages:

SELECT a.aennr, a.aetxt, o.objid AS ecn_bom_rev,
       s.stlnr, s.stlst AS current_rev
FROM aenr a
JOIN aeoi o ON a.aennr = o.aennr
JOIN stko s ON o.objid LIKE CONCAT(s.matnr, s.werks, '%')
WHERE o.objtyp = 'BOM'
  AND o.objid NOT LIKE CONCAT('%', s.stlst)
  AND a.aedat >= '20250101';

This identifies ECNs where the object list revision doesn’t match the current BOM revision.

Critical Success Factors:

  • Ensure workflow steps execute in correct sequence (revision before object list update)
  • Maintain both old and new BOM revisions in AEOI for complete audit trail
  • Test with multiple concurrent ECNs revising the same BOM
  • Verify authorization object C_STUE_BER is assigned for BOM revision
  • Document the customization in solution manager for ISO audit trail

This comprehensive solution ensures change master records properly track all BOM revisions, maintains bidirectional linkage between ECNs and BOMs, and provides complete traceability for ISO compliance requirements.