Siebel Finance Guide > Business Services for Siebel Financial Services > Data Transfer Utilities (DTU) >

Considerations for Data Transfer Utilities


This section contains the following topics:

CAUTION:  To verify that all operations are performed, SQL statements should be spooled during the development stage.

Use of Active Business Objects

Data Transfer Utilities execute inside a client's object manager.

The DTU reuses the current active business objects. It does not instantiate an independent source business object unless directed. This leads to both a leaner memory use and better performance. It is even more so if the destination business object is the same as the source business object. In such a case, no new business objects are instantiated for the business service.

Because of the reuse of active objects, you must exercise caution to preserve the current business object context. For example, the business components should not be in the query state when DTU is launched.

Invocation Context

DTU in general needs the pass-in of a reference to the active Buscomp. To do so, the business service should be invoked from Event Manager, Buscomp Named Method, or a workflow process that is invoked by the event manager. However, in Siebel Finance 7.7, the requirement that one must have an active Buscomp is relaxed.

Not all Buscomp events can be used to invoke the DataTransfer method. For example, Query event in general should not be used to trigger DataTransfer, as the buscomps are not in an updateable state.

In general, do not use DeleteRecord event. Use PreDeleteRecord event instead. This is because Siebel event manager does not pass in a reference to the active Buscomp in the DeleteRecord event.

Special care is needed when the service is used with other business services in a workflow. Other business services should not interfere the passing of a reference to the active buscomp. Use a spooled sql statement to confirm the operations carried out are correct.

Well-Positioned Buscomps

A well-positioned Buscomp is a Buscomp that has been positioned correctly, and whose position should not be disturbed. DTU uses the following rule:

  • The initiator Buscomp is a well-positioned Buscomp.
  • The ascendants of a well-positioned Buscomp are well-positioned.
  • For a given data map component, the buscomps involved in all its parent data map components are well positioned.

If the source Buscomp is well-positioned, data transfer is only invoked on the current row of the source BusComp. Otherwise, the operation is carried out on all rows in the source BusComp at the moment of invocation. Also if the source Buscomp is well positioned, advanced options such as source search spec, source sort spec should be empty.

If the destination Buscomp is well-positioned, you do not need to specify key fields to retrieve the destination record. Even if you do in this case, DTU would ignore them.

When the destination Buscomp is well-positioned, if the current operation is Insert, it would be change to Update by default, unless overridden by Operation Overrides.

Recursive Invocation

By default, DataTransfer operation cannot be used to invoke another DataTransfer operation. In other words, at anytime within a client's object manager, there is only one DataTransfer method in the call stack.

Siebel Finance Guide