We’re running into validation failures on products with custom attributes that aren’t part of the standard compliance schema. Our compliance rules are configured to validate REACH and RoHS requirements, but when we added custom material properties (thermal conductivity, UV resistance rating) to our material master, the validation process started throwing errors.
The validation seems to be attempting to check ALL attributes against the compliance rule set, including our custom internal attributes that have nothing to do with regulatory compliance. This causes the approval workflow to halt.
Error we’re seeing:
ComplianceValidationException: Attribute 'thermal_conductivity_wm'
not found in compliance schema
at ComplianceValidator.validateAttributes(line 342)
at ApprovalWorkflow.executeValidation(line 156)
How do we exclude specific custom attributes from compliance validation scope? Is there a way to classify attributes as regulatory versus internal-use-only? We need the compliance validation BAdI to ignore non-regulatory attributes.
One additional consideration - if you’re using the standard compliance validation workflow, you may need to adjust the error handling configuration. By default, any attribute validation exception halts the entire workflow. You can configure it to log warnings for non-critical attributes instead of throwing exceptions. This way, if a custom attribute causes issues, it won’t block the compliance approval process.
You’ll need to implement the compliance validation BAdI to handle this properly. The standard validation doesn’t distinguish between regulatory and custom attributes. In the BAdI implementation, you can filter attributes based on naming conventions or metadata. We prefix all our regulatory attributes with ‘REG_’ so the BAdI can easily identify which ones need validation. For attributes without that prefix, the BAdI skips validation and returns success. This approach has worked well for us across multiple material types.
The proper solution involves attribute classification at the schema level. In SAP PLM’s compliance management configuration, you should define attribute categories: ‘Regulatory’, ‘Internal’, ‘Supplier-Provided’, etc. Then in your material master extension, assign each custom attribute to the appropriate category. The validation rules can then be configured to operate only on ‘Regulatory’ category attributes. This is cleaner than BAdI filtering because it’s metadata-driven and doesn’t require code changes when you add new attributes. The classification also helps with reporting and data governance.
The configuration is in the Compliance Rule Definition screen under Attribute Scope Settings. You’ll see an ‘Attribute Filter’ tab where you can specify inclusion/exclusion criteria. You can filter by attribute category, attribute name pattern, or specific attribute IDs. For your use case, set it to include only attributes with category ‘Regulatory’ or ‘Compliance’. This configuration is stored in table COMPLRULE_ATTR_FILTER. Make sure to test thoroughly because overly restrictive filters might exclude legitimate compliance attributes.