moveDeposit

The move batch (ICL) request causes Transaction Server to move the specified batch (ICL) to another business day.

The ID that is specified for the batch (ICL) to be moved must resolve to a valid batch (ICL). Only batches (ICLs) that are assigned to open business days or that are in the pending state with no work started can be moved. The target business day must exist and cannot be the business day that currently contains the batch (ICL). If the target business day is active, processing begins on the batch (ICL) as soon as it is moved.

The following table shows the fields that are needed to create a move batch (ICL) request.
Table 1. moveDeposit Request
Field Description
Message Type The message type text for this message. The strings that can be used for the message type are:
  • AppBridgeConstants.MSGTYPE_MOVE_DEPOSIT
  • moveDeposit
Using the string that is defined in the AppBridgeConstants interface is the preferred method for setting the message type.
Unit of Work The unit of work (UOW) type that is used to find the batch (ICL) to be moved. The following UOW type specifications are supported:
  • UOW.UOW_TYPE_PRESENTMENT_ID
Payload For a simple move request, specify a BusinessDayModel instance with the business date and the category of the target business day. The BusinessDayModel object is in the class com.ibm.ftm.base.util.database.objects.BusinessDayModel.
The payload can also be specified as a collection of NameValuePairBean objects whose properties are:
  • toBusinessDayId - a long value that is the identifier of the business day to which the batch (ICL) is to be moved.
Note: A payload is required for this request. Not specifying a payload results in an error indicating that the target business day cannot be determined.

Example payload

The following example shows how to construct a unit of work and payload for moving a batch (ICL). In this example, the batch (ICL) ID is 1026, the target business day has a business date of 20130830, and the category is 2.
UOW uow = new UOW (UOW.UOW_TYPE_PRESENTMENT_ID, "1026");
DateMarker bdate = DateMarker.parseDateMarker ("20130830");
BusinessDayModel payload = new BusinessDayModel ((short) 0, bdate, "2");
send ("moveDeposit", uow, payload);
The following example shows how to move a batch (ICL) to a target business day using a specific business day identifier. In this example, the batch (ICL) ID is 1026 and the target business day ID is 41.
UOW uow = new UOW (UOW.UOW_TYPE_PRESENTMENT_ID, "1026");
List <NameValuePairBean <Object>> payload = 
                                  new Vector <NameValuePairBean <Object>> ();
payload.add (new NameValuePairBean <Object> ("toBusinessDayId", 41L) );
send ("moveDeposit", uow, payload);

Return values

If a response was requested for the move batch (ICL) request, the Transaction Server returns the result of the move operation in the reply. A nonzero return value indicates that the move batch (ICL) request did not complete successfully. The following table shows the return codes for this move request.
Table 2. moveDeposit Return Codes
Return value Description
0 Indicates that the move operation was successful.
X'800D0018' There was a failure accessing the database.
X'400D0020' The target business day was not found.
X'800D0030' The batch (ICL) to be moved was not found.
X'400D0031' The batch (ICL) to be moved is already being processed.
X'400D0032' The target business day is the same as the current business day for the batch (ICL).