On this Page
Table of Contents | ||||
---|---|---|---|---|
|
Snap type: | Write | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: | This Snap executes the configured SAP business API (BAPI) given input data, if any, and returns an output document that contains the results of the execution. The BAPI input schema and output schema are provided to correctly map data into the SAP BAPI. Expected upstream Snaps: Field can be mapped using an upstream Mapper Snap, which will allow the mapping of fields or values to the field that are available on the selected service object. Expected downstream Snaps: The Snap will output one document for every BAPI execution, hence any document processing Snap can be used down stream. Expected input: Document that conforms to the input view schema of the Snap. The input view schema is provided to an upstream Mapper Snap based on the selected service object. Expected output: Document which represents the record structure of the retrieved BAPI output definition. Each record is represented as one document on the output view.
SAP BAPIs for Integration
Import parameters contain data to be transferred from SnapLogic to the BAPI. Specific values must be provided as import parameters in order for the BAPI to execute and return the desired data.This is the data stream which will be provided in the input view of the SAP Execute Snap. Export parameters contain data to be transferred from the BAPI back to SnapLogic, which is returned back in the output view of the SAP Execute Snap. The data returned back can be of the following types:
The list of BAPI's in a particular SAP client will vary 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 DataThe following BAPIs provide you with read-only access to data in the associated business object:
BAPIs for Creating or Changing DataThe following BAPIs can create, change or delete instances of a business object:
| ||||||||||||
Prerequisites: | Have the SAP BASIS administrator setup the user to be used in the appropriate SAP clients with certain set of authorizations. To execute a BAPI as part of your application program, the users of your application you must have the appropriate authorizations set up in their 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 and limitations: | Works in Ultra Task Pipelines. | ||||||||||||
Account: | This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring SAP Accounts for information on setting up this type of account. | ||||||||||||
Views: |
| ||||||||||||
Settings | |||||||||||||
Label* | Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline. | ||||||||||||
BAPI List configuration | Use this field set to configure the list of BAPIs to return. | ||||||||||||
BAPI List config key | Specify a key to configure the BAPI list that is being returned. | ||||||||||||
BAPI List config value | Define a value to configure the BAPI list that is being returned. See object types at http://wiki.scn.sap.com/wiki/display/ABAP/List+of+BAPI's | ||||||||||||
BAPI* | Specify the business application interface (BAPI) on the SAP server to be executed. This is the ABAP name. The full list of all BAPI's can be viewed by clicking the suggest values icon. Default value: [ None | ||||||||||||
Start stateful call sequence | Use Select this checkbox to create a stateful session for calling one (or more) BAPIs using this Snap (and other downstream Snaps).
Default value: Not selected | ||||||||||||
Commit after BAPI execute | Use Select this checkbox in any downstream Snap to mark the end of the stateful session, started upstream of this Snap using Start stateful call sequence checkbox, and commit when no exception is raised; otherwise, the BAPI controls the commits.
Default value: Not selected | ||||||||||||
Date conversion format | Format Specify the format to convert string input values into SAP date/datetime fields. The format string using uses the same syntax as the Java SimpleDateFormat class. If If left blank, then no conversion will be is performed and an error will be is generated by the SAP client when an input view string is mapped to SAP date/datetime field.Example: yyyyMMdd Default value: yyyyMMdd | ||||||||||||
Output DateTime as Text | Select to output date and time as a String data type instead of a DateTime object. Default value: Not selected | ||||||||||||
Error handling | This property lets you define the Use this field set to define error handling. 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 error view is disabled).
Any newly created SAP Execute Snaps will add the default value above to provide a default for error handling. The Snap will not by default fail/route anything to the error view if the RETURN[*].TYPE value is 'E' in case the error handling is undefined | ||||||||||||
Max request attempts* | The Specify the maximum number of SAP connection attempts in case of a failure. When you specify 0 is entered, the Snap tries for makes infinite times for the connection attempts. Default value: 3 | ||||||||||||
Request retry interval | The Specify the time in seconds to wait before retrying the request. | ||||||||||||
Route errors | Writes Select this checkbox to write configuration errors to the error view. If the error is non-recoverable, especially connection errors such as exception handling would be routed to the error view with relevant information. Default value: Not selected | ||||||||||||
Reload Function Metadata | Select this checkbox to reload the metadata (latest schema) for the current BAPI function before executing the BAPI function.
| ||||||||||||
|
|
Examples
The following examples include: one to retrieve data successfully, one to insert data successfully in SAP using the applicable BAPI, one to show an error.
Expand | ||
---|---|---|
| ||
In the first example we will read a list of all sales orders in SAP by Sales Organization and Customer using BAPI_SALESORDER_GETLIST and then split the data by Sales Order # (SD_DOC), format the data to Excel and ultimately write the data to SLDB. We will start with a JSON Generator Snap which provides Customer and Organization ID which is input for the Mapper Snap where we map the relevant details such as CUSTOMER_NUMBER and SALES_ORGANIZATION to prepare as your input data. The SAP Execute Snap is configured to use BAPI_SALESORDER_GETLIST. I have renamed the Snap "SAP Execute - BAPI" for the purposes of this example. The results are returned from SAP, which match the input criteria (Sales Organization and Customer). Next, we split the data by Sales Order using a JSON Splitter. The JSON Splitter can use the SALES_ORDERS path to split the incoming document into individual output documents for each sales order and then write the results to an Excel file using Excel Formatter. |
Expand | ||
---|---|---|
| ||
We create an actual sales order in the second example. We use the following JSON as the input to the BAPI_SALESORDER_CREATEFROMDAT2 BAPI.
Then we map the input into the schema for the BAPI_SALESORDER_CREATEFROMDAT2 BAPI . The image below shows the SAP Execute Snap configuration: The execution returns the RETURN attribute (and others) which shows the status. TYPE: 'S' indicates a success and provides additional messages. |
Expand | ||
---|---|---|
| ||
Errors are identified in a BAPI as type "E" in the RETURN message. If the BAPI is not able to process the data provided in the input, the message returned should indicate the corrective action required as in the following example from BAPI_SALESORDER_CHANGE. |
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
The following Pipeline demonstrates a sequence of 3 BAPI calls on service notifications using an SAP instance. In this example Pipeline, a Mapper (Feed Notification Data) is used to prepare the sample attributes for the notification. The output displays the notification attributes.
|
Downloads
Attachments | ||||||
---|---|---|---|---|---|---|
|
See Also
- http://help.sap.com/saphelp_46c/helpdata/en/a5/3ec8464ac011d1894e0000e829fbbd/content.htm for a description of BAPI.
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|