SAPRequest node

Use the SAPRequest node to send requests to an SAP application.

Purpose

Use the SAPRequest node to send requests to SAP applications. For example, the SAPRequest node might request information from an SAP Enterprise Information System (EIS). A customer business object is sent to SAP, causing SAP to retrieve information about a customer, such as an address and account details. The response information that is retrieved by the SAPRequest node can then be used by the rest of the message flow. The SAPRequest node can send and receive business data.

The SAPRequest node is contained in the WebSphere Adapters drawer of the message flow node palette, and is represented in the IBM App Connect Enterprise Toolkit by the following icon:

SAPRequest node icon

Using the SAPRequest node in a message flow

The SAPRequest node needs an adapter component to function correctly. You set the component by using the Adapter component node property and business object definitions, which are stored in the message set that you reference from the node. For this reason, you must provide a message set. By default, the message that is propagated from the SAPRequest node is in the DataObject domain, so that the Message domain property is set to DataObject. You cannot specify a different domain. The node automatically detects the message type.

To maximize performance and avoid unnecessary data conversion, ensure that messages that are passed to the SAPRequest node contain the correct data types. The DataObject domain is the default domain when parsing messages that are produced by the SAPRequest node. However, when passing data to the SAPRequest node (for example, by using an MQInput node), the use of a different domain can improve performance. For example, use the XMLNSC parser with the MQInput node to parse XML messages.

The SAPRequest node supports local transactions by using the Local Transaction Manager of the integration node.

You can deploy several WebSphere® Adapters request nodes that use the same adapter component to an integration server.

The SAPRequest node can use an identity that is present on an input message, and propagate it to SAP, by using the Propagate property on the security profile that is defined on the node. For more information, see Propagating security credentials to Siebel and SAP requests.

To effectively maintain the pool of connections to SAP, you can set a connection timeout value on a policy. By default, the Connection idle timeout property on the policy is set to zero, indicating that no timeout occurs. However, new connections to SAP are opened with different user IDs, therefore do not set this property to zero if you are using identity propagation. For more information, see Configuring EIS connections to expire after a specified time.

You can use the mqsisetdbparms command in the following format to configure an account name with a user name and password for the Adapter for SAP Software. The mqsisetdbparms command stores the password in case-sensitive form. However, when the SAP GUI sets a password, it automatically converts the password to uppercase. Therefore, specify an uppercase password to connect to the SAP system.
mqsisetdbparms -w workDir -n adapter name -u user name -p PASSWORD
For example:
mqsisetdbparms -w c:\workdir\ACEServ1 -n eis::SAPCustomerOutbound.outadapter -u sapuid -p ********

Using policies for SAP nodes

SAP nodes can get SAP connection details from either the adapter component or a policy. By using a policy, you can change the connection details for an adapter without the need to redeploy the adapter. For more details about using policies for SAP, see Changing connection details for SAP adapters.

Terminals and properties

When you have put an instance of the SAPRequest node into a message flow, you can configure it; see Configuring a message flow node. The properties of the node are displayed in the Properties view. If you double-click an SAPRequest node, you open the Adapter Connection wizard. All mandatory properties for which you must enter a value (those that do not have a default value defined) are marked with an asterisk.

The SAPRequest node terminals are described in the following table.

Terminal Description
In The input terminal that accepts the request business object.
Out The output terminal to which the response business object is sent if it represents successful completion of the request, and if further processing is required within this message flow.
Failure If an error occurs in the SAPRequest node, the message is propagated to the Failure terminal. Information about the error, and business object events can also be propagated to the Failure terminal.

The following tables describe the node properties. The columns headed M indicate whether the property is mandatory (marked with an asterisk on the panel if you must enter a value when no default is defined); the columns headed C indicate whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).

The SAPRequest node Description properties are described in the following table.
Property M C Default Description
Node name No No The node type, SAPRequest The name of the node.
Short description No No   A brief description of the node.
Long description No No   Text that describes the purpose of the node in the message flow.
The SAPRequest node Basic properties are described in the following table.
Property M C Default Description mqsiapplybaroverride command property
Primary adapter component Yes No   The name of the adapter component that contains configuration properties for the adapter. Either enter a name of an adapter file, or click Browse to select an adapter file from the list of files that are available in referenced message set projects.

