Show TOC

Migrating iOS Native OData ApplicationsLocate this document in the navigation structure

Migrate your iOS OData application from version 2.3 SP04 to SAP Mobile Platform version 3.0.x.

Migrate OData applications by refactoring the classes while performing:
  • Registration
  • Request-Response (data fetch)
  • Parsing

For registration, there are no code changes, and no refactoring is required to migrate an application from 2.3 SP04 to 3.x. Only a rebuild is necessary for 2.3 SP04 applications to continue working with the SAP Mobile Platform 3.0 OData SDK. New applications are required to use the new APIs. You must also use the new classes to OData offline and to implement other features such as batch processing.

In version 3.x, a new Request API has been introduced for uniformity in API nomenclature; the SDM APIs from earlier versions have been deprecated. With this change, "SDM*" has been removed from all classes and methods names. Method names mostly remain the same, unless specified otherwise. In this table, class names are listed first, followed by the header files to which the classes belong.
Table 1: Refactored Request Classes
Version 3.0 (New) Version 2.3 (Deprecated)
Request (Request.h) SDMHttpRequest (SDMHttpRequest.h)
RequestBuilder (RequestBuilder.h) SDMRequestBuilder (SDMRequestBuilder.h)
DownloadCache (DownloadCache.h) SDMDownloadCache (SDMDownloadCache.h)
FormDataRequest (FormDataRequest.h) SDMFormDataRequest (SDMFormDataRequest.h)
NetworkQueue (NetworkQueue.h) SDMNetworkQueue (SDMNetworkQueue.h)
<Requesting> (Requesting.h) <SDMRequesting>; corresponds to protocol refractoring (SDMRequesting.h)
<CacheDelegate> (CacheDelegate.h) <SDMCacheDelegate> (SDMCacheDelegate.h)
<RequestDelegate> (RequestDelegate.h) <SDMHttpRequestDelegate> (SDMHttpRequestDelegate.h)
<ProgressDelegate> (ProgressDelegate.h) <SDMProgressDelegate> (SDMProgressDelegate.h)
ConnectivityException (ConnectivityException.h) SDMConnectivityException (SDMConnectivityException.h)

All "SDM*" classes have been refactored with "OData*" classes. All method names remain the same.

In this table, all public header files are listed first with their corresponding refactored names. If the class names in the file are different and the file contains multiple class names, different legends have been provided accordingly.

Table 2: Refactored Parser Classes
Version 3.0 (New)) Version 2.3 (Deprecated)
ODataFunctionImportResultParser.h SDMFunctionImportResultParser.h **
ODataGenericParser.h SDMGenericParser.h **
OData.h SDMOData.h *
ODataCollection.h SDMODataCollection.h **
ODataDataParser.h SDMODataDataParser.h **
ODataEntitySchema.h SDMODataEntitySchema.h **
ODataEntry.h SDMODataEntry.h **
ODataError.h SDMODataError.h **
ODataErrorXMLParser.h SDMODataErrorXMLParser.h **
ODataFunctionImport.h SDMODataFunctionImport.h #
ODataFunctionImportParameter SDMODataFunctionImportParameter
ODataFunctionImport SDMODataFunctionImport
ODataIconInfo.h SDMODataIconInfo.h **
ODataLink.h SDMODataLink.h #
ODataLink SDMODataLink
ODataRelatedLink SDMODataRelatedLink
ODataMediaResourceLink SDMODataMediaResourceLink
ODataActionLink SDMODataActionLink
ODataMetaDocumentParser.h SDMODataMetaDocumentParser.h **
ODataProperty.h SDMODataProperty.h *
ODataPropertyInfo.h SDMODataPropertyInfo.h **
ODataPropertyValueFactory.h SDMODataPropertyValueFactory.h **
ODataPropertyValues.h SDMODataPropertyValues.h #
ODataPropertyValueObject SDMODataPropertyValueObject
ODataPropertyValueInt SDMODataPropertyValueInt
ODataPropertyValueString SDMODataPropertyValueString
ODataPropertyValueComplex SDMODataPropertyValueComplex
ODataPropertyValueDateTime SDMODataPropertyValueDateTime
ODataPropertyValueBoolean SDMODataPropertyValueBoolean
ODataPropertyValueGuid SDMODataPropertyValueGuid
ODataPropertyValueBinary SDMODataPropertyValueBinary
ODataPropertyValueSingle SDMODataPropertyValueSingle
ODataPropertyValueDouble SDMODataPropertyValueDouble
ODataPropertyValueDecimal SDMODataPropertyValueDecimal
ODataDuration SDMDuration
ODataPropertyValueTime SDMODataPropertyValueTime
ODataPropertyValueTimeOffset SDMODataPropertyValueTimeOffset
ODataSchema.h SDMODataSchema.h **
ODataServiceDocument.h SDMODataServiceDocument.h **
ODataServiceDocumentParser.h SDMODataServiceDocumentParser.h **
ODataWorkspace.h SDMODataWorkspace.h **
ODataXMLBuilder.h SDMODataXMLBuilder.h #
ODataEntryBody SDMODataEntryXML
OpenSearchDescription.h SDMOpenSearchDescription.h #
OpenSearchDescriptionURLTemplate SDMOpenSearchDescriptionURLTemplate
OpenSearchDescription SDMOpenSearchDescription
OpenSearchDescriptionXMLParser.h SDMOpenSearchDescriptionXMLParser.h **
<ODataParserDelegate.h> <SDMParserDelegate.h> ##
ODataParserException.h SDMParserException.h **
PerformanceUtil.h SDMPerformanceUtil.h **
ODataSubscriptionXMLBuilder.h SDMSubscriptionXMLBuilder.h #
ODataSubscriptionInfo SDMSubscriptionInfo
ODataSubscriptionXML SDMSubscriptionXML
  • * Indicates a header file rather than a class definition. Rename the header file in the #import statement.
  • ** Indicates that the class name is same as the name of the header file. For example, the SDMODataError.h file has a class definition that is named SDMODataError.
  • # Indicates that these header files have multiple class definitions in the header file and are listed below the same, italicized.
  • ## Corresponds to protocol definition in iOS.
Note SAP recommends that you update to the newly refactored APIs. The deprecated SDM APIs are supported only for backward compatibility.