Show TOC

/IWBEP/IF_MGW_ODATA_ENTITY_TYPLocate this document in the navigation structure

Use

This is an interface which represents an OData Channel EntityType object.

Methods

Method BIND_STRUCTURE

This method binds the EntityType to an ABAP Dictionary structure or to a type definition in an ABAP interface, for example.

Every component of the structure which shall be exposed in the EntityType needs to be declared first as a property. The bind structure follows a white-list approach. Only properties which are explicitly declared for the EntityType are exposed. Structure binding is used to retrieve the type and the text information from the ABAP Dictionary. The EDM core types are automatically retrieved from the internal ABAP types but can be manually overwritten. The text information is retrieved based on the text descriptions stored for the data elements in the ABAP Dictionary.

See also ABAP Dictionary Type to EDM.Type Mapping.

Parameter

Description

IV_STRUCTURE_NAME

Name of the structure data type.

IV_BIND_CONVERSIONS

Flag which propagates information about conversion exits, currency, and unit fields from the ABAP Dictionary into the metadata. The effect is the same as calling the methods SET_CONVERSION_EXIT, SET_SEMANTIC and SET_UNIT of the /IWBEP/IF_MGW_ODATA_PROPERTY interface. In addition for the amount, properties precision and scale are set according to the formula: Precision = Length * 2 - 1, Scale = Precision, where length is an internal length of the structure field.

Method CREATE_PROPERTY

This method adds a new property to the EntityType.

Parameter

Description

IV_PROPERTY_NAME

Name of the property.

IV_ABAP_FIELDNAME

Field name of the property.

RO_PROPERTY

Instance

Method GET_PROPERTY

This method retrieves the property of the EntityType by name (not the ABAP name).

Parameter

Description

IV_PROPERTY_NAME

Name of the property.

RO_PROPERTY

Instance

Method SET_CREATABLE

This method sets the value of sap:creatable of the EntityType. Thus it indicates whether instances of this type can be created. The default value is true and therefore not shown in service metadata document.

Parameter

Description

IV_CREATABLE

Value of the EntityType.

Method SET_UPDATABLE

This method sets the value of sap:updatable of the EntityType. Thus it indicates whether instances of this type can be updated. The default value is true and therefore not shown in service metadata document.

Parameter

Description

IV_UPDATABLE

Value of the EntityType.

Method SET_DELETABLE

This method sets the value of sap:deletable of the EntityType. Thus it indicates whether instances of this type can be deleted. The default value is true and therefore not shown in service metadata document.

Parameter

Description

IV_DELETABLE

Value of the EntityType.

Method SET_PAGEABLE

This method sets the value of sap:pageable of an EntitySet of this EntityType. Thus it indicates whether paging can be applied to an EntitySet of EntityType, for example parameters $top and $skip. The default value is true and therefore not shown in service document for the collection (directly associated to the EntitySet).

Parameter

Description

IV_PAGEABLE

Value

Method SET_ADDRESSABLE

This method sets the value of sap:addressable of an EntitySet of this EntityType. Thus it indicates whether the EntitySet of the EntityType can be addressed directly or only via navigation property. The default value is true and therefore not shown in service document.

Parameter

Description

IV_ADDRESSABLE

Value

Method SET_IS_MEDIA

This method sets the value of m:HasStream of an EntityType in the service metadata document. The default value is false if the method is not called and therefore not shown in service metadata document.

