Rule Types are used where we have interface fields to which values need to be assigned.
We have mapping rules for the source objects that point to the metadata of the source system. For each source object, zero or multiple Filter Rules can be called, serving as additional predicates for the link between the source object and its parent. If a Filter Rule returns false, the source object will be discarded and cannot be used in the mapping.
For child Business Objects, we also have Condition Rules. If a Condition Rule returns false, the corresponding Business Object will not be created by the Source Map and will not be sent to the Target Map. These rules are specific to the source map.
In the implementation of Manual Rules, we have access to various features. In Studio, a Rule can raise flags defined on the Rule itself, call other Rules, and access constants and Value Sets. If we are in the target map implementation, we can also access relationships and gain access to the export result or target result of other Business Objects. This allows us to view the export result and target result when a rule is called in the context of a Business Object.
Moreover, as an Exit Rule, the entire target result can be accessed because the Exit Rule is called at the end of processing the Business Objects. In such cases, an Exit Rule can detect missing rows in the target result by examining a value set from the target system.
Furthermore, both Exit Rules and other rules have the capability to inject target objects into the stream and access their own libraries. Therefore, when implementing Manual Rules, there are no limitations to accessing external functionality specific to your installation and system.
Introduction to Rule Types is also the subject of this video: