As explained in SAP note 2271658 'Design Considerations for Composite Provider'： When Null values can occur for one involved InfoObject, the pushdown of exception aggregation (TREXOPS=6) is not possible anymore. Although setting Referential Integrity flag will avoid special NULL handling, it doesn't always mean the exception aggregation can be pushed down with the flag.
The rule is:
- If the HCPR contains a left outer join on the involved InfoObject, it means NULL values are possible. Even with Referential Integrity flag is set, exception aggregation won't be pushed down. If you are sure there would be no NULL value generated by the data to join, you need to use inner join instead of lefter outer join to enable the exception aggregation pushdown.
- If the HCPR contains a HANA model, in this case system can't know whether NULL value is possible from the metadata of the infoprovider. So if Referential Integrity flag is set, it means no NULL value is possible, exception aggregation push down is enabled. If Refernal Integrity flag is not set, it means NULL value is possible and pushdown is disabled.
However, Referrential Integrity flag should only be set when no NULL values are returned in the HANA model for the involved InfoObject.
If the HANA model actually returns NULL values but Referential Integrity flag is set, this is a false setting according to the real data state, the query will get wrong result.
- No push down if ambiguous join is defined in HCPR
- No push down if CMP issue happens in HCPR. (Note 1009987 )
- No push down if SID handling impossible for the involved field on BW740. (KBA 2176246 )