Share this page

# lr.start_sub_transaction

Starts a sub-transaction specified by its parent's name.

    int lr.start_sub_transaction( String sub_transaction, String parent_transaction  );

Transaction Functions | Java Syntax

## Arguments

Name | Comments
--- | ---
sub_transaction | The name of the sub-transaction
parent_transaction | The name of the parent transaction in which the sub-transaction is nested.

The lr.start_sub_transaction function marks the beginning of a sub-transaction. To mark the end of the sub-transaction, use lr.end_sub_transaction. You insert these functions immediately before and after the sub-transaction actions.

Sub-transactions are used for isolating parts of a business process. For example, a sub-transaction "electrical_purchases" may be nested within the larger transaction "purchases." The transaction "purchases" is the parent transaction and "electrical_purchases" the sub-transaction.

Multiple sub-transactions can be nested within a parent transaction. A sub-transaction may also be a parent to a smaller sub–transaction.

The duration of a transaction or sub-transaction is the sum of the durations of all steps between its start and end, including the steps that are included in sub-transactions.

Each lr.start_sub_transaction statement must be matched with an lr.end_sub_transaction statement within the script or it will be interpreted as an illegal command.

Note: For information on allowed characters and maximum length for transaction names, see Transaction guidelines in the Virtual User Generator Help Center.

## Return Values

This function returns 0 if it succeeds. It returns -1 if the transaction name is illegal or if there is no prior call to lr.start_transaction with a transaction of the same name.

## Parameterization

All string arguments (char type) can be parameterized using standard parameterization.

## Example

In the following example,lr.start_sub_transaction and lr.end_sub_transaction create a transaction that performs purchases of six electrical items. The parent transaction is purchases and the sub-transaction is electrical_purchases.

Copy code

    lr.start_transaction("purchases");

    /* Breakdown the transaction into a smaller transaction */
    lr.start_sub_transaction("electrical_purchases", "purchases");

    /* call to Server API */
    int status = purchase_electrical_items(6);

    /* End transaction with operation result - pass or fail */
    if (status == 0)
        lr.end_sub_transaction("electrical_purchases", lr.PASS);
    else
        lr.end_sub_transaction("electrical_purchases", lr.FAIL);
    lr.end_transaction("purchases", lr.AUTO);

Tips to improve your search results... VuGen Function Reference Version 26.1-26.3 Function Reference 26.1-26.3 All View Local Help Center View Online Help Center Version: