Object Read Step Development Considerations

When designing and developing object read steps, the following items will factor into how the steps being executed should be defined as well as the object read steps themselves.
  • The overall context of the read step execution, i.e. is it being executed for fetch, push, or transaction processing? Will the object read steps as a whole be executed for more than one of these?
  • The data to be retrieved by the step and where it is intended to be used. Within the parent object of the read step, in a collection property of the object, in a descendent collection property?
  • The overall requirements of the object data retrieval process, as dictated by the back end system. The order in which object read steps are executed is always an important consideration.
  • The type of data or objects being retrieved by the step. File transfer functionality, for example, will have different effects on the design and development of the step than the retrieval of some other data types.
  • The overall requirements of the back end system and system with which data is being synchronized.

One of the main aspects of the object read step definition to keep in mind during the design and development of an application is that the object read step is always run as a part of the processing of other synchronization definition types. There is no point in the synchronization process in which the object read steps are run by themselves. They are, rather, executed after the processing of a fetch, push, or transaction. Because of this overriding aspect of the read step definition, detailed discussions of the development of a read step are deferred to the discussions of the overall processes for these other definition types.

Here information is limited to the data available to the steps being executed as object read steps under various circumstances.

Read Step In-Scope Values: Fetch and Push Processing

The data values available to a read step run as a part of fetch or push processing is dependent in large part on how the step is being executed, that is, the setting of its Run attribute. Therefore the following table lists the data available to the read step organized according to the different settings of this attribute:
Run Attribute Setting Available Data Values
Run One Time Any SDML local data tags created by the fetch or previously executed read steps.
Run Once Per Object

Any SDML local data tags created by the fetch or previously executed read steps.

The key property of the current object instance.

The last update value of the current object instance.

Run Once Per Collection Object

Any SDML local data tags created by the fetch or previously executed read steps.

The key property of the current object instance.

The key property of the current collection object instance.

The last update value of the current collection object instance.

Read Step In-Scope Values: Transaction Processing

The data values available to a read step run as a part of transaction object replacement is dependent in large part on how the step is being executed, that is, the setting of its Run attribute. Therefore the following table lists the data available to the read step organized according to the different settings of this attribute:
Run Attribute Setting Available Data Values
Run One Time

Any SDML local data tags created by previously executed read steps.

The key property of the object instance being replaced.

The last update value of the object being replaced.

Run Once Per Object

Any SDML local data tags created by the fetch or previously executed read steps.

The key property of the object instance being replaced.

The last update value of the object instance being replaced.

Run Once Per Collection Object

Any SDML local data tags created by the fetch or previously executed read steps.

The key property of the object instance being replaced.

The key property of the current collection object instance.

The last update value of the current collection object instance.