Developer

AgileApps

AgileApps provides an interface to other products and applications to communicate with the AgileApps platform. Other products and Applications can use this connector to invoke any AgileApps REST API.

Availability: Workflows and FlowServices

Custom Actions

AgileApps connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

To know more about how to create custom actions, click here.

AMQP

AMQP (Advanced Messaging Queuing Protocol) is an open source messaging protocol operating in the application layer of ISO OSI model. AMQP mandates the behavior between the message provider and the client in a similar way of other protocols such as HTTP, FTP, SMTP etc.

Availability: Workflows only

Triggers

Actions

Note: We are currently supporting AMQP 0-9-1 messaging protocol.

API Specs

Create custom actions with ease using RAML and Swagger.

Availability: Workflows only

Actions

Notes:

  • webMethods.io Integration only supports:
    • OpenAPI version 2.
    • OpenAPI version 3.0.x (up to version 3.0.2).

  • Currently, only JSON definition can be imported. YAML import is not supported.

Api2Pdf

Api2Pdf allows you to create PDFs from HTML, URLs, images, and office documents. Furthermore, PDF files can be merged, password-protected, and marked up with bookmarks.

Availability: Workflows and FlowServices

Actions

Custom Actions

Api2Pdf connector also lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

Akamai

Akamai is a Content Delivery Network (CDN) and cloud service provider which helps boost your website response time by distributing content via servers closest to user’s location.

Availability: Workflows only

Actions

Archive

Zip and unzip files with ease.

Availability: Workflows only

Actions

ARIS

Runtime systems, for example SAP® or Oracle® systems, have data such as the frequency of executed processes and their data, access frequencies and problems or error messages that have occurred. webMethods io Integration allows using the ARIS connector to create the connection between ARIS and these systems. For example, this data can be transferred from runtime systems to ARIS and written to attributes in ARIS. Thus these real data are also available in ARIS.

Availability - Workflows and FlowServices

For information about the ARIS REST API, see ARIS repository API technical introduction document.

Using the ARIS connector

ARIS connector allows you to create your own custom actions.

  1. Add a custom action.

    Always select ArisServices as the functional area. ArisAuthService is used internally by webMethods.io Integration.

  2. Create a connection. Specify connection details and session parameters.

    • Account name: The account name is used to identify the connection. You can enter any name.
    • Server URL: The server URL is the URL to ARIS Repository API. Edit the domain. Typically, this is the host name of the ARIS system used. Enter only the URL and leave the /abs part unchanged.
    • Username: The user account name of ARIS.
    • Password: The password for the user name provided in the Username field.
    • Auth Server URL: The Auth Server URL is the URL to the User Management of ARIS. Edit the domain. Typically, this is the host name of the ARIS system used. Edit the domain. Enter only the URL and leave the /umc/api part unchanged.
    • Tenant: Specify default.
    • Session Management: Set to fixed.
    • Session Timeout: Set to 45 minutes.

      webMethods.io Integration requests a session token from ARIS and uses it when calling ARIS. By default the session token expires in ARIS in sixty minutes. To ensure token renewal, use a session timeout lower than the duration of the ARIS session.

  3. Edit the parameters.

    The parameter umcsession is set internally by the ARIS connector.

    The Content-Type parameter of the request header should always be set to application/json.

    Do not edit either of the parameters.

  4. Find items in the database.

    The ARIS repository has a method for finding elements in a database. This method can be used to find groups, object definitions, or models. The ARIS connector provides a search function with three different operations:

    • find groups in a database
    • find objects in a database
    • find models in a database

ARIS Process Mining

Runtime systems, for example, SAP® or Oracle® systems, have data such as the frequency of executed processes and their data, access frequencies and problems, or error messages that have occurred. Using the webMethods.io Integration connector for ARIS Process Mining allows you to create the connection between ARIS Process Mining and these systems. This data can be transferred, for example, from runtime systems to ARIS Process Mining and loaded into a data set for further analysis.

ARIS Process Mining supports a public data ingestion REST-API. The API allows you to transfer data from any data source to ARIS Process Mining. The data transferred to ARIS Process Mining must be in table format and must conform to JSON format.

The webMethods.io Integration connector provides the REST operations from the data ingestion API that you can use to customize your own actions. Additionally, predefined operations allow you to directly use the most commonly used REST resources and operations or reduce the complexity of customizing REST operations.

Prerequisites

Before you can create the connection, you must first create a system integration and connection for the data ingestion API in ARIS Process Mining. The system integration must be based on the Client credentials authentication method. The system integration provides the client ID and client secret required to create a connection betweenwebMethods.io Integration and ARIS Process Mining.

Connection Parameters

You must specify the following parameters to create a connection between webMethods.io Integration and ARIS Process Mining:

For details on using the data ingestion API, see ARIS Process Mining Data Ingestion API document.

Availability: Workflows and FlowServices

Actions

Custom Actions

ARIS Process Mining connector also lets you create your own custom actions for performing specific tasks. To know more about how to create custom actions, click here.

The custom actions are based on the endpoints provided by the data ingestion API. For details on using the data ingestion API, see ARIS Process Mining Data Ingestion API document.

Beanstalk

Beanstalk is a code hosting workflow that you can use to write, review, and deploy code instantly. This easy-to-use service removes the hassles of hosting code and managing deployments, thus accelerating the software development process.

Availability: Workflows only

Triggers

Actions

Bitbucket

Bitbucket, powered by Atlassian, offers web-based version control repository hosting service. It manages source code and projects with the help of mercurial or git that runs in the background.

Availability: Workflows only

Triggers

Actions

Clock

The Clock trigger allows you to run a workflow automatically at a particular date or time.

Availability: Workflows only

Triggers

Note: If you set a clock trigger and set the Disable Concurrent Execution field to true, the clock trigger will not execute a new instance of the workflow till the previous workflow instance execution is completed (i.e. workflow executes successfully, time outs, or fails).

Example: Let’s say we have a workflow that takes 2 minutes to execute and has a clock trigger that runs every 5 minutes. In a normal scenario, this trigger will keep executing a new workflow instance every 5 minutes. Now, if you set the Disable Concurrent Execution field to true in the Clock trigger configuration window, the clock trigger will wait for 7 minutes for the workflow to complete its execution. Only after the current workflow instance execution is completed, it will initiate a new workflow instance execution.

This will enable you to prevent concurrent execution of the same workflow.

Database

Availability: Workflow and FlowServices

webMethods.io Integration allows you to connect to a database using the Database Application. The Database Application allows you to perform database operations with cloud databases using a JDBC driver.

Create New Account

Complete the following fields to create a new account:

