MRP Live BAdI extension not triggered for production orders in cloud environment

We’ve implemented a custom BAdI for MRP Live to add business-specific logic for production order quantity calculations in SAP S/4HANA Cloud 1909. The BAdI implementation works perfectly in our sandbox environment but is not being triggered when MRP runs in our production tenant. Our custom logic is completely bypassed, causing production orders to be created with incorrect quantities based on standard MRP calculations instead of our enhanced logic. The BAdI implementation is active in the system, and I’ve verified the enhancement spot assignment looks correct. I’m suspecting this might be related to BAdI cloud whitelisting or tenant-specific activation requirements that differ between sandbox and production. Has anyone experienced issues with BAdI implementations not triggering in production cloud environments, particularly with MRP Live enhancements?

I’ve seen this before - tenant-specific activation requires administrator privileges. Make sure you have the SAP_BR_ADMINISTRATOR role or equivalent in the production tenant. Standard developer roles can view custom logic but can’t activate it in production. You might need to request activation through your cloud operations team.

BAdI behavior in S/4HANA Cloud is strictly controlled through the cloud extensibility framework. Even if your BAdI is active in the system, it won’t execute unless it’s explicitly whitelisted for cloud use. Check the BAdI definition to verify it has the cloud-release status. Non-released BAdIs are blocked from execution in production cloud tenants regardless of implementation status.

The MRP Live BAdI not triggering in S/4HANA Cloud 1909 production is a multi-layered activation issue specific to cloud extensibility governance. Here’s the comprehensive resolution approach:

BAdI Cloud Whitelisting: S/4HANA Cloud implements a strict whitelist for BAdI execution in production tenants. Your BAdI must meet three criteria:

  1. Cloud Release Status: Verify in SE18 that the BAdI definition shows ‘API State: Released for Cloud Development’. If the status is ‘Not Released’ or ‘Deprecated’, the BAdI will not execute in production regardless of implementation.

  2. Enhancement Spot Assignment: The BAdI must be part of an officially released enhancement spot. For MRP Live, the relevant enhancement spot is typically MRP_LIVE_PROCESS. Navigate to transaction SE18 and verify:

    • Enhancement spot: MRP_LIVE_PROCESS
    • BAdI name: Your custom BAdI (e.g., MRP_LIVE_QTY_CALCULATION)
    • Spot assignment status: Active
  3. Cloud Extensibility Framework Registration: In the Custom Logic app (Fiori), your BAdI implementation must be registered with the cloud extensibility framework. The grayed-out activation button indicates missing prerequisites:

Enhancement Spot Assignment: The sandbox-to-production discrepancy typically results from incomplete enhancement spot configuration:

  1. Software Component Scope:

    • Open Manage Software Components app
    • Locate your custom software component (e.g., Z_CUSTOM_MRP)
    • Navigate to Assigned Enhancement Spots
    • Verify MRP_LIVE_PROCESS is listed and active
    • If missing, add the enhancement spot and save
  2. Transport Import Verification:

    • Check that the transport containing your BAdI implementation has been imported into production
    • Verify transport status is ‘Successfully Imported’ not just ‘Imported’
    • In transaction STMS_IMPORT (or cloud equivalent), confirm no import warnings exist
    • BAdI implementations with import warnings are blocked from activation
  3. Implementation Class Registration:

    • Your BAdI implementation class must be registered in table BADI_IMPL
    • Verify the implementation is active (field ACTIVE = ‘X’)
    • Check that the implementation is assigned to the correct enhancement spot instance

Tenant-Specific Activation: Cloud production tenants require explicit activation through authorized administrative roles:

  1. Authorization Requirements:

    • User performing activation needs business role SAP_BR_ADMINISTRATOR or SAP_BR_BPC_EXPERT
    • Standard developer roles (SAP_BR_DEVELOPER) can view but not activate in production
    • Request temporary administrator access or coordinate with cloud operations team
  2. Activation Process:

    • Navigate to Custom Logic app in Fiori launchpad
    • Locate your MRP Live BAdI implementation
    • If status shows ‘Inactive’, select the implementation
    • Click ‘Activate’ button (should be enabled with correct authorization)
    • Confirm activation in the popup dialog
    • System performs validation checks before allowing activation
  3. Validation Checks: The system validates several conditions before activation:

    • BAdI interface compatibility with current S/4HANA release
    • No conflicts with SAP-delivered logic
    • Implementation class exists and is syntactically correct
    • All required parameters are defined
    • Filter values (if any) are valid for production data

If validation fails, the system provides specific error messages indicating the blocking issue.

Debugging Activation Issues: To identify why activation is blocked:

  1. Check activation log:

    • In Custom Logic app, select your implementation
    • Click ‘Show Activation Log’
    • Review error messages for specific blocking conditions
  2. Verify filter conditions:

    • BAdI implementations with filter values might be inactive if filters don’t match production data
    • Review filter definition in SE18
    • Ensure filter values are appropriate for production environment (e.g., production plant codes, not sandbox plants)
  3. Test BAdI execution:

    • Use transaction SE19 to test BAdI implementation directly
    • Select your BAdI and implementation
    • Execute test with production-like data
    • Verify the implementation executes without errors

MRP Live Specific Considerations: For MRP Live BAdIs specifically:

  1. The BAdI must be activated before MRP planning run
  2. MRP Live caches BAdI implementation status - restart MRP service after activation
  3. Verify MRP Live is configured to use custom logic in Customizing (transaction OMGZ or equivalent Fiori app)
  4. Check that the plant/MRP area where you’re testing has custom logic enabled in MRP parameters

Resolution Steps:

  1. Confirm your user has SAP_BR_ADMINISTRATOR role in production tenant
  2. Verify transport import completed successfully without warnings
  3. Check software component includes MRP_LIVE_PROCESS enhancement spot
  4. Activate BAdI implementation through Custom Logic app with administrator credentials
  5. Restart MRP Live service (or wait for automatic restart cycle)
  6. Test MRP run with a single material to verify BAdI triggers
  7. Monitor application logs for BAdI execution confirmation

The sandbox environment likely has relaxed activation requirements or pre-activated custom logic by default, while production enforces strict governance requiring explicit administrative activation.

Also check if there are any filtering conditions in the BAdI implementation that might behave differently in production data. Sometimes BAdIs appear inactive when they’re actually executing but immediately exiting due to filter conditions that match sandbox data but not production data patterns.

I checked the BAdI definition and it shows release state ‘Released for Cloud Development’. The Custom Logic app in production does show our implementation, but the status is ‘Inactive’. How do I activate it? The activation button is grayed out.

MRP Live BAdIs have specific activation requirements in cloud environments. The enhancement spot must be assigned at the tenant level, not just at the development level. In your production tenant, navigate to Custom Logic app and verify that your BAdI implementation is listed and activated. The sandbox might have different default activation settings that make BAdIs work automatically, but production requires explicit activation through the tenant configuration.