SAP Execute
In this article
- 1 Overview
- 2 Snap Views
- 3 Snap Settings
- 3.1 Examples
Overview
You can use this Snap to execute the SAP Business API (BAPI) with the given input data. The BAPI input schema and output schema must correctly map data into the SAP BAPI.
SAP BAPIs for Integration
BAPI technology in SAP is based on import and export parameters that determine the parameters that must be provided (import) and parameters to be returned (export). You can test the BAPI's in the SAP client through transaction code SE37
.
Import parameters contain data to be transferred from SnapLogic to the BAPI. Specific values must be provided as import parameters for the BAPI to execute and return the desired data.
Export parameters contain data to be transferred from the BAPI back to SnapLogic. The data returned can be of the following types:
S = success message
E = error messageÂ
W = warning messageÂ
I = information messageÂ
A = termination message (abort)
The list of BAPI's in a particular SAP client varies depending on the level of customization. However, an exhaustive set is delivered as standardized BAPI's which provide basic functions and can be used to read and write or change data for most SAP Business Objects.Â
BAPIs for Reading Data
The following BAPIs provide you with read-only access to data in the associated business object:
GetList: Select a range of object key values, for example, company codes and material numbers.
GetDetail: Retrieve details of an instance (one specific occurrence) of a business object and returns this data to the calling program. This information is reported back to the calling program.
GetStatus: Query the status of an SAP Business Object, for example, the processing status of a sales order. This BAPI is used only for displaying the status of an object and does not retrieve full details like the BAPI GetDetail.
ExistenceCheck: Checks whether an entry exists for an SAP Business Object, for example, whether the customer master has been created.Â
BAPIs for Creating or Changing Data
The following BAPIs can create, change or delete instances of a business object:
Create or CreateFromData: Creates an instance of an SAP Business Object, for example, a purchase order.
Change: Changes an existing instance of a SAP Business Object, for example, a purchase order.
Delete and Undelete: Deletes an instance of an SAP Business Object from the database, for example, a purchase order. The BAPI Undelete removes a deletion flag.Â
Add<sub-object> and Remove<sub-object>: Adds a sub-object to an existing object instance and the BAPI and Remove<sub-object> removes a sub-object from an object instance.
Snap Type
The SAP Execute Snap is a Write-type Snap.
Prerequisites
Set up the user (the SAP BASIS administrator should create the user) to be used in the appropriate SAP clients with a specific set of authorizations. To execute a BAPI as part of your application program, you must have the appropriate authorizations set up in respective master records. The documentation provided with the BAPI contains information about the required authorizations. Any attempts to execute a BAPI that fail as a result of insufficient authorization are reported back to the calling application.
Support for Ultra Pipelines
Works in Ultra Pipelines.Â
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Document | Min: 0 |
| Document that conforms to the input view schema of the Snap. The document attributes are matched to the SAP BAPI metadata, and the matching attributes are provided to the BAPI program at execution, and any non-matching attributes are ignored. Only some BAPIs may be able to process without input. Refer to your BAPI documentation for the BAPIs that correctly processes with no input data. |
Output | Document | Min:Â 1 |
| Document which represents the record structure of the retrieved BAPI output definition. The documents are populated using the result data of each BAPI call for each document passed into this Snap. If the Snap has no input document, only one output document result is created. |
Error | Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab. Learn more about Error handling in Pipelines.
SAP BAPIs do not enforce standard error messaging, so error views of Snaps that are downstream of the SAP Execute Snap should be set to Discard Error Data and Continue. Else, your Pipeline will fail to run. |
Snap Settings
Field Name | Field Type | Description | |
---|---|---|---|
Label*  Default Value: SAP Execute | String | Specify a unique and meaningful name for the Snap.  | |
BAPI List configuration   | Use this field set to configure the list of BAPIs to return. This field set contains the following fields. | ||
BAPI List config key  Default Value:OBJECTTYPE | Dropdown list | Select a key to configure the BAPI list that is being returned. The available options are:
| |
BAPI List config value | String | Define a value to configure the BAPI list that is being returned. Learn more about object types.  | |
BAPI* Default Value: N/A  | String/Expression/Suggestion | Specify the BAPI on the SAP server to be executed. This is the ABAP name.  | |
Start Stateful Call Sequence  Default Value: Deselected | Checkbox | Select this checkbox to create a stateful session for calling one (or more) BAPIs. A Session ID is required if you want to create a stateful call sequence. | |
Commit after BAPI execute  Default Value: Deselected  | Checkbox | Select this checkbox to end the stateful session and commit when no exception is raised; otherwise, the BAPI controls the commits. | |
Session ID  Default Value: N/A | String/Expression | Specify the string to identify a specific session. All Snaps in a specific stateful call sequence must be in the same session ID, and there should be only call sequence running in a session at a time. If you do not provide any session ID, the Snap runs in its own session.  | |
Date conversion format  Default Value: yyyyMMdd  | String/Expression | Specify the format to convert string input values into SAP date/datetime fields in SimpleDateFormat.  | |
Output date time as Text Default Value: Deselected | Checkbox | Select to output date and time as a String data type instead of a DateTime object.  | |
Error handling   | Use this field set to define the error path and values for handling errors. If any error paths and their error values match a corresponding value in the output document, then the document is routed to the error view (if enabled), or the Snap fails (if the error view is disabled). If you do not define the error handling, the Snap will not by default fail or route anything to the error view if the RETURN[*].TYPE value is 'E'.  | ||
Error path Default Value:Â $RETURN[*].TYPE | String/Expression | Specify the error path to which the errors should route. Â | |
Error value Default Value:Â E | String/Expression | Specify the value for the error. Â | |
Max request attempts* Default Value: 3   | Integer | Specify the maximum number of SAP connection attempts to make in case of a failure. When you specify 0, the Snap makes infinite connection attempts.  | |
Request retry interval Default value: 5 | Integer | Specify the time in seconds to wait before retrying the request. Â | |
Route errors Default value: Deselected | Checkbox | Select this checkbox to write configuration errors to the error view. If the error is non-recoverable, the errors (especially connection errors such as exception handling) are routed to the error view with relevant information. Â | |
Reload Function Metadata Default value:Â Deselected | Checkbox | Select this checkbox to reload the metadata (latest schema) for the current BAPI function before executing the BAPI function. Â | |
Round to SAP decimal*   Default state: Deselected | Checkbox | Select this checkbox to round the decimal value to match the number of decimal places defined in the SAP target field. This prevents a conversion error if the number of decimal places exceeds the value defined in SAP. If you deselect this checkbox and the Snap tries to write a decimal value that either exceeds the length or the number of decimal places defined in the SAP packed decimal field, a conversion error is displayed. | |
Snap Execution Default value:Â Execute only | Dropdown list | Â |
Examples
The following examples demonstrate how to retrieve data, insert data in SAP using the applicable BAPI, and display an error.
Â
Â
Â
Downloads
Â
Â
Related Content
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.