Field Description
Database Select the supported database.
Driver Group Select the driver group to connect to the database. This lists the pre-bundled drivers available and the drivers uploaded in the Database Application. You can upload a new JDBC driver by selecting the ’+’ button next to the Driver Group dropdown list. You can upload only certified jars. For more information, see Certified Databases and JDBC Driver Jars.
Transaction Type Select the transaction type for transaction support for the account. The following are the supported transaction types:
  • NO_TRANSACTION: The connection automatically commits operations.
  • LOCAL_TRANSACTION: The connection uses local transactions. With this transaction type, all of the operations on the same account in a single transaction boundary are either committed or rolled back together.
  • DataSource Class Select the DataSource class. This field specifies the name of the JDBC driver’s DataSource class.
    Server Name Type the name of the server that hosts the database.
    Note: If the tenant cannot connect to the cloud database, then check the security settings of the cloud database.
    User Type the user name that the connection uses to connect to the database.
    Password Type the password for the user name specified in User.
    Database Name Type the database name to which the connection connects to.
    Port Number Type the port number that the connection uses to connect to the database.

    Complete the following fields for Advanced Configuration:

    Field Description
    Truststore Alias Select the alias name of the webMethods.io Integration truststore configuration. The truststore contains trusted certificates that are used to determine the trust for the remote server peer certificates. You can also add a new Truststore certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    Network Protocol Indicates the name of the network protocol that the connection uses when connecting to the database. Type TCP or TCPS to indicate the network protocol.

    Complete the following fields for Other Properties:

    Field Description
    Other Properties Select or type the property name. Also, enter the value for the corresponding property in the input text field.
    Note: Properties listed for you to select from the dropdown list are driver-dependent.
    Example: Use this field to choose a property such as TableFilter. You can either select or type the TableFilter property in the dropdown list and enter the ‘<current catalog>'.‘Accounting' in the input text field.
    Use {} to configure a combination of multiple key-value pairs.
    Example:connectionProperties={oracle.jdbc.V8Compatible=true,includeSynonymns=true }.
    By default, the loginTimeout is set to 60. This value specifies the login timeout in seconds that a connection waits while attempting to connect to a database.
    The <current catalog> represents the default catalog associated with an account.
    The <current schema> represents the default schema associated with an account.

    Sample Accounts

    The following are the sample accounts created for secured and non-secured connection for various databases.

    Microsoft SQL Server

    The following are the fields to be configured for a non-secure Microsoft SQL Server account:

    Note: Edit the following fields for a secured connection to Microsoft SQL Server:

    • Select Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    • Set the Other Properties to loginTimeout=60;encrypt=true.

    Oracle

    The following are the fields to be configured for a non-secure Oracle account:

    Note: Edit the following fields for a secured connection to Oracle:

    • Select Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    • Set Network Protocol to tcps.

    Note: The default value of tcps port is 2484.

    PostgreSQL

    The following are the fields to be configured for a non-secure PostgreSQL account:

    Note: Edit the following field for a secured connection to PostgreSQL:

    • Select the Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.

    Note: The Network Protocol field is not mandatory for PostgreSQL account.

    MySQL

    The following are the fields to be configured for a non-secure MySQL account:

    Note: Edit the following field for a secured connection to MySQL:

    • Select the Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.

    MariaDB

    The following are the fields to be configured for a non-secure MariaDB account:

    Note: Edit the following field for a secured connection to MariaDB:

    • Select the Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.

    Tibero

    The following are the fields to be configured for a non-secure Tibero account:

    SAP HANA

    The following are the fields to be configured for a non-secure SAP HANA account:

    Note: Edit the following fields for a secured connection to SAP HANA:

    • Select Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    • Set the Other Properties to loginTimeout=60;encrypt=true;hostNameInCertificate=<host name>.

    Amazon Redshift

    The following are the fields to be configured for a non-secure Amazon Redshift account:

    Note: Edit the following fields for a secured connection to Amazon Redshift:

    • Select Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.
    • Set the Other Properties to loginTimeout=60;SSL=true;SSLMode=<verify-ca or verify-full>.

    Snowflake

    The following are the fields to be configured for a Snowflake account:

    Note: Snowflake connections use SSL by default.

    Vertica

    The following are the fields to be configured for a non-secure Vertica account:

    Note: Edit the following field for a secured connection to Vertica:

    • Select Truststore Alias from the dropdown list. If this option is not available in the dropdown list, then upload your certificate by selecting the ’+’ button next to the Truststore Alias dropdown list.

    Teradata Vantage

    The following are the fields to be configured for a non-secure Teradata Vantage account:

    Adding Driver

    The Add Driver screen gives you an option to upload a custom driver jar for a particular database. This uploaded driver can be used when you create an account.

    To add a new driver

    1. In the Account page, from the Driver Group, select the ’+’ button.
    2. In the Add Driver page, select the supported Database.
    3. Type the driver group name in the Driver Group.
    4. Browse the jar in the Select the Driver field for a particular database. The driver jar gets uploaded for the corresponding database.

      Note:

    Pre-bundled Drivers

    Pre-bundled driver jars are provided to connect to the databases like Microsoft SQL Server, Oracle, PostgreSQL. You cannot delete these pre-bundled driver group. The below table shows the driver groups and supported databases.

    Driver Group Supported Databases Version
    Progress® DataDirect®. Microsoft SQL Server, Oracle 5.1.4
    Microsoft JDBC Driver for SQL Server Microsoft SQL Server 4.0.0
    PostgreSQL JDBC Driver PostgreSQL 42.2.5

    Note:

    • If you use Progress® DataDirect® driver to create a Non-SSL connection for Microsoft SQL Server database, then set the Other Properties withvalidateservercertificate=false;encryptionmethod=ssl.
    • For Oracle database, if you are using Progress® DataDirect® driver group to create a connection for Stored Procedure operation, then the Stored Procedure operation cannot fetch the metadata for SYS_CURSOR data type.

    Certified Databases and JDBC Driver Jars

    You can upload only the following list of certified driver jars:

    JDBC Driver Jars for Microsoft SQL Server

    Driver Version Driver Jar Name Java Version Supported DB Versions
    4.1 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841533
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    4.2 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841534
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    4.2 sqljdbc42.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=841534
    8 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.0 sqljdbc41.jar
    Download Path: https://go.microsoft.com/fwlink/?LinkId=245496
    7 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.0 sqljdbc42.jar
    Download Path: https://go.microsoft.com/fwlink/?LinkId=245496
    8 Microsoft SQL Server 2008, 2012, 2014, 2016 and Azure SQL Database
    6.2.2 mssql-jdbc-6.2.2.jre7.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=852460
    7 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, and Azure SQL Database
    6.2.2 mssql-jdbc-6.2.2.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=852460
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    6.4.0 mssql-jdbc-6.4.0.jre7.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=868290
    7 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    6.4.0 mssql-jdbc-6.4.0.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=868290
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.0.0 mssql-jdbc-7.0.0.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=2063159
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.2.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://go.microsoft.com/fwlink/?linkid=2063159
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    7.4.1 mssql-jdbc-7.4.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#-741
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017 and Azure SQL Database
    8.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#82
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database
    8.4 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/ jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#84
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database
    9.2 mssql-jdbc-7.2.1.jre8.jar
    Download Path: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#92
    8 Microsoft SQL Server 2008, 2012, 2014, 2016, 2017, 2019 and Azure SQL Database

    JDBC Driver Jars for Oracle

    Driver Version Driver Jar Name Java Version Supported DB Versions
    12.1.0.1 ojdbc6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    6 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 ojdbc7.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
    6,7 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.1 xmlparserv2-12.1.0.1.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.1.0.1/xmlparserv2-12.1.0.1.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 ojdbc6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    6 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 ojdbc7.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html
    6,7 Oracle 12.1, 12.2, 18.3, 19.x
    12.1.0.2 xmlparserv2-12.1.0.2.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.1.0.2/xmlparserv2-12.1.0.2.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 ojdbc8.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
    8 Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 xdb6.jar
    Download Path: https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
    7,8 Oracle 12.1, 12.2, 18.3, 19.x
    12.2.0.1 xmlparserv2-12.2.0.1.jar
    Download Path: https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/xmlparserv2/12.2.0.1/xmlparserv2-12.2.0.1.jar
    Oracle 12.1, 12.2, 18.3, 19.x
    18.3 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    18.3 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-183-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.3 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.3 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.6 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.6 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.6 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-6-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.7 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.7 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.7 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.8 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.8 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.8 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-8-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.9 ojdbc8.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    8,9,11 Oracle 12.1, 12.2, 18.3, 19.x
    19.9 xdb6.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x
    19.9 xmlparserv2.jar
    Download Path: https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-9-c-downloads.html
    Oracle 12.1, 12.2, 18.3, 19.x

    JDBC Driver Jars for PostgreSQL

    Driver Version Driver Jar Name Java Version Supported DB Versions
    42.2.5 postgresql-42.2.5.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.5 postgresql-42.2.5.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.5 postgresql-42.2.5.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.6 postgresql-42.2.6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jre6.jar
    Download Path: https://jdbc.postgresql.org/download.html
    6 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jre7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    7 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.7 postgresql-42.2.7.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.8 postgresql-42.2.8.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 9.6.8, 9.6.9, 10.4, 10.5, 10.6)
    42.2.17 postgresql-42.2.17.jar
    Download Path: https://jdbc.postgresql.org/download.html
    8 Aurora PostgreSQL (Compatible with PostgreSQL 8.2 or newer)
    42.2.18 postgresql-42.2.18.jar Download Path: https://jdbc.postgresql.org/download.html 8 Aurora PostgreSQL (Compatible with PostgreSQL 8.2 or newer)

    JDBC Driver Jars for MySQL

    Driver Version Driver Jar Name Java Version Supported DB Versions
    8.0.15 mysql-connector-java-8.0.15.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.16 mysql-connector-java-8.0.16. jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.17 mysql-connector-java-8.0.17.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6, and 5.5
    8.0.22 mysql-connector-java-8.0.22.jar
    Download Path: https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6
    8.0.23 mysql-connector-java-8.0.23.jar
    Download Path: https://dev.mysql.com/downloads/connector/j/
    Note: If you are unable to find the driver jar for the specified version, then download the driver from the archived version’s download link as shown below:
    https://downloads.mysql.com/archives/c-j/
    8 MySQL 8.0, 5.7, 5.6

    Note: For MySQL driver, ensure that you download the Platform Independent variant.

    JDBC Driver Jars for MariaDB

    Driver Version Driver Jar Name Java Version Supported DB Versions
    2.3.0 mariadb-java-client-2.3.0.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 MariaDB 10.3.8
    2.4.3 mariadb-java-client-2.4.3.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 MariaDB 10.3.8
    2.5.4 mariadb-java-client-2.5.4.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions
    2.7.1 mariadb-java-client-2.7.1.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions
    2.7.2 mariadb-java-client-2.7.2.jar
    Download Path: http://downloads.mariadb.com/Connectors/java/
    8 All MariaDB versions

    JDBC Driver Jars for Tibero

    Driver Version Driver Jar Name Java Version Supported DB Versions
    6.0 tibero6-jdbc.jar Download Path: The driver jar is available in the Tibero 6 installation directory, ($TB_HOME/client/lib/jar). Tibero 6

    JDBC Driver Jars for SAP HANA

    Driver Version Driver Jar Name Java Version Supported DB Versions
    2.8.11 ngdbc-2.8.11.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.11/ngdbc-2.8.11.jar 8 All SAP HANA versions
    2.8.12 ngdbc-2.8.12.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.12/ngdbc-2.8.12.jar 8 All SAP HANA versions
    2.8.14 ngdbc-2.8.14.jar Download Path: https://repo1.maven.org/maven2/com/sap/cloud/db/jdbc/ngdbc/2.8.14/ngdbc-2.8.14.jar 8 All SAP HANA versions

    JDBC Driver Jars for Amazon Redshift

    Driver Version Driver Jar Name Java Version Supported DB Versions
    1.2.53 RedshiftJDBC42-no-awssdk-1.2.53.1080.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.53.1080/RedshiftJDBC42-no-awssdk-1.2.53.1080.jar 8 All Amazon Redshift versions
    1.2.54 RedshiftJDBC42-no-awssdk-1.2.54.1082.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/1.2.54.1082/RedshiftJDBC42-no-awssdk-1.2.54.1082.jar 8 All Amazon Redshift versions
    2.0.0.3 redshift-jdbc42-2.0.0.3.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.0.0.3/redshift-jdbc42-2.0.0.3.jar 8 All Amazon Redshift versions
    2.0.0.4 redshift-jdbc42-2.0.0.4.jar Download Path: https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.0.0.4/redshift-jdbc42-2.0.0.4.jar 8 All Amazon Redshift versions

    JDBC Driver Jars for Snowflake

    Driver Version Driver Jar Name Java Version Supported DB Versions
    3.9.2 snowflake-jdbc-3.9.2.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.9.2/snowflake-jdbc-3.9.2.jar 8 All Snowflake versions
    3.12.15 snowflake-jdbc-3.12.15.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.15/snowflake-jdbc-3.12.15.jar 8 All Snowflake versions
    3.12.16 snowflake-jdbc-3.12.16.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.16/snowflake-jdbc-3.12.16.jar 8 All Snowflake versions
    3.12.17 snowflake-jdbc-3.12.17.jar Download Path: https://repo1.maven.org/maven2/net/snowflake/snowflake-jdbc/3.12.17/snowflake-jdbc-3.12.17.jar 8 All Snowflake versions

    JDBC Driver Jars for Vertica

    Driver Version Driver Jar Name Java Version Supported DB Versions
    9.3.1 vertica-jdbc-9.3.1-0.jar Download Path: https://www.vertica.com/client_drivers/9.3.x/9.3.1-0/vertica-jdbc-9.3.1-0.jar 8 All Vertica versions
    10.0.1 vertica-jdbc-10.0.1-0.jar Download Path: https://www.vertica.com/client_drivers/10.0.x/10.0.1-0/vertica-jdbc-10.0.1-0.jar 8 All Vertica versions
    10.1.1 vertica-jdbc-10.1.1-0.jar Download Path: https://www.vertica.com/client_drivers/10.1.x/10.1.1-0/vertica-jdbc-10.1.1-0.jar 8 All Vertica versions

    JDBC Driver Jars for Teradata Vantage

    Driver Version Driver Jar Name Java Version Supported DB Versions
    16.2 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions
    17.0 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions
    17.1 terajdbc4.jar Download Path: https://downloads.teradata.com/download/connectivity/jdbc-driver 8 All Teradata Vantage versions

    Database Application Actions

    To use Database Application, you must select actions to execute. Actions allow you to connect to the database and initiate an action on the database from webMethods.io Integration.

    You call database actions to perform database operation on tables, views, or synonyms. The database actions are performed by calling JDBC APIs.

    Actions are based on templates provided with Database Application. Each template represents an SQL statement for performing an action on a database. For example, use Select action to retrieve specified information from the database tables.

    Creating a new action from a template is straightforward. You will have to create an account using which you can create a new action. During this process, select the action template and configure the action using the wizards.

    Database Application provides the following action templates:

    Operation Description
    Batch Insert Inserts new information into a database table. Use this action when you insert a large volume of data into a single table.
    Batch Update Updates the existing information in a database table. Use this action when you update a large volume of data in a single table.
    Custom SQL Defines and executes custom SQL to perform database operations. You can run almost any SQL statement required, such as data management statements and data definition statements. The following table describes the restrictions when creating an SQL query statement:
  • Specify the table alias along with the table name if the SQL query contains more than one table.
    select d.deptno, e.empno from dept d,emp e where d.deptno = ?
  • Use different column name alias for columns in the SQL query.
    select firstname as f_name, lastname as l_name from emp
  • Column names in the SQL query should not be enclosed in quotes.
    select partno as partno from emp where partno=1
  • Use the “as” keyword when you specify an alias for a column.
    select city as dummy from emp
  • Irrespective of the database type, the query syntax must follow the SQL standards.
    insert into example_default_now set id=?, data=?

    Note:
  • You can use a CustomSQL to call a stored procedure only when the stored procedure does not have any OUT/INOUT or return parameters. If you need to use these parameters, use the StoredProcedure template.
  • Standards corresponding to specific database types are not supported.
  • If you use the ? variable placeholders in your SQL statement, ensure that you enter the corresponding Input Field and field type information in the same order as they appear in your SQL statement.
  • Do not end your SQL statement with a semi-colon (;) or an exception will be generated at run time.
  • Dynamic SQL Configures a dynamic SQL statement, part of which you set at run time using input fields. At run time, the Dynamic SQL action will create the SQL statement by combining the contents of the input fields and then executing it.

    This is useful when you need the flexibility to set all or part of a SQL statement at run time, instead of at design time.

    DynamicSQL uses ${INPUT_FIELD_NAME} to map a part of the SQL statement to the input field. At design time, the action template generates an input field with INPUT_FIELD_NAME. At run time, the Dynamic SQL action parses the statement and replaces the ${INPUT_FIELD_NAME} with the actual contents of the input field.

    For variable names, use the ? variable placeholder for each variable.

    For example: select employee_name where StaffID = ? and Dept = ?

    Example 1: select * from table1 ${where}: At run time, the ‘where’ input field is set to where col1 > 100. The final SQL query will be "select * from table1 where col1>100".

    Example 2: select * from table1 ${where}: At run time, the ‘where’ input field is set to where col1 > ?. As you are using placeholder “?” to receive input value for col1, you need to configure an input field to set value for column ‘col1’ The final SQL query will be "select * from table1 where col1>?".

    Example3: select ${output_fields} from table1 ${where}: At run time, the ‘where’ input field is set to where col1>100 and ‘output_fields’ input field is set to col1,col2,col3. The final SQL query will be "select col1,col2,col3 from table1 where col1>100"

    Note:
  • Database application does not validate the input parameters of a DynamicSQL action for any malicious SQL injections. When you use a variable input parameter such as the text ${INPUT_FIELD_NAME} in the SQL statement, you must take extra measures to avoid potential security risks.
  • You can use a DynamicSQL to call a stored procedure only when the stored procedure does not have any OUT/INOUT or return parameters. If you need to use these parameters, use the StoredProcedure template.
  • If you use the ? variable placeholders in your SQL statement, ensure that you enter the corresponding Input Field and field type information in the same order as they appear in your SQL statement.
  • Do not end your SQL statement with a semi-colon (;) or an exception will be generated at run time.
  • Delete Deletes rows from a database table.
    Insert Inserts new information into a database table.
    Select Retrieves specified information from the database table.
    Stored Procedure Calls a stored procedure. It obtains the stored procedure’s input/output parameters by introspecting when you configure the action.
    Update Updates the existing information in a database table.

    Advanced Options

    The following options provide additional capabilities for Database operations:

    Parameter Description
    Select Distinct Select the toggle button to suppress the duplicate rows in the query output.
    Note: This option is applicable only for Select operation.
    Convert selected to String Select the toggle button to convert the fields with input or output data type to java.lang.String. The selected fields are automatically converted to a String data type. It does not impact the fields which cannot be converted to String data type.
    Note: This option is applicable for Select, Insert, Update, Delete, Batch Insert, and Batch Update operations.
    Use SQL Expression (Advanced) Use the following formats to provide SQL expressions:
  • For table columns use tableAlias.columnName.
  • For valid database functions use databaseFunction(tableAlias.columnName).
    For example, upper(tableAlias.columnName).
    Note: This option is applicable for Select, Update, Delete, and Batch Update operations.
  • Configuring the Parameter Values

    CRUD Actions and Stored Procedures

    You can configure the following parameters for custom SQL, Select, Update, Insert, Delete actions and Stored Procedures:

    Parameter Description
    Query Time Out Type or Select the query time out value in seconds. This field specifies the number of seconds the database connection will wait for a SQL statement.
    Note: Leave blank if you do not want to specify the Query Time Out.
    Maximum Row Type the number of rows to be retrieved from a database table.
    Note:
  • Leave blank if you do not want to specify limit on the number of rows retrieved.
    Note: This parameter is available in custom SQL and Select actions.
  • Row Count Field Name Type the field name of the Row Count Field. This field specifies the name of the output field whose value contains the number of affected rows while executing an SQL query.
    Note: This parameter is not available in Stored Procedures.
    Row Count Field Type Select the data type of the Row Count Field.
    Note: This parameter is not available in Stored Procedures.

    Batch Operation

    You can configure the following parameters for Batch Insert and Batch Update operations:

    Parameter Description
    Query Time Out Type or Select the query time out value in seconds.
    This field specifies the number of seconds the database connection will wait for a SQL statement to execute.
    Note: Leave blank if you do not want to specify the Query Time Out.
    Batch Result Output Name Type the output name of the Batch Result Output Name. The output of the batch operation is a string list. Elements in the list appear in the order in which you add the Insert SQL queries for execution in the batch mode. Depending on the JDBC driver you use, the elements in the list contains one of the following values:
  • A number greater than or equal to 0. This indicates the insert SQL query is successfully executed and returns the number of rows affected in the database.
  • A value of -2. This indicates that the insert SQL query was executed successfully but the number of rows affected is unknown.
  • JDBC Data Type to Java Data Type Mappings

    Each column in the database table is assigned a SQL type. The JDBC driver maps each SQL data type to a JDBC data type. Database Application then maps each JDBC data type to one or more Java data types that are used as the input or output of the database actions.

    The following table shows the JDBC data type to Java data type mappings. You can map each JDBC data type to a set of Java data types by choosing one from the set. The JDBC data type you select during configuration will then map to the input or output of the database actions.

    For a list of data types for which Database Application has some constraints, see the DBC Data Type to Java Data Type Mapping Constraints section.

    Note:

    • Database Application does not support the TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE data types in Oracle 10g.
    • Database Application does not support user-defined data types, Oracle PL/SQL collections, or Oracle PL/SQL records.
    • UROWID data type is not supported for Oracle database.
    • If the DATE JDBC type contains String as Java type, then the date format which Database Application accepts is YYYY-MM-DD.

    JDBC Data Type Java Data Type
    ARRAY java.sql.Array
    java.lang.Object
    BIT java.lang.Boolean
    java.lang.String
    java.lang.Object
    TINYINT java.lang.Byte
    java.lang.Integer
    java.lang.String
    java.lang.Object
    SetAsString
    SMALLINT java.lang.Short
    java.lang.Integer
    java.lang.String
    java.lang.Object
    INTEGER java.lang.Integer
    java.lang.String
    java.lang.Object
    BIGINT java.lang.Long
    java.lang.String
    java.lang.Object
    FLOAT java.lang.Double
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    SetAsString
    REAL java.lang.Float
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    BOOLEAN java.lang.Boolean
    java.lang.String
    java.lang.Object
    DOUBLE java.lang.Double
    java.lang.String
    java.lang.Object
    java.math.BigDecimal
    SetAsString
    NUMERIC java.math.BigDecimal
    java.lang.String
    java.lang.Object
    DECIMAL java.math.BigDecimal
    java.lang.String
    java.lang.Object
    CHAR java.lang.String
    java.lang.Character
    java.lang.Object
    VARCHAR java.lang.String
    java.lang.Object
    LONGVARCHAR java.lang.String
    java.lang.Object
    DATE java.sql.Date
    java.util.Date
    java.lang.String
    java.lang.Object
    *SetAsString
    TIME java.sql.Time
    java.util.Date
    java.lang.String
    java.lang.Object
    SetAsString
    TIMESTAMP java.sql.Timestamp
    java.util.Date
    java.lang.String
    java.lang.Object
    SetAsString
    TIMESTAMP WITH TIME ZONE
    TIMESTAMP WITH LOCAL TIME ZONE
    BINARY byte array (byte [])
    java.lang.Object
    VARBINARY byte array (byte[])
    java.lang.Object
    LONGVARBINARY byte array (byte[])
    java.lang.Object
    LONGNVARCHAR java.lang.String
    java.lang.Object
    NCHAR java.lang.String
    java.lang.Object
    NULL java.lang.String
    java.lang.Object
    NVARCHAR java.lang.String
    java.lang.Object
    CLOB java.sql.Clob
    java.lang.String
    java.io.Reader
    java.lang.Object
    BLOB java.sql.Blob
    byte array
    java.io.InputStream
    java.lang.Object
    ORACLECURSOR java.lang.Object
    ORACLEFIXED_CHAR java.lang.String
    STRUCT java.sql.Struct
    java.lang.Object
    OTHER java.lang.Object
    java.lang.String
    java.sql.Struct
    java.sql.Array

    Important Considerations When Using BLOB and CLOB Data Types

    Important Considerations When Using the Array and Struct Database Specific Data Types

    Note: The java.sql.Struct and java.sql.Array data types are available only for Database Application operations.

    Using the SetAsString Data Type in Database Application

    The SetAsString data type is a dummy string data type. When using this data type, Database Application does not try to convert the input data into the equivalent JDBC data type, but passes the data to the underlying database driver as a string data type. Thus, you have the flexibility to specify the format of the equivalent JDBC data type by using a database specific function.

    For example, you can specify the format for date, time, or timestamp using the to_date function or a similar database function for Oracle database. Database Application treats the input data as a string data type and does not convert it to the equivalent JDBC data type. The to_date function then uses the string data to provide the required format of the date, time or timestamp.

    If your database has native database specific functions that can convert string data type to any other data type, you may use the SetAsString data type.

    Note: The SetAsString data type is available only for database operations.

    JDBC Data Type to Java Data Type Mapping Constraints

    Database Application has some constraints when mapping JDBC data types to Java data types.

    If you select one of the following Java data types, the data type will map exactly to the Input/Output of operation:

    Those data types not included in this list will map to java.lang.Object. In these cases, if the JDBC data type you specify is for input, you will need to pass in the object with the selected Java data type. If the JDBC type is for output, you can cast the object to the selected Java data type.

    Supported Cloud Databases

    The following table lists the supported cloud databases:

    Cloud Database Database Version
    Microsoft Azure Microsoft SQL Azure (RTM) - 12.0.2000.8
    Amazon RDS Oracle Oracle 12c, Version 12.1.0.2
    Amazon RDS MS SQL Server SQL Server 2016 SP1 CU7 13.00.4466.4, released
    AWS Aurora PostgreSQL Aurora PostgreSQL 10.6
    AWS Aurora MySQL Aurora MySQL 5.7.12
    Amazon RDS MariaDB MariaDB 10.3.8
    Tibero on Amazon EC2 Tibero 6

    Limitations

    Database Limitations
    PostgreSQL
    • When you configure an operation to select a table, you must always select the table under <current catalog>.
    • Following actions are not supported:
      • Stored Procedure
      • StoredProcedureWithSignature
      • Notification
    MariaDB If you configure an operation for MariaDB using the driver versions greater than or equal to 2.4.0, select the table under <current catalog>.
    Teradata Vantage Following actions are not supported:
    • Stored Procedure
    • Notification
    Snowflake Following actions are not supported:
    • Stored Procedure
    • Notification

    How to use the Database Application

    Let’s understand how to use the Database Application with the help of an example.

    Let’s say you have a FlowService on your cloud container environment named DBTest_FS(flow_service) insideprojects(DBTest). You want to invoke this FlowService and execute it.

    Note: The FlowService DBTest_FS(flow_service) used in the example is a simple FlowService that selects a record from the customer database.

    To invoke and execute DBTest_FS(flow_service), we will have to use the Database. To do so, follow the steps given below:

    1. Start creating a FlowService. Select Database from the dropdown list.

    2. Select Add Custom Operation in the dropdown list next to Database.

      This will redirect you to the Connect to account configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or select the ’+’ button to add a new Database account.

      In the ‘Add Account’ configuration screen, provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        This will take you to the ‘Add Driver’ configuration screen where you will need to provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name to the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - Select the transaction type from the dropdown list.

      • DataSource Class - Select the datasource class from the dropdown list.

      • Server Name - Enter the server that hosts the database. For example, sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the Connect to account configuration screen of ‘Add Custom Action’ wizard.

      Note: Now, if you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create.
      • Click Next.

    4. Select the action.

      Click Next.

    5. Select the Tables.

      Here, you will see all the available tables, views or synonyms. Select the table.

      Here, in our example, we have added the table CUSTOMER from the existing tables.

      Click Next.

    6. Select the Joins.

      Here, you will see all the selected tables, views or synonyms. Add a join.

      Here, in our example, we have not added any joins.

      Click Next.

    7. Select the Data Fields.

      Here, you will see the selected data fields. Create or add a new data fields.

      Here, in our example, we have added the data fields in the table.

      You can also change the Output Field Type and Sort Order for a data field. Here, in our example, we have changed the Output Field Type to the data fields in the table.

      Click Next.

    8. Select the Condition.

      Here, you will see all the conditions created. Add single or multiple conditions.

      Here, in our example, we have added a condition on data field PERSONID.

      Click Next.

    9. Select the Parameters.

      Edit Execution Parameters.

      Click Next.

    10. Verify the summary.

      Click Done.

    11. The FlowService window appears. Click icon to run the FlowService.

      You will see the output data for the configured custom action.

    How to use the Database Application for Custom SQL

    Let’s understand how to use the Database Application for Custom SQL with the help of an example.

    Let’s say you have a FlowService on your environment named DBTest_FS(FlowService) inside DBTest(project). You want to invoke this FlowService and run it.

    Note: The FlowService DBTest_FS(flow_service) used in the example is a simple FlowService that uses the Custom SQL action from the database application.

    To invoke and run DBTest_FS(FlowService), create an account to connect to the Database. To do so, do the following:

    1. Start creating a FlowService. Select Database from the dropdown list.

    2. Select Add Custom Operation in the dropdown list next to Database.

      This will redirect you to the Connect to account configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or select the ’+’ button to add a new Database account.

      In the ‘Add Account’ configuration screen, provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        In the ‘Add Driver’ configuration screen, provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name for the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - Select the transaction type from the dropdown list.

      • DataSource Class - Select the datasource class from the dropdown list.

      • Server Name - Enter the server that hosts the database. For example, sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the Connect to account configuration screen of ‘Add Custom Action’ wizard.

      Note: Now, if you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create.
      • Click Next.

    4. Select Custom SQL action.

      Click Next.

    5. Type the Custom SQL query. You can pass values at runtime using “?“as the value placeholder for each column in the SQL statement.

      Here, in our example, we have given the Custom SQL query for table EMP_A where ID =?

      Click Next.

    6. You will see the input details of the SQL.

      Here, in our example, we have provided the input field ID.

      Click Next.

      Note: If inputs are not auto-populated for the SQL query, you can add them explicitly using the Add Input button.

    7. You will see the output fields as per the entered SQL.

      Here, in our example, we have selected all the columns of the table EMP_A as output.

      Click Next.

      Note: If outputs are not auto-populated for the SQL query, you can add them explicitly using the Add Output button.

    8. Edit Execution Parameters.

      Click Next.

      Note: This is an optional configuration.

    9. Verify the summary.

      Click Done.

      Note: To see the signature, click Show Input/Output.

    10. The FlowService window appears. Click icon to run the FlowService.

      Here in our example, we have given 1 as the input value for input field ID.

      You will see the output data for the configured custom action.

    How to use the Database Application for Dynamic SQL

    Let’s understand how to use the Database Application for Dynamic SQL with the help of an example.

    Let’s say you have a FlowService on your environment named DBTest_FS(FlowService) inside DBTest(project). You want to invoke this FlowService and run it on the webMethods.io Integration platform.

    Note: The FlowService DBTest_FS(FlowService) used in the example is a simple FlowService that uses the Dynamic SQL action from the database application.

    To invoke and run DBTest_FS(FlowService), create an account to connect to the Database. To do so, do the following:

    1. Start creating a FlowService. Select Database from the dropdown list.

    2. Select Add Custom Operation in the dropdown list next to Database.

      This will redirect you to the Connect to account configuration screen.

      Note: You can alternatively select an existing action (if any) from the Select Action dropdown list.

    3. Connect to a Database account.

      Select an existing Database account (if any) from the dropdown list, provide a suitable name and description for the action you want to create and click Next or select the ’+’ button to add a new Database account.

      In the ‘Add Account’ configuration screen, provide the following details:

      • Name - Provide a suitable name for the account you want to add.
      • Description - Provide a suitable description for the account you want to add.
      • Database - Select the supported database to connect to from the dropdown list.
      • Driver Group - Select the existing driver group from the dropdown list or select the ’+’ button to add a new driver group.

        In the ‘Add Driver’ configuration screen, provide the following details:

        1. Database - Select the supported database to connect to from the dropdown list.
        2. Driver Group - Provide a name for the driver group.
        3. Browse - Select the JDBC driver jar to upload.

        Save the details.

      • Transaction Type - Select the transaction type from the dropdown list.

      • DataSource Class - Select the datasource class from the dropdown list.

      • Server Name - Enter the server that hosts the database. For example, sample.adapter.db.com.

      • User Name - Enter the user name associated with the account on the database server.

      • Password - Enter the password for the specified user name.

      • Database Name - Enter the database name to which the connection connects to.

      • Port Number - Enter the port number.

      • Truststore Alias - Select the alias name of the webMethods.io Integration truststore configuration.

      • Network Protocol - Enter the network protocol that the connection uses when connecting to the database.

      • Property Name - Enter the property name. You can select the property from the dropdown list or use the ’+’ button to add a new property

      • Property Value - Enter the property value.

      Click Add.

      This will take you to the Connect to account configuration screen of ‘Add Custom Action’ wizard.

      Note: now,If you click on the Connect to Database dropdown list, you will see the added account in the list. This account can now be used to execute any Database custom action created under the same project.

      • Select an account from the Database dropdown list, provide a suitable name and description for the action you want to create
      • Click Next.

    4. Select Dynamic SQL action.

      Click Next.

    5. Type the Dynamic SQL query statement, part of which you set at run time using input fields.

      Here, in our example, we have given the Dynamic SQL query for table EMP_A, at run time, the ‘where’ input field is set to where ID = 2.

      Click Next.

    6. Input field is added at run time. You need to add input explicitly, If you have placeholder “?” in the SQL query to receive input to the query at runtime.

      Click Next.

    7. You will see the output fields as per the entered SQL when the FlowService is run.

      Click Next.

      Note: To add output explicitly, click Add Output, if you have output for SQL statement and you want to add alias name for output fields.

    8. Edit Execution Parameters.

      Click Next.

      Note: This is an optional configuration.

    9. Verify the summary.

      Click Done.

      Note: To see the signature, click Show Input/Output.

    10. The FlowService window appears. Give the input value and click icon to run the FlowService.

      Here, in our example, we have given value for the input field as, where ID = 2

      You will see the output data for the configured custom action.

    SAP® ERP

    Availability: FlowServices

    Note: SAP® ERP Connector access is restricted and is not publicly available. Please contact Software AG Support for more information.

    SAP® ERP allows you to extend your SAP business processes and integrate non-SAP products using open and non-proprietary technology. SAP® ERP allows for bi-directional, real-time communication to and from the SAP system. SAP® ERP also allows you to execute Application Link Enabling (ALE) services inside the SAP system asynchronously which allows you to integrate the business processes. SAP® ERP can execute SAP remote function calls.

    Accounts

    Create New Account

    Complete the following fields to create a new account:

    Field Description
    Connection alias Account name by which the SAP system is known to SAP® ERP developers, clients, and partners.
    User name SAP default user for this account. If no other SAP username is provided during runtime, then this SAP user account is used to execute the client request in the SAP System.
    Password Password of the SAP default user.
    Client Three digit SAP client number.
    Repository user name (Optional) Repository user name.
    Repository password (Optional) Password of the repository user.
    SAP router string (Optional) Contains a substring for each SAP router to set up a connection in the route: host name, port, and the password, if one is provided. SAP router example: /H/127.0.0.1/H/ where H indicates the host name. The SAP router string is only needed if a firewall exists between the SAP System and webMethods.io Integration. For more information on configuring the SAP router, go to the SAP Service Marketplace at: http://service.sap.com/connectors.
    Language (Optional) SAP language code.
    Description (Optional) Description of the connection.
    Connection Mode Setting Selection Connection mode. Possible values are:
  • Standard (Default).
  • Load balancing.
  • If the Connection Mode selected is Standard:

    Field Description
    Application server SAP application server name.
    System number SAP system number (00-99).

    If the Connection Mode selected is Load Balancing:

    Field Description
    Logon group Name of the group you want to login.
    Message server service SAP message server service.
    Message server host Host name or IP address of the message server.
    System ID System ID (SID) of the source SAP system.

    Note: Connection name must be unique across projects.

    Actions

    SAP® ERP actions execute a function module residing on an SAP system. A function module performs functions on the data in the SAP system.

    Create New Actions

    Complete the following fields to create a new action:

    Field Description
    Account
    Name Action name.
    Description (optional) Action description.
    Connect to account SAP® ERP Select the account name by which the SAP system is known to SAP® ERP developers, clients, and partners.
    Action
    Name Select the template for the action. Possible values are:
  • RFC Invocation. Invokes an RFC on the SAP® ERP system.
  • Filters
    Function pattern Type all or part of the name of the function module for which you want to create a SAP® ERP action. Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names. For example, enter RFC_FUNCTION_* in the field.
    Group pattern Type all or part of the name of the group for which you want to create a SAP® ERP action. Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names.
    Reset Reset the search.
    Apply Apply the pattern or exact search.
    Function name Lists the function names matching the pattern.
    Group name Group name to which the matching functions belong.
    Description Description of the matching functions.
    Request Field Selection
    Name Name of the input parameter.
    Type Java data type of the input parameter.
    Reply Field Selection
    Name Name of the output parameter.
    Type Java data type of the output parameter.

    Listeners

    You can create RFCs on the SAP system that invoke services on webMethods.io Integration. This allows SAP users to access the information that is available usingSAP® ERP. Before you can create an RFC that invokes a service, you must configure the SAP system to have an RFC destination for an RFC listener running at SAP® ERP. This enables the SAP system to send RFCs to . You must also configure the SAP® ERP to have an RFC listener that listens for RFCs from the SAP system.

    Create New Listener

    Complete the following fields to create a new listener:

    Field Description
    Add Listener
    Type of listener Type of listener. For example SAP® ERP.
    Select a version Version of the listener type selected.
    Listener
    Listener name Name of the new listener.
    Program ID Program ID specified when creating the corresponding RFC destination in the SAP system. This field is case sensitive.
    Retry limit Number of times that the system must attempt to start the listener if the initial attempt fails. When the value is set to 0, the system makes a single attempt.
    Retry backoff timeout Time in seconds that the system must wait between each attempt to start the listener. This field is irrelevant if the value of Retry limit is 0.
    Connection mode setting selection
    Gateway host Gateway Host for accessing the SAP system. This must be exactly the same parameter as you chose for the corresponding RFC destination in the SAP system.
    Gateway service Gateway Service corresponding to the SAP system number.
    Repository server Outbound connection alias used as a repository for function interfaces and structure definitions of inbound calls. This way it is possible to use RFCs even if they are not defined in the calling system.
    Logging
    RFC trace Enable RFC tracing. Default is disabled.
    Log transaction status Enable logging of transaction status. Default is enabled.
    Store message body Enable the message body of the incoming document to be stored, even when a transaction is created (or maintained), and can be monitored later in the transaction list.

    Note: Only one RFC listener can be enabled for a Program ID across projects.

    You can enable or disable a listener. The listener status can be one of the following:

    Listener Status Description
    Pending enabled Enabling listener is in progress.
    Enabled Listener is enabled.
    Pending disabled Disabling listener is in progress.
    Disabled Listener is disabled.

    Listener Notification

    A listener notification works in conjunction with a listener to filter and process the RFC requests and IDocs in SAP® ERP. SAP® ERP uses the following listener notifications to process requests:

    You can change the priority of the listener notification execution by dragging and changing the position of the notification in the list.

    Note: In this context, synchronous or asynchronous refers to the processing on webMethods.io Integration and not on how the message was processed on the SAP system. However, in case of ALE listener notification, a TID is always assigned to the message. In the case of an RFC listener notification, a TID is present in the pipeline only for transactional RFC calls from the SAP system.

    Create New ALE Listener Notification(synchronous)

    Complete the following fields to create a new listener notification for ALE Listener Notification(synchronous):

    Field Description
    Account
    Name Listener Notification name.
    Description Listener Notification description.
    Action
    Name Select the listener notification type as
  • ALE Listener Notification(synchronous).
  • IDoc
    IDoc Type Identifies the type of IDoc expected by the listener notification.
    Cim Type IDoc type extension (CIM type/customer extension type).
    SAP system release IDoc release.
    Old IDoc type 2 IDoc version
  • Checked for old version 2 IDocs.
  • Unchecked for a new version 3 IDoc.
  • Request Field Selection
    Name Name of the input parameter.
    Type Java data type of the input parameter.
    Execution Mode
    Service invoke Name of the FlowService to invoke when the notification is received.
    Forward confirm event Enable or disable the SAP ERP to forward the Confirm TID event triggered by the tRFC protocol to the same destination where the document is forwarded.
    Monitor iDocs Enable or disable the SAP ERP to link the IDoc packet’s TID with the DOCNUMs of the IDocs in that packet.

    Create New RFC Listener Notification (Synchronous)

    Complete the following fields to create a new listener for RFC Listener Notification (Synchronous) notification:

    Field Description
    Account
    Name Listener Notification name.
    Description Listener Notification description.
    Action
    Name Select the listener notification type as
  • RFC Listener Notification (Synchronous).
  • Function
    Function pattern Type all or part of the name of the function module for which you want to create a listener notification (SAP® ERP). Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names. For example, enter RFC_FUNCTION_* in the field.
    Group pattern Type all or part of the name of the group for which you want to create a listener notification (SAP® ERP). Use pattern-matching characters if you are unsure of the complete name and want SAP® ERP to search for several RFCs with similar names.
    Reset Reset the search.
    Apply Apply the pattern or exact search.
    Function name Lists the function names matching the pattern.
    Group name Group name to which the matching functions belong.
    Description Description of the matching functions.
    Request Field Selection
    Name Name of the input parameter.
    Type Java data type of the input parameter.
    Reply Field Selection
    Name Name of the output parameter.
    Type Java data type of the output parameter.
    Execution Mode
    Service invoke Select the FlowService to invoke when the notification is received.

    Note:

    • The documents, Notification\_NameRequestDocument for Request document name and Notification\_NameReplyDocument for Reply document name are created when a listener notification is created. You can view the documents by clicking the icon in the FlowService.
    • You must select routing listener for routing listener notifications and RFC listener for RFC listener notifications.
    • While publishing a project:
      • Assets such as listeners are not published. The listeners are selected from the pre-existing listeners or new listeners are created during deployment.
      • Assets such as listeners with no associated listener notifications are not displayed for publishing.

    Create New Document Type

    Complete the following fields to create a new Document Type:

    Field Description
    System ID and document
    Name Document Name.
    System ID type System ID (SID) of the source SAP system.
    Document type Document Type.
  • RFC
  • IDoc
  • If the Document type selected is RFC:

    Field Description
    Document details
    RFC Structure RFC structure name.

    If the Document type selected is IDoc:

    Field Description
    Document details
    IDoc type Identifies the type of IDoc expected by the listener notification.
    CIM type IDoc type extension (CIM type/customer extension type).
    SAP system release IDoc release.
    Old IDoc type 2 (optional)
  • Checked for old version 2 IDocs.
  • Unchecked for a new version 3 IDoc.

  • DDIC Cache

    The Data Dictionary Cache (DDIC) is a cache that holds information about SAP function modules, structure definitions, Business Objects, ALE mappings, and IDocs. SAP® ERP retrieves this information from an SAP system when it performs RFC, BAPI, or IDoc lookups. To improve performance, SAP® ERP caches information it receives about function modules and structure definitions.

    SAP® ERP receives information about function modules and structure functions when:

    SAP® ERP keeps separate cached function modules, structure definitions, Business Objects, ALE mappings, and IDocs for each SAP system. When SAP® ERP requires specific data, it checks its DDIC cache for the specific SAP system to determine if the information it requires is in cache. If the required information is in the DDIC cache, SAP® ERP uses the cached information rather than retrieving it from the SAP system.

    The DDIC cache is always active. There are no configuration tasks required to activate it. When you are developing services, there may be times when the information in the DDIC cache becomes outdated; for example, if you change an RFC signature on an SAP system. In these situations, you can use the DDIC cache screens to view the information in the cache and remove specific function modules or structure definitions from the cache as necessary.

    Field Description
    System ID Uniquely identifies an SAP system within a SAP domain. RFC connections using the same system ID share the same cache. Note: If you have configured and enabled an RFC listener, you will also see a Local entry in the System ID list. The cached elements of this System ID cannot be deleted or modified.
    Functions Number of cached function modules for an SAP system. You can view the function module names by clicking on the number in the Functions field. You can clear the individual function module from the cache by clicking icon.
    Structures Number of cached structure definitions for an SAP system. You can view the structure module names by clicking on the number in the Structures field. You can clear the individual structure module from the cache by clicking icon.
    Business objects Number of cached business objects for an SAP system. You can view the business object names by clicking on the number in the Business objects field. You can clear the individual business object from the cache by clicking icon.
    ALE mappings Number of cached BAPIs for an SAP system (for which ALE information of an SAP system has been checked and extracted). You can view the ALE mapping module names by clicking on the number in the ALE mappings field. You can clear the individual ALE mapping module from the cache by clicking icon.
    IDocs Number of cached function IDocs for an SAP system. You can view the IDoc names, IDoc type extension, and release information by clicking on the number in the IDocs field. You can clear the individual IDoc from the cache by clicking icon.

    Transaction Store

    SAP® ERP provides a transaction manager that allows you to monitor the transaction state for all messages associated with a transaction ID. The transaction ID uniquely identifies the transaction. The transaction ID can be up to 24 alpha numeric characters in length. If SAP® ERP receives a message without a transaction ID, it can create one for the message. The message is stored in the transaction store.

    To view and manage the transactions that SAP® ERP records in its transaction store:

    Viewing transactions

    1. You can view all the transactions or filter the transactions.

      • Click Apply without entering any values in any of the fields to view all transactions.
      • Enter a filter term in one of the following fields and click Apply to filter the transactions based on the filter criteria.

        Note: Regular expressions are supported to allow flexible filter criteria matching.

        Field Description
        Sender Sender SAP system.
        Receiver Receiver SAP system.
        Message Type Message Type as defined in the SAP system.
        TID Transaction ID.
        State States of the tRFC protocol. Possible values are:
        • Created-Transaction is created.
        • Rolledback-Transaction is rolledback.
        • Committed-Transaction is committed.
        • Confirmed-Transaction is confirmed.
        Date and Time Range Restricts the transactions to a specific date and time interval.

        The list of transactions are displayed.

    Sorting the Transactions

    You can sort the transactions by the date and time of transactions.

    1.Click to sort the transactions in ascending or descending order by date and time.

    The transactions are sorted by date and time.

    Searching for Specific Text in the Transactions Listed

    You can search for a specific text in the transactions listed.

    1.Type the text you want to search in the field and click Search.

    The transactions containing the text are listed.

    Deleting Transactions

    1.You can delete the selected transactions or delete the filtered transactions.

    The transactions are deleted.

    Viewing Selected Transaction Details

    You can view the details of a transaction.

    1. Select a specific TID. In the transaction details page, the following fields are displayed:

      Field Description
      Audit log
      Sender Sender SAP system.
      Receiver Receiver SAP system.
      Message Type Message Type as defined in the SAP system.
      Date and Time Range Restricts the transactions to a specific date and time interval.
      Current State States of the tRFC protocol. Possible values are:
      • Created-Transaction is created.
      • Rolledback-Transaction is rolledback.
      • Committed-Transaction is committed.
      • Confirmed-Transaction is confirmed.
      Audit timestamp Record of the date and time of the audit.
      Audit log Collection of all the previous transactions.
      Document
      Document of transaction Message body of the transaction.

    BuiltIn Services

    clientConnect

    Establishes a connection to an SAP system.

    Input Parameter

    Field Description
    serverName Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the default client is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    result Returns Ok if connection is established successfully.

    Example

    Use clientConnect when you want to establish a connection to a target SAP system. This might be useful for creating a session pool. In the most common scenarios, it is not necessary to invoke this service explicitly, as it is invoked implicitly. For example, when a clientInvoke or clientInvokeTransaction is issued.

    clientLockSession

    Locks an RFC connection to your session so that you always exclusively use this RFC connection for subsequent calls.

    Input Parameter

    Field Description
    serverName Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the default client is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    None

    Example

    Note: This service locks a session to trigger a commit work command inside the SAP system. This causes a database commit. This service only works with SAP systems version 4.0A and higher because BAPIs do not write data directly to the database but use the posting engine inside the SAP system and the start of the processing of posted data.

    The data is not written to the database until the client triggers a commit work command. In order to call a BAPI that writes data, you must perform the following steps on webMethods.io Integration:

    1. Call the clientLockSession service in order to get an exclusive connection to the SAP system.
    2. Perform the BAPI calls.
    3. Call the BAPIcommitor BAPIrollback service
    4. Call the clientReleaseSession service in order to release the exclusive connection to the SAP system and clean up used resources on webMethods.io Integration.

    clientReleaseSession

    Releases a locked session on an SAP system.

    Input Parameter

    Field Description
    serverName SAP system alias on which the locked session is located. The name must match a configured RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    None

    Example1

    The service releases a session after a commit work or rollback work command is triggered inside the SAP system.

    Note: This service only works with SAP systems version 4.0A and higher because BAPIs do not write data directly to the database but use the posting engine inside the SAP system.

    In order to call a BAPI that writes data, you must perform the following steps on webMethods.io Integration:

    1. Call the clientLockSession service in order to get an exclusive connection to the SAP system.
    2. Perform the BAPI calls.
    3. Call the BAPIcommit or BAPIrollback service.
    4. Call the clientReleaseSession service in order to release the exclusive connection to the SAP system and clean up used resources on webMethods.io Integration.

    Example2

    You also need this service if you want to lock and change a certain database object. To do this, please proceed as follows:

    1. Call the clientLockSession service in order to get an exclusive connection to an SAP system.
    2. Lock an object by calling a BAPI_ *_ENQUEUE.
    3. Make your changes by invoking other BAPIs.
    4. Release the object by calling a BAPI_*_DEQUEUE.
    5. Call the clientReleaseSession service.

    clientInvoke

    Invokes an RFC function module in synchronous mode on a given SAP system.

    Input Parameter

    Field Description
    serverName SAP system alias on which the function module is invoked. The name must match a configured RFC connection alias at SAP® ERP.
    $rfcnamep Name of the function module to be invoked.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    This service returns the outputs (exports and tables) returned by the function module.

    Field Description
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    Example

    This service is used when you are directly calling an RFC on an SAP system without creating an RFC adapter service. When an RFC adapter service is used, this service is invoked implicitly.

    clientInvokeTransaction

    Invokes a tRFC function module on a given SAP system.

    Input Parameter

    Field Description
    serverName SAP system alias on which the function module is invoked. The name must match a configured RFC connection alias at SAP® ERP.
    $rfcnamep Name of the function module to be invoked.
    $tid Transaction this invoke is assigned to.
    $queueName Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    Example

    This service is used in outbound flows and can handle both synchronous and transactional RFC calls. Therefore, it can be seen as a generic wrapper for clientInvoke, clientInvokeTransaction and clientConfirmTID.

    clientCreateTID

    Call this service if you want to obtain a transaction ID (TID; which is a GUID) that conforms to the format of SAP TIDs.

    The obtained TID can be used as an input value for clientInvokeTransaction, clientSendIDoc, and clientConfirmTID.

    Important: If no TID exists in the pipeline, then the ALEoutboundProcess service performs the function of both the clientCreateTID and clientInvokeTransaction services. For IDocs, it is recommended that you use either the ALEoutboundProcess service or the call sequence of clientCreateTID and clientSendIDoc .

    Input Parameter

    Field Description
    serverName Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    $tid Contains the TID.

    Example

    This service is used in tRFC client scenarios, which require a transactional ID (TID) uniquely identifying the transaction. See also clientConfirmTID.

    clientConfirmTID

    Confirms the transaction specified by the TID on the specified SAP system.

    This service must be called after a transactional invoke in order to complete a transaction on the target system.

    Input Parameter

    Field Description
    serverName Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP.
    $tid Transaction ID to be confirmed.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    None.

    Example

    This service is used in tRFC client scenarios in order to confirm a transaction which is executed completely.

    1. Invoke clientCreateTID. This service creates an SAP-conformant TID. It is necessary to have one, otherwise you cannot invoke the function module with clientInvokeTransaction. If you have already obtained a TID, you must use that one in order to guarantee that the transaction is executed only once.
    2. Invoke clientInvokeTransaction. This service invokes the given function module as a tRFC on the SAP system specified by serverName. The TID is passed as a parameter on this call.
    3. Invoke clientConfirmTID. Confirms that the transaction is completed. Pass the same serverName and $tid value on this call.

    clientGetAttributes

    Connects to the given SAP system and returns information specific to one RFC client connection session.

    Input Parameter

    Field Description
    serverName Alias of the SAP system that sends the TID. This name must match a configured RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    destination String. Destination of the connection.
    ownHost Hostname (or IP) of the machine webMethods.io Integration is running on.
    partnerHost Hostname (or IP) of the machine the SAP system is running on.
    systemNumber System number of the SAP system.
    systemID Unique three-letter-ID of SAP system (in local network).
    client Client the session is connected to.
    user SAP user that has connected with this session.
    language Logon language.
    SOLanguage ISO name for logon language.
    ownCodepage SAP codepage this connection is using.
    partnerCodepage SAP codepage the SAP system is running on.
    ownRelease Version of the loaded RFC library used by SAP® ERP.
    partnerRelease Release of the SAP system.
    kernelRelease Kernel release of the SAP system.
    partnerType RFC type of the partner; SAP ECC(3), R/2(2) or external RFC server(E).
    trace Flag indicating whether trace is turned on (true) or off (false) for this connection.
    ownType RFC type of SAP® ERP; must always be E.
    rfcRole Role of SAP® ERP in this call; must always be: C (for client).
    CPICConversationID CPIC ID of the connection (low level protocol information).
    encoding IANA-encoding that is equivalent to the SAP codepage used, for example: ISO-8859-1.
    charset Charset that is equivalent to the SAP codepage used, for example: ISO8859_1 (used in Java constructors).
    bytesPerChar Number of maximum bytes used per char in the codepage.

    clientGetFunctionInterface

    Looks up the function interface definition of an RFC function module in the given SAP system.

    Input Parameter

    Field Description
    $rfcname Function module for which the interface definition is looked up.
    serverName Alias of the SAP system on which the RFC function module is defined. The name must match a configured RFC connection alias at SAP® ERP.

    Return Values

    Document list named params that contains all parameter-related information.

    Field Description
    paramClass Class of parameter; I (importing), E (exporting), T (table), X (exception).
    parameter Name of the parameter in the function interface.
    tabName Name of the table in the SAP system the parameter is referring to.
    type Type of the parameter (for example: CHAR, STRUCTURE, TABLE, …)
    length Internal length in bytes of the parameter.
    decimals Only relevant for decimal types; number of decimals used.
    optional Flag indicating whether parameter is optional.

    clientGetStructureDefinition

    Looks up the structure definition of an SAP structure in the given SAP system.

    Input Parameter

    Field Description
    structName Structure name for which the definition is looked up.
    serverName Alias of the SAP system on which the RFC function module is defined. The name must match a configured RFC connection alias at SAP® ERP.

    Return Values

    Document list named params that contains all parameter-related information:

    Field Description
    tabLength Length of the structure when used in a table. This might differ from the sum of all field lengths, as the number types have to be aligned to memory segments.
    fields
    fieldName Name of the field.
    tabName Optional. Name of the table/structure in the SAP system the field is referring to.
    position Position within structure.
    offset Offset in bytes to this field.
    length Internal length in bytes.
    decimals Only relevant for decimal types; number of decimals used.
    type Type of the field (for example: CHAR, STRUCTURE, TABLE, …).

    clientGetThroughput

    Returns the performance throughput value of the connection since the adapter startup or the last reset to zero

    Input Parameter

    Field Description
    serverName Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    numberOfCalls Number of calls executed by the connection.
    numberOfBytesSent Number of bytes sent by the connection.
    umberOfBytesReceived Number of bytes received by the connection.
    marshallingTime Time (ms) spent by the connection to convert pipeline data into RFC data.
    unmarshallingTime Time (ms) spent by the connection to convert RFC data into pipeline data.
    timeForPreparation Time (ms) spent by the connection for preparation and repository lookups.
    timeForMiddlewareCalls Time (ms) spent by the connection during RFC network calls.
    timeForAdapterServiceCalls Time spent by the connection for processing inbound or outbound requests in webMethods.io Integration services.
    totalTime Total time spent by the connection for processing inbound and outbound services.

    clientSendIDoc

    Sends an IDoc list to a given SAP system. The IDocs in the list must be of the same IDoc type.

    Input Parameter

    Field Description
    serverName Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero
    iDocList Contains the IDoc(s) as object of the com.sap.conn.idoc.IDocDocumentList type.
    $tid ID of the transaction under which the service is executed
    $queueName Optional. Name of the SAP system IDoc inbound queue. Specify a value in case of an ALE queueing scenario.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    clientSendIDocLists

    Sends a heterogenous list of IDoc lists to a given SAP system. All the IDoc elements in an IDoc list must be of the same IDoc type, but the IDoc lists can contain different types. All IDocs can be processed in a single transaction.

    Input Parameter

    Field Description
    serverName Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero
    iDocList Contains the IDoc(s) as object of the com.sap.conn.idoc.IDocDocumentList type.
    $tid ID of the transaction under which the service is executed
    $queueName Optional. Name of the SAP system IDoc inbound queue. Specify a value in case of an ALE queueing scenario.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    clientPing

    Checks the response time of an SAP system.

    Input Parameter

    Field Description
    serverName Alias for the SAP system from which you want to receive the RFC connection specific attributes. The name must match a configured RFC connection alias at SAP® ERP. Optional. Set to true to reset the performance throughput values to zero.
    $client Optional. Client for the session. If no client is specified, the client specified in the SAP system alias settings is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password must be looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    responseTime Response time of the SAP system.

    RFCdecode

    Converts an RFC-XML (XRFC) string into the pipeline so that is in a format that can be passed to an SAP system.

    Input Parameter

    Field Description
    xmlData String. An RFC-XML message.
    bytes Optional. Byte array that contains the data to be decoded as XRFC.
    node Optional. XML object that represents the XRFC data. For example, you get a node when putting an XML file via FTP with a .xml extension. The service checks in that order if an input document is available: xmlData, bytes, node.

    Return Values

    Field Description
    $encoding Optional. Specifies the encoding used in the input document’s XML header,for example: iso-8859-1 if $encoding is not included in the pipeline before.

    Example

    This service can be used when an RFC-XML document is posted to webMethods.io Integration in a variable.

    RFCencode

    Converts an RFC call stored in the pipeline to an XML string in a format specified by the SAP RFC-XML (XRFC) specification.

    Input Parameter

    This service needs the RFC calls in Values representation as input.

    Field Description
    serverName SAP system used as a repository. This name must match a configured RFC connection alias at SAP® ERP.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1
    $call Optional. Flag indicating whether the pipeline is interpreted as a call or as a response. Possible values are:
    • true for call.
    • false for response.
    $envelope Optional. XRFC, bXML, or SOAP. Specifies the type of document generated.

    Return Values

    Field Description
    xmlData String. Contains the RFC-XML representation of the RFC.
    contentType Content type associated with the generated document, for example, application/x-sap.rfc.

    Example

    Use this service to create RFC-XML corresponding to the pipeline and perhaps forward it to another server, for example, via HTTP. This is done in the XML transport’s Outbound Process for function modules.

    RFCcreateTemplate

    Creates an RFC-XML (XRFC) template for the specified function module.

    Input Parameter

    Field Description
    serverName SAP system used as a repository. This name must match a configured RFC connection alias at SAP® ERP.
    $rfcname Optional. Function module for which you want to create the template.
    $encoding Optional. Specifies the encoding used in the output document’s XML header,for example, iso-8859-1
    $call Optional. Flag indicating whether the pipeline is interpreted as a call or as a response. Possible values are:
    • true for call.
    • false for response.
    $envelope Optional. XRFC, bXML, or SOAP. Specifies the type of document generated.

    Return Values

    Field Description
    xmlData String. Contains the XML template that represents the RFC.

    Example

    Use this service to create templates for testing purposes.

    IDocDecodeSDATA

    Converts the SDATA field from a String object to a Document object and immediately converts the whole list of IDocs to a com.sap.conn.idoc.IDocDocumentList object for further processing.

    The IDocDecodeSDATA service is only required if you receive an IDoc in the tables representation from a sending system. That is, you have created an RFC listener notification for function module IDOC\_INBOUND\_ASYNCHRONOUS or INBOUND\_IDOC\_PROCESS.

    Input Parameter

    Field Description
    serverName SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP.
    IDOC_CONTROL
    IDOC_DATA
    -OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table. The name of the segment table is specified by the SEGNAM field.
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.

    IDocDecodeString

    Decodes an IDoc from a String equivalent, the format that is used by the file port of an SAP system.

    Input Parameter

    Field Description
    serverName SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP.
    iDocString String. IDoc in the file port.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.

    documentToIDoc

    Converts a document to an object of type IDoc(s).

    Input Parameter

    Field Description
    document IDoc in hierarchical structure.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.

    IDocEncodeSDATA

    Converts every SDATA field from a Document object to a String object.

    This service is usually called prior to sending an IDoc to an SAP system via clientInvokeTransaction or by an RFC adapter service for function module IDOC_INBOUND_ASYNCHRONOUS or INBOUND_IDOC_PROCESS.

    Note: A client service clientSendIDoc allows you to send the iDocList directly.

    Input Parameter

    Field Description
    serverName SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.
    iDocList
    - OR -
    Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.
    IDOC_CONTROL
    IDOC_DATA
    - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table. The name of the segment table is specified by the SEGNAM field.
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.

    Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

    Return Values

    Field Description
    IDOC_CONTROL
    IDOC_DATA
     - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a 1000-byte field.At this point, the IDoc in the pipeline is ready to be sent to an SAP system via either clientInvokeTransaction or an adapter service for one of the function modules (IDOC_INBOUND_ASYNCHRONOUS” or “INBOUND_IDOC_PROCESS”).

    IDocEncodeString

    Encodes an IDoc to a String equivalent, the format that is used by the file port of an SAP system.

    The service first checks for the iDocList field, if that parameter is not present, it looks for the IDOC_* record lists.

    Note: When saving to a file, make sure that String is saved with correct encoding.

    Input Parameter

    Field Description
    serverName SAP system alias which is used as repository for structure information about the IDoc. The name must match a configured RFC connection alias at SAP® ERP.
    iDocRelease Optional. SAP system release that the IDoc is sent to.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.
    iDocList
    - OR -
    Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.
    IDOC_CONTROL
    IDOC_DATA
    - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table. The name of the segment table is specified by the SEGNAM field.
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.

    Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

    Return Values

    Field Description
    iDocString String. IDoc in the file port.

    IDocToDocument

    Generates a Document representation of an IDoc list to perform mappings in Flow service.

    Input Parameter

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    conformsTo Name of the document structure of the IDoc. The document structure is used as a template to discriminate between documents and document lists. Without conformsTo parameter, all tables in the hierarchical structure are document lists.

    Return Values

    Field Description
    document IDoc in hierarchical structure.

    IDocToTables

    Generates tables from an object of type IDoc(s).

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.

    Return Values

    Field Description
    IDOC_CONTROL
    IDOC_DATA
    - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table. The name of the segment table is specified by the SEGNAM field).
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.

    tablesToIDoc

    Generates object of type IDoc(s) from tables.

    Input Parameters

    Field Description
    IDOC_CONTROL
    IDOC_DATA
    - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table (the name of the segment table is specified by the SEGNAM field).
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as object of com.sap.conn.idoc.IDocDocumentList.

    IDocEncode

    Service that converts an IDoc list to an XML string in a format specified by the SAP IDoc-XML Specification.

    Input Parameters

    Field Description
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1
    iDocList
    - OR -
    Contains the IDoc(s) as object of the type com.sap.conn.idoc.IDocDocumentList.
    IDOC_CONTROL
    IDOC_DATA
    - OR -
    IDOC_CONTROL_REC_40
    IDOC_DATA_REC_40
    Both keys are Document lists (Tables) containing the control and data tables for the IDoc. The SDATA field is a Document object containing the keys and values from the segment table. The name of the segment table is specified by the SEGNAM field.
    Note: This service handles both IDoc versions 2 and 3. The difference between the two is that, for IDocs version 2, the service looks for IDOC_CONTROL and IDOC_DATA in the pipeline. For IDocs version 3, it looks for IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.

    Note: You can specify the iDocList or IDoc tables containing IDOC_CONTROL and IDOC_DATA or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 in the input parameters.

    Return Values

    Field Description
    xmlData String. IDoc in XML. The XML format is consistent with the SAP-XML specification.

    Example

    This service is most often used when you want to receive an IDoc from an SAP system and convert it to XML.

    IDocDecode

    Service that converts an XML string in a format specified by the SAP IDoc-XML Specification into an IDoc that is of the type com.sap.conn.idoc.IDocDocumentList and necessary for an RFC call (using clientSendIDoc).

    Input Parameters

    Field Description
    bytes
    - OR -
    Byte array. Contains the data to be decoded as IDocXML.
    node
    - OR -
    XML Node object that represents the IDocXML data. For example, you get a node when putting an XML file via FTP with a .xml extension. The service checks in that order if an input document is available: xmlData, bytes, node.
    xmlData String.. IDoc in XML. The XML format is consistent with the SAP IDoc-XML specification.

    Note: You can specify the bytes or node or xmlData in the input parameters.

    Return Values

    Field Description
    $encoding Specifies the encoding from the input document’s XML header, for example, iso-8859-1.
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentListcom.sap.conn.idoc.IDocDocumentList.

    Example

    This service is the first service called when you want to send an IDoc-XML document to an SAP system. The following is a sequence of service calls that take an IDoc in XML format, convert it to a com.sap.conn.idoc.IDocDocumentListcom.sap.conn.idoc.IDocDocumentList object, then fire it into the SAP system:

    1. Invoke this service (IDocDecode). This takes the input xmlData (the XML String) and creates an com.sap.conn.idoc.IDocDocumentList object that is in RFC-ready form. (This means that it matches the RFC call used to send an IDoc into the SAP system, and that the pipeline is almost in the required format).
    2. Invoke clientCreateTID service. Use this service to request a transaction id from an SAP system that can be used for sending the IDoc to the SAP system.

      Note: Store this transaction ID, so that you can resend the IDoc in case of errors with the same ID.

    3. Invoke clientSendIDoc.

    IDocTrace

    Internal service used to trace the status of certain IDocs back to either the sending SAP system or to a further processing .

    This service is directly called from SAP systems.

    Input Parameters

    Field Description
    SELECTION_DATE Date parameter passed to IDOC_DATE_TIME_GET on the sending SAP system.
    SOURCE_SYSTEM Partner number of the sending SAP system.
    T_IDOCINFO List of IDocs to be traced.

    Return Values

    Field Description
    T_IDOCINFO List of IDocs with updated trace information.

    swapSenderReceiverLS

    Switches Sender and Receiver (logical systems) for a list of given ALEAUD01 IDocs.

    Input Parameters

    Field Description
    iDocList List of ALEAUD01 IDocs to be switched.

    Return Values

    Field Description
    iDocList List of ALEAUD01 IDocs with switched RVCPRN and SNDPRN fields.

    SYSTAT01report

    This service sends out SYSTAT01 IDocs to the sending SAP system for all IDocs that have been received in ‘Monitoring’ mode.

    Can be executed exactly once for the IDocs of a transaction.

    Input Parameters

    None.

    Return Values

    None.

    BAPIdecode

    Decodes bXML documents and generates a corresponding pipeline.

    Input Parameters

    Field Description
    xmlData
    - OR-
    String. A document in bXML format.
    bytes
    - OR -
    Byte array. Contains the data to be decoded as bXML.
    node XML Node object that represents the bXML data. Ffor example, you get a node when putting an XML file via FTP with .xml extension .

    Note: The service checks in that order if an input document is available: xmlData, bytes, node.

    Return Values

    Field Description
    $encoding Optional. Specifies the encoding found in the bXML document, for example, iso-8859-1.

    BAPIencode

    Converts a BAPI call represented in a pipeline to an XML string in a format specified by the SAP bXML specification.

    Input Parameters

    Field Description
    objectName Name of the business object.
    bapiName Name of the BAPI.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.
    $call Optional. Flag indicating whether the pipeline is interpreted as a call or as a response. Possible Values are:
    • true for call.
    • false for response. Default.
    $abapexception Optional. If this object is in the pipeline, an exception document is created.
    $metabapi Optional. Contains metadata information about the BAPI, that must be encoded.

    Return Values

    Field Description
    xmlData A document in bXML format as a string.

    BAPIcreateTemplate

    Generates a bXML document template for the definition of a BAPI in an SAP system.

    Input Parameters

    Field Description
    serverName SAP system alias for the SAP system that is used as a repository. The alias must match a configured RFC connection alias at SAP® ERP.
    objectName Name of the business object to encode.
    bapiName Name of the BAPI.
    $encoding Optional. Specifies the encoding used in the output document’s XML header, for example, iso-8859-1.
    $call Optional. Flag indicating whether a call or a response is created. Possible Values are:
    • true for call.
    • false for response. Default.

    Return Values

    Field Description
    xmlData The bXML template for the BAPI as a string.

    BAPIcommit

    Commits a transaction with a single or multiple BAPI calls.

    Note: You need to use clientLockSession or clientReleaseSession to make sure to keep your connection in transaction scenarios as the transaction context is stored with the session in the SAP system.

    Input Parameters

    Field Description
    serverName Alias of the SAP system on which the transaction must be committed. This name must match an RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the default client is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.
    wait Optional. Flag indicating if call must wait until data is really written to database.

    Return Values

    Field Description
    Return Return code in BAPI style keeping the success/failure of the commit.

    BAPIrollback

    Rolls back a transaction with a single or multiple BAPI calls.

    Note: You need to use clientLockSession or clientReleaseSession to keep your connection in transaction scenarios because the transaction context is stored with the session in the SAP system.

    Input Parameters

    Field Description
    serverName Alias of the SAP system on which the transaction must be committed. This name must match an RFC connection alias at SAP® ERP.
    $client Optional. Client for the session. If no client is specified, the default client is used.
    $user Optional. User name for the session. If no user is specified, the default user is used.
    $pass Optional. Password for the session. If the password is not specified, then the user and password is looked up in the SAP User store.
    $language Optional. Language used during the session. If no language is specified, the default language is used.

    Return Values

    Field Description
    Return Return code in BAPI format including the success/failure of the commit.

    listTransactions

    Returns a list of transactions from the transaction store that match the filter criteria. Regular expressions are supported to allow flexible filter criteria matching.

    Input Parameters

    Field Description
    endDate Optional. Filter criteria: Last creation date of the transaction. .
    startDate Optional. Filter criteria: Earliest creation date of the transaction.
    sender Optional. Filter criteria: name of the sender of the transaction.
    receiver Optional. Filter criteria: name of the receiver of the transaction.
    msgType Optional. Filter criteria: name of the message type of the transaction.
    state Optional. Filter criteria: state of the transaction.
    $tid Optional. Filter criteria: TID of the transaction.
    $sortKey Optional. Specifies the sort key. Valid values are:
    • noSort. Default.
    • $tid
    • sender
    • receiver
    • msgType
    • date
    • state
    The resulting transaction list is sorted by the given attribute.
    $dir Optional. Specifies the sort direction. Possible values:
    • descending. Triggers a descending sort order.
    • Any value other than descending. Triggers ascending sort order.

    Return Values

    Field Description
    transactions Optional. A Document List containing one document with detail information for each transaction. The following keys are always included:
    • $tid
    • sender
    • receiver
    • msgType
    • date. Date/time, when the state of this transactions was last changed, formatted in the usual “Log Timestamp Format”
    • state
    $sortKey Optional. Specifies the sort key. Valid values are:
    • noSort. Default.
    • $tid
    • sender
    • receiver
    • msgType
    • date
    • state The resulting transaction list is sorted by the given attribute.
    $dir Optional. Specifies the sort direction. Possible values:
    • descending. Triggers a descending sort order.
    • Any value other than descending. Triggers ascending sort order.

    getTransaction

    Returns detail information for a single transaction.

    Input Parameters

    Field Description
    $tid The TID of the transaction.

    Return Values

    Field Description
    sender Optional. Name of the sender of this transaction.
    receiver Optional. Name of the receiver of this transaction.
    msgType Optional. Name of the message type of this transaction.
    state Optional. Current state of this transaction.
    date Optional. Creation date of this transaction.
    auditLog Optional. A Document List containing the date and message that tracks of all events that occurred during processing of this transaction.

    getTransactionMessageBody

    Returns the pipeline containing the actual message body.

    Note: This service works if the storing of message bodies is not disabled.

    Input Parameters

    Field Description
    $tid The TID of the transaction.

    Return Values

    None.

    getTransactionLog

    Adds a new audit log entry to the given transaction, and optionally changes the transaction status to the given new state.

    Input Parameters

    Field Description
    $tid The TID of the transaction.
    msg Optional. Message string to be logged.
    state Optional. String. Valid values are:
    • Created
    • Executed
    • Committed
    • Rolledback
    • Confirmed

    Return Values

    None.

    setTransactionCacheParameter

    This service sets new runtime parameters for the cache of the transaction store.

    Input Parameters

    Field Description
    writeCache Optional. State of the write cache. Possible values are:
    • On. Write cache of the transaction is switched on.
    • Any other value. Write cache of the transaction is switched off.
    cacheTimeToLive Optional. This value sets the maximum time-to-live for a cache entry (value in seconds). Valid range: 0-500.
    cachFlushPeriod Optional. This value sets the time period after which unmodified cache entries are flushed (value in seconds). Valid range: 0-100.

    Return Values

    None.

    storeTransactionConfig

    Returns the current configuration and cache parameter of the transaction store.

    Input Parameters

    None.

    Return Values

    Field Description
    storeType SQL Transaction Store.
    writeCache State of the cache. Possible values are:
    • On
    • Off
    cacheSize Number of entries currently held in the transaction cache.
    cacheTimeToLive Current maximum time-to-live period for a cache entry (in seconds).
    cacheFlushPeriod Current period after which unmodified cache entries are flushed (in seconds).

    deleteTransaction

    Deletes one transaction from the transaction store.

    Input Parameters

    Field Description
    $tid TID of the transaction.

    Return values

    None.

    deleteAllTransactions

    Deletes the entire transaction store. Exercise care if you choose to use this.

    Input Parameters

    None.

    Return Values

    Field Description
    deletedEntries Total number of deleted transactions that matched the filter criteria.

    sweepTransactions

    This service can be used to cleanup the transaction store that matches the given filter criteria.

    For example, set it up in the Scheduler as follows:

    1. Create a Flow Service, which invokes sweepTransactions.
    2. In the Flow Service, define the inputs using Set Value.
    3. Create a scheduler job that executes the Flow Service.

    Input Parameters

    Field Description
    elapsedTime Filter criteria: time in minutes since the transaction has been modified the last time.
    maxTrxCount Optional. Maximum number of transactions to be deleted in one execution of the Service.
    sender Optional. Filter criteria: name of the sender of the transaction.
    receiver Optional. Filter criteria: name of the receiver of the transaction.
    msgType Optional. Filter criteria: name of the message type of the transaction.
    state Optional. Filter criteria: state of the transaction. Valid values are:
    • Created
    • Executed
    • Committed
    • Rolledback
    • Confirmed

    Return Values

    Field Description
    deletedEntries Total number of deleted transactions that matched the filter criteria.

    ALEinboundProcess

    Receives an IDoc and forwards it to the routing listener.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    $tid Optional. TID of the transaction.
    $action Optional. One of the following transaction codes:
    • 1. Default. Execute.
    • 4. Confirm.

    Return Values

    None.

    ALEoutboundProcess

    Receives an IDoc and forwards it to the routing listener.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    $tid Optional. TID of the transaction.
    $action Optional. One of the following transaction codes:
    • 1. Default. Execute.
    • 4. Confirm.

    Return Values

    None.

    ALEgetRoutingInfo_Default

    Default service to retrieve routing information from a list of IDocs.

    Note: This service can also handle IDOC_CONTROL and IDOC_DATA record lists (for IDocs version 3) or IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 record lists (for IDocs version 4) as IDoc input parameters instead of iDocList.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    sender Retrieved from sender partner number from the header of the first IDoc.
    receiver Retrieved from receiver partner number from the header of the first IDoc.
    msgType Retrieved from message type from the header of the first IDoc.

    ISinboundProcess

    Receives a message from a remote webMethods.io Integration and forwards it to the routing listener, which determines the routing notification to use to route the message based on the sender, receiver, and message type specified in the input parameters.

    After determining the routing notification to use, it invokes the flow service that processes the matching routing notification. This can be called with an arbitrary message to pass it on to the routing listener.

    Important: It is recommended that you use this service as the receiving point when you are connecting two webMethods.io Integration’s.

    Input Parameters

    In addition to the parameters specified below, the input parameters must also include the message to be routed through SAP® ERP. Use a key for the message that the outbound transport expects.

    Field Description
    sender Sender of a message.
    receiver Receiver of the message.
    msgType Message type of the message.
    $tid Optional. The TID of the transaction.
    $action Optional. One of the following transaction codes:
    • 1. Default. Execute.
    • 4. Confirm.

    Return Values

    Depends on transaction and invoked routing notification.

    RFCinboundProcess

    Invokes an RFC on an SAP system.

    This service can handle both RFC and tRFC calls.

    Input Parameters

    This service requires the following input parameters:

    Field Description
    serverName Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of serverName in transportParams.
    transportParams A document with the following key/value pair.
    serverName SAP system alias for the SAP system on which invoke the RFC. The alias must match a configured RFC connection alias at SAP® ERP.
    $tid Optional. TID of the transaction. If you want to process the RFC call asynchronously using tRFC, specify the transaction ID. If you want to perform a synchronous RFC call, do not specify this parameter.
    $action Optional. Transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.
    $rfcname Optional. RFC that must be called.
    $queueName Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario.

    Return Values

    Field Description
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    RFCoutboundProcess

    Invokes an RFC on an SAP system.

    This service can handle both RFC and tRFC calls.

    Input Parameters

    This service requires the following input parameters:

    Field Description
    serverName Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of serverName in transportParams.
    transportParams A document with the following key/value pair.
    serverName SAP system alias for the SAP system on which invoke the RFC. The alias must match a configured RFC connection alias at SAP® ERP.
    $tid Optional. TID of the transaction. If you want to process the RFC call asynchronously using tRFC, specify the transaction ID. If you want to perform a synchronous RFC call, do not specify this parameter.
    $action Optional. Transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.
    $rfcname Optional. RFC that must be called.
    $queueName Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario.

    Return Values

    Field Description
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    XMLinboundProcess

    Can be called \for example, using HTTP post with arbitrary XML documents to pass them on to the routing listener.

    Input Parameters

    This service requires the following input parameters:

    Field Description
    node XML Node object that can be generated by calling XML:xmlStringToXMLNode and is automatically generated when posting an XML document via HTTP (using text/xml).
    $tid Optional. TID of the transaction.
    $action Optional. Transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.

    Return Values

    Depends on transaction and invoked routing notification.

    XMLoutboundProcess

    Use this service to post an XML document to a specified URL. The XML transport is basically used for posting XML documents to external Web servers.

    Input Parameters

    This service requires the following input parameters:

    Field Description
    transportParams A document with the following key/value pair.
    url URL to which to post the document.
    xmlType XML dialect to use. Specify Values-XML if you want the XML in webMethods native XML format.
    • Specify SAP-XML if you want the XML in a format that is compliant with the SAP XML specification. For an IDoc, IDoc-XML is used; for an RFC, RFCXML (XRFC) is used. Note that the IDoc must be available as input to this service.
    • Arbitrary XML allows to post any XML document.
    • SOAP XRFC can be selected as additional XML dialect. This equals to XRFC (RFC-XML) with a SOAP envelope (higher than SOAP 1.1).
    useTextXml Optional. Flag that overwrites the content-type of bXML, XRFC and IDoc-XML to text/xml. Possible values are:
    • true. Overwrites the content-type to text/xml.
    • false.
    useUTF8 Optional. Flag that allows to force the XML rendering engines to use UTF-8 as encoding for the resulting documents. Possible values are:
    • true.
    • false.
    httpUser Optional. User name to supply for a user name and password authentication challenge.
    httpPassword Optional. Password to supply along with httpUser for a user name and password authentication challenge.
    useBAPI Possible values are:
    • ON. Pipeline is encoded using bXML for Business Objects.
    • OFF. Default.
    objectName Name of the business object, to which the call is mapped.
    bapiName Name of the BAPI method, to which the call is mapped.
    xmlData Optional. An XML document as string, only used if transportParams/xmlType is Arbitrary XML.
    $encoding Optional. Encoding used by the XML request document.
    $tid Optional. Transaction ID. Specify a transaction ID if the document must be sent as a transaction.
    $action Optional. Transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.

    Return Values

    The return values depend on the document that is posted. The return value is a Values object representation of the answer to the posted document.

    BAPIinboundProcess

    When posting bXML documents representing a BAPI of a Business Object to this service, it takes care of passing the document to the routing listener.

    Input Parameters

    Field Description
    sbcHeader Document that contains the key/value pairs with routing information is generated by the bXML parser.
    objectName Optional. Name of the business object that is represented in the pipeline.
    bapiName Optional. Name of the BAPI that is represented in the pipeline.
    $action Optional. The transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.
    $tid Optional. TID of the transaction.

    Return Values

    Depends on transaction and invoked routing notification.

    BAPIoutboundProcess

    Executes a BAPI in an SAP system. This transport service can handle both asynchronous and synchronous execution of a BAPI.

    Input Parameters

    Field Description
    serverName Optional. Alias of the SAP system to which the connection must be established. The name must match a configured RFC connection alias at SAP® ERP. If serverName is set, it overrides the value of transportParams/serverName.
    transportParams A document with the following key/value pair.
    serverName The SAP system alias on which to execute the BAPI. The alias must match a configured RFC connection alias at SAP® ERP.
    mode Allows to restrict the way how the BAPI can be invoked. Possible values are:
    no restrictions Is executed as the client requested.
    synchronous only Only synchronous call is allowed, if client passes a $tid (indicating an asynchronous call) an exception is thrown.
    asynchronous only Only asynchronous call is allowed, if client does not pass a $tid (indicating a synchronous call) an exception is thrown.
    $tid Optional. TID of the transaction.
    $action Optional. Transaction state. Specify one of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.
    $queueName Optional. Name of the SAP system inbound queue. Specify a value in case of a qRFC scenario.
    objectName Optional. Name of the business object.
    bapiName Optional. Name of the BAPI method.

    Return Values

    A pipeline that represents the response or an exception of the executed BAPI.

    Field Description
    $metabapi Optional. Document created if the BAPI was executed. Contains the BAPI metdata (for example, the internal name, the external name, and the RFC name). It also contains information about whether it is static (yes/no), dialog (yes/no), or factory BAPI (yes/no).
    $abapexception Optional. Document created if the execution of the BAPI caused one or more ABAP exceptions with severity of 3 or higher. The document contains the name, the severity, and the message attributes of the general BAPI failure. It also contains the document attributes that contain the complete collection of all exceptions that have occurred during execution of the BAPI, with a detailed description and the message attributes for each exception.
    $runtime Total invocation time (ms), including processing time within SAP® ERP.
    $rfctime Time (ms) spent within the RFC library to complete the invocation.
    $encoding MIME-compliant character set corresponding to the session’s SAP code page.
    $call Flag indicating whether pipeline represents a request or response of a function module. Possible values are:
    • true for request.
    • false for response.

    Builtin Services Specifications

    ALE Routing Info Default

    To allow content based routing for all IDocs, the user might provide a service that implements this specification.

    This service is called prior to selecting the right routing notification by the routing listener.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    sender Contains the sender value as determined by this ALE default routing info service.
    receiver Contains the receiver value as determined by this ALE default routing info service.
    msgType Contains the message type value as determined by this ALE default routing info service.

    ALE Routing Info

    To allow message type specific content based routing, the user might provide a service that implements this specification.

    This service is called prior to selecting the right routing notification by the routing listener but after the default ALE routing info service was called.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    sender Contains the sender value as determined by this ALE default routing info service.
    receiver Contains the receiver value as determined by this ALE default routing info service.
    msgType Contains the message type value as determined by this ALE default routing info service.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    sender Contains the sender value as determined by this ALE default routing info service.
    receiver Contains the receiver value as determined by this ALE default routing info service.
    msgType Contains the message type value as determined by this ALE default routing info service.

    ALE Mapping Info

    To allow message type specific mapping for IDocs, the user might provide a service that implements this specification.

    This service is called prior to sending an IDoc to an SAP system using the pub.sap.transport.ALE:OutboundProcess service but after the default ALE mapping info service is called.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    msgType Contains the message type value as determined by this ALE default routing info service.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.

    ALE Mapping Info Default

    To allow mapping for all IDocs, the user might provide a service that implements this specification.

    This service is called prior to sending an IDoc to an SAP system using the pub.sap.transport.ALE:OutboundProcess service.

    Input Parameters

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.

    Return Values

    Field Description
    iDocList Contains the IDoc(s) as an object of the type com.sap.conn.idoc.IDocDocumentList.
    msgType Contains the message type value as determined by this ALE default routing info service.

    XML Routing Info

    To allow routing for incoming XML documents, the user must provide a service that implements this specification.

    This service is called prior to selecting the right routing notification by the routing listener.

    Input Parameters

    Field Description
    node - OR - XML Node object that can be generated by calling XML:xmlStringToXMLNode and is automatically generated when posting an XML document via HTTP (using text/xml).
    document XML in hierarchical structure.

    Note: You can specify the node or document in the input parameters.

    Return Values

    Field Description
    document XML in hierarchical structure.
    sender Contains the sender value as determined by this XML routing info service.
    receiver Contains the receiver value as determined by this XML routing info service.
    msgType Contains the message type value as determined by this XML routing info service.
    $tid TID of the transaction as determined by this XML routing info service.
    $action Optional. The transaction state as determined by this XML routing info service. One of the following codes:
    • 1. Default. Execute.
    • 4. Confirm.

    How to create the SAP® ERP Account

    Let’s understand how to use the SAP® ERP action with the help of an example.

    Let’s say you have a project Test_SAP_ERP. You want to create a SAP® ERP Account.

    To create a SAP® ERP Account, follow the steps given below:

    1. Select Connectors from the menu.
    2. Search SAP® ERP in the Available Connectors section.
    3. Select SAP® ERP connector. This will take you to the Add account configuration screen.

    4. Provide the following details:

      • Connection alias - Provide a suitable name for the account you want to add.
      • User name - Provide the SAP registered user name.
      • Password - Provide the password for the SAP registered user.
      • Client - Provide the 3-digit SAP client number.
      • Repository user name (Optional) - Provide the repository user name.
      • Repository password (Optional) - Provide the password of the repository user.
      • SAP router string (Optional) - Provide the SAP router string.
      • Language - Select the supported language from the dropdown list.
      • Description (Optional) - Provide the description. Click Next.
    5. Select the Connection mode setting selection.

      Click Next.

    6. Provide the details in the Connection mode.

      • If you selected Standard (Default) as the connection mode, provide the following details:

        • Application server - Provide a SAP application server name.
        • System number - Provide a SAP system number (00-99).
      • If you selected Load Balancing as the connection mode, provide the following details:

        • Logon group - Provide the name of the group you want to login.
        • Message server host - Provide a host name or IP address of the message server.
        • Message server service - Provide a SAP message server service.
        • System Id - Provide a SAP system number (00-99).

      Click Next.

    7. Verify the connection details.

      Click Add account.

    8. Select Done.

    You will see the configured custom account.

    How to use the SAP® ERP for RFC invocation

    Let’s understand how to use the SAP® ERP for RFC invocation with the help of an example.

    Let’s say you have a FlowService SAP_ERP_Test_FS inside Test_SAP_ERP project. You want to invoke this FlowService.

    Note: The FlowService SAP_ERP_Test_FS used in the example is a simple FlowService that uses the RFC invocation action from SAP® ERP.

    To invoke and run SAP_ERP_Test_FS(FlowService), you must create an account to connect to SAP® ERP.

    1. Start creating the FlowService. Select SAP® ERP from the dropdown list.
    2. Select Add Custom Operation in the dropdown list next to SAP® ERP. This will redirect you to the Action configuration screen.
    3. Provide the following details:

      • Name * - Provide a name for the action.
      • Description - Provide a description.
      • Connect to account SAP® ERP * - You can select an existing account (if any) from the Select Account dropdown list or select ’+’ to add a new SAP® ERP account.

      Click Next.

    4. Select RFC Invocation action.

      Click Next.

    5. Search and select the RFC function to invoke:

      1. You can perform search with different combinations as shown:

        • Type the exact function name in the Function pattern field. For example: Z_RFC_ADD.
        • Type the exact group name to which the function belongs in the Group pattern field. For example: Z000.
        • Type the function pattern in the Function pattern field. For example: Z_RFC*.
        • Type the group pattern to which the function belongs in the Group pattern field. For example: *. Click Apply.

        In the example, search for Z_RFC*.

      2. Select the function from the list of function names available on the screen.

        In the example, select the Z_RFC_ADD function.

        Click Next.

    6. In the Request Field Selection screen, select the input fields to add.

      In the example, select IP_VALUE1 and IP_VALUE2 input fields.

      Click Next.

    7. In the Reply Field Selection screen, select the output fields to add.

      In the example, select EP_RESULT output field.

      Click Next.

    8. Verify the details.

      Click Add.

    9. Click Done. You will be redirected to the FlowServices screen.

    10. Run the FlowService.

      1. Click the icon and add the values for the input parameters.
      2. Click the icon. The resulting value is displayed.

    How to create and invoke RFC Listeners Notification

    Let’s understand how to use the SAP® ERP RFC Listener Notification with the help of an example.

    Let’s say you have a project Test_SAP_ERP. You want to create a SAP® ERP Listener.

    To create a SAP® ERP Listener follow the steps given below:

    1. Click New listener,select SAP® ERP for Type of listener and SAP® ERP_v1.0 for Select version from the dropdown list. This will redirect you to the Add listener configuration screen.
    2. Provide the following details:

      • Listener name - Provide a unique name for the listener.
      • Program Id - Provide the program id for the listener.
      • Retry limit - Enter the number of times the listener will try to connect to the server.
      • Retry backoff timeout- Provide the delay between each subsequent connection try.

      Click Next.

    3. Select Standard (Default) action.

      Click Next.

    4. Provide the following details in the Connection mode:

      • Gateway host - Provide the host address.
      • Gateway service - Provide the service number.
      • Repository server - Provide the repository server.

      Click Next.

    5. Enable/Disable the logging details.

      • RFC trace - Enable the RFC trace.
      • Log transaction status - Store the transaction status.
      • Store message body - Store the message body.

      Click Next.

    6. Verify the connection details.

      Click Save and Next.

    7. Click Add listener notification. This will redirect you to the Add Listener Notifications screen.

    8. Provide the following details:

      • Name - Provide a unique name for the notification.
      • Description - Provide a description.

      Click Next.

    9. Select RFC Listener Notification (synchronous) action.

      Click Next.

    10. Search and select the RFC function to invoke:

      1. You can perform search with different combinations as shown:

        • Type the exact function name in the Function pattern field. For example: Z_RFC_ADD.
        • Type the exact group name to which the function belongs in the Group pattern field. For example: Z000.
        • Type the function pattern in the Function pattern field. For example: Z_RFC*.
        • Type the group pattern to which the function belongs in the Group pattern field. For example: *. Click Apply.
      2. Select the function from the list of function names available on the screen.

        In the example, select the Z_RFC_ADD function.

        Click Next.

    11. In the Request Field Selection screen, select the input fields to add.

      In the example, select IP_VALUE1 and IP_VALUE2 input fields.

      Click Next.

    12. In the Reply Field Selection screen, select the output fields to add.

      In the example, select EP_RESULT output field.

      Click Next.

    13. Select the service to be invoked from the dropdown list.

      Click Next.

    14. Verify the details.

    15. Click Done. You will see the configured notification.

    16. Invoke the Listener notification using the SAP GUI.

      1. Provide the following details in Test Function Module screen:

        • RFC target sys - Provide the target system id.
        • Import parameters - Provide the input values.

        Note: RFC target sys is the same as Program Id in Listeners.

      2. Click to execute.

    How to create a Document Type for SAP

    Let us see how to create a new document type from an SAP RFC structure or SAP IDoc, that matches the structure of the document and content of the SAP RFC structure or SAP IDoc respectively.

    Let’s say you have a project DocTest_Project.

    To create a SAP® ERP Account, do the following:

    1. Select Configurations > FlowService > Document types.

    2. Click Add Document Type.

    3. In the Add new Document type screen, select SAP®.

      Click Ok.

    4. In the System ID and document screen, provide the following details:

      • Save As - Provide a suitable name for the Document Type you want to add.
      • System ID - Type or select System ID (SID) of the source SAP system.
      • Document type - Select the document type RFC or IDoc.
      • Description - Optional. Provide a description for the document type.

      Click Next.

    5. In the Document details screen, provide the following details:

      • If you selected RFC as the Document type, provide the following details:
        • RFC structure - Select the RFC structure from the dropdown list of cached names. If cached names are not available, you must type the RFC structure name.

      • If you selected IDoc as the Document type, provide the following details:
        • IDoc type - Select the IDoc type expected by the listener notification from the dropdown list of cached names. If cached names are not available, you must type the IDoc type.
        • CIM type(optional) - Provide a IDoc type extension (CIM type / customer extension type).
        • SAP system release(optional) - Provide the IDoc release.
        • Old IDoc type 2 (optional) -
          • Checked for old version 2 IDocs.
          • Unchecked for a new version 3 IDoc.

      Click Save and continue.

    6. In the Overview screen, verify the details and click Done.

      • If you selected RFC as the Document type:

      • If you selected IDoc as the Document type:

      A new Document Type is created.

      Note: You can add, edit, delete, or copy a document type from the Document Types page. To edit an existing document type, on the Document Types page, click the Edit icon for the document type.

    Data Store

    Store and retrieve keys with local and global scope for your workflows.

    Availability: Workflows only

    Actions

    Know how to use Account Store, Flow Store, and Memory Store actions in detail.

    DevOps Tools

    Execute shell commands over SSH connections.

    Availability: Workflows only

    Actions

    Developer Tools

    Developer Tools are the set of in-built services offered by webMethods.io Integration to help you add advanced functionalities to your workflows.

    Availability: Workflows only

    Actions

    Note: If the workflow containing a Global Error Handler timeouts due to some reason, then the workflow execution is not handled by the Global Error Handler.

    Note: The Format Date and Time action supports the following date formats:

    Format Description Example
    MM/DD/YYYY Month/Day of the Month/Year (with leading zeros) 18/11/2009
    M/D/YYYY Month/Day of the Month/Year (with no leading zeros) 2/18/2018
    YYYY/M/D Year/Month/Day of the Month (with no leading zeros) 2009/11/18
    sM/sD/YYYY (space)Month/(space)Day of the Month/Year (with spaces instead of leading zeros)

    Here, ‘s’ represents a blank space that can be inserted before a single-digit day or a single-digit month.
    s1/s9/2006
    YYYY/sM/sD Year/(space)Month/(space)Day of the Month (with spaces instead of leading zeros)

    Here, ‘s’ represents a blank space that can be inserted before a single-digit day or a single-digit month.
    2008/s9/s1
    YYYY-MM-DDThh:mm:ssZ ISO 8601 UTC date and time format 2013-07-16T19:23:51Z

           Error Handler Example

           Let’s say we have a workflow where whenever a new Member is added to a specific Trello Board, the member details are posted to a channel        on Slack and a notification mail is sent to specific recipients.

           To make sure that the workflow execution doesn’t fail abruptly due to any error in the Post Message to Channel action, attach an Error              Handler to it. This Error Handler action will ensure that the workflow execution completes despite error.

           Next, create a success path for the Post Message to Channel action to specify the next action (in this case, Send an Email) that should be        executed if Post Message to Channel action executes without any errors.

    Note: Every action that is attached to an Error Handler must also have a ‘Success Path’. If you don’t create a success path you will get an error similar to the one shown below:

    File

    The File actions let you accomplish certain tasks when working on file-related activities.

    Availability: Workflows only

    Actions

    FTP

    FTP or File Transfer Protocol, is a network protocol used to transfer files among hosts over a TCP-based network or internet.

    Availability: Workflows and FlowServices

    Note: The FTP connector cannot be used in both Workflows and FlowServices with the same account. You must create seperate accounts.

    Workflow Actions

    FlowService Actions

    FTP Predefined Operations

    The following predefined FTP operations are available:

    getFile

    Retrieves a file from a remote FTP server.

    Input Parameters

    remoteFile String Name of the remote file.
    transferType String FTP file transfer mode (ASCII or binary). The default is ASCII.

    Output Parameters

    contentStream Object A java.io.InputStream object.
    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    listFiles

    Returns a list of file names in a specified remote directory. If path is not specified, the operation retrieves the file listing of the current remote directory. The operation also retrieves additional details such as permissions and ownership information.

    Input Parameters

    remotePath String Optional. Absolute or relative path of the remote directory. If remotepath is not specified, the listFiles operation retrieves the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.
    listFilter String Optional. Filter that specifies the names of the files to include in the list (for example, *.txt).

    Output Parameters

    fileList [] String List List of file names matching listFilter.
    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    deleteFiles

    Delete file(s) from a remote FTP server.

    Input Parameters

    remotePath String Optional. Absolute or relative path of the remote directory. If remotepath is not specified, the deleteFiles operation deletes the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.
    deleteFilter String Optional. Filter that specifies the names of the files to be deleted (for example, *.txt).

    Output Parameters

    filesDeleted [] String List List of deleted files that match the deleteFilter.
    filesNotDeleted [] String List List of files not deleted.
    statuscode String Standard FTP protocol status code.
    statusmsg String Standard FTP protocol status message.

    putFile

    Transfers a file to a remote FTP server.

    Input Parameters

    remoteFile String The name of the remote file.
    transferType String FTP file transfer mode (ascii or binary). The default is ascii.
    writeOption String Optional. Indicates whether to send a STOR or a STOU (Store as Unique File) command to the remote FTP server. Set to:
  • true to send a STOU (Store as Unique File) command.
  • false to send a STOR command. This is the default.
  • contentStream java.io.InputStream, byte[ ], or String Data to be transferred to the remote file.

    Output Parameters

    statusCode String Standard FTP protocol status code.
    statusMessage String Standard FTP protocol status message.

    Usage Notes

    Some FTP servers do not support “putting” a unique file. When using the putFile operation to put a unique file to an FTP server that does not support putting a unique file, you may encounter the following error:

    com.wm.app.b2b.server.ServiceException: 500 'STOU': command not understood.

    renameFile

    Renames a file on a remote FTP server.

    Input Parameters

    oldFileName String Fully qualified name of the file you want to rename (for example, temp/oldfilename.txt).
    newFileName String Fully qualified name of the new file (for example, temp/newfilename.txt).

    Output Parameters

    StatusCode String Standard FTP protocol status code.
    StatusMessage String Standard FTP protocol status message.

    GitHub

    GitHub is a website for storing your project’s files. It is a Git repository hosting service which helps you manage projects, build software along other developers, and use version control.

    Availability: Workflows only

    Triggers

    Actions

    Google Apps Admin

    The Google Apps Admin actions let you perform important admin related tasks, helping you organize, manage, and control business operations easily.

    Availability: Workflows and FlowServices

    Actions

    Google BigQuery

    Google BigQuery is a popular serverless data warehouse which provides efficient functions to help you analyze your big data and make informed decisions.

    Availability: Workflows and FlowServices

    Actions

    Custom Actions

    Google BigQuery connector also lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    Google Cloud PubSub

    Google Cloud PubSub is a real-time messaging service that allows you to send and receive messages among independent applications and services.

    Availability: Workflows and FlowServices

    Actions

    Heroku

    Heroku is a cloud-based platform as a service (PaaS) tool supporting several programming languages. It enables the developers to build, run, and operate the applications across languages such as Java, Node.js, Scala, Clojure, Python, PHP, and Go.

    Availability: Workflows only

    Triggers

    Actions

    HTTP

    HTTP is the in-built action provided by webMethods.io Integration to make HTTP/HTTPS requests to servers.

    Availability: Workflows only

    Actions

    Note: The URL to which you want to make the HTTP request should contain a valid security certificate.

    Hypertext Transfer Protocol

    Hyperttext Transfer Protocol is a predefined connector provided by webMethods.io Integration and can be used to send HTTP or HTTPS requests to web servers from within the webMethods.io Integration environment.

    Availability: FlowServices

    Actions

    Note: All connection-related fields such as URLs, passwords, and timeouts can be specified using an account. During runtime, the values associated with the selected account are used. Additionally, you have a choice to specify the values in a Pipeline. In this case, the values specified in the Pipeline are used instead of the values configured in the account.

    JSON Tools

    JSON Tools let you perform various operations on JSON data.

    Availability: Workflows only

    Actions

    JotForm

    JotForm is an online form creation tool that helps users publish forms and receive responses.

    Availability: Workflows only

    Triggers

    Actions

    Loop

    Availability: Workflows only

    Actions

    Logger

    The Logger action lets you output a message to the console. This message can be any data such as a static string or previous action’s data (up to 256 KB). In case the given message exceeds 256 KB, you will get the “{ [Message Size Too Large] }” string.

    Note: The input/output tabs that show the input/output of the executed action in the Debug Panel have been removed for the Logger action.

    Availability: Workflows only

    Mailgun

    Mailgun is a cloud-based email service used by developers for sending, receiving, and tracking email messages sent through websites and applications. The intelligent inbound routing and storage provided by Mailgun allows you to know exactly where your messages are going.

    Availability: FlowServices only

    Actions

    Custom Actions

    Mailgun connector also lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    MQTT

    MQTT (Message Queuing Telemetry Protocol) is a publish-subscribe based messaging protocol working at the top of the TCP/IP protocol. It sets up the connections with remote locations where there is a limited network bandwidth.

    Availability: Workflows only

    Triggers

    MongoDB Atlas

    MongoDB Atlas is a global cloud database service that allows you to leverage the latest MongoDB features while automating several database operations and administration tasks efficiently.

    Availability: Workflows only

    Actions

    OAuth 1.0 Keys

    OAuth 1.0 Keys is the in-built action provided by webMethods.io Integration to generate OAuth 1.0 parameters. The parameters obtained from the result of this action can be used to make REST API requests.

    Availability: Workflows only

    Actions

    OData v2.0

    OData v2.0 allows you to create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    Availability: Workflows and FlowServices

    API Versions: 2

    API Types: REST

    Authentication and Authorization: Basic authentication

    Key Capabilities: Custom Fields support

    Prerequisites:

    Custom Actions

    OData v2.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    OData v4.0

    OData v4.0 allows you to create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    Availability: Workflows and FlowServices

    API Versions: 4

    API Types: REST

    Authentication and Authorization: OAuth v2.0 and Credentials

    Key Capabilities: Custom Fields support

    Prerequisites:

    Custom Actions

    OData v4.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    Operations

    Availability: Workflows only

    Actions

    Pastebin

    Pastebin is an online text sharing application that allows users to upload and share texts. You can upload and share any kind of text through public posts called pastes. The most common usage of this is to share or review (collaborate) source code.

    Availability: Workflows and FlowServices

    Actions

    Pretty Good Privacy

    The Pretty Good Privacy (PGP) connector provides a set of built-in PGP services which can be used to encrypt, decrypt, sign, and verify the stream or bytes of data.

    Availability: FlowServices

    Actions

    Note: Data up to 1GB can be uploaded and tested for PGP Encryption and Decryption operations.

    PubNub

    PubNub is a global data stream network (DNS) that enables real-time message streaming among web, mobile and the IoT applications. The device signalling and publish/subscribe model of PubNub supports capabilities such as WebSockets, Socket.IO, SignalR, and so on.

    Availability: Workflows and FlowServices

    Triggers

    Actions

    Pushbullet

    Pushbullet is a service that connects your mobile and desktop OSes. It is one of the fastest methods to get files, notes, links, contacts, etc. from your desktop computer to your mobile device, and vice versa.

    Availability: Workflows only

    Actions

    QuickBase

    Quick Base is a custom application building platform that empowers you to quickly and easily build applications to manage and improve processes.

    Availability: Workflows only

    Triggers

    Actions

    Robin

    Robin connector provides developers with the ability to build applications that interact with the Robin platform, giving them access to their team’s data such as locations, spaces, and presence.

    Availability: Workflows and FlowServices

    Custom Actions

    Robin connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do. To know more about how to create custom actions, click here.

    Raw Engineering Backend

    Raw Engineering Backend is a backend-as-a-service (BaaS) provider. It takes care of the back end requirements and helps you create efficient mobile and web apps quickly.

    Availability: Workflows only

    Triggers

    Actions

    Runscope

    Runscope is a simple API monitoring and testing tool that helps users to solve complex API problems and ensure optimal API performance at all times.

    Availability: Workflows only

    Actions

    SAP S/4HANA® Cloud OData v2.0

    SAP S/4HANA® Cloud allows you to perform create, update, query, read and delete operation on supported entities using the OData based REST interface.

    Availability: Workflows and FlowServices

    Actions

    Custom Actions

    SAP S/4HANA® Cloud OData v2.0 connector lets you create your own custom actions for performing specific tasks. The actions you create look and work exactly like the other actions do.

    To know more about how to create custom actions, click here.

    SFTP

    SFTP or Secure File Transfer Protocol is a secure version of the FTP (File Transfer Protocol), which processes the data access and data transfer over a Secure Shell (SSH) data stream.

    Availability: Workflows and FlowServices

    Note: The SFTP connector cannot be used in both Workflows and FlowServices with the same account. You must create seperate accounts.

    Workflow Actions

    FlowService Actions

    SFTP Predefined Operations

    The following predefined SFTP operations are available:

    cd

    Changes the working directory on the remote SFTP server.

    Input Parameters

    path String Absolute or relative path of the directory that you want as the working directory on the remote SFTP server.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chgrp

    Changes the group ownership of one or more remote files.

    Input Parameters

    groupId String Numeric group identifier of the group to which you want to transfer ownership of the remote files.
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chmod

    Changes permissions of one or more remote files.

    Input Parameters

    mode String The permission mode to apply to the remote file (for example, 777).
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    chown

    Changes the owning user of one or more remote files.

    Input Parameters

    uid String Numeric user ID of the new owning user of the file.
    path String Absolute or relative path of the remote files.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    get

    Retrieves a file from a remote SFTP server.

    Input Parameters

    remoteFile String Absolute or relative path of the remote file.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    contentStream Object A java.io.InputStream object.

    ls

    Retrieves the remote directory listing of the specified path. If path is not specified, the ls service retrieves the file listing of the current remote directory. The ls service also retrieves additional details such as permissions and ownership information.

    Input Parameters

    path String Optional. Absolute or relative path of the remote directory. If no path is specified, the ls service retrieves the directory listing of the current remote directory. You can use the wildcard characters asterisk (*) and question mark (?) after the last slash mark (/) to view all remote directories that match the specified path.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    dirList Document List of directories matching the pattern specified in the path parameter. This document has the following parameters:
  • fileName: String Specifies the name of the remote file.
  • fileSize: String Specifies the size of the remote file.
  • permissions: String Specifies the access permission of the file (read, write, or execute).
  • lastAccessTime: String Specifies the time when the file was last accessed.
  • lastModifiedTime: String Specifies the time when the file was last modified.
  • uid: String Specifies the user ID of the file owner.
  • gid: String Specifies the group ID associated with the file.
  • longName: String Specifies the long name of the ls entry. It contains all the parameters separated by a space.
  • mkdir

    Creates a new remote directory.

    Input Parameters

    path String Absolute or relative path of the remote directory where you want to create a new directory.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    put

    Transfers a file to a remote SFTP server.

    Input Parameters

    contentStream java.io.InputStream Data to be transferred to the remote file.
    remoteFile String Absolute or relative path of the remote file to which the contentStream would be written based on the mode.
    mode String Optional. Specifies how the local file is to be transferred to the remote SFTP server. Set to:
  • overwrite to overwrite the contents of the remote file with the contents of the contentStream. This is the default.
  • append to append the entire contents of the contentStream to the remote file.
  • resume to resume writing the contents of the contentStream to the remote file from the point the writing was stopped during previous SFTP sessions.
  • Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    pwd

    Displays the remote working directory in the SFTP server.

    Input Parameters

    None.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.
    path String Absolute or relative path of the working directory on the remote SFTP server.

    rename

    Renames a file or directory on a remote SFTP server.

    Input Parameters

    oldPath String Fully qualified name of the file you want to rename (for example, temp/oldname.txt).
    newPath String New fully qualified name for the file (for example, temp/newname.txt).

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    rm

    Deletes one or more remote files on the SFTP server.

    Input Parameters

    path String Absolute or relative path of the file you want to delete.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    rmdir

    Deletes one or more remote directories on the SFTP server.

    Input Parameters

    path String Absolute or relative path of the directory you want to delete.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    Usage Notes

    The remote directories that you want to delete must be empty.

    Creates a symbolic link between the old path and the new path of a file.

    Input Parameters

    oldPath String Old path of the file for which you want to create a symbolic link.
    newPath String New path of the file to which the symbolic link should point.

    Output Parameters

    returnCode String Standard SFTP protocol return code.
    returnMsg String Text message describing the return code.

    SendGrid

    SendGrid is a cloud-based email delivery service which lets you send emails easily.

    Availability: Workflows and FlowServices

    Actions

    Siteleaf

    Siteleaf is an online content management system that allows users to create, edit, and maintain websites.

    Availability: Workflows only

    Triggers

    Actions

    Common Questions

    How to retrieve the API key and API Secret for Siteleaf?

    Note: To retrieve or access the API key and API Secret for Siteleaf, ensure that you are an admin or account owner of the Siteleaf account.

    Whenever you try to create a Siteleaf account for configuring a trigger or action, you will see the following window:

    To retrieve the API key and API Secret for Siteleaf, follow the steps given below:

    1. Login to your Siteleaf account

      Once you login, click on the Settings option listed in the left-side panel.

    2. Retrieve the API key and API secret

      On clicking the Settings option, a window will appear on screen. From the right panel of the window, click on the Account Settings option.

      On clicking this option, you will be redirected to the My Account screen. Click on the API tab listed on top.

      In the window that appears, you will see theAPI KEY and API SECRET associated with your Siteleaf account.

      Copy and paste the API key and API secret in the API Key and API Secret fields respectively in the Connect to Siteleaf window in WebMethods.io Integration and then click ADD

      An account will be automatically created and added under Connect to Siteleaf field. Once added, this account will be available in all Siteleaf actions and triggers.

    SMTP

    SMTP (Simple Mail Transfer Protocol) is a TCP-IP protocol that lets you send and receive emails.

    Availability: Workflows and FlowServices

    Note: The SMTP connector cannot be used in both Workflows and FlowServices with the same account. You must create seperate accounts.

    Workflow Actions

    FlowService Actions

    SMTP Predefined Operation

    sendEmail

    Sends emails to specified recipients. You can attach one or more files to the message.

    Input Parameters

    from String Optional. E-mail address of the sender.
    to String Optional. E-mail address of the receiver. If you specify multiple addresses, separate them with commas.
    subject String Subject of the message.
    body String The content of the message.
    cc: String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas.
    bcc: String Optional. E-mail addresses of additional receivers. If you specify multiple addresses, separate them with commas.
    subjectCharSet: String Optional. The character set used to encode the subject. Default: UTF-8.
    bodyCharSet: String Optional. The character set used to encode the email message. Default: UTF-8.
    attachments Document List Attachments to the email message.
    Key Description
    contenttype String Content type of the attachment. For example: application/pdf.
      content byte[ ], String, or java.io.InputStream Content of the attachment.
    filename String Name to assign to the attachment.
    encoding String Encoding of the attachment, for example, base64 or 7bit. If encoding is not specified, 7bit is used.
    charset String Character set encoding of the attachment. If charset is not specified, then UTF-8 encoding is used.

    Note: Rich content, such as HTML, can be sent by email in the same way but you must take care of the following points:

    • body: The field must remain blank.

    • Attachments:

      • contenttype: Type text/html.

      • Content: Content of the attachment in the HTML format.

    Output Parameters

    status String Final status of the operation.

    Usage Notes

    Snowflake

    Snowflake is a cloud-based data warehouse that is not only easier to use but also faster, reliable, and flexible when compared to traditional data warehouses.

    Availability: Workflows only

    Triggers

    Note: For setting up this trigger, you will have to create a column with ‘timestamp’ value in the specified table. This is a ‘Timestamp Column’. The ‘Timestamp Column’ is a column that is updated to the current timestamp whenever a row in the specified table is added or updated.

    Note: For setting up this trigger, you will have to create a column with ‘timestamp’ value in the specified table. This is a ‘Timestamp Column’. The ‘Timestamp Column’ is a column that is updated to the current timestamp whenever new rows in the specified table are added or updated.

    Actions

    Note: Currently, this action loads data files from only one external location - Amazon S3 bucket.

    Common Questions

    How to find the account name for Snowflake

    To find the account name for your Snowflake account, follow the instructions given below:

    Stripe

    Stripe offers services that allow individuals and businesses to accept payments over the Internet.

    Availability: Workflows only

    Triggers

    Actions

    Syniverse

    Syniverse provides business solutions to mobile service providers and facilitates connectivity and interoperability with a wide range of services.

    Availability: Workflows only

    Actions

    Transform

    Availability: Workflows only

    Actions

    Note: JSON consists of 6 data types - string, number, boolean, null, object, and array. Since JSON does not have a Date type, it encodes dates as ISO 8601 strings. Hence, for the XLS to JSON action to interpret dates correctly, the ‘Date’ or ‘Time’ data-type field should always have a value in DateTime format or the column should be converted into a ‘String’ data-type.

    USgeocoder

    USgeocoder is a customizable Geographic Information System (GIS) web application.

    Availability: Workflows only

    Actions

    Weather Underground

    Weather Underground is a weather service that provides real-time weather information over the Internet.

    Availability: Workflows and FlowServices

    Actions

    Webmethods Cloud Container

    Availability: Workflows and FlowServices

    webMethods Cloud Container is a custom connector that allows you to invoke and execute FlowServices (or any executable node) created in your cloud container environment on the webMethods.io Integration platform.

    How to use webMethods Cloud Container

    Let’s understand how to use the webMethods Cloud Container connector with the help of an example.

    Let’s say you have a FlowService on your cloud container environment named add(flow_service) inside solution(test). You want to invoke this FlowService and execute it on the webMethods.io Integration platform.

    Note: The FlowService add(flow_service) used in the example is a simple FlowService that adds two numbers.

    To invoke and execute add(flow_service) and use the results in Workflows in webMethods.io integration, we will have to use the webMethods Cloud Container connector. To do so, follow the steps given below:

    1. Add webMethods Cloud Container connector on canvas

      Add webMethods Cloud Container connector on canvas and connect it to the Start and Stop icons as shown below:

    2. Add/select custom action

      Double-click the webMethods Cloud Container connector icon and click on the + button to start creating a custom action.

      This will redirect you to the ‘Add Custom Action’ configuration screen.

      Note: You can alternatively select an existing action (if any) by clicking the Select Action drop-down field.

    3. Connect to a webMethods Cloud Container account

      Select an existing webMethods Cloud Container account (if any) by clicking the drop-down icon or click on the ‘+’ button to add a new webMethods Cloud Container account.

      This will take you to the ‘Add Account’ configuration screen where you will need to provide the following details:

      • Account Name - Provide a suitable name for the account you want to add.
      • Server URL - Enter the cloud server URL where your on-premises assets are deployed. E.g., https://sample.container.webmcloud.com/
      • User Name - Enter the user name associated with the account on the cloud server.
      • Password - Enter the password for the specified user name.
      • Response Timeout - Enter the duration (in milliseconds) for which you want webMethods.io Integration to wait for a response before canceling its attempt to connect to the backend. In case the network is slow or the backend processing takes longer than usual or if your service takes longer time to execute then, increase the Response Timeout value. It is recommended to specify a value other than 0. If you specify 0, webMethods.io Integration will wait indefinitely for a response.

      Once you have entered all the relevant details, click Add.

      This will take you back to the ‘Add Custom Action’ configuration screen.

      Note: Now, if you click on the Connect to Webmethods Cloud Container drop-down icon, you will see the added account in the list. This account can now be used to execute any webMethods Cloud Container custom action created under the same project.

      Once you have added/selected an account, provide a suitable name and description for the action you are about to create, and then click Next.

    4. Select the operation to be performed

      By default, only one operation - Execute - is available. Select the ‘Execute’ operation and click Next.

    5. Select the Input Business Object

      Here, you will see all the available Solutions that are present in the specified cloud container environment. Select the input business object to be associated with the selected Execute operation.

      Here, in our example, we have only one solution(test) in the specified cloud container environment.

      Click on the expand icon to see the available Integration Servers and packages associated with the cloud container environment.

      We will select the add(flow_service) service from the (add)package package as the input business object and then click Next.

      This will take you to the ‘Select the Data Fields’ configuration screen where you will see the Input and Output data fields of the service add(flow_service).

      Note: The data fields that are displayed will be the same as you see in your cloud container environment. By default, the data fields for the Business Object are mandatory and cannot be cleared.

      Click Next to continue.

    6. Confirm the action

      The next step is to verify and confirm the custom action. Once this is done, click Done.

      With this, the custom action will be created successfully.

      You can optionally change the default custom action name and then click Next.

      You will be redirected to the custom action configuration window. Provide values for all the required fields while configuring an action, and then click Next.

      You will be redirected to the Test this action window where you can check if the action is working as expected before executing the workflow. To do so, click on the Test button.

      If the custom action is configured correctly, you will see the output data for the action.

      With this, we have verified that add(flow_service) has been successfully executed on your cloud container environment and the results are returned to webMethods.io Integration as expected.

      Next, save the workflow by clicking on the Save button located at the top-right corner of the canvas.

    Editing a webMethods Cloud Container action

    You can edit an existing custom action created using the webMethods Cloud Container connector.

    To do so, follow the steps given below:

    1. Drag and drop the webMethods Cloud Container from the CONNECTORS panel and double-click on the connector icon.

      The ‘webMethods Cloud Container’ window will appear on the screen.

    2. Click on the Select Action drop-down icon , select the custom action you want to edit, and then click the Edit button.

      Here, in our example, we had created a custom action named test. So, we see only one created custom action in the drop-down list.

    3. You can now make relevant edits to the custom action based on your requirements. Once done, you can execute the action as you would normally do.
    4. Note: You can edit the account description and select the required business objects associated with the execute operation. The business object can only be selected from the available FlowServices (solutions) that are present in the specified cloud container environment.

    Deleting a webMethods Cloud Container action

    You can delete an existing custom action created using the webMethods Cloud Container connector.

    To do so, follow the steps given below:

    1. Drag and drop the webMethods Cloud Container from the CONNECTORS panel and double-click on the connector icon.

      The ‘webMethods Cloud Container’ window will appear on the screen.

    2. Click on the Select Action drop-down icon , select the custom action you want to de;ete, and then click the Delete button.

      Here, in our example, we had created a custom action named test. So, we see only one created custom action in the drop-down list.

      You will be prompted to confirm the deletion request. Click on Delete. This will permanently remove the custom action from your tenant.