When the SAPRequest node receives data from the SAP system, it associates that data with a method name. The SAPRequest node attempts to call methods that are defined in the primary adapter. If the method is not defined in the primary adapter, the node can call methods that are defined in matching secondary adapters that are deployed to the same integration server.

You can override the properties in the adapter file at run time by creating an SAP Connection policy that has the same name as the adapter file. The policy must be defined in the default policy project for the integration server. For more information, see Changing connection details for SAP adapters.

 
Secondary adapter mode No Yes None Specifies whether the node can call methods that are defined in secondary adapters.

If you set the Secondary adapter mode property to None, the SAPRequest node calls only methods that are defined in the primary adapter. If the method is not defined in the primary adapter, an error occurs.

If you set this property to All adapters in application, the node can call methods that are defined in matching SAP outbound adapters that are deployed to the same application. If the node is deployed as an independent resource (that is, it is not contained within an application), the node can call methods that are defined in any SAP outbound adapter that is also deployed as an independent resource.

secondaryAdapterMode
Default method Yes Yes   The default method binding to use. This property lists the methods that are defined by the adapter. You can override this property by setting the method name in the LocalEnvironment.Adapter subtree. For more information, see Local environment tree structure.

The method names correspond to the Service Operation names, which are configured by the Adapter Connection wizard. In most cases, the names are based on the name of the service that is being discovered (for example, a BAPI).

defaultMethod
The SAPRequest node Response Message Parsing properties are described in the following table.
Property M C Default Description
Message domain No No DataObject The domain that is used to parse the response message. By default, the message that is propagated from the SAPRequest node is in the DataObject domain. You cannot specify a different domain.
Message model Yes No Set automatically The name or location of the message model schema file in which the incoming message is defined. This field is set automatically from the Adapter component property.

If you set this property, then subsequently update the project dependencies to remove this message model reference, a warning is issued. Either update the Message model property, or restore the reference to this message model.

Message No No   The name of the response message. The node detects the message type automatically. You cannot set this property.
Physical format No No   The name of the physical format of the response message. You cannot set this property.
The SAPRequest node Transactionality properties are described in the following table.
Property M C Default Description
Transaction mode No No Automatic Specifies how updates are handled.
  • If you select Yes, the SAPRequest node takes part in the local transaction that is started by the message flow's input node.
  • If you select No, the SAPRequest node does not take part in the local transaction that is started by the message flow's input node.
  • If you select Automatic, the SAPRequest node uses the value that is set on the input node that drives the message flow. For example, if the message flow is driven by an SAPInput node, the SAPRequest assumes the Transaction mode that is set on the SAPInput node.

For more information about transactionality, see SAP BAPI transaction commit.

The SAPRequest node Request properties are described in the following table.
Property M C Default Description
Method Location Yes No $LocalEnvironment/Adapter/MethodName The location of the business method (such as createPurchaseOrder or deletePurchaseOrder) that is used to trigger the SAPRequest node to perform an action on the external system.
Data Location Yes No $Body The location in the incoming message tree from which data is retrieved to form the request that is sent from the SAPRequest node to the EIS.
The SAPRequest node Result properties are described in the following table.
Property M C Default Description
Output data location No No $OutputRoot The message tree location to which the SAPRequest node sends output.
Copy local environment No No Selected This property controls how the local environment is copied to the output message. If you select this check box, a new copy of the local environment is created in the tree (at each node in the message flow), and it is populated with the contents of the local environment from the preceding node. Therefore, if a node changes the local environment, the previous nodes in the flow do not see those changes because they have their own copies. This behavior might be an issue if you are using a FlowOrder node, or if you use the propagate command on a Compute node.

If you clear the check box, each node does not generate its own copy of the local environment, but it uses the local environment that is passed to it by the previous node. Therefore, if a node changes the local environment, those changes are seen by the upstream nodes.

The SAPRequest node Security properties are described in the following table.

Property M C Default Description
Security profile No No None This property specifies the name of the security profile that defines the security operations that are completed by the node in the message flow.

For more information, see Security profiles and Creating a security profile.

The Monitoring properties of the node are described in the following table.
Property M C Default Description
Events No No None Events that you have defined for the node are displayed on this tab. By default, no monitoring events are defined on any node in a message flow. Use Add, Edit, and Delete to create, change or delete monitoring events for the node.

You can enable and disable events that are shown here by selecting or clearing the Enabled check box.