Instances of this type which are marked as media types are basically called media link entries. Every media link entry has an associated media resource which represents the binary which is referenced by the media link entry. Every instance of this type has a content source and a content MIME type (http://www.odata.org/developers/protocols/atom-format#RepresentingMediaLinkEntriesInformation published on non-SAP site). The following kind of media types are supported:

  • Media types which point to external sources (external URLs)

    • A property is required in the EntityType which is marked as the content source via feed customization.

    • A property is required in the EntityType which is marked as the content MIME type via feed customization.

  • Media types which point to internal sources (that is, binaries)

    • A property is required in the EntityType which is marked as the content MIME type via feed customization.

    • The content source shall not be set for internal sources. A content source link is generated by the framework and routes requests for media resources to the application specific implementation.

See also Media Links.

Parameter

Description

IV_IS_MEDIA

Value

Method SET_IS_ABSTRACT

This method sets the abstract value for the EntityType.

Parameter

Description

IV_IS_ABSTRACT

Value

Method SET_SUBSCRIBABLE

This method indicates whether it is possible to subscribe to this type. The default value is false and therefore nothing is shown in the service document.

Types supporting subscriptions are annotated with an atom:link element with the attribute rel="http:/www.sap.com/Protocols/SAPData/rel#subscribe" in the service document.

Parameter

Description

IV_IS_SUBSCRIBABLE

Value

Method SET_FILTER_REQUIRED

This method sets the flag that a filter is required for getting feeds.

Method HAS_FTXT_SEARCH

Collections of this data type can be searched through OpenSearch. The default value is false and therefore nothing is shown in the service document.

Types supporting OpenSearch are annotated with an atom:link element with attribute rel="search" in the service document. The atom:link href points to the OpenSearch description document.

Parameter

Description

IV_FSEARCH

Value

Method SET_SEMANTIC

This method sets the semantics of the entity type.

Supported values are the components of the structure /IWBEP/CL_MGS_ABS_MODEL=>GCS_SAP_SEMANTIC.

Parameter

Description

IV_SEMANTIC

Semantics in /IWBEP/IF_MGW_MED_ODATA_TYPES=>TY_E_MED_SEMANTIC.

Method SET_IS_THING_TYPE

This method represents an entity that defines tangible work objects. A "prominent" data object EntityType fulfilling additional constraints.

Parameter

Description

IV_IS_THING_TYPE

Value.

Method SET_BASE_TYPE

This method sets the base type of an EntityType.

Parameter

Description

IV_ENTITY_TYPE

Name of current type base.

Method CREATE_COMPLEX_PROPERTY

This method adds a complex property to the EntityType.

Note

Note that this method is obsolete.

Parameter

Description

IV_PROPERTY_NAME

Property name in complex type.

IV_COMPLEX_TYPE_NAME

Complex type name of complex type which is added as a nested complex type.

IV_ABAP_FIELDNAME

Field name of the complex type, property.

Method CREATE_CMPLX_TYPE_PROPERTY

This method adds a complex property to the EntityType.

Parameter

Description

IV_PROPERTY_NAME

Property name in complex type.

IV_COMPLEX_TYPE_NAME

Complex type name of complex type which is added as a nested complex type.

IV_ABAP_FIELDNAME

Field name of the complex type, property.

RO_COMPLEX_PROP

Instance of the new complex property.

Method CREATE_ENTITY_SET

This method defines an EntitySet which refers to the current EntityType object.

Parameter

Description

IV_ENTITY_SET_NAME

EntitySet name which appears, for example, in the service document as the href of the collection.

RO_ENTITY_SET

Instance

Method CREATE_NAVIGATION_PROPERTY

This method defines a navigation property.

Parameter

Description

IV_PROPERTY_NAME

Name of the navigation property.

IV_ASSOCIATION_NAME

Name which is referenced by the navigation property (relationship attribute of navigation property in Service Metadata Document).

IV_ABAP_FIELDNAME

Name of the navigation property (component name in case of expand or deep insert in expected structure

RO_NAVIGATION_PROPERTY

Instance

Method GET_PROPERTIES

This method retrieves a list of all properties of the current EntityType.

Parameter

Description

RT_PROPERTIES

Properties of the EntityType.

Method SET_TEXT_KEY

This method sets the source of a text label, for example, a text element or ABAP Dictionary label.

The method create a description for a field that differs from those of the ABAP Dictionary. A source of this text can be a text symbol of a class. The semantics of the input parameter must be the CLASS NAME and the symbol Id of the text element separated by -. The corresponding text object key is defined in class /IWBEP/CL_MGW_ABS_MODEL.

Parameter

Description

IV_TEXT_KEY

Key in the class name and the text element separated by -.

Example: /IWFBEP/CL_MGW_MED_POOL_TX_LOAD-000

IV_TEXT_OBJECT_TYPE

Type in the text object type defined in the field mentioned above.

Example: GCS_SAP_TEXT_OBJECT_TYPES-BACKEND_GATEWAY_TEXT

IV_CREATE

In the text the key will be created if not available. This parameter must always be set to ABAP_TRUE.

Method ADD_AUTO_EXPAND_INCLUDE

This method adds an ABAP Dictionary structure to the entity type as an auto-expand include.

Simple Field Extensibility

The SAP Gateway framework automatically and dynamically creates a corresponding entity property for each field of the so-called auto-expand include (except the dummy field) at runtime. Using this API the service provider developers does not have to modify the model provider class (MPC) based on the extension of the ABAP Dictionary include structure.

This method must be issued for each auto-expand include structure for an entity type and can be called before or after method BIND_STRUCTURE.

Moreover, your model provider class should also contain a reference of this ABAP Dictionary structure in form of data type declaration such as LV_<DDIC_NAME> TYPE REF TO <DDIC_NAME> to enable the framework for reloading the model metadata once the ABAP Dictionary structure has been changed. The metadata will be immediately reloaded but the metadata cache on the SAP Gateway system will first be cleaned up at the end of the current request processing and the next request will automatically work with the new metadata.

Parameter

Description

IV_INCLUDE_NAME

Name of the ABAP Dictionary structure.

IV_DUMMY_FIELD

This parameter is optional and defines a dummy field. That means it is not a property of the current entity type but it is necessary to enable the delivery of an "empty" ABAP Dictionary structure.

IV_BIND_CONVERSIONS

This flag: propagates information about conversion exits, currency and unit fields from the ABAP Dictionary into metadata. The effect is the same as calling method BIND_STRUCTURE of interface /IWBEP/IF_MGW_ODATA_ENTITY_TYP. In addition, for the amount properties Precision and Scale are set according to the formula: Precision = Length * 2 - 1, Scale = Precision, where Length is an internal length of the structure field.