- Overview
- UiPath GenAI Activities
- Act! 365
- ActiveCampaign
- Adobe Acrobat Sign
- Adobe PDF Services
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Maps
- BambooHR
- Box
- Release notes
- About the Box activity package
- Project compatibility
- Add Shared Link to File
- Add Shared Link to Folder
- Search for Content
- Cancel Sign Request
- List Sign Requests
- Create Sign Request
- Resend Sign Request
- Upload File Version
- Copy File
- Delete File
- Download File
- Get File Info
- Get Folder Items
- Upload File
- Copy Folder
- Create Folder
- Delete Folder
- Delete Record
- Get Record
- Insert Record
- Replace Record
- List All Records
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- Customer.io
- Datadog
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Exchangerates
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales - Preview
- Freshservice
- GetResponse
- GitHub
- Google Maps
- Google Speech-to-Text
- Google Text-to-Speech
- Google Vertex
- Google Vision - Preview
- GoToWebinar
- Release Notes
- About the GoToWebinar activity package
- Project Compatibility
- Delete Webinar
- Get Webinar
- Get Webinar Meeting Times
- Get Webinar Registrant
- Get Webinar Start URL
- List Account Webinars
- List All In Session Webinars
- List All Webinar Attendees
- List All Webinar Registrants
- List All Webinars
- Quick Create Webinar
- Quick Update Webinar
- Search Recording Assets
- Delete Record
- Get Record
- Insert Record
- List All Records
- List Records
- API References
- Greenhouse
- Hootsuite
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- iContact
- Insightly CRM
- Intercom
- Jira
- Release notes
- About the Jira activity package
- Project compatibility
- Create Issue
- Add Issue Attachment
- Download Issue Attachment
- Get Instance Details
- Add Comment
- Get Comments
- Get Issue
- Search Issues by JQL
- Update Issue
- Update Issue Assignee
- Find User by Email Address or Display Name
- Update Issue Status
- Delete Record
- Get Record
- Insert Record
- List All Records
- Replace Record
- Upsert Record
- Invoke Operation
- Delete Issue
- Event Trigger
- Keap
- Klaviyo
- LinkedIn
- Mailchimp
- Mailjet
- MailerLite
- Mailgun
- Marketo
- Microsoft Azure OpenAI
- Microsoft Dynamics CRM
- Microsoft Sentiment
- Microsoft Teams
- Release Notes
- About the Microsoft Teams activity package
- Project compatibility
- Create Channel
- Invite Member to Channel
- List All Channels
- Send Individual Chat Message
- Reply to Channel Message
- Create Online Teams Meeting
- Send Channel Message
- Send Group Chat Message
- Get Channel by Name
- Get Individual Chat
- Get Team by Name
- Invite User to Team
- List All Channel Messages
- List All Chat Messages
- List All Team Members
- Get Online Teams Meeting
- List All Recordings
- List All Transcripts
- Download Meeting Transcript/Recording
- List All Records
- Insert Record
- Update Record
- Get Record
- Delete Record
- Technical references
- Microsoft Translator
- Microsoft Vision
- Miro
- Okta
- OpenAI
- Oracle Eloqua
- Oracle NetSuite
- Release Notes
- About the Oracle NetSuite activity package
- Project Compatibility
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Create Basic Company Customer
- Create Basic Company Vendor
- Create Basic Contact
- Create Basic Individual Customer
- Create Basic Individual Vendor
- Create Basic Support Case
- Update Basic Company Customer
- Update Basic Company Vendor
- Update Basic Contact
- Update Basic Individual Customer
- Update Basic Individual Vendor
- Update Basic Support Case
- Customer Created
- Customer Updated
- Record Created
- Record Updated
- Support Case Raised
- Support Case Updated
- Vendor Created
- Vendor Updated
- PagerDuty
- Paypal
- PDFMonkey
- Pinecone
- Pipedrive
- QuickBooks Online
- Quip
- Salesforce
- Release Notes
- About the Salesforce activity package
- Project Compatibility
- Create Account
- Update Account
- Create Contact
- Update Contact
- Create Lead
- Update Lead
- Create Opportunity
- Upload File
- Download File
- Search Records
- Get Opportunity
- Get Lead
- Get Contact
- Get Account
- Add File to Record
- Create Bulk Upload Job
- Get Bulk Job Info
- Starts or Aborts Bulk Job
- Download SOQL Bulk Job Results
- Download Unprocessed Records of Bulk Upload
- Create Bulk Download Job Using SOQL
- Search Using String
- Get Object Fields
- Insert Record
- Get Record
- Delete Record
- Update Record
- List All Records
- Salesforce Marketing Cloud
- SAP BAPI - Preview
- About the SAP BAPI activity package
- Project compatibility
- Technical references
- SAP Cloud for Customer
- SAP Concur
- SendGrid
- ServiceNow
- Release Notes
- About the ServiceNow activity package
- Project Compatibility
- Troubleshooting
- Create New Incident
- Create Incident Task
- List All Incidents
- Update Incident
- Add Attachment
- Download Attachment
- Get Incident Task
- Get Attachment
- List All Attachments
- List All Incident Tasks
- Update Incident Task
- When an Event Happens
- Delete Attachment
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Incident Created
- Incident Updated
- Incident Task Created
- Incident Task Updated
- Record Created
- Record Updated
- Shopify
- Slack
- Release Notes
- About the Slack activity package
- Project compatibility
- Create Channel
- Invite Users to Channel
- Remove User from Channel
- Send File to Channel
- Send Message to Channel
- Send Message to User
- Send Reply
- Send Button Response
- Create User Group
- Get User
- List All User Groups
- List All Users
- Set Channel Topic
- Join Channel
- Archive Channel
- Create Group Direct Message
- Get Channel Info
- Button Clicked
- Troubleshooting
- SmartRecruiters
- Smartsheet
- Release notes
- About the Smartsheet activity package
- Project compatibility
- Attach URL to Sheet
- Add Column
- Update Column
- Add Row
- Update Row
- Get Sheet
- List All Sheets
- Attach File to Comment
- Search Everything
- Update Sheet
- Create Sheet from Template
- Send Sheet Via Email
- List All Folders
- Download Attachment
- Attach File to Row
- Attach URL to Row
- Attach File to Sheet
- List All Workspaces
- List All Attachments
- Delete Row
- Download Sheet
- Search Sheets
- Insert Record
- Get Record
- List All Records
- Delete Record
- Snowflake
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- TangoCard
- Todoist
- Trello
- Twilio
- IBM WatsonX
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST - Preview
- X (formerly Twitter)
- Xero
- Release notes
- About the Xero activity package
- Project compatibility
- Create Contact
- List All Contacts
- Add Attachment to Contact
- Get Balance Sheet Report
- Get BAS Report
- Get GST Report
- Get Bank Summary Report
- Get Aged Receivables by Contact Report
- Get Attachments of a Contact
- Get Budget Summary Report
- Get Profit and Loss Report
- Get Trial Balance Report
- Get Executive Summary Report
- Get Aged Payables by Contact Report
- List Reports
- Delete Record
- List All Records
- Get Record
- Insert Record
- Replace Record
- Youtube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo
Technical references
This section includes useful information you may require when working with SAP BAPI.
In the 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.
BAPI_PO_CREATE
object.
- In the Execute BAPI activity,
select the
BAPI_PO_CREATE
object. - After you select the object, the rest of the fields are automatically retrieved.
- For a table of
PO_ITEMS
, for example, you want to build an equivalent array of objects. Select the Plus + button menu next to thePO_ITEMS
field to open the Expression Editor. - In the Expression Editor
window, type
UiPath.IntegrationService.Activities.SWEntities
. This loads a list of items. You can use IntelliSense to assist with traversing. - 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.
- Next, type a period
(
.
), then chooseBundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create
from the available list. Add two pairs of brackets at the end:[]{}
. - At this point, the array is
instantiated and you’re ready to construct the object within it.
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. - Copy the line from the previous step and add parentheses
()
at the end. Now, you're ready to map the properties within the object.
- Enter a period
(.)
to search all the properties within the object.
- Map the properties as needed and select Save.
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"
}
}
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"
}
}
Let’s take the same example and see how we can achieve the result in Studio Web.
- In the Execute BAPI activity, select the
BAPI_PO_CREATE
object. - After you select the object, the rest of the fields are automatically retrieved.
- For a table of
PO_ITEMS
, for example, you want to build an equivalent array of objects. Select the See more button menu to open the Expression editor.
- Type
New
, followed by a space, and thenbapis
. This triggers IntelliSense to display a list of items. From the list, select the item matching your InArgument, in this casebapis_sub_execute_TABLES_sub_PO_ITEMS_CREATE
. This item is always unique for a table.
- Next, add a pair of curly
brackets
{}
. Inside the brackets, type a period.
. You can then see the available properties within the object.
- Map the properties as needed
and select Save.
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"
}
}
{
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"
}
}
Yes, the SAP BAPI activity package is compatible with both Windows and cross-platform project types in Studio Desktop.
When a property of a particular BAPI is of type structure, the input (structure) itself is not displayed on the Execute BAPI activity canvas, but its underlying properties are shown. Even if certain properties within the structure are required by the BAPI, they are still displayed as optional on the primary canvas, often leading to a cluttered activity interface. SAP does not indicate which fields are required within the structure and only provides information about the mandatory structure. Therefore, you must manually identify and map the required fields accordingly. You can read more about this limitation in this SAP community thread: BAPI Mandatory Fields.
In the Execute BAPI activity, table input types for BAPIs are represented as array inputs. This requires you to manually build the objects. See the examples provided in Building array inputs for table input types.
Invoking RFC is not currently supported in the SAP BAPI activity package.
No installations are needed to use the new SAP BAPI activities from Integration Service. You need UiPath Studio version 2023.10 or higher or you can begin creating your automations directly in Studio Web.
_RETURN
array within the output Tables
section. This provides outputs such as LOG_NO
,
CODE
, MESSAGE
, etc. Check these values to
assess the success or failure of the BAPI execution.
mycompany.com/sap/bapi
, you depend on DNS translation,
routing, and other network components. This can lead to potential issues and network
troubles. Therefore, we recommend you use IP addresses to ensure a more reliable
connection creation experience.
Can I use the SAP BAPI activity from Integration Service if my SAP application is hosted on-premises or in a dedicated cloud?
- Building array inputs for table input types
- Studio Desktop (Language C#)
- Studio Web (Language VB)
- Frequently asked questions
- Is the SAP BAPI activity package compatible with Windows and Cross-platform projects?
- Why don’t I see all the required properties of a BAPI on the activity canvas?
- Why don’t I see table input types for the BAPIs?
- Why can’t I see all my inputs on the canvas?
- Is invoking RFC supported?
- Are there any installation prerequisites for using the SAP BAPI activities?
- How can I determine whether the Execute BAPI activity was successful?
- Can I use an IP address instead of a DNS name for Hostname?
- Can I use the SAP BAPI activity from Integration Service if my SAP application is hosted on-premises or in a dedicated cloud?
- Does the system handle commits for BAPIs automatically?