Developer

ILOData

Interactive Local OData (ILOData) is a command line utility that lets you execute OData requests, queries, flushes and refreshes against a local offline store.

ILOData functions like an offline OData client, without the need for an application or device, enabling you to test data from the back end system.

If a local database (offline store) exists, ILOData uses it. If not, ILOData preforms a refresh to create the database. To perform a refresh, defining_request and serviceRoot must be set. If no defining requests are specified on the command line and no store exists, you are prompted to enter defining requests before ILOData opens the offline store.

To use ILOData against an existing store, you must first retrieve the underlying offline OData database files from the device they were created on. The offline OData database files consist of two files prefixed with the store name (or default if no store name was used) and one having an .rq.udb suffix and the other having a .udb suffix. These files are located in the directory provided in the storePath store options, or in the application data directory by default if no store path was provided.

Syntax

ilodata.exe -[option=<name> [option=<name> ...]]

Parameters

  • appcid The application client ID.
  • command Specify a command and options to run immediately on startup. For example, command=get ~/T1. ILOData exits immediately after executing all commands.

    Command

    Option

    Description

    delete

    <id_url>

    Execute the given delete request.

    exit

    Quit ILOData.

    flush

    Flush queued requests.

    get [request]

    Execute the given read request.

    help

    Print this usage information.

    patch <id_url> [prop=value]

    Execute the given patch request.

    id_url is an URL identifying an entity instance.1

    patch

    <link_url> [id_url]

    Execute the given request to modify a link.

    link_url is an URL identifying a navigational property.1

    id_url is an URL identifying an entity instance.1

    post <set_url> [prop=value]

    Execute the given post request.

    set_url is an URL identifying an entity set.1

    put <id_url> [prop=value]

    Execute the given put request.

    id_url is an URL identifying an entity instance.1

    put <link_url> [id_url]

    Execute the given request to modify a link.

    link_url is an URL identifying a navigational property.1

    id_url is an URL identifying an entity instance.1

    refresh

    Perform a delta refresh.

    register <name> <id_url>

    Register a media stream request.

    id_url is an URL identifying an entity instance.1

    requestQueueIsEmpty  

    Returns whether or not the request queue is empty.

    set name=value

    Set an ILOData variable.

    • pagesize variable The page size for server driven paging. pagesize must be a 32-bit integer greater than 0. A special value for this variable is NO_PAGING, which means do not use server driven paging. NO_PAGING is the default.
    unregister <name>

    Unregister a media stream request.

    1All URLs must be properly encoded, particularly spaces and slashes. All values that contain spaces or tabs must be quoted with double quotes ("). All other values may be quoted with double quotes. Quoted values may contain \\, \xhh and "" escape sequences. Except when noted, values are case insensitive.

  • custom_cookie A dictionary of custom cookies to add to all HTTP communications. These are added to HTTP requests between the offline store and SAP Mobile Platform Server and to HTTP requests between SAP Mobile Platform Server and the back end OData Producer. For example, custom_cookie=name1:value1;
  • custom_header A dictionary of custom headers to add to all HTTP communications. These are added to HTTP requests between the offline store and SAP Mobile Platform Server and to HTTP requests between SAP Mobile Platform Server and the back end OData Producer. SAP Mobile Platform Server. For example, custom_header=name1:value1;
  • defining_request An OData read request that targets the OData endpoint associated with the offline store and retrieves a subset of the OData endpoint data, either during initialization of the Offline Store or during a refresh. Multiple defining requests can be defined for each OData endpoint by specifying multiple defining_request options on the command line. Defining requests become fixed for an offline store the first time the store is opened.
    If no defining requests are provided on the command line, and no database files exist, ILOData prompts you to specify them. You can specify a name for the defining request (the name that would be used for a selective refresh and/or in an application configuration .ini file on the server), as well as specify whether to download media streams. When the defining requests are specified using command line options, media streams are not downloaded by default and their names are the index at which they are specified. For example, in the following ILOData command, the first defining request would be named “1” and the second defining request would be named “2”.
    ilodata defining_request=Customers defining_request=Orders
  • enable_https Specifies whether to use HTTP or HTTPS to communicate with the SAP Mobile Platform Server. The default is no.
  • enable_repeatable_reqs Specifies whether the back end OData Producer supports repeatable requests. Repeatable requests (or idempotent requests) are a feature of some OData Producers that ensure OData requests are applied only once, even if they are received multiple times. This is useful in cases where OData responses may be lost due to intermittent network connectivity and is required by the offline store in order to guarantee that requests are applied exactly once to the back-end OData Producer.
  • extra_stream_parms Additional advanced stream parameters.
  • host The host of the SAP Mobile Platform Server. The default is localhost.
  • identity_file Specify a file containing a client authentication certificate.
  • identity_password The password to use in conjunction with the client authentication certificate.
  • log_file Specify a file to log the output.
  • password The password to use to authenticate with the OData producer.
  • port The port of the SAP Mobile Platform Server. The default is 32001.
  • prompt Override the default ILOData prompt.
  • retry_refresh Specify the number of times to retry a refresh or store open when a failure occurs. The default is 0 (no retry).
  • retry_wait The amount of time, in milliseconds, to wait before retrying a refresh. The default is 100.
  • service_root The service root of the OData Producer. When the server is an instance of SAP Mobile Platform Server or Hana Cloud Platform Mobile Services this value depends on the rewrite mode configuration in the server application. If Rewrite Mode is set to Rewrite URL in SMP or Rewrite URL in HANA Mobile Server, then this is the name of the application backend connector. If Rewrite Mode is set to Rewrite URL in Backend System, then this is the path of the back-end OData endpoint. For example, if the application is configured with a connector named myconn to an OData endpoint of http://myhost:80/odata/endpoint then the service_root should be myconn for Rewrite URL in SMP or Rewrite URL in HANA Mobile Server and odata/endpoint for Rewrite URL in Backend System.
  • store_key The key used to encrypt the local database. The default is no encryption.
  • store_name An arbitrary name to identify the offline store. If omitted, the default name lodata is used.
  • store_path The file system path to store the local data store. The default is the current directory.
  • trusted_certificate Specify a file containing a trusted root certificate.
  • url_suffix The URL suffix path to the server. Specify the suffix to add to the URL of each HTTP request sent to the server.
  • username The user name to use to authenticate with the OData Producer.
Data types formats:
  • null|NULL (case sensitive)

  • binary: 0xhhhhhh (hh is a pair of hexidecimal digits)

  • boolean: true|false

  • byte, sbyte, int16, int32, int64: [0-9]*

  • datetime: yyyy-mm-dd[ T]hh:mm:ss.ssssss (time portion is optional)

  • datetime_offset: like datetime plus timezone

  • decimal,double,single: normal numeric representation for type

  • guid: hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh (h is hex digit)

  • time: PnYnMnWnDTnHnMn[.m]S each component is optional

Examples

  • Example 1: Create a new local store using an SAP Mobile Platform application
    ilodata host=https://hcpms.mydomain.com service_root=com.test.mySampleApp
    defining_request=MySampleCollection appcid=9ae89115-b7e2-41d8-a20e-524729b9278a username=jdoe password=pw123
  • Example 2: Create a new entity
    ILOData> post MySampleCollection strProp="myvalue1" dateProp="2015-01-01 T12:00:00"
  • Example 3: Query the error archive
    ILOData> get ErrorArchive