By default 'Allow Discrete Handling of Service Options After' is set to 'Pending Fulfillment', which means during the approval phase you approve/reject for each service in the request however fulfillment will be for each service option. With this configuration, if I have a request in 'Pending Approval' status I can update the status to 'Approval Done' (999) and Catalog will then automatically update the status to 'Pending Fulfillment' via the following in soapUI:
<sessionID xsi:type="xsd:string">12dc816f-6e50-421d-bf38-874820178902</sessionID>
<pendingActionType xsi:type="xsd:int">1</pendingActionType>
<requestItemID xsi:type="xsd:int">10086</requestItemID>
<status xsi:type="xsd:int">999</status>
requestItemID you can get from the output getRequestItems method:
<subscriptionDetailID xsi:type="xsd:int">10086</subscriptionDetailID>
or from usm_subscription_detail.id:
select * from usm_subscription_detail where request_id=10020
You can also take a look at the following for more information on discrete handling:
Discrete Request Life Cycle Parameters - CA Service Management - 14.1 - CA Technologies Documentation