# Building array inputs for table input types

> In the [Execute BAPI/RFC](https://docs.uipath.com/activities/other/latest/integration-service/uipath-sap-bapi-execute-bapi) activity, table input types for BAPIs are represented as array inputs. This requires you to manually build the objects. We are actively working on a solution to simplify array mappings and improve the overall experience.

In the [Execute BAPI/RFC](https://docs.uipath.com/activities/other/latest/integration-service/uipath-sap-bapi-execute-bapi) activity, table input types for BAPIs are represented as array inputs. This requires you to manually build the objects. We are actively working on a solution to simplify array mappings and improve the overall experience.

This section explains how to build equivalent array inputs for a native type table in SAP BAPI, with examples in Studio Desktop version 2023.10 and Studio Web.

We are going to explain this topic with the example of a `BAPI_PO_CREATE` object.

## Studio Desktop (Language C#)

![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475705-c30db393-b01aecfc.webp)

1. In the [Execute BAPI/RFC](https://docs.uipath.com/activities/other/latest/integration-service/uipath-sap-bapi-execute-bapi) activity, select the `BAPI_PO_CREATE` object.
2. After you select the object, the rest of the fields are automatically retrieved.
3. For a table of `PO_ITEMS`, for example, you want to build an equivalent array of objects. Select the **Plus +** button menu next to the `PO_ITEMS` field to open the **Expression Editor**.
4. In the **Expression Editor** window, type `UiPath.IntegrationService.Activities.SWEntities`. This loads a list of items. You can use IntelliSense to assist with traversing.
5. From the list, choose the item that corresponds to your InArgument (in this case, `bapis_sub_execute_TABLES_sub_PO_ITEMS_CREATE`). This item is always unique for a table.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475765-bd506ae9-6bef0a37.webp)
6. Next, type a period (`.`), then choose `Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create` from the available list. Add two pairs of brackets at the end: `[]{}`.
7. At this point, the array is instantiated and you’re ready to construct the object within it.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475718-2d37b226-68675fa1.webp)

   :::note
   The **CEBA75DCD15** ID is a unique identifier generated on our side, specific to your SAP BAPI connection for each object. The ID is unique to each object.
   :::
8. Copy the line from the previous step and add parentheses `()` at the end. Now, you're ready to map the properties within the object.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475722-b7da9e24-cf271f28.webp)
9. Enter a period `(.)` to search all the properties within the object.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475726-56369481-bc346446.webp)
10. Map the properties as needed and select **Save**.

    ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475752-3639a66b-abd53337.webp)

Sample:

```
new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create[] {
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00001,
        PUR_MAT = "TG12",
        PLANT = "1710"
    },
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00002,
        PUR_MAT = "TG12",
        PLANT = "1710"
    }
}
```

## Studio Web (Language VB)

Let’s take the same example and see how we can achieve the result in Studio Web.

1. In the **Execute BAPI/RFC** activity, select the `BAPI_PO_CREATE` object.
2. After you select the object, the rest of the fields are automatically retrieved.
3. For a table of `PO_ITEMS`, for example, you want to build an equivalent array of objects. Select the **See more** ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-365280-892ecbd0-3bd6c9a1.webp) button menu to open the **Expression editor**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475734-7c4ab3a8-6b6b00d3.webp)
4. Type `New`, followed by a space, and then `bapis`. This triggers IntelliSense to display a list of items. From the list, select the item matching your InArgument, in this case `bapis_sub_execute_TABLES_sub_PO_ITEMS_CREATE`. This item is always unique for a table.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475740-79f4d957-a7d3a968.webp)

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475744-6943d23d-6cee0886.webp)
5. Next, add a pair of curly brackets `{}`. Inside the brackets, type a period `.`. You can then see the available properties within the object.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475748-3b6f33e9-f78ad222.webp)
6. Map the properties as needed and select **Save**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/activities/latest-docs-image-475730-f38625fc-dbee547e.webp)

Sample:

```
{ 
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00001,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    },
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00002,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    }
}
```
