OData Service
Run Mode: BACKGROUND AND DIALOG Aggregation: GENERIC AFTER EXTRACTION Iteration: SUPPORTED Duplicate Check: NOT SUPPORTED
Metadata retrieval: SUPPORTED Extraction Strategy: INDUVIDUAL SELECTION AND KEY BASED SELECTION Special Permissions: NONE
Use this source type for data from cloud systems which offer an accessible OData services.
Parameters
The following information is required:
Parameter | Description |
---|---|
RFC Connection | Specify the connection that is used to connect to the OData service. For this purpose set up an HTTP connection to an external server (Type G). |
URL Extension | If the URL in the RFC destination needs any additional extension, it must be given here. |
The following fields are non-editable and generated by the tool | |
Query | This is the OData query which is generated depending on the data model. Note Please be careful on the number of fields selected and the number of conditions added to the filters. The query has a fixed length of 2048 characters, if it exceeds this length then the query will not be able to execute and the comparison will fail. |
OData Version | This is used to extract the OData version of the service. Features may or may not be available depending on the version. |
For connecting to Cloud systems, for example SuccessFactors, only basic authentication is supported over a secure HTTP connection.
CDC supports all versions of OData, version 2.0+. Upto Service pack 6, only the ATOM format is supported and from SP07, the JSON response is supported.
The following functions must be accessible and working for CDC to function with the OData service:
- Metadata ($metadata)
- Count ($count and/or $inlinecount)
- Querying, filtering and expand operations ($select,$filter,$expand)
- Paging operations ($top and $skip)
Metadata interpretation
General display
Each OData Entity set is considered as a table. So after entering the RFC destination, add a table to the OData source. The Entities are equivalent to tables in CDC. On selecting the entity set, the properties and associations, if any, are displayed in the form of columns. CDC supports only one primary OData entity at a given time. Each entity set is linked to an Entity type. An entity type has properties and navigation properties to other entities.
For fields of the given entity having a standard EDM type (like Edm.Int32, Edm.String etc.), the field followed by an equivalent ABAP DDIC type is shown.
Note
The ABAP DDIC type shown is just for information. During extraction and comparison CDC treats all OData responses as strings.
Special properties
Upto service pack 6 (SP0-SP6) | From service pack 7 (SP07+) |
---|---|
If the property has an attribute that has KeepInContent = "false", CDC will search for the Target path and display the column name as: PropertyName_S_TargetName. Example : Name_S_Title. | Shown as a normal field |
If the property has a complex type, CDC treats it as a structure and displays it as follows: ComplexTypeName__ComplexTypePropertyName. Example : Address__Street | If the property has a complex type, CDC treats it as a structure and displays it as follows: ComplexTypeName_C_ComplexTypePropertyName. Example : Address_C_Street |
If the property is part of an association (relation) then the column name is displayed as follows: AssociatedEntityName_N_AssociatedEntityPropoertyName. Example: Category_N_ID. Only 1..1 associations are supported | If the property is part of an association (relation) then the column name is displayed as follows: for 1..1 associations it is AssociatedEntityName_N_AssociatedEntityPropoertyName. Example: Category_N_ID. For 1..* or *..1 associations it is AssociatedEntityName_NR_AssociatedEntityPropoertyName. Example: Product_NR_ID |
Key fields defined in the OData metadata is also displayed in the fields for table. |
Supported and equivalent data types
The table below enumerates the equivalent OData and DDIC data types for comparison. As before stated, these types are only for information. All OData responses are treated as strings.
OData Type | ABAP Type Equivalent | Support |
---|---|---|
Null | N/A | Yes, as (' ') |
Edm.Binary | D16R | Yes |
Edm.Boolean | CHAR | No (Conversion needed) |
Edm.Byte | INT1 | Yes |
Edm.DateTime | DATS | Support only after conversion |
Edm.DateTimeOffset | DATS | Support only after conversion |
Edm.Decimal | FLTP | Yes |
Edm.Double | FLTP | Yes |
Edm.Single | FLTP | Yes |
Edm.Guid | LCHR | Yes |
Edm.Int16 | INT2 | Yes |
Edm.Int32 | INT4 | Yes |
Edm.Int64 | INT4 | Yes |
Edm.SByte | LRAW | Yes |
Edm.String | SSTRING | Yes |
Edm.Date | DATS | Support only after conversion |
Edm.Time | TIMS | Support only after conversion |