For properties that are automatically added for each field of the so-called auto-expand include (simple field extensibility) there is a special EDM type determination logic in method /IWBEP/CL_MGW_MED_EDM_UTIL->GET_EDM_TYPE_V2.
You can also use this EDM type determination for all non simple field extensibility properties instead of the default EDM determination by using method /IWBEP/CL_MGW_ODATA_MODEL->/IWBEP/IF_MGW_ODATA_MODEL~SET_MODEL_FEATURES and setting the model feature use_edm_mapping_sp10.
The following table shows how the metadata base class /IWBEP/CL_MGW_ABS_MODEL maps ABAP Dictionary types in case this mapping is used.
Edm.Type |
Description |
ABAP Type Kind |
Description |
Comment |
Edm.Binary |
Contains binary data |
TYPEKIND_HEX |
Internal type X |
|
Edm.Binary |
Contains binary data |
TYPEKIND_XSTRING |
Internal type Y (byte string) |
|
Edm.Boolean |
Contains the value true or false |
TYPEKIND_CHAR |
Internal type C |
|
Edm.Byte |
Contains an unsigned 8-bit integer value |
TYPEKIND_INT1 |
Internal type B (1 byte integer) |
|
Edm.DateTime |
Represents a date and time |
TYPEKIND_DATE |
Internal type D |
|
Edm.DateTimeOffset |
Represents a date and time |
TYPEKIND_PACKED |
P(8) if domain is TZNTSTMPS, P(11) if domain is TZNTSTMPL |
If the ABAP Dictionary domain is TZNTSTMPS or TZNTSTMPL |
Edm.Decimal |
Contains a numeric value with fixed precision and scale |
TYPEKIND_PACKED |
Internal type P |
If ABAP Dictionary domain is not TZNTSTMPS or TZNTSTMPL |
Edm.Decimal |
Contains a numeric value with fixed precision and scale |
TYPEKIND_DECFLOAT |
Only available in systems based on SAP NetWeaver 7.02, not 7.00 |
|
Edm.Decimal |
Contains a numeric value with fixed precision and scale |
TYPEKIND_DECFLOAT16 |
Only available in systems based on SAP NetWeaver 7.02, not 7.00 |
|
Edm.Decimal |
Contains a numeric value with fixed precision and scale |
TYPEKIND_DEXFLOAT34 |
Only available in systems based on SAP NetWeaver 7.02, not 7.00 |
|
Edm.Double |
Contains a floating point number with 15 digit precision |
Internal type F |
Internal type F |
|
Edm.Guid |
Contains a 16-byte unique identifier |
TYPEKIND_HEX |
|
|
Edm.Guid |
Contains a 16-byte unique identifier |
TYPEKIND_CHAR |
If ABAP Dictionary domain is SYSUUID_22, SYSUUID_C22 or SYSUUID_C. |
|
Edm.Int16 |
Contains a signed 16-bit integer value |
TYPEKIND_INT2 |
Internal type S (2 byte integer) |
|
Edm.Int32 |
Contains a signed 32-bit integer value |
TYPEKIND_INT |
Internal type I |
|
Edm.String |
Contains character data |
TYPEKIND_CHAR |
Internal type C |
Only if Edm.Boolean or Edm.Guid was not determined (see related comments) |
Edm.String |
Contains character data |
TYPEKIND_STRING |
Internal type G (character string) |
|
Edm.String |
Contains character data |
TYPEKIND_NUM |
Internal type N |
Input mask allowing only characters '0'-'9' is added |
Edm.Time |
Contains a time of day |
TYPEKIND_TIME |
Internal type T |