Modeling Guide for SAP Data Hub

Compatible Port Types

You can connect two operators only if the output port of the first operator and the input port of the second operator are compatible.

The engine performs a compatibility only when you run the graph and when the graph is loaded. If the port types are not compatible the graph fails with a corresponding message in the trace.

Compatibility is checked in two steps as follows:
  1. For the base types one of following rules are satisfied:
    • the base types of the operators are identical or
    • one of them is of type any and the other is one of the compatible types listed in the below table.
  2. The semantic type of one port type is a specialization of the other semantic port type. Here any given semantic type, including the empty one, is a specialization of *.

Output Port Types

Input Port Types

Compatible Reason

any

any

yes Identical base type. No semantic type

any

any.*

yes Identical base type. Here, * can be substituted by the empty semantic type. So, any is a specialization of any.*

any

string

yes Compatible base types and no semantic type
stream any no Incompatible base types
float64.* int64.* no Incompatible base types

any.*

string.*

yes Compatible base types and identical sematic type

any.*

string.com.sap

yes Compatible base types. com.sap is a specialization of *

any.*

string.com.sap.*

yes Compatible base types. com.sap.* is a specialization of *

any.com.sap

any.com.sap

yes Identical base and semantic types

string.com.*

string.com.sap.*

yes Identical base type. com.*is a specialization of com.sap.*
any any.com no Identical base type. But com is not a specialization of the empty semantic type. Both sides are specializations of .* though.
any any.com.* no Identical base type. But, com.* is not a specialization of the empty semantic type