Microsoft BizTalk Adapter for mySAP Business Suite Help

Welcome to Microsoft BizTalk Adapter for mySAP Business Suite Help, which includes a variety of resources that can help you learn to develop, deploy, administer, and use the SAP adapter.

Getting started icon | Getting Started Information about new features, limitations, prerequisites, and topics for users who are new to the SAP adapter.
Tutorials icon | SAP Adapter Tutorials Step-by-step instructions for learning how to use the SAP adapter for specific scenarios.
Adapter Architecture icon | Planning and Architecture Architectural overview of the SAP adapter.
Adapter Development icon | Development Instructions on how to use the adapters with BizTalk Server, the Windows Communication Foundation (WCF) service model, and the WCF channel model.
Adapter Deployment icon | Deployment Information about installing the SAP adapter, migrating from previous versions of the adapter, and troubleshooting the installation.
Adapter Troubleshooting icon | Troubleshooting Information about enabling tracing and about troubleshooting issues with the BizTalk Adapter Pack and with the SAP adapter, in particular.
Adapter Samples icon | Samples Samples demonstrating how to use the Microsoft BizTalk Adapter for mySAP Business Suite.
Community resources icon | Community Resources Information about how to get assistance with the BizTalk Adapter Pack.

© 2014 Microsoft Corporation. All rights reserved.


Getting Started

This section provides an overview of the adapter, prerequisites, and topics for users who are new to Microsoft BizTalk Adapter Pack. It discusses the features of Microsoft BizTalk Adapter for mySAP Business Suite and the different operations that can be performed on the SAP system using the adapter.

What is an adapter? An adapter is a software component that enables you to send and receive messages to and from a line-of-business (LOB) system. The primary design goal of adapters is to facilitate the exchange of business documents between trading partners. Because each business system may adhere to specific document formats and protocols, the adapter must use a delivery mechanism that conforms to commonly recognized standards and protocols to provide a uniform interface to the users.

The adapters can be divided into two broad categories:

  • LOB adapters. Such adapters provide service-oriented programming model to access LOB systems—for example, adapters for SAP or Siebel.

  • Data adapters. Such adapters provide service-oriented programming model to access databases—for example, an adapter for the Oracle database or SQL Server.

There are five adapters in the BizTalk Adapter Pack:

  • Microsoft BizTalk Adapter for SQL Server (the SQL adapter)

  • Microsoft BizTalk Adapter for Oracle E-Business Suite (the Oracle E-Business adapter)

  • Microsoft BizTalk Adapter for Oracle Database (the Oracle Database adapter)

  • Microsoft BizTalk Adapter for mySAP Business Suite (the SAP adapter), including .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP)

  • Microsoft BizTalk Adapter for Siebel eBusiness Applications (the Siebel adapter), including .NET Framework Data Provider for Siebel eBusiness Applications (Data Provider for Siebel)

    Note
    The Siebel adapter is not available for 64-bit platforms.

If you do not already know how you want to use the SAP adapter at your company, it is recommended that you start by exploring features and functionality of the adapter described in Understanding BizTalk Adapter for mySAP Business Suite.

In This Section

  • Prerequisite Skills and Knowledge

  • Common Administrative Tasks

  • Common Developer Tasks

  • Understanding BizTalk Adapter for mySAP Business Suite

  • SAP Adapter Tutorials

  • Community Resources

  • Frequently Asked Questions

© 2014 Microsoft Corporation. All rights reserved.


Prerequisite Skills and Knowledge
See Also

The potential users for the BizTalk Adapter Pack are:

  • Developers who directly program to the adapters.

  • IT professionals who consume the adapters using other integration platforms like Microsoft BizTalk Server and other tools.

  • Independent software vendors (ISVs) who build solutions on top of the adapters.

The prerequisite skills and knowledge required for each role are detailed below.

Prerequisites for Developers

A developer using Microsoft BizTalk Adapter for mySAP Business Suite must be at least moderately experienced with the use of:

  • Microsoft Visual Studio 2013 with the development of .NET solutions

  • Programming with the .NET Framework 4.5 or .NET Framework 4.5.1.

  • Programming with the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK

  • Extensible Markup Language (XML)

  • XML Schema definition (XSD) language

  • Web Services Description Language (WSDL)

Prerequisites for IT Professionals

An IT professional using the SAP adapter must be at least moderately experienced with the use of:

  • SQL Server Integration Services (SSIS)

  • SQL Server Reporting Services (SSRS)

  • BizTalk Server 2013 R2

  • Windows SharePoint Services

Prerequisites for ISVs

ISVs using the SAP adapter must be at least moderately experienced with:

  • The internal workings and concepts of SAP to be able to build applications on top of the adapters

  • Programming with the .NET Framework 4.5 or .NET Framework 4.5.1.

  • The WCF LOB Adapter SDK

See Also

Other Resources

Getting Started
Understanding BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Common Administrative Tasks

The following table provides links to topics helpful for deploying, using, and maintaining Microsoft BizTalk Adapter for mySAP Business Suite.

Administrative Tasks

  • SAP Adapter Tutorials

  • Deployment

Planning and Architecture

  • Architecture for BizTalk Adapter for mySAP Business Suite

  • Understanding BizTalk Adapter for mySAP Business Suite

  • Security and Protection

Other Resources

  • Community Resources

  • Glossary

See Also

Concepts

Common Developer Tasks

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Common Developer Tasks

The following table provides links to topics useful for developing applications on top of Microsoft BizTalk Adapter for mySAP Business Suite.

Developer Tasks

  • Establishing a Connection to the SAP System

  • Developing BizTalk Applications

  • Developing Applications by Using the WCF Service Model

  • Developing Applications by Using the WCF Channel Model

  • Using the .NET Framework Data Provider for mySAP Business Suite

Planning and Architecture

  • Architecture for BizTalk Adapter for mySAP Business Suite

  • Understanding BizTalk Adapter for mySAP Business Suite

  • Security and Protection

Other Resources

  • Community Resources

  • Troubleshooting

  • Technical Reference

  • Glossary

See Also

Concepts

Common Administrative Tasks

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Understanding BizTalk Adapter for mySAP Business Suite

The BizTalk Adapter Pack enables service-oriented programmatic access in order to interact with an external system. The adapters provide the following advantages to clients:

  • Consistent design-time experience. The adapters provide a common and user-friendly design time experience for browsing, searching, and retrieving metadata of LOB artifacts.

  • Varied programming options. The adapters provide a choice of programming model including Windows Communication Foundation (WCF) channel model, WCF service model, ADO.NET, web services, or BizTalk supported models.

  • Uniform experience across LOBs. The adapters standardize on using the WCF and Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK and hence provide a uniform experience of gaining access to any LOB system.

As mentioned, the adapters are built on top of the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK. The WCF LOB Adapter SDK provides a common basis for building integration adapters that a variety of client applications such as BizTalk Server and Microsoft Office can consume. The WCF LOB Adapter SDK aligns the adapter strategy with the Microsoft Services strategy by exposing integration adapters as Windows Communication Foundation (WCF) channels. For more information about the WCF LOB Adapter SDK, see the WCF LOB Adapter SDK documentation. The documentation is installed along with the WCF LOB Adapter SDK, typically under <installation drive>:\Program Files\WCF LOB Adapter SDK\Documents.

To perform operations on an SAP system, adapter clients must have access to the relevant Remote Function Calls (RFCs), Business Application Programming Interfaces (BAPIs), and IDOCs (or intermediate documents). An SAP R/3 system exposes RFCs, BAPIs, and IDOCs for business integration. RFCs are remote function modules that implement specific business logic. This logic can be invoked from an external application such as BizTalk Server or a .NET application. BAPIs are method interfaces to SAP business objects, which are in turn exposed through standard RFC interfaces. IDOCs are a mechanism to abstract the electronic data interchange (EDI) communication layer for communication between SAP and non-SAP systems. With Microsoft BizTalk Adapter for mySAP Business Suite, you can access the RFCs, BAPIs, and IDOCs exposed by an SAP system.

The SAP adapter also includes .NET Framework Data Provider for mySAP Business Suite, which provides an ADO interface to the SAP system.

This section lists the features for the SAP adapter and the .NET Framework Data Provider for mySAP Business Suite.

In This Section

  • Overview of BizTalk Adapter for mySAP Business Suite

  • New and Deprecated Features in the SAP Adapter

  • Limitations of BizTalk Adapter for mySAP Business Suite

  • About the .NET Framework Data Provider for mySAP Business Suite

See Also

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Overview of BizTalk Adapter for mySAP Business Suite

The Microsoft BizTalk Adapter for mySAP Business Suite exposes the SAP system as a WCF service. Adapter clients can perform operations on the SAP system by exchanging SOAP messages with the adapter. The adapter consumes the WCF message and makes appropriate calls to the SAP system to perform the operation. The adapter returns the response from the SAP system back to the client in the form of SOAP messages.

The SAP adapter surfaces metadata of SAP artifacts (RFC, BAPI, IDOC) that describes the structure of a SOAP message in the form of WSDL. The SAP adapter uses Add Adapter Service Reference Visual Studio Plug-in, Add Adapter Metadata Wizard, and Consume Adapter Service BizTalk Project Add-in to enable adapter clients to retrieve metadata for operations and generates programming artifacts that can be used in your programming solution. For more information about Add Adapter Service Reference Visual Studio Plug-in, Add Adapter Metadata Wizard, and Consume Adapter Service BizTalk Project Add-in, see Connecting to the SAP System in Visual Studio.

The SAP adapter uses the Unicode RFC library, librfc32u.dll, to communicate with the SAP system, in addition to using other supporting DLLs. For a complete list of SAP DLLs that the adapter requires, see the BizTalk Adapter Pack installation guide. The installation guide is typically installed at <installation drive:>\Program Files\BizTalk Adapter Pack\Documents. You can use the SAP adapter to communicate with the SAP system in the following ways:

  • By developing BizTalk applications. See Developing BizTalk Applications for more information.

  • By using the Windows Communication Foundation (WCF) service model. See Developing Applications by Using the WCF Service Model for more information.

  • By using the WCF channel model. See Developing Applications by Using the WCF Channel Model for more information.

In This Section

  • How Does the Adapter Connect to an SAP System?

  • How Does the Adapter Surface SAP Metadata?

  • What Operations Can be Performed Using the Adapter?

  • Other Features Supported by the Adapter

See Also

Other Resources

Understanding BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


How Does the Adapter Connect to an SAP System?

The SAP adapter requires adapter clients to provide a connection string, called the connection Uniform Resource Identifier (URI) to connect to the SAP system. With a connection URI, adapter clients can specify connection parameters to connect to an external system.For more information about the connection URI, see Establishing a Connection to the SAP System.

Make sure you comply with the security guidelines when establishing a connection with an SAP system. For more information about security guidelines, see Security and Protection.

How Many Connections Can the Adapter Open to the SAP System?

By default, the SAP system enables clients to open 100 connections to the SAP system. However, you can set an environment variable on the computer running the SAP system to increase the limit on the number of connections. For more information, see Troubleshooting Operational Issues.

See Also

Concepts

Overview of BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


How Does the Adapter Surface SAP Metadata?

The SAP adapter surfaces metadata from the SAP system. This metadata describes the message structure for communicating with an SAP system using the adapter. The SAP adapter supports two interfaces for retrieving metadata.

  • MetadataExchange provided by Windows Communication Foundation (WCF). WCF provides a metadata-exchange endpoint for all WCF bindings, which enables clients to get metadata from the SAP system.

  • IMetadataRetrievalContract provided by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK, which supports the metadata browsing and searching capabilities of the adapter.

One of the goals of the Microsoft BizTalk Adapter for mySAP Business Suite is to expose the SAP system as a WCF service. The adapter surfaces the SAP artifacts (RFCs, BAPIs, and IDOCs) as operations that adapter clients can invoke. The adapter also surfaces some specific operations that can be used to send or receive IDOCs from an SAP system. These operations are listed later in this topic.

It is possible to browse, search, and retrieve metadata by using the WCF service model, by using the WCF channel model, or by creating a BizTalk project in Visual Studio.

When using the WCF service model, you must use the Add Adapter Service Reference Visual Studio Plug-in to generate the proxy classes for performing operations on the SAP system. When using a BizTalk project, you must use the Add Adapter Metadata Wizard or the Consume Adapter Service BizTalk Project Add-in to generate metadata for the operations that you want to perform on the SAP system.

For more information about browsing, searching, and retrieving metadata using Add Adapter Service Reference Plug-in, Add Adapter Metadata Wizard or Consume Adapter Service Add-in, see Retrieving Metadata for SAP Operations in Visual Studio.

Browsing Metadata

The SAP adapter enables adapter clients to browse the RFCs, tRFCs, BAPIs, and IDOCs exposed by the SAP system. As part of the metadata browse operation, the adapter surfaces the RFCs and BAPIs as operations. For IDOCs, the adapter surfaces operations for sending and receiving IDOCs. These operations are available from Add Adapter Service Reference Plug-in, Add Adapter Metadata Wizard or Consume Adapter Service Add-in. The SAP metadata is categorized under the following nodes:

  • RFC. This node contains the RFCs exposed by the SAP system and represents a function module in SAP. The adapter categorizes the RFCs into multiple logical levels and exposes a hierarchical view to the adapter clients. An RFC is at the lowest level of this hierarchy and is exposed as an operation that can be invoked by an external application. The SAP adapter uses the RFC SDK to generate metadata for the RFCs. The adapter can invoke only those RFCs for which it can generate the metadata.

    Other than surfacing the RFCs as operations, the adapter also surfaces some specific operations such as RfcGetAttributes. For more information about these operations, see Operations on RFCs.

  • TRFC. This node contains the tRFCs exposed by the SAP system. tRFCs are not a conventional artifact in an SAP system, but rather a mechanism to invoke RFCs. tRFCs are categorized under a separate node because their metadata characteristics are different from RFCs. Specifically, RFCs also include export parameters. The adapter categorizes the tRFCs into multiple logical levels and exposes a hierarchical view to the adapter clients. A tRFC is at the lowest level of this hierarchy and is exposed as an operation that can be invoked by an external application.

    Other than surfacing the tRFCs as operations, the adapter also surfaces some specific operations such as RfcConfirmTransID. For more information about these operations, see Operations on tRFCs.

  • BAPI. This node contains the BAPIs exposed by the SAP system. The adapter categorizes the BAPIs into multiple logical levels and exposes a hierarchical view to the adapter clients. A BAPI is at the lowest level of this hierarchy and is exposed as an operation that can be invoked by an external application.

  • IDOC. This node contains the IDOCs exposed by an SAP system. The adapter categorizes the IDOCs into multiple logical levels and exposes a hierarchical view to the adapter clients. The operations that the adapter exposes for the IDOCs are:

    • Send and Receive. Adapter clients can use these operations to send and receive IDOCs from an SAP system using a strongly-typed schema.

    • SendIdoc and ReceiveIdoc. Adapter clients can use these operations to send and receive IDOCs from an SAP system using a weakly-typed schema.

    For more information about these operations, see Operations on IDOCs.

For more information about how metadata is categorized, see Metadata Node IDs.

Searching Metadata

In the SAP adapter, adapter clients can search metadata in an SAP system by using search expressions that are dependent on the underlying RFCs that the SAP adapter uses. The following table lists the SAP artifacts and the metadata hierarchy under which adapter clients can search.

Artifact Searches under the node in GUI

RFC

  • /RFC

  • /RFC/[Application Group]

tRFC

  • /TRFC

  • /TRFC/[Application Group]

BAPI

  • /BAPI

IDOC

  • /IDOC

The following table lists the special characters that can be used for search and their interpretation by the SAP adapter.

Special character | Interpretation
+ (plus) | Matches exactly one character. For example, A+ matches AB, AC, AD
* (asterisk) | Matches zero or more characters. For example, A* matches A, AB, ABC.

Retrieving Metadata

The SAP adapter enables adapter clients to retrieve metadata for the SAP system, including detailed metadata characteristics:

  • For an RFC, the SAP adapter retrieves the RFC name along with import, export, changing, and table parameters. The SAP adapter also retrieves the data types for parameters, field length of parameters, in addition to mandatory and optional parameters.

  • For a tRFC, the SAP adapter retrieves details similar to the RFC, with the exception of export parameters. Because tRFC calls are asynchronous, no output parameters are retrieved.

  • For a BAPI, the SAP adapter retrieves the business object name, business object method name, and other specific information similar to RFCs.

  • For an IDOC, the SAP adapter retrieves the IDOC type, the release number, the version, IDOC control records, IDOC data records, and other IDOC segment information.

    Note
    If metadata for IDOC contains both low and high values (range) for a data type, the SAP adapter exposes that as a string. If the metadata contains only low values, the SAP adapter exposes that as an enum.

Note
The SAP adapter exposes the SAP function parameters in an alphabetical order, irrespective of how the parameters are ordered in the SAP function definition. This is because of the following reasons:

  • Different versions of SAP RFC SDK return SAP function parameters in different orders. Hence, in order to provide a consistent experience to the adapter users, the SAP adapter exposes the parameters in an alphabetical order.

  • Same RFCs on different SAP servers could have different order of exposing function parameters. The SAP adapter makes this difference transparent to the users by exposing the parameters in a consistent alphabetical order.

Note
While retrieving data from the SAP system using the Windows Communication Foundation (WCF) service model, the SAP adapter does not deserialize messages having more than 65536 nodes. Make sure the response message has nodes less than or equal to 65536. You can work around this limitation by modifying the app.config file for your application. For instructions, see Troubleshooting Operational Issues.

For more information about browsing, searching, and retrieving metadata, see Retrieving Metadata for SAP Operations in Visual Studio.

See Also

Concepts

Overview of BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


What Operations Can be Performed Using the Adapter?

Adapter clients can perform operations on the SAP system by creating BizTalk projects, by using the WCF channel model, or by using the WCF service model. The SAP adapter exposes operations that applications can invoke on it and that it can, in turn, invoke on applications. These operations are invoked by sending SOAP messages over a channel. If a response is required, it is returned in a SOAP message over the same channel. For information about the message structure and the SOAP action associated with each operation, see Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite.

This section provides information about the operations supported on the SAP system using the SAP adapter.

In This Section

  • Operations on RFCs

  • Operations on tRFCs

  • Operations on BAPIs

  • Operations on IDOCs

© 2014 Microsoft Corporation. All rights reserved.


Operations on RFCs

You can use the Microsoft BizTalk Adapter for mySAP Business Suite both as an RFC client and as an RFC server. In RFC client scenarios, your application invokes RFCs on the SAP system by invoking RFC operations on the SAP adapter. In RFC server scenarios the SAP system invokes RFCs on the SAP adapter, which, in turn, invokes the RFC as an operation on your application.

RFC Operations

RFCs are surfaced by name as operations under the RFC metadata category node by the SAP adapter. (You can browse or search for RFCs under the RFC node when you use the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in.)

The SAP adapter can surface only those RFCs for which it can retrieve metadata from the SAP system. The adapter uses the RFC SDK to retrieve this metadata, so it cannot surface RFCs that contain parameters with data types that are not supported by the RFC SDK. For example, the adapter cannot surface RFCs that contain ITAB II type structures or tables.

The SAP adapter supports the following on RFCs:

  • IMPORT parameters

  • EXPORT parameters

  • CHANGING parameters

For more information about the message structures and SOAP actions used for RFCs by the adapter, see Message Schemas for RFC Operations.

Invoking RFCs on an SAP System

The SAP adapter surfaces RFCs as individual operations that take the name of the RFC on the SAP system. To invoke an RFC on the SAP system, you invoke the appropriately named RFC operation on the adapter.

For more information about:

  • Invoking an RFC using BizTalk Server, see Invoking RFCs by Using BizTalk Server.

  • Invoking an RFC using the WCF service model, see Invoking RFCs by Using the WCF Service Model.

  • Invoking an RFC using the WCF channel model, see Invoking Operations on the SAP System by Using the WCF Channel Model.

Receiving Inbound RFC Calls from an SAP System

It is possible for SAP to act as a client and invoke function modules on an external RFC server. This functionality enables:

  • SAP to push notifications to external systems without the external systems having to continuously poll SAP for notifications by calling RFCs.

  • The implementation of business logic outside the SAP system. The SAP system can then call the external program on the RFC server.

The SAP adapter can act as an RFC server to receive such inbound RFC calls from the SAP system. When the adapter receives an RFC call from SAP, it invokes that RFC operation on your application.

For the adapter to perform as an RFC server:

  • The RFC must be declared on the SAP system. This is so the adapter can retrieve metadata that describes the RFC from the SAP system. The RFC is actually implemented in your application.

  • The adapter must register with an RFC destination on an SAP gateway. The registration is based on a logical name called a program ID. You supply parameters in the connection URI to specify the PROGRAM ID, SAP gateway, and SAP server for this registration.

The following example shows the ABAP code required to invoke an RFC through the PROGRAM ID, MYDEST.

Copy Code
CALL FUNCTION ‘ABC’ DESTINATION ‘MYDEST’

For more information about:

  • Receiving an RFC server call using BizTalk Server, see Receiving Inbound RFC Calls by Using BizTalk Server.

  • Receiving an RFC server call using the WCF service model, see Receiving Inbound RFC Calls by Using the WCF Service Model.

  • Receiving an RFC server call using the WCF channel model, see Receiving Inbound Operations from the SAP System by Using the WCF Channel Model.

Special RFC Operations

The SAP adapter can also perform certain special RFC operations on the SAP system. One such operation is RfcGetAttributes.

  • RfcGetAttributes. The SAP adapter uses this operation to get information about the RFC connection parameters such as system ID, partner code page, and language. This operation is available under the RFC node when using the Add Adapter Service Reference Plug-in and Consume Adapter Service Add-in.

For more information about message structure and SOAP action for invoking an RfcGetAttributes operation on the SAP system, see Message Schemas for RFC Operations.

See Also

Other Resources

What Operations Can be Performed Using the Adapter?

© 2014 Microsoft Corporation. All rights reserved.


Operations on tRFCs

Transactional RFCs (tRFCs) are RFCs that are invoked as part of a logical unit of work (LUW). On an SAP system, an LUW contains all of the steps necessary to complete a business or programming task. A tRFC represents a way of invoking an RFC; it is not a unique SAP artifact.

You can use the Microsoft BizTalk Adapter for mySAP Business Suite both as a tRFC client and as a tRFC server.

  • As a tRFC client, the adapter enables your application to invoke a single RFC in an LUW on the SAP system. This guarantees one-time only execution of the RFC. It does not imply transactional behavior.

  • As a tRFC server, the adapter enables you to receive multiple RFCs inside an LUW. The adapter supports inbound tRFC calls in a transactional context; that is commit and roll back behavior are supported.

tRFC Operations

A tRFC implies a way of invoking an RFC; it is not a separate SAP artifact. Therefore, every RFC on the SAP system (for which the adapter can retrieve metadata) is also surfaced as a tRFC by the SAP adapter. tRFCs are surfaced by RFC name as operations under the TRFC metadata category node. (You can browse or search for tRFCs under the TRFC node when you use the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in.)

The SAP adapter supports the following on tRFCs:

  • IMPORT parameters

  • CHANGING parameters (only the input side of the CHANGING parameter is supported)

Note
tRFCs are executed asynchronously, so no output values (EXPORT or CHANGING parameters) are returned for them.

A GUID parameter is surfaced by the adapter for tRFC operations. This GUID is mapped by the adapter to the SAP transaction ID (TID) that is associated with the tRFC. You can use this GUID parameter to:

  • Confirm the tRFC on the SAP system in tRFC client calls. You do this by invoking the RfcConfirmTransId operation. This is a special operation surfaced by the adapter to confirm a TID on the SAP system.

  • Get the actual SAP TID used for a tRFC from the adapter in both tRFC client and tRFC server scenarios. You do this by invoking the SAP utility method, ConvertGuidToTid.

For more information about these operations, see Special Operations. For more information about the message structures and SOAP actions used for tRFCs by the adapter, see Message Schemas for tRFC Operations.

Invoking Transactional RFCs in an SAP System

Typically, tRFCs are used to execute one or more RFC calls inside a single LUW; however, due to limitations in the SAP RFC SDK, the SAP adapter supports only a single tRFC per LUW. For this reason, the adapter creates an LUW (SAP TID) for each tRFC. For such clients, SAP defines an LUW as a mechanism to guarantee "one-time" execution of the RFC and does not imply commit and rollback-based transactions.

The following steps summarize the tasks that are performed in an RFC client call using the SAP adapter. Some of these steps are performed by the adapter client, and some are performed by the adapter.

  1. The adapter client sends a request message for the tRFC operation. The adapter client can optionally supply a GUID in this message.

  2. The SAP adapter receives the request message and uses the RFC SDK to get a transaction ID (TID) from the SAP system. If the request message contains a GUID, the adapter maps this GUID to the SAP TID; otherwise, the adapter creates a new GUID and maps it to the SAP TID

  3. The adapter uses the TID to make the tRFC call to the SAP server. The status of the TID is marked as FINISHED on the SAP system.

  4. The adapter returns the GUID (that is mapped to the TID) to the adapter client in the response message.

  5. The adapter client invokes the RfcConfirmTransID operation on the adapter with the GUID returned in the previous step.

  6. The adapter uses the GUID in the RfcConfirmTransID request message to identify the SAP TID and confirms the tRFC call on the SAP system. This causes the SAP server to delete the TID entry from its database.

Note
tRFC client calls do not return EXPORT or CHANGING parameters.

For more information about:

  • Invoking a tRFC using BizTalk Server, see Invoking tRFCs by Using BizTalk Server.

  • Invoking a tRFC using the WCF service model, see Invoking tRFCs by Using the WCF Service Model.

  • Message structures and SOAP action for invoking a tRFC, see Message Schemas for tRFC Operations.

Receiving Inbound Transactional RFC Calls from an SAP System

You can use the adapter as a tRFC server to receive tRFCs from SAP. As a tRFC server, when the adapter receives a tRFC, it invokes the corresponding tRFC operation on your application. The adapter supports the following functionality when it acts as a tRFC server:

  • An LUW (identified by a SAP TID) can contain multiple tRFCs (RFC calls).

  • The adapter creates a committable transaction for each SAP TID. Your application code can enlist in this transaction.

  • Commit and roll back are supported.

The rest of this section provides general information about using the adapter as a tRFC server. For more specific information about:

  • Receiving a inbound tRFC calls using BizTalk Server, see Receiving Inbound tRFC Calls by Using BizTalk Server.

  • Receiving a inbound tRFC calls using the WCF service model, see Receiving Inbound tRFC Calls by Using the WCF Service Model.

The TID Database

When it acts as a tRFC server, the adapter uses a SQL Server database—the TID database—to manage the transaction IDs that it receives from the SAP system. For example, it uses the TID database to help manage calls from the SAP system to commit, rollback, and confirm the TID. The adapter also stores the GUID that it creates and associates with each SAP TID in the TID database.

Prerequisites

For the adapter to perform as a tRFC server, you must ensure that the following are true:

  • The RFC must be declared on the SAP system. This is so the adapter can retrieve metadata that describes the RFC from the SAP system. The RFC is actually implemented in your application.

  • The adapter must register with an RFC destination on an SAP gateway. The registration is based on a logical name called a program ID. You supply parameters in the connection URI to specify the program ID, SAP gateway, and SAP server for this registration.

  • The TID database must be created in SQL Server. To do this, you must run a SQL script that is installed by the setup. The SQL script is typically installed at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack. For more information see, Installing the BizTalk Adapter Pack.

  • The TidDatabaseConnectionString binding property must be set to the SQL database connection string for the TID database. For more information about the TidDatabaseConnectionString binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Note
Setting the TidDatabaseConnectionString binding property configures the adapter to act as a tRFC server rather than as an RFC server. If the TidDatabaseConnectionString binding property is set and you specify an RFC destination in the connection URI, the adapter acts as a tRFC server for incoming calls from the RFC destination. If this binding property is not set, the adapter acts as an RFC server.

How the Adapter Processes Inbound tRFCs

The following steps summarize the tasks that are performed by the RFC client call using the SAP adapter. Some of these steps are performed by the adapter client, and some are performed by the adapter.

  1. The SAP system calls into the adapter to enquire whether a TID has already been used. The adapter returns the appropriate response to the SAP system. If the TID is new, the adapter creates a committable transaction. This transaction is used to persist the TID to the TID database in a transactional manner when the SAP program performs a commit (COMMIT WORK). It is also exposed to application code that handles the inbound tRFCs. Additionally, the adapter creates a GUID that it associates with the SAP TID.

  2. The SAP system sends one or more transactional RFCs to the adapter. For each tRFC, the adapter invokes the appropriate tRFC operation on your application. The adapter flows the transaction created in step 1 to your application for each operation. The adapter passes the GUID created in step 1 in the request message for the operation.

  3. SAP system commits the LUW (COMMIT WORK). The adapter tries to commit the transaction associated with the SAP TID (created in step 1).

    1. If the transaction was aborted (by your application) during any of the calls in step 2, then an error occurs when the adapter tries to commit the transaction. The error is returned to SAP. Go to step 4.

    2. If the commit is successful, the TID is now in the TID database. Go to step 5.

  4. If an error occurred in step 3, or if SAP rolls back the LUW (RESTART_OF_BACKGROUNDTASK) instead of committing it, the adapter rolls back the transaction. In this case the TID is never persisted to the TID database.

  5. The SAP system confirms the TID. The adapter removes the TID from the TID database (assuming that step 3 completed successfully and the TID exists in the TID database.

Note
If an error occurs attempting to connect to the TID Database during a tRFC server operation, an error code indicating that the incoming call from SAP was not processed by the SAP adapter is returned to SAP.

Receiving IDOCs as a tRFC server

You use the SAP adapter as either an RFC server or a tRFC server to receive IDOCs from the SAP system. In either case, you must set the ReceiveIdocFormat binding property to specify the format in which the adapter should emit the IDOC data to your application. For more information about receiving IDOCs with the adapter, see Operations on IDOCs. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Special tRFC Operations

The SAP adapter can also perform certain special tRFC operations on the SAP system. One such operation is RfcConfirmTransID.

  • RfcConfirmTransID. You invoke this operation on the SAP adapter to confirm tRFC calls made to the SAP server. RfcConfirmTransID might be required in scenarios where the adapter is used to send IDOCs to the SAP server as a tRFC. The operation is available under the TRFC node when using the Add Adapter Service Reference Plug-in and Consume Adapter Service Add-in.

For more information about the message structure and SOAP action for the RfcConfirmTransID operation, see Message Schemas for tRFC Operations.

See Also

Other Resources

What Operations Can be Performed Using the Adapter?

© 2014 Microsoft Corporation. All rights reserved.


Operations on BAPIs

A Business Application Programming Interface (BAPI) is a method of a SAP business object that can be called by an external process. BAPIs are transactional on the SAP system.

The Microsoft BizTalk Adapter for mySAP Business Suite supports BAPI calls in the outbound direction. It surfaces BAPIs in two ways:

  • As an RFC. You can invoke a BAPI directly by invoking the appropriate RFC.

  • As methods of business objects. The adapter surfaces BAPIs as methods of business objects as a convenience to help you retrieve metadata when you use the Consume Adapter Service BizTalk Project Add-in or the Add Adapter Service Reference Visual Studio Plug-in.

Important
You can invoke a BAPI on the adapter as an RFC or as a method of a business object; but regardless of how you invoke the BAPI on the adapter, it always invokes the BAPI on SAP through the RFC interface.

The adapter supports BAPI transactions. The BAPI transaction model on SAP enables users to combine several BAPIs into one logical unit of work (LUW). An SAP LUW consists of all the steps involved in a transaction including updating the database.

The topics in this section explain how BAPIs are surfaced as business objects and how BAPI transactions (LUWs) are supported by the adapter.

BAPI Operations (as Business Object Methods)

The adapter surfaces BAPIs as business objects methods as a convenience to help you retrieve metadata when you use the Consume Adapter Service BizTalk Project Add-in or the Add Adapter Service Reference Visual Studio Plug-in. The adapter always invokes BAPIs on the SAP system using the RFC interface.

The adapter surfaces BAPIs by name as operations under the appropriate business object for outbound operations. Business objects are collected by functional group under the BAPI category node by the adapter. (You can browse or search for business objects and BAPIs under the BAPI node when you use the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in.)

The SAP adapter supports the following on BAPIs:

  • IMPORT parameters

  • EXPORT parameters

  • CHANGING parameters

  • Table parameters

For more information about the message structures and SOAP actions used for BAPIs surfaced as business object methods, see Message Schemas for BAPI Operations.

BAPI Transactions

When you invoke a BAPI, it is always part of an LUW on the SAP system. This is true whether you invoke the BAPI as an RFC or as a method of a business object. The RFC SDK treats all BAPIs sent over the same SAP connection as part of the same LUW. After a call to commit or roll back the transaction on a connection, the next BAPI sent over the connection begins a new LUW.

You call BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK to commit or roll back the transaction. The adapter surfaces these two BAPIs:

  • Under the Basis node as RFC operations.

  • Under each business object.

You control the BAPIs in a transaction by ensuring that they are all sent over the same SAP connection (including the call to commit or roll back the transaction). You can do this in:

  • BizTalk Solutions by using the ConnectionState message context property to ensure that the BAPIs in a transaction are sent using the same connection. This property is surfaced by the adapter and provides you with explicit control over the connection used to send a message in a BizTalk orchestration.

    For performing BAPI transactions using BizTalk Server, the SAP adapter supports the following message context properties.

    Field Description

    OPEN

    Opens a new channel for the transaction.

    REUSE

    Reuse existing channel for the transaction.

    CLOSE

    Commit the transaction and close the existing channel.

    ABORT

    Abort the transaction and close the existing channel.

    For more information, see Performing BAPI Transactions by Using BizTalk Server.

    Note
    Make sure you set the EnableBizTalkCompatibilityMode binding property when performing transactions using BizTalk Server.

  • WCF service model solutions by ensuring that the BAPIs in a transaction are sent using the same WCF client. For more information, see Invoking BAPIs by Using the WCF Service Model.

  • WCF channel model solutions by ensuring that the BAPIs in a transaction are sent over the same WCF channel. For more information, see Developing Applications by Using the WCF Channel Model.

Limitations on BAPI Transactions

The following restrictions apply on BAPI transactions:

  • It is not possible to make two write accesses on the same instance within one LUW. For example, you cannot create an order and update it in the same transaction.

  • When performing BAPI a transaction using BizTalk Server, all the messages must be sent over a single host instance of the send port.

  • If an instance is created, updated, or deleted by using a write BAPI, a read BAPI cannot view the most recent data until the write BAPI is committed.

  • An external client that invokes an LUW should call all the BAPIs that the LUW contains on the same SAP connection.

Important
BAPIs that belong to Release 3.1 call COMMIT WORK as part of their implementation. This means that these BAPIs cannot be included with other BAPIs in an LUW (because they will commit the transaction). For more information, see the SAP documentation.

See Also

Other Resources

What Operations Can be Performed Using the Adapter?

© 2014 Microsoft Corporation. All rights reserved.


Operations on IDOCs

IDOCs are standardized EDI-like documents that SAP supports for asynchronously communicating with SAP and non-SAP systems. IDOCs are used for sending and receiving “business” documents such as sales orders, for example, to or from a trading partner’s SAP system or an external program.

Although the SAP system supports a number of port types to send and receive IDOCs (such as file port, CPIC port), the SAP adapter supports sending and receiving IDOCs via the tRFC port.

Operations to Send an IDOC

All IDOC calls to SAP are internally treated as tRFC calls in which the adapter acts as a tRFC client and calls an RFC in SAP to send an IDOC. Just like any other tRFC client call, the adapter client optionally passes a GUID to the adapter, which in turn associates it with the transaction ID (TID) that it uses for the call on the SAP system. (If the adapter client does not pass a GUID, the adapter generates its own GUID.) The GUID is returned to the adapter client in the response message. The adapter client can use this GUID to confirm the TID on the SAP system. The actual SAP TID used by the adapter for the tRFC call can be obtained by invoking a special static method in the SAP binding, ConvertGuidToTid. Having the actual TID may be useful for troubleshooting issues on the SAP system.

After the call to send the IDOC is completed, the TID must be confirmed on the SAP system. This enables the SAP system to delete the TID from its database. The adapter client can confirm the TID on the SAP system.

  • Explicitly, by invoking the RfcConfirmTransID operation on the adapter. This operation takes a GUID (returned in the response message above) and causes the adapter to confirm the associated TID on the SAP system.

  • Implicitly, by setting the AutoConfirmSentIdocs binding property. If this binding property is true, the adapter automatically commits the TID after it sends the IDOC to the SAP system. See Working with BizTalk Adapter for mySAP Business Suite Binding Properties for more information.

The SAP adapter uses the following RFCs to send an IDOC:

  • INBOUND_IDOC_PROCESS. This function module is used for SAP releases before 4.0.

  • IDOC_INBOUND_ASYNCHRONOUS. This function module is used for SAP release 4.0 and later.

Sending IDOCs with Segment Data Across Multiple Lines

IDOCs are constituted of segments. Each segment entry in an IDOC flat-file contains the segment header info (containing the DOCNUM field) and the segment data. In some IDOCs, the segment data can be split across multiple lines. For example:

Copy Code
Segment header (DOCNUM is one of the fields here)  |  Segment data
Segment header (DOCNUM is one of the fields here)  |  Segment data
Segment data wrapped from the previous line
Segment header (DOCNUM is one of the fields here)  |  Segment data

The WCF-based SAP adapter supports sending such IDOCs to the SAP system. To support sending such IDOCs, the SAP adapter determines whether each segment data is a continuation of the previous one, or whether it is a new segment data. The SAP adapter decides this by parsing each segment header and looking for the DOCNUM field. If the segment data is split across two lines, the second line does not have a segment header and as a result the SAP adapter does not find the DOCNUM field. Hence, the SAP adapter can determine that it is a continuation of the previous segment data.

For example, in the representation of an IDOC shown above, the SAP adapter does not find any DOCNUM field in “Segment data wrapped from the previous line” and is able to decide that the line is a continuation of the previous segment data. Considering the size of IDOC flat files in production environments, performing such checks for each segment data may result in increased processing time.

Note
The adapter uses the DOCNUM field instead of a carriage return line feed (CRLF) to identify and extract each segment record from IDOC data. If the DOCNUM fields in the control and data records are invalid or partly blank, the adapter fails to parse the IDOC. Hence, the IDOC is not sent to the SAP system.

Operations to Send an IDOC

The following operations are supported for sending IDOCs to an SAP system:

  • Send. Use this operation to send an IDOC to the SAP system using a strongly-typed schema. The schema for this operation exposes control record fields and data record fields, including segment headers and segment fields. The Send operation is specific to an IDocType + CimType + ReleaseNumber + Version combination.

    This operation is surfaced for each IDOC and is available under a specific IDOC node in the Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in.

    Note
    To be able to successfully perform a Send operation, you must have relevant authorization in the SAP system. For more information, see SAP Authorization for Using Send or Receive Operations.

  • SendIdoc. Use this operation to send an IDOC to the SAP system using a weakly-typed schema. The schema for this operation exposes IDOCs as a single string field consisting the control record and data record. The SendIdoc operation takes an IDOC string and a GUID as a parameter.

    This is a single operation surfaced for all IDOCs exposed by the SAP system and is available under the root IDOC node in the Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in.

For more information about:

  • Sending an IDOC to an SAP system using BizTalk Server, see Sending IDOCs to SAP by Using BizTalk Server.

  • Sending an IDOC to an SAP system using WCF service model, see Sending IDOCs to SAP by Using the WCF Service Model.

  • Message structures and SOAP action for sending an IDOC, see Message Schemas for IDOC Operations.

Operations to Receive an IDOC

To receive an IDOC, the SAP adapter can behave either as a tRFC server or an RFC server:

  • For the adapter to behave as a tRFC server, the binding property TidDatabaseConnectionString must be set to the connection string for the TID database on your computer. For a tRFC server scenario, the adapter accepts a tRFC client call from the SAP system to receive the IDOC.

  • For the adapter to behave as an RFC server, the TidDatabaseConnectionString should be null (default). For an RFC server scenario, the adapter accepts an RFC client call from the SAP system to receive the IDOC.

The following RFCs are used to send and receive IDOCs; when sending IDOCs, the adapter uses these RFCs, whereas when receiving IDOCS, the SAP system uses them.

  • INBOUND_IDOC_PROCESS. This function module is used for SAP releases before 4.0.

  • IDOC_INBOUND_ASYNCHRONOUS. This function module is used for SAP release 4.0 and later.

The following operations are supported for receiving IDOCs from an SAP system:

  • Receive. Use this operation to receive an IDOC from the SAP system using a strongly-typed schema. The schema for this operation exposes control record fields and data record fields including segment headers and segment fields.

    This operation is surfaced for each IDOC and is available under a specific IDOC node in the Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in.

    Note
    To be able to successfully perform a Receive operation, you must have relevant authorization in the SAP system. For more information, see SAP Authorization for Using Send or Receive Operations.

    Note
    Using the Receive operation, you can also receive multiple IDOCs.

  • ReceiveIdoc. Use this operation to receive an IDOC from the SAP system using a weakly-typed schema. The schema for this operation exposes IDOCs as a single string field consisting of the control record and data record. This operation receives IDOCs as a string in an XML message under the <idocData> tag.

    This is a single operation surfaced for all IDOCs exposed by the SAP system and is available under the root IDOC node in the Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in.

When receiving IDOCs, the SAP adapter supports different message formats, which can be specified as a value for the binding property, ReceiveIDocFormat exposed by the SAP adapter.

  • If set to "Typed", the XML schema is strongly typed to the specific IDOC being received. (The schema for this message can be seen from the Receive operations. Note that the schema is different for different IDOCs). This yields an XML IDOC.

  • If set to "String", the incoming IDOC data is returned as a String value. (The schema for this message can be seen from the ReceiveIdoc operation). This yields an XML message with the <idocData> tag.

  • If set to "Rfc", the message schema matches the RFC (or tRFC) schema for the RFC operations IDOC_INBOUND_ASYNCHRONOUS or INBOUND_IDOC_PROCESS, depending on the incoming IDOC version. If you specify this binding property you should use the IDOC_INBOUND_ASYNCHRONOUS or INBOUND_IDOC_PROCESS RFC to receive the IDOC. In the first two options, the adapter internally uses this RFC. In this option, you explicitly use this RFC to receive an IDOC.

The operation that you use to receive an IDOC must match the format of the IDOC data emitted by the adapter. The following table provides a summary of the different combinations in which you can receive an IDOC from SAP.

To receive an IDOC using | Set the binding property ReceiveIDOCFormat to
Receive operation | Typed
ReciveIdoc operation | String
IDOC_INBOUND_ASYNCHRONOUS RFC | Rfc
INBOUND_IDOC_PROCESS RFC | Rfc

Another binding property PadReceivedIdocsWithSpaces pads the received IDOC with white spaces for optional fields when receive format expected is “String”. This enables compatibility with the IDOC data format received using the previous version of the adapter.

For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

For more information about:

  • Receiving an IDOC from an SAP system using BizTalk Server, see Receiving IDOCs from SAP by Using BizTalk Server.

  • Receiving an IDOC from an SAP system in a transactional context using BizTalk Server, see Receiving IDOCs from SAP in a Transactional Context by Using BizTalk Server.

  • Message structures and SOAP action for receiving an IDOC, see Message Schemas for IDOC Operations.

SAP Authorization for Using Send or Receive Operations

When you use the Send or Receive operations to send or receive IDOCs using a strongly-typed schema, the SAP adapter internally invokes the IDOCTYPE_READ_COMPLETE RFC to retrieve the metadata for the IDOC. Invoking this RFC requires the following authorization in SAP:

Copy Code
Authorisation object S_IDOCDEFT, Fields:
EDI_TCD, value 'WE30'
ACTVT, value - 03 (display)
EDI_DOC, value  *
EDI_CIM, value *

You can use the SU01 transaction in SAP to add an authorization object. For more information about the transaction, contact your SAP administrator or refer to SAP documentation.

See Also

Other Resources

What Operations Can be Performed Using the Adapter?

© 2014 Microsoft Corporation. All rights reserved.


Other Features Supported by the Adapter

In addition to the features discussed throughout the topics of Overview of BizTalk Adapter for mySAP Business Suite, the SAP adapter also provides the following features that are useful for adapter clients.

  • Support for configuring adapters using binding properties. Adapter clients can configure the SAP adapter by specifying certain binding properties. For example, clients can configure the adapter to specify the maximum number of connections in the adapter's connection pool by specifying a value for the MaxConnectionsPerSystem binding property. For more information, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

  • Support for dynamic ports in BizTalk Server. Through the BizTalk WCF-Custom adapter, the SAP adapter supports a dynamic port that enables dynamic routing of messages from BizTalk Server based on the message context properties. For more information, see Configuring Dynamic Ports.

  • Support for message versioning. The SAP adapter supports message versioning to enable support for different message schemas in future releases of the BizTalk Adapter Pack. For more information, see Message Versioning Support.

    Note
    This feature does not provide backward compatibility with the earlier versions of the adapter.

  • Support for performance counters. The SAP adapter supports WCF-based performance counters for use by adapter clients. For more information about performance counters, see Using Performance Counters.

See Also

Concepts

Overview of BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


New and Deprecated Features in the SAP Adapter

This section lists the new and deprecated features in Microsoft BizTalk Adapter for mySAP Business Suite.

Note
This topic has been used from the previous version of Microsoft BizTalk Adapter for mySAP Business Suite Help.

Features in the SAP Adapter

The following are the features introduced in the previous releases of the SAP adapter.

Technology-Related Features

Feature | Comment
Using the Data Provider for SAP with SQL Server Reporting Services (SSRS). | Client programs can now use the Data Provider for SAP to import data from an SAP backend into an SSRS project and generate reports out of the data. For more information on how to use the Data Provider for SAP with SSRS, see Using the Data Provider for SAP with SSRS. For more information about SSRS, see http://go.microsoft.com/fwlink/?LinkId=125922.
Support for invoking queries defined in an SAP system | The Data Provider for SAP exposes an operation, EXECQUERY, that can be used to execute queries defined in an SAP system. For more information on how to use the EXECQUERY feature, see Support for Executing SAP Queries.
Support for using the SAP adapter with Microsoft Office SharePoint Server (MOSS) | You can use the adapters to present data from the SAP system onto a MOSS portal. For more information, see Using the SAP Adapter with Microsoft Office SharePoint Server.

Metadata-Related Features

Feature | Comment
DataTypesBehavior binding property | The SAP adapter shipped with BizTalk Adapter Pack provides a complex binding property, DataTypesBehavior, that enables adapter clients to control the adapter behavior when special values are encountered in the SAP system. For a detailed discussion about this binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Operations-Related Features

Feature | Comment
Support for invoking external programs required by an RFC | The SAP adapter provides a binding property, RfcAllowStartProgram that can be set to enable the RFC client library to invoke external programs, if any, required by a particular RFC. For more information about this binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.
Support for sending multiple IDOCs in a single call | The SAP adapter now supports sending multiple IDOCs of the same type in a single adapter call.

Other Features

Feature | Comment
New way of using the adapter in BizTalk Server | The SAP adapter can be used in BizTalk either as a WCF-Custom port or a WCF-SAP port. If you want to use the SAP adapter through a WCF-Custom port, you do not need to add the WCF-Custom port to the BizTalk Server Administration console because the WCF-Custom port is added to the BizTalk Server Administration console by default. However, if you want to use the SAP adapter through a WCF-SAP port, you must first add the WCF-SAP adapter to the BizTalk Server Administration console. For more information, see Adding the SAP Adapter to BizTalk Server Administration Console.

Deprecated Features in the SAP Adapter

The following sections lists the features that were supported in the previous version of the adapter, but which are not supported in the current version of the SAP adapter.

EnableBusinessObjects binding property deprecated

This binding property was deprecated in SAP adapter shipped with BizTalk Adapter Pack. This binding property was used to determine whether the BAPI node is displayed while generating metadata while using Add Adapter Service Reference Visual Studio Plug-in or Consume Adapter Service BizTalk Project Add-in.

See Also

Other Resources

Understanding BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Limitations of BizTalk Adapter for mySAP Business Suite

The following are known limitations of the Microsoft BizTalk Adapter for mySAP Business Suite:

  • The SAP adapter is not compatible with Microsoft BizTalk Adapter for mySAP Business Suite, the previous release of the adapter. This release of the adapter does not support sending and receiving messages having schemas generated using the earlier version of the adapter.

    Note
    You can modify the BizTalk projects for previous version of the SAP adapter to use the new WCF-based SAP adapter. For more information, see Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter.

  • The SAP adapter does not support RFCs with complex parameter types, including ITAB II (hierarchical) table types.

  • The SAP adapter does not support RFCs having custom ABAP types.

  • Due to issues with timeout handling by the underlying client library, the SAP adapter does not support command and connection timeout.

  • If you change the system time of the computer running the BizTalk Server host, the time is not updated automatically in the BizTalk Server host. This could lead to incorrect behavior of the inbound operations that use the receive port of BizTalk Server. As a workaround, you must restart the host instance that has a receive port, after you have changed the system time of the computer running it.

See Also

Other Resources

Understanding BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


About the .NET Framework Data Provider for mySAP Business Suite

This section provides information about the .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP) and its features. For instructions about how to use the Data Provider for SAP, see Using the .NET Framework Data Provider for mySAP Business Suite.

Note
Even if you chose to install the Data Provider for SAP as part of the BizTalk Adapter Pack installation, your Data Provider for SAP is still incomplete until you install a custom RFC in the SAP system. For instructions on how to install the custom RFC, see Installing Custom RFCs for the Data Provider for SAP.

You can use the Data Provider for SAP in the following ways:

  • To write an ADO.NET client to connect to the SAP system. The Data Provider for SAP exposes certain classes that enable you to interface with the provider.

  • To execute a SELECT query on the SAP system. The Data Provider for SAP uses the custom RFC for this feature.

  • To execute an EXEC operation on the SAP system. You can use this operation to perform queries on the SAP system.

  • To execute an EXECQUERY operation on the SAP system. You can use this operation to execute queries that are already defined in the SAP system.

  • To, in turn, use the Visual Studio DDEX plug-in to surface tables and function modules from the SAP system. The names of the objects discovered from the SAP system are written to a configuration file, SAPDiscoveredObjects.xml.

  • To use the Data Provider for SAP with SQL Server Integration Services (SSIS).

  • To use the Data Provider for SAP with SQL Server Reporting Services (SSRS).

For more information about performing these tasks, see Using the .NET Framework Data Provider for mySAP Business Suite. For more information about the custom RFC, the SAPDiscoveredObjects.xml configuration file, and the limitations associated with the Data Provider for SAP, see the following links.

In This Section

  • Custom RFC Used by the Provider

  • About the SAPDiscoveredObjects.xml File

  • Limitations of the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Custom RFC Used by the Provider

The Data Provider for SAP provides the following custom RFCs that it internally uses to perform operations on the SAP system.

  • Z_EXTRACT_DATA_OO RFC. The data extraction RFC, Z_EXTRACT_DATA_OO, extracts data from tables or views in the SAP R/3 system, converts the data, and either returns the data synchronously in a SQL Server table or dumps data to a flat file. The Z_EXTRACT_DATA_OO is used to perform SELECT operation with WHERE clauses. The performance of this RFC is dependent on your SAP system hardware.

    For information on how the .NET and SAP data types are mapped for Z_EXTRACT_DATA_OO RFC, see Data Type Mapping for Custom RFCs.

  • Z_EXECUTE_SAP_QUERY RFC. This RFC is used by the Data Provider for SAP to execute queries that are already defined in the SAP system. This RFC internally executes the SAP RFC, RSAQ_REMOTE_QUERY_CALL. SAP queries are queries that are graphically created using the SAP GUI by selecting the tables, columns, input parameters, sort order of the result set, etc. Using the Data Provider for SAP you can now execute such SAP queries from an ADO.NET client.

    All values returned by the EXECQUERY operation are of string type.

Limitations Related to the Z_EXTRACT_DATA_OO RFC

  • The Z_EXTRACT_DATA_OO RFC supports reading data from tables that satisfy the following conditions:

    • TabClass for the table is TRANSP, CUSTER, or POOL.

    • TabClass is VIEW and ViewClass is either D or P.

  • Z_EXTRACT_DATA_OO does not support HR cluster tables, for example PCL1, PCL2, PCL3, PCL4, PCL5.

  • The number of rows that can be extracted by Z_EXTRACT_DATA_OO depends on the hardware resources on the SAP server.

  • All extracted data is returned in order of the primary keys.

  • Tables or views containing the variable-length data types STRING, SSTRING and RAWSTRING are not supported. Tables or views containing these data types cannot be extracted.

  • Z_EXTRACT_DATA_OO runs conversion exits on all fields that have conversion exits assigned to them. The resulting converted values must be entered in the WHERE clause of a SELECT statement. Converted values are also returned. This might cause inconsistencies between the results returned by Z_EXTRACT_DATA_OO and the results returned in the SAP data browser (SE16).

  • Selected tables cannot contain field names that are reserved names in ABAP (for example, CONNECTION).

  • Due to a limitation in the query processor in SAP R/3 version 4.6C, values for integer fields of type INT4 must be greater than or equal to -999999999 in the WHERE clause. Rows with INT4 values less than -999999999 will not be extracted regardless of whether the field containing the value is selected.

  • Values for all data types in a WHERE clause are limited to 256 characters when executing on SAP system version 4.7 or greater; the limit is 70 characters in version 4.6c. For RAW data type values, these limits are halved to 128 and 35 characters, respectively. There is no limit on RAW and LCHR data type length when they are returned as a result.

  • In SAP R/3 version 4.6C, fields in the WHERE clause are limited to 70 characters.

  • In SAP R/3 version 4.6C, any table with a primary key field that has an output length greater than 70 characters cannot be extracted.

  • In SAP R/3, version 4.6c, tables and views that contain variable length data types (VARC) are not supported, and tables and views containing these data types cannot be extracted from the data source using the Z_EXTRACT_DATA_OO function call.

  • In file mode, the Z_EXTRACT_DATA_OO function call does not check whether a destination file is already opened, either by itself or by another application. Therefore, the function can incorrectly write to an open file while simultaneously appending data to the same file. No error is raised.

  • In file mode, the Z_EXTRACT_DATA_OO function call can overwrite existing files. Ensure that SAP users who use Z_EXTRACT_DATA_OO have restricted file-system access by way of S_DATASET.

Security Considerations with the Custom RFC

  • Security Issue: There is potential to expose data that is written to flat files if you do not help protect those files.

    Best practice: Improve the security of the file share to which any data is written by the Z_EXTRACT_DATA_OO function call in flat file mode.

  • Security Issue: There is the potential to overwrite files on any share that is written to using the Z_EXTRACT_DATA_OO function call in file mode. This can occur to any file on any share to which the SAP domain account has access.

    Best practice: Strive to protect all shares to which the SAP domain account has access.

  • Security Issue: Users have the ability to inspect (or "sniff") data during transmission from an SAP application server to its target file share, in cases when the target is on a different physical machine.

    Best practice: Use IPsec or another appropriate method to help make communication more secure between the SAP server and its targets.

See Also

Concepts

About the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


About the SAPDiscoveredObjects.xml File

If you chose to install the .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP) along with the BizTalk Adapter Pack installation, the setup program copies the SAPDiscoveredObjects.xml file typically at <installation drive>:\Program Files\Common Files\Microsoft Shared\Adapters\SAP. The contents of the file, after a fresh installation of the Data Provider for SAP, resemble the following.

Copy Code
<DiscoveredObjects>
  <SAP>
  </SAP>
</DiscoveredObjects>

The purpose of the SAPDiscoveredObjects.xml file is to store the SAP objects (tables and RFCs) that you discover using the Data Provider for SAP Visual Studio DDEX plug-in. Once you have used the DDEX plug-in to add more SAP objects, they are added to this XML file. The XML file looks like this.

Copy Code
<DiscoveredObjects>
  <SAP>
    <Server name="server_name" user="user_name" client="800" type="connection_type">
      <Tables>
        <Table>KNA1</Table>
        <Table>KNAS</Table>
        <Table>KNAT</Table>
      </Tables>
      <RFCs>
        <RFC>CUSTOMER_CONTACTPS_GET</RFC>
        <RFC>CUSTOMER_CONTROL_AREA_DATA</RFC>
        <RFC>CUSTOMER_PARTNERFS_GET</RFC>
      </RFCs>
    </Server>
  </SAP>
</DiscoveredObjects>

The name property of the <Server> element contains the name of the server that you connect to using the DDEX plug-in. The user and client properties of the <Server> element contain the user name and client numbers, respectively. The type property contains the type of connection string (A, B, or D) used to connect to an SAP system. For more information about the types of connection strings, see The Data Provider for the SAP Connection String.

The <Tables> element contains the name of the tables that you add using the plug-in. Similarly, the <RFCs> element contains the RFCs that you add using the plug-in. If you connect to more than one SAP server, another <Server> element is added to the XML file, and the corresponding tables and RFCs are listed under the <Table> and <RFCs> element.

Note
For instructions on using the Visual Studio DDEX plug-in, see Using the Data Provider for SAP with the DDEX Plug-in.

See Also

Concepts

About the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Limitations of the .NET Framework Data Provider for mySAP Business Suite

The following are known limitations of the .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP):

  • The Data Provider for SAP does not support connecting to an SAP system using Secure Network Connection (SNC). For more information about SNC, see Security Considerations Between the SAP System and the Adapter.

  • The Data Provider for SAP does not support the DbType or Size properties of the SAPParameter. Instead, when the user specifies a value for the SAPParameter, the value is cast internally to a .NET data type according to the established mapping between .NET and SAP data types.

  • The maximum length allowed for field values of SAP data types CURR, DEC, and QUAN is 29 digits. Although SAP provides 31 places for these data-type values natively, the .NET decimal data type to which they are converted imposes a 29-digit limit.

  • A mapping limitation between the .NET data type Double and the SAP FLTP data type can cause an overflow error when reading data from the SAP system into the .NET type. Although the .NET type can represent a double-precision 64-bit number with values ranging from negative 1.79769313486232e308 to positive 1.79769313486232e308, an SAP FLTP type parsed by the Data Provider for SAP cannot exceed 1.8446744073709552E+19; the effective limit for the FLTP type is the range negative 1.8446744073709552E+19 to positive 1.8446744073709552E+19.

  • Due to issues with timeout handling by the underlying client library, the Data Provider for SAP does not support command and connection timeout.

  • The Data Provider for SAP does not support asynchronous command behavior.

  • When used with a SQL Server Integration Services (SSIS) project, the Data Provider for SAP fails to retrieve data for columns that contain values with more than 8000 characters. This is due to an SSIS restriction according to which:

    • Values greater than 4000 characters in SSIS variable are not supported.

    • Values greater than 4000 wide characters are not supported.

    • Values greater than 8000 single-byte characters are not supported.

See Also

Concepts

About the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


SAP Adapter Tutorials

The first of the SAP adapter tutorials contains a step-by-step demonstration of how to present data from an SAP system on a Microsoft SharePoint portal. The remainder of the SAP adapter tutorials contains detailed instructions on how to migrate BizTalk projects that were created using the previous version of the SAP adapter to the current WCF-based SAP adapter.

In addition to the tutorials, the topics in the Developing BizTalk Applications section provide detailed instructions on how to use the SAP adapter with BizTalk Server.

In This Section

  • Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

  • Tutorial 2: Migrating an SAP RFC BizTalk Project

  • Tutorial 3: Migrating an SAP Send IDOC BizTalk Project

  • Tutorial 4: Migrating an SAP Receive IDOC BizTalk Project

See Also

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

This tutorial provides detailed instructions on using the SAP adapter with Microsoft Office SharePoint Server to present business data from an SAP system on a SharePoint portal. To demonstrate how to use the SAP adapter with Office SharePoint Server, consider the two most common entities in any business: customers and sales orders. In this example, an application is created in Office SharePoint Server, which uses the SAP adapter to do the following:

  • Retrieve a list of customers from the SAP system based on a search string.

  • Select a customer from the list and present details for the customer.

  • Retrieve the sales orders for the selected customer.

To extract customer data from an SAP system, the example uses the SD_RFC_CUSTOMER_GET RFC. To extract information about sales orders for a specific customer, it uses the BAPI_SALESORDER_GETLIST RFC.

Note
Some versions of the SAP system expose an RFC_CUSTOMER_GET RFC instead of SD_RFC_CUSTOMER_GET.

Note
Before proceeding with the tutorial, make sure you have installed all the prerequisites for using the SAP adapter with Office SharePoint Server. For more information about the prerequisites, see the BizTalk Adapter Pack installation guide, typically installed at C:/Program Files/Microsoft BizTalk Adapter Pack/Documents.

In This Section

  • Step 1: Publish the SAP Artifacts as a WCF Service

  • Step 2: Create an Application Definition File for the SAP Artifacts

  • Step 3: Create a SharePoint Application to Retrieve Data from SAP

  • Step 4: Test Your SharePoint Application

See Also

Other Resources

SAP Adapter Tutorials

© 2014 Microsoft Corporation. All rights reserved.


Step 1: Publish the SAP Artifacts as a WCF Service
Step 1 of 4

Time to complete: 10 minutes

Objective: You can use the WCF Adapter Service Development Wizard to generate a WCF service that can be hosted in a hosting environment such as Internet Information Services (IIS) or Windows Process Activation Service (WAS). This topic demonstrates how to use the wizard to generate a WCF service file.

Prerequisites

Before running the wizard, install the following:

  • Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK either with the Complete option or the Custom option (and choosing Tools within this option). This installs the Visual Studio template for the WCF Adapter Service Development Wizard.

  • Microsoft BizTalk Adapter for mySAP Business Suite from the BizTalk Adapter Pack.

  • The required SAP client libraries.

For more information about these prerequisites, see the BizTalk Adapter Pack installation guide. The installation guide is typically installed at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

To publish the SAP artifacts as a WCF service

  1. Start Visual Studio, and then create a project.

  2. In the New Project dialog box, from the Project types pane, select Visual C#. From the Templates pane, select WCF Adapter Service.

    Alternatively, from the Project types pane, expand Visual C#, and then select Web. From the Templates pane, select WCF Adapter Service.

    Note
    If you installed Visual Studio 2013 with the Web Development component, the WCF Adapter Service template is also available from the New Website option.

  3. Specify a name and location for the solution, and then click OK. The WCF Adapter Service Development Wizard starts.

  4. On the Welcome page, click Next.

  5. On the Choose Operations page, specify a connection string to connect to the SAP system. To do so:

    1. In the Select a binding list, click sapBinding, and then click Configure.

    2. In the Configure Adapter dialog box, click the Security tab.

    3. In the Client credential type list, select Username, and then specify a valid SAP user name and password to connect to the SAP system.

    4. Click the URI Properties tab, and then specify values for the connection parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

      Note
      If the connection parameters contain any reserved characters (such as XML special characters), you must specify them as-is in the URI Properties tab, that is, without using any escape characters. However, if you specify the URI directly in the Configure a URI box and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

    5. Click the Binding Properties tab, and then specify values for the binding properties, if any, required for the operations you want to target. In this tutorial, the BAPI_SALESORDER_GETLIST RFC is invoked to get the list of sales orders for a specific customer. The sales order information might also contain date columns. When retrieving values for the date column, we recommend that you set the EnableSafeTyping binding property to True when generating the metadata. If this property is set, the SAP DATS data type is surfaced as strings.

      For more information about how the SAP data types are mapped to equivalent .NET types, see Basic SAP Data Types.

      For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    6. Click OK, and then click Connect. After the connection is established, the connection status is shown as Connected.

  6. On the Choose Operations page, in the Select contract type list, click Client (Outbound operations).

  7. In the Select a category box, expand an SAP artifact type. For example, expand the RFC node to see the functional group containing the RFC for which you want to generate a WCF service.

  8. In the Available categories and operations box, select the operations for which you want to generate a WCF service, and then click Add. The selected operations are listed in the Added categories and operations box.

    Note
    You can add more than one operation for each artifact. You can also add operations for different SAP artifacts. For example, you can add one operation for RFC and another for IDOC. In addition, you can search for specific operations by specifying wildcard characters in search expressions. For more information about the supported special characters and the node levels at which you can search for the operations, see How Does the Adapter Surface SAP Metadata?

    For this example, the SD_RFC_CUSTOMER_GET and BAPI_SALESORDER_GETLIST RFCs are added.

    Note
    Some versions of the SAP system expose an RFC_CUSTOMER_GET RFC instead of SD_RFC_CUSTOMER_GET.

    Select SAP artifacts

  9. On the Choose Operations page, click Next.

  10. On the Configure Service and Endpoint Behaviors page, specify values to configure the service and endpoint behavior.

    1. In the Service Behavior Configuration box, specify values for the following:

      For the property Specify the value

      EnableMetadataExchange

      Set this to True to create a metadata exchange endpoint. By setting this to True, you make the service metadata available using standardized protocols, such as WS-Metadata Exchange (MEX) and HTTP/GET requests.

      Default is False.

      IncludeExceptionDetailsinFault

      Set this to True to include managed exception information in detail of SOAP faults returned to the client for debugging purposes. Default is False.

      Name

      Name for the service behavior configuration.

      UseServiceCertificate

      Specifies whether you want to use the message level security mode of WCF. Default is True.

      For this tutorial, you must set this to False.

      FindValue

      A string that specifies the value to search for in the X.509 certificate store.

      Note
      Specify a value for this property only if UseServiceCertificate is set to True.

      StoreLocation

      A value that specifies the location of the certificate store that the service can use to validate the client's certificate.

      Note
      Specify a value for this property only if UseServiceCertificate is set to True.

      StoreName

      Name of the X.509 certificate store to open.

      Note
      Specify a value for this property only if UseServiceCertificate is set to True.

      X509FindType

      The type of X.509 search to be executed.

      Note
      Specify a value for this property only if UseServiceCertificate is set to True.

      Note
      For more information about the certificates and the associated properties, see "X509ClientCertificateCredentialsElement Properties" at http://go.microsoft.com/fwlink/?LinkId=103771.

    2. In the Endpoint Behavior Configuration box, specify values for the following:

      For the property Specify the value

      Authentication Type

      • Set this to ClientCredentialUserNamePassword to enable the clients to specify the user name and password when consuming the WCF service.

      • Set this to HTTPUserNamePassword to enable clients to specify user name and password as part of the HTTP header.

      • Set this to Auto to first enable clients to specify credentials through the ClientCredential interface. If this fails, clients can pass credentials as part of the HTTP header.

      Default is Auto. For Microsoft Office SharePoint Server to consume the WCF service, you should set this as HTTPUserNamePassword.

      Name

      Specify a name for the endpoint behavior configuration.

      UsernameHeader

      Name for the user name header. For this example, specify MyUserHeader. For more information about HTTP headers, see "Support for Custom HTTP and SOAP Headers" at http://go.microsoft.com/fwlink/?LinkId=106692.

      Note
      You must specify a value for this property if the Authentication Type is set to HTTPUserNamePassword. If Authentication Type is set to Auto, this property is optional.

      PasswordHeader

      Name for the password header. For this example, specify MyPassHeader. For more information about HTTP headers, see "Support for Custom HTTP and SOAP Headers" at http://go.microsoft.com/fwlink/?LinkId=106692.

      Note
      You must specify a value for this property if the Authentication Type is set to HTTPUserNamePassword. If Authentication Type is set to Auto, this property is optional.

    The following figure shows the Configure Service and Endpoint Behaviors page with the specified values.

    Configure Service and Endpoint Behaviors page

  11. On the Configure Service and Endpoint Behaviors page, click Next.

  12. On the Configure Service Endpoint Binding and Address page, the Select a contract to configure box lists the SAP artifacts for which you selected the operations on the Choose Operations page.

    For example, if you selected artifacts under RFC and IDOC, the Select a Contract to configure lists both RFC and IDOC. If you selected only an RFC, the box will only list RFC.

  13. The Operations under the selected contract box displays the operations you selected for each artifact on the Choose Operations page.

  14. In the Configure the address and binding for the contract box, specify values for the following:

    For the property Specify the value

    Binding Configuration

    The wizard only supports basic HTTP binding. So, the binding configuration field is automatically populated to System.ServiceModel.Configuration.BasicHttpBindingElement.

    Click the ellipsis button (…) to change the properties for HTTP binding. To use a secure communication channel, you must always set the Mode property to Transport. The wizard sets the default value for the Mode property as Transport.

    For more information about the other bindings exposed, see "BasicHttpBindingElement Members" at http://go.microsoft.com/fwlink/?LinkId=103773.

    Endpoint Name

    Specify an endpoint name for the contract.

    The other fields on this page are automatically populated based on the values you specified in the earlier pages.

    Click Apply. Perform this step for all the contracts displayed under the Select a contract to configure box.

    Note
    If you do not specify any values on this page, the default values are accepted for all the contracts.

    The following figure shows the Configure Service Endpoint Binding and Address page with the specified values.

    Configure Service Endpoint Binding and Address

  15. On the Configure Service Endpoint Binding and Address page, click Next. The Summary page lists a tree structure of the SAP artifacts and, under that, the operations selected for each artifact.

  16. Review the summary, and then click Finish.

  17. The wizard creates a WCF service and adds the following files to the Visual Studio project:

    1. .svc file. This is the WCF service file. The wizard generates one file for each contract.

    2. Web.config file.

    3. Service code (.cs file)

  18. Publish the WCF service.

    1. Make sure SSL is enabled for Internet Information Services (IIS). For instructions on how to enable SSL for IIS, see http://go.microsoft.com/fwlink/?LinkId=197170.

    2. Right-click the project in Solution Explorer, and then click Publish.

    3. In the Publish Web dialog box, specify a URL for the WCF service. For example:

      Copy Code
      https://<computer_name>/Customer_Order/
    4. From the Copy box, click All project files.

    5. Click Publish.

  19. Verify that the WCF service is published successfully.

    1. Start the IIS Microsoft Management Console. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.

    2. Navigate to the node where you published the service. For the Customer_Order service, navigate to Internet Information Services > <Computer Name> > Web Sites > Default Web Site > Customer_Order.

    3. On the right pane, right-click the Rfc.svc file, and then click Browse.

    4. The Web page shows up with the URL for retrieving the WSDL. You may want to test metadata retrieval using the svcutil command. For example, the command to retrieve metadata for the Customer_Order service is:

      Copy Code
      svcutil.exe https://<computer_name>/Customer_Order/Rfc.svc?wsdl

Next Step

To create an application definition file for the SAP artifacts, use the Business Data Catalog Definition Editor. See Step 2: Create an Application Definition File for the SAP Artifacts for instructions. The application definition file identifies where the LOB data is stored and the format in which it is stored.

See Also

Concepts

Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

© 2014 Microsoft Corporation. All rights reserved.


Step 2: Create an Application Definition File for the SAP Artifacts
Step 2 of 4

Time to complete: 15 minutes

Objective: The Business Data Catalog feature in Microsoft SharePoint Server exposes and incorporates data from line-of-business (LOB) applications into portals. To incorporate this data into your portal site, you must build an application definition file that Microsoft Office SharePoint Server can consume.

The Business Data Catalog Definition Editor tool, available with Microsoft Office SharePoint Server 2007 SDK, enables you to create an application definition file for the Business Data Catalog. This tool automatically generates an XML file for the definition file, so you do not need to manually create the file in an XML editor.

The purpose of the Microsoft Office SharePoint Server application that you are creating is to:

  • Search for a customer in the SAP system based on a customer name.

  • Select a customer from the list of fetched customers and retrieve the details for the customer.

  • Select a customer from the list of fetched customers and retrieve the sales orders for the customer.

For each of these requirements, you must complete a set of tasks in the Business Data Catalog Definition Editor tool. This topic provides instructions on how to perform these tasks.

Prerequisites

  • Be sure that you have the Business Data Catalog Definition Editor installed as part of the Microsoft Office SharePoint Server 2007 SDK. You can download the SDK from http://go.microsoft.com/fwlink/?LinkId=104130.

  • Publish the WCF service as described in Step 1: Publish the SAP Artifacts as a WCF Service.

Creating an Application Definition File

This topic provides step-by-step instructions to create an application definition file for the WCF service.

Connect to the WCF LOB Service, and Create Entities

You must connect to the WCF service to extract the Web Services Description Language (WSDL) for the service. From the WSDL, the Business Data Catalog Definition Editor extracts the methods. These methods can be used to create entities. For this example, two entities are created, one each for the customer and sales orders.

To connect to the WCF service and create entities

  1. Start the Business Data Catalog Definition Editor. On the Start menu, click Microsoft Business Data Catalog Definition Editor.

  2. On the toolbar, click Add LOB System.

  3. In the Add LOB System window, click Connect to Webservice.

  4. In the URL box, type the URL for the WCF service. The URL must be in the following format:

    Copy Code
    https://<computer_name>/Customer_Order/Rfc.svc?wsdl

    where Rfc.svc is the file created for the Rfc contract.

    The URL is available when you test whether the WCF service is published successfully, as described in the topic Step 1: Publish the SAP Artifacts as a WCF Service.

  5. Click Connect.

  6. To see the operations you selected in the WCF Adapter Service Development Wizard, click the Add Web Method tab. You will see the following methods:

    • SD_RFC_CUSTOMER_GET

    • BAPI_SALESORDER_GETLIST

      Add web methods to the BDC application

    Drag the methods to the Design Surface. Make sure you drag both operations to the different entities.

    Create entities for the web methods

  7. Click OK.

  8. In the Enter the name for the LOB System dialog box, type a name in the LOB System Name box. For this example, call it Customer_Order, and then click OK.

  9. In the Business Data Catalog Definition Editor, the two entities are listed as Entity0 and Entity1. Give these entities friendly names. Rename the entity for SD_RFC_CUSTOMER_GET to Customer, and rename the entity for BAPI_SALESORDER_GETLIST to SalesOrder. Perform the following steps to rename the entities:

    1. Expand the Customer_Order node, and then expand the Entities node.

    2. Select the Entity0 node.

    3. In the Properties pane, type Customer in the Name box.

      Rename the entity
    4. Select the Entity1 node.

    5. In the Properties pane, type SalesOrder in the Name box.

Specify User Name and Password Headers for the Methods

When creating a WCF service for the selected RFCs in the SAP system, you specified user name and password headers as part of the endpoint behavior configuration. See Step 1: Publish the SAP Artifacts as a WCF Service. You must specify the same values for the method properties.

To specify user name and password headers

  1. Add the user name and password headers for the SD_RFC_CUSTOMER_GET method.

    1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

    2. Click the SD_RFC_CUSTOMER_GET node, and in the Properties pane click the ellipsis (…) button against the Properties box.

    3. In the PropertyView Collection Editor window, click Add, and in the Property pane, type HttpHeaderUserName for the Name box. Similarly, type MyUserHeader for the PropertyValue box. Select System.String for the Type box.

      Add a property
    4. In the PropertyView Collection Editor window, click Add, and in the Property pane, type HttpHeaderPassword for the Name box. Similarly, type MyPassHeader for the PropertyValue box. Select System.String for the Type box.

    5. Click OK.

  2. Add the user name and password headers for the BAPI_SALESORDER_GETLIST method.

    1. In the Metadata Objects pane, expand the SalesOrder node, and then expand the Methods node.

    2. Click the BAPI_SALESORDER_GETLIST node, and in the Properties pane click the ellipsis (…) button against the Properties box.

    3. In the PropertyView Collection Editor window, click Add, and in the Property pane, type HttpHeaderUserName for the Name box. Similarly, type MyUserHeader for the PropertyValue box. Select System.String for the Type box.

    4. In the PropertyView Collection Editor window, click Add, and in the Property pane, type HttpHeaderPassword for the Name box. Similarly, type MyPassHeader for the PropertyValue box. Select System.String for the Type box.

    5. Click OK.

Set up Single Sign-On for Connecting to the SAP System

After you have finished performing all the procedures in this topic, you will have created an application definition file that can be imported into a SharePoint application. From the application, you invoke the SAP methods to retrieve relevant data from the SAP system. To enable this, you must create a mapping between a user in the SAP system and the user in the SharePoint application. You create this mapping in SharePoint Central Administration console after you have imported the application definition file.

However, to create the mapping you must set a property SecondarySsoApplicationId in the Business Data Catalog Definition Editor.

To set the SecondarySsoApplicationId property

  1. In the Metadata Objects pane, expand the Customer_Order node, and then expand the Instances node.

  2. Click Customer_Order_Instance, and in the Properties pane, click the ellipsis (…) button against the Properties box.

  3. In the PropertyView Collection Editor window, click Add, and in the Property pane, type SecondarySsoApplicationId for the Name box. Similarly, type SAPSSO for the PropertyValue box. Select System.String for the Type box.

    Add the SSO property

  4. Click OK.

Requirement 1: Search for Customers Based on Customer Name

To create an application definition file that can be used to search for customers based on customer name, you must perform the following set of tasks.

  • In the SD_RFC_CUSTOMER_GET method, create a filter and map it to the parameter that stores the customer name.

  • Create a Finder method instance for the SD_RFC_CUSTOMER_GET method. A Finder method retrieves a list of records based on a filter.

To create a filter, and map it to the customer name parameter

  1. Create a filter.

    1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

    2. Expand the SD_RFC_CUSTOMER_GET method, right-click Filters, and then click Add Filter.

      Add filter to a method
    3. In the Properties pane, type CustomerName in the Name box.

      Specify a name for the filter
    4. For the FilterType property, select WildcardFilter.

  2. Map the filter to the NAME1 parameter in the SD_RFC_CUSTOMER_GET method.

    1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

    2. Expand the SD_RFC_CUSTOMER_GET method, and then expand the Parameters node.

    3. Expand the NAME1 node, and click the second NAME1 node. The NAME1 parameter contains the name of the customer.

    4. In the Properties pane, select CustomerName from the FilterDescriptor list.

      Map the filter to a method parameter

To create a Finder method instance for the SD_RFC_CUSTOMER_GET method

  1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

  2. Expand the SD_RFC_CUSTOMER_GET node, right-click Instances, and then click Add Method Instance to open the Create Method Instance window.

    Add a method instance

  3. In the Create Method Instance window, click Finder for Method Instance Type. Select CUSTOMER_T for Return TypeDescriptor.

    Add a Finder method instance

  4. Click OK.

  5. In the Properties pane, type GetCustomerByName_Instance in the Name box.

    Specify a name for the method instance

Requirement 2: Retrieve Details for a Specific Customer from the List of Customers

To create an application definition file that can be used to search for customers based on customer name, you must perform the following set of tasks.

  • In the SD_RFC_CUSTOMER_GET method, create an identifier, and map it to the parameter that stores the customer number.

  • Create a Specific Finder method instance for the SD_RFC_CUSTOMER_GET method. A Specific Finder method finds a specific record based on an identifier.

To create an identifier, and map it to the customer number parameter

  1. Create an identifier for the Customer entity.

    1. In the Metadata Objects pane, expand the Customer node.

    2. Right-click the Identifiers node, and then select Add Identifier.

      Add an identifier to a method
    3. In the Properties pane, type CustomerID in the Name box.

    4. Select System.String for the Type box.

      Specify a name for the identifier

  2. Map the identifier to the key parameter for the SD_RFC_CUSTOMER_GET method.

    1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

    2. Expand the SD_RFC_CUSTOMER_GET method, and then expand the Parameters node.

    3. Expand the KUNNR parameter, and then click the second KUNNR node.

    4. In the Properties pane, select CustomerID[Customer] from the Identifier list.

      Map the identifier to a parameter

  3. Set up an association between input and return parameters.

    1. In the Metadata Objects pane, expand the Customer node, and then expand the Methods node.

    2. Expand the SD_RFC_CUSTOMER_GET method, and then expand the Parameters node.

    3. Expand the CUSTOMER_T node, then the second CUSTOMER_T node, then the Item node, and then click the KUNNR node.

    4. In the Properties pane, select CustomerID[Customer] from the Identifier list.

To create a Specific Finder method instance for the SD_RFC_CUSTOMER_GET method

  1. In the Metadata Objects pane, expand the Customer node, and then the Methods node.

  2. Expand the SD_RFC_CUSTOMER_GET node, right-click Instances, and then select Add Method Instance to open the Create Method Instance window.

    Add a method instance

  3. In the Create Method Instance window, select Specific Finder for Method Instance Type. Similarly, select CUSTOMER_T for Return TypeDescriptor.

    Add a Specific Finder Method Instance

  4. Click OK.

  5. In the Properties pane, type GetCustomerByNumber_Instance for the Name box.

    Specify a name for the method instance

Requirement 3: Retrieve Sales Order Details for a Specific Customer from the List of Customers

To create an application definition file that can be used to retrieve sales order details for a specific customer, you must perform the following set of tasks.

  • Set up an association between the Customer and SalesOrder entities.

  • Create an Association method for the BAPI_SALESORDER_GETLIST method.

To create an association between the Customer and SalesOrder entities

  1. In the Metadata Objects pane, expand the SalesOrder node, and then expand the Methods node.

  2. Expand the BAPI_SALESORDER_GETLIST method, and then expand the Parameters node.

  3. Expand the CUSTOMER_NUMBER node, and then click the second CUSTOMER_NUMBER node.

  4. In the Properties pane, select CustomerID[Customer] from the Identifier list.

    Create association between the two entities

To create an Association method instance for the BAPI_SALESORDER_GETLIST method

  1. In the Metadata Objects pane, expand the SalesOrder node, and then expand the Methods node.

  2. Expand the BAPI_SALESORDER_GETLIST node, right-click Instances, and then select Add Method Instance to open the Create Method Instance window.

    Add an Association Method Instance

  3. In the Create Method Instance window, select Association for Method Instance Type.

  4. In the Source Entities list, select Customer.

  5. In the Return TypeDescriptor list, select SALES_ORDERS..

    Create an Association Method Instance

  6. Click OK.

  7. In the Properties pane, type SalesOrderForCustomer_Instance for the Name box.

    Specify a name for the Association Method

Remove Parameters of System.Nullable Type

While creating the Association method instance for the BAPI_SALESORDER_GETLIST method, you selected the return type as SALES_ORDERS. If you expand the SALES_ORDER parameter, you will notice some parameters are of System.Nullable type. You can see the parameter type by selecting the parameter in the Business Data Catalog Definition Editor, and looking at the value for the TypeName property.

For such parameters, the Business Data Catalog Definition Editor creates another parameter with the same name but with a “Specified” suffix. For example, look at parameters ITM_NUMBER and ITM_NUMBERSpecified. Microsoft Office SharePoint Server does not support System.Nullable parameters. So, when you try records that contain the System.Nullable parameter type, it throws an exception. Therefore, you must remove both the parameters (with and without the “Specified” suffix and having the same name) from the Business Data Catalog Definition Editor

To remove the parameters of System.Nullable type

  1. In the Metadata Objects pane, expand the SalesOrder node, and then expand the Methods node.

  2. Expand the BAPI_SALESORDER_GETLIST node, and then expand the Parameters node.

  3. Expand SALES_ORDERS, expand the second SALES_ORDERS, and then expand Item.

  4. Right-click the parameter that contains the "Specified" suffix in the name, and then select Delete.

  5. Right-click the parameter that has the same name as the parameter you deleted, without the suffix, and then select Delete. Typically, this parameter is right before the parameter that has the "Specified" suffix.

Set Default Parameters

The BAPI_SALESORDER_GETLIST takes two parameters. One of these parameters, TRANSACTION_GROUP, is the default parameter. So, you must set the default value for this parameter.

To set the default value for TRANSACTION_GROUP

  1. In the Metadata Objects pane, expand the SalesOrder node, and then expand the Methods node.

  2. Expand the BAPI_SALESORDER_GETLIST node, and then expand the Instances node.

  3. Select the SalesOrderForCustomer_Instance method instance, and in the Properties pane, click the ellipsis button (…) against the DefaultValues box.

  4. In the Edit window, expand TRANSACTION_GROUP node, and for the TRANSACTION_GROUP box, specify the default value 0.

    Specify a default value for the method instance

  5. Click Close.

Export the Application Definition to a File

You have now created an application definition that contains the SAP system instance metadata. You must export this definition to an XML file, which can be imported into Microsoft Office SharePoint Server.

To export the application definition to a file

  1. In the Metadata Objects pane, right-click the Customer_Order node, and then click Export.

  2. Save the file as Customer_Order.xml.

Next Steps

You must now create a SharePoint application to retrieve data from an SAP system. See Step 3: Create a SharePoint Application to Retrieve Data from SAP for instructions.

See Also

Concepts

Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

© 2014 Microsoft Corporation. All rights reserved.


Step 3: Create a SharePoint Application to Retrieve Data from SAP
Step 3 of 4

Time to complete: 15 minutes

Objective: You must now take the application definition file that you created by using the Business Data Catalog Definition Editor tool, and import it into Microsoft Office SharePoint Server.

Prerequisites

  • You should have created an application definition file as described in Step 2: Create an Application Definition File for the SAP Artifacts.

  • The Microsoft Single Sign-on service must be running.

How to Create a SharePoint Application

Creating a SharePoint application involves the following steps:

  • Create a single sign-on (SSO) application in SharePoint

  • Create a Shared Services provider

  • Import the application definition file

  • Create a Web Part page, and add Web Parts

This topic demonstrates how to perform these steps.

Creating an SSO Application in SharePoint

To access the data in an SAP system from a SharePoint application, you must set up an SSO application that maps a SharePoint user to an SAP user. Creating an SSO application in SharePoint involves the following steps:

  1. Manage server settings for single sign-on. In this step, you specify a user account that can manage and set up the single sign-on service. You can do so on the Manage Server Settings page. This option is available from the SharePoint Central Administration console. For more information about this step, refer to the “Configure Single Sign-On for Office SharePoint Server 2007” section at http://go.microsoft.com/fwlink/?LinkId=105291.

  2. Manage settings for enterprise application definitions. In this step, you configure the settings for the enterprise application definition. You can do so from the Manage Settings for Enterprise Application Definitions page. This option is available from the SharePoint Central Administration console.

    1. On Central Administration, on the top navigation bar, click Operations.

    2. On the Operations page, in the Security Configuration section, click Manage settings for single sign-on.

    3. On the Manage Settings for Single Sign-On page, in the Enterprise Application Definition Settings section, click Manage settings for enterprise application definitions.

    4. On the Manage Enterprise Application Definitions page, provide values for the Display name, Application name, and the Contact e-mail address fields.

      Important
      For the Application name field, make sure you specify the same SSO application name that you specified for the SecondarySsoApplicationId variable while creating the application definition file, as described in Step 2: Create an Application Definition File for the SAP Artifacts.

    5. Leave the other fields as default, and click OK.

  3. Manage account information for enterprise application definitions. In this step, you enable individual users or groups to connect to an enterprise application from SharePoint. Essentially, in this step you map an individual user or group to a user in the LOB system. You also specify the credentials to connect to the LOB system. You can do so from the Manage Account Information for Enterprise Application Definitions page. This option is available from the SharePoint Central Administration console. For more information about this step, refer to the “Manage account information for an enterprise application definition” section at http://go.microsoft.com/fwlink/?LinkId=105291.

Creating a Shared Services Provider

A Shared Service Provider is a logical grouping of shared services and their supporting resources. You can create an SSP by using the SharePoint Central Administration console.

You must define a Web site when creating an SSP. Remember the port number and the site address that you create. You will import the Business Data Catalog application definition to this site.

For more information about creating an SSP, see "Chapter overview: Create and configure Shared Services Providers" at http://go.microsoft.com/fwlink/?LinkId=105119.

Importing the Application Definition File

You must now import the application definition file into the SSP.

To import the application definition file

  1. Start SharePoint 3.0 Central Administration. Click Start, point to All Programs, point to Microsoft Office Server, and then click SharePoint 3.0 Central Administration.

  2. In the left navigation pane, click the name of the SSP to which you want to import the application definition.

  3. In the Business Data Catalog section, click Import application definition.

  4. On the Import Application Definition page that opens, browse to Customer_Orders.xml, select the file, and then click Open.

  5. Click Import.

  6. Click OK.

    After importing the application, you can view your application by going to the View Applications link. Click the application name to see the entities in the application.

Creating Web Parts

You must now create Web Parts in your SharePoint site to view and manage the business data that will be extracted from the SAP system. Web Parts are reusable components that can contain any kind of Web-based information, including analytical, collaborative, and database information.

In this tutorial, Web Parts are created for the method instances that were created in the Business Data Catalog Definition Editor. Office SharePoint Server provides different kinds of Web Parts for specific use. The following Web Parts are used here:

  • Business Data List Web Part for the Finder method instance. This Web Part enables you to specify a search expression to retrieve a list of customers from the SAP system. For this tutorial, this is called the Search Customers Web Part.

  • Business Data Item Web Part for the Specific Finder method instance. This Web Part presents the details for a specific customer that you select from the Search Customers Web Part. This Web Part is mapped to the Search Customer Web Part. For this tutorial, this is called the Customer Details Web Part.

  • Business Data Related List Web Part for the Association method instance. This Web Part lists the sales orders for a specific customer that you select from the Search Customers Web Part. This Web Part is associated with the Search Customer Web Part. For this tutorial, this is called the Sales Order Details Web Part.

This section provides instructions to create these Web Parts and to create associations between them. For more information about creating Web Parts, see "Customize business data lists, Web Parts, and sites" at http://go.microsoft.com/fwlink/?LinkId=104131.

The Web Parts will be added to a single Web Part page. You must create a Web Part page before adding the Web Parts. For this tutorial, this Web Part page is called Customer_SalesOrders.

Creating a Web Part Page

This section provides instructions to create a Web Part page.

To create a Web Part page

  1. Start SharePoint 3.0 Central Administration. Click Start, point to All Programs, point to Microsoft Office Server, and click SharePoint 3.0 Central Administration.

  2. In the left navigation pane, click the name of the SSP to which you want to import the application definition.

  3. On the Shared Services Administration page, in the upper-right corner, click Site Actions, and then click Create.

    Menu to create a web part

  4. On the Create page, in the Web Pages section, click Web Part Page.

  5. On the New Web Part page, do the following:

    1. In the Name field, type a name for the page. For this tutorial, type the name as Customer_SalesOrders.

    2. Select the Overwrite if file already exists check box, if you want to overwrite old pages with the same name as the new page you create.

    3. In the Layout section, from the Choose a Layout Template box, select a layout for the Web Part page. For this tutorial, select Header, Left Column, Body.

    4. In the Save Location section, in the Document Library list, click Form Templates.

    5. Click Create. The following figure shows a Web Part page after it is just created.

      Empty Web Part page
    6. You must now add the different Web Parts to this page.

Adding a Business Data List Web Part

You must now add a Business Data List Web Part to the Web Part page. Using this Web Part you will retrieve a list of customers from the SAP system that matches a search expression. This Web Part corresponds to the Finder method instance (GetCustomerByName_Instance) that you created in the Business Data Catalog Definition Editor.

To add a Business Data List Web Part

  1. On the Customer_SalesOrders page, in the Header section, click Add a Web Part.

  2. In the Add Web Parts dialog box, in the Business Data section, select the Business Data List check box, and then click Add.

    Options to create a business data Web Part

  3. In the newly added Business Data List Web Part, click the Open the tool pane link.

    Open the tool pane for Web Part

  4. The Business Data List tool pane opens in the right pane. In the Business Data List section, for the Type field, click the Browse button.

    Business Data List tool pane

  5. In the Business Data Type Picker dialog box, select the Customer_Order_Instance application, and then click OK.

    Select the application instance

  6. Expand the Appearance node, and in the Title box, type a title for the Web Part. For this Web Part, type Customer List.

  7. In the Business Data List tool pane, click Apply, and then click OK. The Business Data List Web Part now looks like the following:

    Business Data List Web Part

  8. The Web Part lists the fields that are returned by executing the SD_RFC_CUSTOMER_GET RFC. You can remove the fields that you do not want to display on the SharePoint portal. To remove the fields, click the Edit View link in the upper-right corner of the Web Part.

  9. On the Edit View page, in the Columns section, clear the check boxes against the columns that you do not want to display.

    View specific columns in SharePoint

  10. Click OK.

Adding a Business Data Item Web Part

You must now add a Business Data Item Web Part to the Web Part page. You will also connect this Web Part to the Business Data List Web Part that you just created. By doing so, you will be able to see the details for a customer that you select in the Business Data List Web Part. This Web Part corresponds to the Specific Finder method instance (GetCustomerByNumber_Instance) that you created in the Business Data Catalog Definition Editor.

To add a Business Data Item Web Part

  1. On the Customer_SalesOrders page, in the upper-right corner, click Site Actions, and then click Edit Page.

  2. On the Customer_SalesOrders page, in the Left Column section, click Add a Web Part.

  3. In the Add Web Parts dialog box, in the Business Data section, select the Business Data Item check box, and then click Add.

  4. In the newly added Business Data Item Web Part, click the Open the tool pane link.

  5. The Business Data Item tool pane opens in the right pane. In the Business Data Item section, for the Type field, click the Browse button.

    Business Data Item tool pane

  6. In the Business Data Type Picker dialog box, select the Customer_Order_Instance application, and then click OK.

  7. In the View list, select Default.

  8. Leave the Item list empty.

    Note
    For the Item field, you must specify a customer name or customer number for which you want to see the details. That serves as an input parameter for this Web Part. Because you will be getting the input parameter by connecting to the Business Data List Web Part, you need not specify an item explicitly.

  9. In the Fields section, click Choose to select the fields you want to display on the page.

  10. Expand the Appearance node, and in the Title field, specify a title for the Web Part. For this Web Part, specify Details for a Specific Customer.

  11. Click Apply, and then click OK.

  12. Connect the Web Part to the Customer List Web Part. To do so:

    1. Click edit towards the upper-right corner of the Web Part.

    2. From the context menu point to Connections, point to Get Item From, and click Customer List.

      Connect two Web Parts

Adding a Business Data Related List Web Part

You must now add a Business Data Related List Web Part to the Web Part page. You will also connect this Web Part to the Business Data List Web Part you created earlier. By doing so, you will be able to see the sales orders for a customer that you select in the Business Data List Web Part. This Web Part corresponds to the Association method instance (SalesOrderForCustomer_Instance) you created in the Business Data Catalog Definition Editor.

To add a Business Data Related List Web Part

  1. On the Customer_SalesOrders page, in the Body section, click Add a Web Part.

  2. In the Add Web Parts dialog box, in the Business Data section, select the Business Data Related List check box, and click Add.

  3. In the newly added Business Data Related List Web Part, click the Open the tool pane link.

  4. The Business Data Related List tool pane opens in the right pane. In the Business Data Related List section, for the Type field, click the Browse button.

    Business Data Related List

  5. In the Business Data Type Picker dialog box, select the Customer_Order_Instance application, and then click OK. The Relationship list populates with the name of the Association method instance (SalesOrderForCustomer_Instance).

  6. Expand the Appearance node, and in the Title box, type a title for the Web Part. For this Web Part, type Sales Order for a Specific Customer.

  7. Click Apply, and then click OK.

  8. The Web Part lists the fields that are returned by executing the BAPI_SALESORDER_GETLIST RFC. You can remove the fields that you do not want to display on the SharePoint portal. To remove the fields, click the Edit View link in the upper-right corner of the Web Part.

  9. On the Edit View page, in the Columns section, clear the text boxes against the columns that you do not want to display.

  10. Click OK.

  11. Connect the Web Part to the Customer List Web Part. To do so:

    1. Click edit towards the upper-right corner of the Sales Order for a Specific Customer Web Part.

    2. From the context menu, point to Connections, point to Get Related Item From, and then click Customer List.

  12. Click Exit Edit Mode from the upper-right corner of the page.

Next Steps

Test the SharePoint application by retrieving data from an SAP system. See Step 4: Test Your SharePoint Application.

See Also

Concepts

Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

© 2014 Microsoft Corporation. All rights reserved.


Step 4: Test Your SharePoint Application
Step 4 of 4

Time to complete: 10 minutes

Objective: After you have added Web Parts in the SharePoint site and created an application, you must test the application by retrieving some data from the SAP system. This topic provides instructions on how to use the application to retrieve the data from the SAP system.

Prerequisites

  • You should have created the Web Part page that contains the appropriate Web Parts to retrieve business data. See Step 3: Create a SharePoint Application to Retrieve Data from SAP.

To test the SharePoint application

  1. Start SharePoint 3.0 Central Administration. Click Start, point to All Programs, point to Microsoft Office Server, and then click SharePoint 3.0 Central Administration.

  2. In the left navigation pane, click the name of the SSP under which you created the application.

  3. In the left pane, click View All Site Content. In the right pane, click Form Templates.

  4. In the Form Category list, click Customer_SalesOrders. You specified this name when you created the Web Part page. The following figure shows the Web Part page that you created.

    Completed Web Part page

  5. Search for customers based on a search string. For example, search for customers with names starting with "John E". To do so:

    1. In the Customer List section, from the first list, click CustomerName.

    2. From the second list, click starts with.

    3. In the text box, type John E.

    4. Click the Retrieve Data link or press ENTER. The following figure shows the records retrieved from the SAP system that satisfy the search criteria.

      Search results from the SAP system

  6. You can now see the details of any customer in the list and the sales orders associated with the customers, if any. To do so, click the option button against a customer number. The page refreshes to present the details and the sales orders for a specific customer in the respective Web Parts.

    SAP data presented on SharePoint

    If the details of the customers and the associated sales order are displayed correctly, you have successfully completed the tutorial. If no or incorrect data is displayed, carefully check your work to make sure you performed all the tasks correctly.

Summary

In this tutorial you created a WCF service for the SAP artifacts you want to access from a SharePoint Portal. You also created an application definition for the SAP artifacts that is imported into a SharePoint portal to create Web Parts to present data from an SAP system.

See Also

Concepts

Tutorial 1: Presenting Data from an SAP System on a SharePoint Site

© 2014 Microsoft Corporation. All rights reserved.


Tutorial 2: Migrating an SAP RFC BizTalk Project

The previous version of the SAP adapter that shipped with Microsoft BizTalk Server differs from the WCF-based SAP adapter in many aspects, including:

  • The design-time experience of creating a BizTalk project.

  • The metadata retrieval experience.

  • Schema file name and namespace.

  • Data type mappings.

  • The operations that can be performed using the adapter.

  • Physical port configuration in the BizTalk Server Administration console.

These differences are explained in the topics within Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter.

However, you can make changes to the BizTalk project created using the previous version of the adapter and make it work with the WCF-based SAP adapter.

This tutorial provides instructions on the changes you should make to the existing BizTalk project created using the previous version of the adapter.

Note
In this tutorial, for the sake of brevity, the previous version of the SAP adapter will be referred to as vPrev SAP adapter. Similarly, a BizTalk project that uses the vPrev SAP adapter will be referred to as vPrev BizTalk project.

Sample Used for the Tutorial

This tutorial is based upon a sample (SAP_RFC_Migration) that demonstrates how to migrate a vPrev BizTalk project that invokes an RFC in an SAP system. The sample is provided with the BizTalk Adapter Pack. For more information, see Samples.

Prerequisites

  • You must have a vPrev BizTalk project. This tutorial involves a BizTalk project that invokes the SD_RFC_CUSTOMER_GET RFC.

  • You must have a request message to perform to invoke the SD_RFC_CUSTOMER_GET RFC using the vPrev SAP adapter. The request message must conform to the schema of the RFC generated using the vPrev SAP adapter. The sample provided for this tutorial contains this request message.

  • You must have completed the steps in Before You Develop BizTalk Applications.

Understanding a BizTalk Project Created Using the Previous Version of the Adapter

The key constituents of a vPrev BizTalk project to invoke an RFC are:

  • BizTalk orchestration. This is a simple orchestration that picks request messages from a file location, sends the request message to the SAP system using an SAP send-receive port, receives the response, and saves it to another file location.

  • Schema for the RFC you want to invoke in the SAP system. This tutorial involves a BizTalk project that invokes the SD_RFC_CUSTOMER_GET RFC. The schema generated for the RFC is SD_RFC_CUSTOMER_GET__x32003.xsd. This schema is generated using the vPrev SAP adapter.

  • Request message. The request message to invoke the SD_RFC_CUSTOMER_GET RFC. The schema of the request message conforms to the schema of the SD_RFC_CUSTOMER_GET RFC as surfaced by the vPrev SAP adapter.

How to Migrate a BizTalk Project Created Using the Previous Version of the Adapter

The goal of this migration tutorial is to enable you to send a request message, which conforms to schema generated by the vPrev SAP adapter, using a WCF-Custom port that can only process messages conforming to the WCF-based SAP adapter. So, in short, the migration exercise involves configuring the WCF-Custom port to process messages that do not conform to the WCF-based SAP adapter's schema.

However, to be able to configure the WCF-Custom port appropriately, you must perform the following tasks:

  • Generate metadata for the SD_RFC_CUSTOMER_GET RFC using the WCF-based SAP adapter.

  • Map the request message for invoking the RFC using the vPrev SAP adapter to a request message for invoking the RFC using the WCF-based SAP adapter.

  • Map the response message received using the WCF-based SAP adapter to the response message for the vPrev SAP adapter.

  • Create a WCF-Custom SAP send-receive port in the BizTalk Server Administration console.

  • Configure the WCF-Custom port to use the request and response mappings.

In This Section

  • Step 1: Modify the vPrev BizTalk Project for Invoking an RFC

  • Step 2: Configure the Orchestration in BizTalk Server Administration Console

  • Step 3: Test the Migrated Application

See Also

Other Resources

SAP Adapter Tutorials

© 2014 Microsoft Corporation. All rights reserved.


Step 1: Modify the vPrev BizTalk Project for Invoking an RFC
Step 1 of 3

Time to complete: 10 minutes

Objective: In this step, you make the following changes to the existing vPrev BizTalk project:

  • Generate metadata for the SD_RFC_CUSTOMER_GET RFC using the WCF-based SAP adapter.

  • Map the request message for invoking the RFC using the vPrev SAP adapter to a request message for invoking the RFC using the WCF-based SAP adapter.

  • Map the response message received using the WCF-based SAP adapter to the response message for the vPrev SAP adapter.

Prerequisite

  • You must have a vPrev BizTalk project to invoke the SD_RFC_CUSTOMER_GET RFC in the SAP system.

To modify the vPrev BizTalk project

  1. Generate metadata for the SD_RFC_CUSTOMER_GET RFC using the WCF-based SAP adapter. You can use the Consume Adapter Service BizTalk Project Add-in to generate metadata.

    For instructions on how to generate metadata for RFCs, see Browsing, Searching, and Retrieving Metadata for RFC Operations. After the schema is generated, a file with the name similar to SapBindingSchema.xsd is added to the BizTalk project. This file contains the schema for invoking the SD_RFC_CUSTOMER_GET using the WCF-based SAP adapter.

  2. Generating the metadata for the SD_RFC_CUSTOMER_GET RFC also creates a port binding file. In the next step, this binding file will be used to create a WCF-Custom send port to send messages to the SAP system. The SOAP action for the operation is also set to the operation for which you generated metadata. For example, if you generate metadata for the SD_RFC_CUSTOMER_GET RFC, the operation name in the SOAP action on the send port will be “SD_RFC_CUSTOMER_GET”. However, the operation name on the logical send port that you create as part of the orchestration could be different, for example, “Operation_1”. As a result, when you send messages to the SAP system using the send port, you get an error. To prevent this, make sure the operation name on the logical send port in your orchestration is the same as the operation name for which you generated metadata.

    So, in the case of this tutorial, because you generate metadata for the SD_RFC_CUSTOMER_GET RFC, change the name of the logical send port operation to “SD_RFC_CUSTOMER_GET”.

  3. For the request message, map the schema generated using vPrev SAP adapter to the schema generated using the WCF-based SAP adapter.

    1. Add a BizTalk mapper to the BizTalk project. Right-click the BizTalk project, point to Add, and then click New Item.

      In the Add New Item dialog box, from the left pane, select Map Files. From the right pane, select Map. Specify a name for the map, such as RequestMap.btm. Click Add.

    2. From the Source Schema pane, click Open Source Schema.

    3. In the BizTalk Type Picker dialog box, expand the project name, expand Schemas, and select the schema for the request message for the vPrev SAP adapter. For this tutorial, select SAP_Migration.SD_RFC_CUSTOMER_GET__x32003,and then click OK.

    4. In the Root Node for Source Schema dialog box, select SD_RFC_CUSTOMER_GET_Request, and then click OK.

    5. From the Destination Schema pane, click Open Destination Schema.

    6. In the BizTalk Type Picker dialog box, expand the project name, expand Schemas, and select the schema for the request message for the WCF-based SAP adapter. For this tutorial, select SAP_Migration.SapBindingSchema, and then click OK.

    7. In the Root Node for Target Schema dialog box, select SD_RFC_CUSTOMER_GET, and then click OK.

      Map the respective elements in both the schemas as illustrated in the following figure. Map the CUSTOMER_T element using a String Left Trim functoid. To do so, from the Toolbox, drag the String Left Trim functoid and drop it on the mapper grid. Connect the CUSTOMER_T element in the source schema to the functoid. Similarly, connect the CUSTOMER_T element in the destination schema to the functoid. The following figure illustrates how the two elements are mapped via the functoid.

      Map the request messages between adapter versions
      Note
      For more information about the String Left Trim functoid, see "String Left Trim Functoid" at http://go.microsoft.com/fwlink/?LinkId=105774.

    8. Save the map.

  4. For the response message, map the schema generated using vPrev SAP adapter to the schema generated using the WCF-based SAP adapter.

    1. Add a BizTalk mapper to the BizTalk project. Right-click the BizTalk project, point to Add, and click New Item.

      In the Add New Item dialog box, from the left pane, select Map Files. From the right pane, select Map. Specify a name for the map, such as ResponseMap.btm. Click Add.

    2. From the Source Schema pane, click Open Source Schema.

    3. In the BizTalk Type Picker dialog box, expand the project name, expand Schemas, and select the schema for the response message for the WCF-based SAP adapter. For this tutorial, select SAP_Migration.SapBindingSchema, and then click OK.

    4. In the Root Node for Source Schema dialog box, select SD_RFC_CUSTOMER_GETResponse, and then click OK.

    5. From the Destination Schema pane, click Open Destination Schema.

    6. In the BizTalk Type Picker dialog box, expand the project name, expand Schemas, and select the schema for the response message for the vPrev SAP adapter. For this tutorial, select SAP_Migration.SD_RFC_CUSTOMER_GET__x32003, and then click OK.

    7. In the Root Node for Target Schema dialog box, select SD_RFC_CUSTOMER_GET_Response, and then click OK.

    8. Map the respective elements in both the schemas as illustrated in the following figure.

      Map the response messages between adapter versions
    9. Save the map.

  5. Save and build the BizTalk solution. Right-click the solution, and then click Build Solution.

  6. Deploy the solution. Right-click the solution, and then click Deploy Solution.

Next Steps

Create a WCF-Custom send port, and configure it to use the maps you created in this step, as described in Step 2: Configure the Orchestration in BizTalk Server Administration Console.

See Also

Concepts

Tutorial 2: Migrating an SAP RFC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 2: Configure the Orchestration in BizTalk Server Administration Console
Step 2 of 3

Time to complete: 10 minutes

Objective: In this step, you perform the following tasks:

  • Create a WCF-Custom send-receive port to send and receive messages from the SAP system using the SAP adapter. Configure this port to use the maps that you created in the previous step.

  • Configure the orchestration you deployed in the last step to use the WCF-Custom port.

Prerequisite

  • Deploy the BizTalk orchestration for which you want to configure the WCF-Custom port.

To create a WCF-Custom port

  1. When you generate schema for an RFC using the Consume Adapter Service BizTalk Project Add-in, a binding file is also added to the BizTalk project. You can import this binding file into your BizTalk application to create a WCF-Custom send-receive port. For instructions on importing a binding file, see Importing Bindings.

  2. After you import the binding file, a send port is created under the Send Ports folder in the BizTalk Server Administration console.

  3. Right-click the WCF-Custom port, and then click Properties.

  4. From the left pane of the send port properties dialog box, click the General tab. From the right pane, click Configure.

  5. In the WCF-Custom Transport Properties dialog box, click the Credentials tab, and specify the credentials to connect to an SAP system.

  6. Click OK.

  7. From the left pane of the send port properties dialog box, click Inbound Maps. From the right pane, click the field under the Map column, and from the drop-down, select ResponseMap.

    Configure the inbound map on the WCF custom port

  8. From the left pane of the send port properties dialog box, click Outbound Maps. From the right pane, click the field under the Map column, and from the drop-down, select RequestMap.

    Configure the outbound map on the WCF custom port

  9. Click OK.

To configure the BizTalk application

  1. In the BizTalk Server Administration console, expand BizTalk Group, expand Applications, and then expand the BizTalk Application where the orchestration is deployed.

  2. Right-click the BizTalk application, and then select Configure.

  3. From the left pane, click the orchestration to configure. From the right pane, from the Host drop-down list, select a BizTalk host instance.

  4. Under the Bindings box, map the logical ports of the BizTalk orchestration to the physical ports in the BizTalk Server Administration console.

    1. Select the file port where you will drop a request message. The BizTalk orchestration will consume the request message and send it to the SAP system.

    2. Select the file port where the BizTalk orchestration will drop the response message containing the response from the SAP system.

    3. Select the WCF-custom send port you created earlier in this topic.

    4. Click OK.

    For more information about configuring an application, see "How to Configure an Application" at http://go.microsoft.com/fwlink/?LinkId=102360.

Next Steps

You have now completed migration of your vPrev BizTalk project to a BizTalk project that sends messages to the SAP system using the WCF-based SAP adapter. You must now test the migrated BizTalk application by sending a request message to invoke the SD_RFC_CUSTOMER_GET RFC, as described in Step 3: Test the Migrated Application.

See Also

Concepts

Tutorial 2: Migrating an SAP RFC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 3: Test the Migrated Application
Step 3 of 3

Time to complete: 5 minutes

Objective: In this step, you will test the migrated application by invoking the SD_RFC_CUSTOMER_GET RFC. To do this, you drop a request message that conforms to the schema generated using the vPrev SAP adapter.

Prerequisites

  • Configure the BizTalk application by mapping the logical ports in the BizTalk orchestration to physical ports in the BizTalk Server Administration console.

  • Configure the BizTalk application to use the WCF-Custom send port for the WCF-based SAP adapter.

To test the migrated application

  1. From the SAP_RFC_Migration folder, copy the Input.xml request message. This request message conforms to the schema generated by the vPrev SAP adapter. Using the outbound map, the WCF-Custom send port converts this to conform to the schema for the WCF-based SAP adapter and sends it to the SAP system.

    Copy Code
    <ns0:SD_RFC_CUSTOMER_GET_Request xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003">
  <KUNNR>0000001390</KUNNR>
  <NAME1/>
  <CUSTOMER_T/>
</ns0:SD_RFC_CUSTOMER_GET_Request>

  2. Paste the request message to the folder that is mapped to the file receive location.

  3. The orchestration consumes the request message and sends it to the SAP system. The response from the SAP system is received in the schema that conforms with the schema of the WCF-based SAP adapter. Using the inbound map, the WCF-Custom send port converts this to the schema for the vPrev SAP adapter. The response from the SAP system is saved to the other file location defined as part of the orchestration. The response for the previous request message is:

    Copy Code
    <?xml version="1.0" encoding="utf-8" ?>
<ns0:SD_RFC_CUSTOMER_GET_Response xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003">
  <CUSTOMER_T>
    <KUNNR>0000001390</KUNNR>
    <ANRED>Firma</ANRED>
    <NAME1>Contoso, Ltd.</NAME1>
    <PFACH />
    <STRAS>Strasse 4567</STRAS>
    <PSTLZ>50000</PSTLZ>
    <ORT01>Aachen</ORT01>
    <TELF1>0123-45678</TELF1>
    <TELFX>0123-56789</TELFX>
  </CUSTOMER_T>
</ns0:SD_RFC_CUSTOMER_GET_Response>

See Also

Concepts

Tutorial 2: Migrating an SAP RFC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Tutorial 3: Migrating an SAP Send IDOC BizTalk Project

The previous version of the SAP adapter that shipped with Microsoft BizTalk Server differs from the WCF-based SAP adapter in many aspects, including:

  • The design-time experience of creating a BizTalk project.

  • The metadata retrieval experience.

  • Schema file name and namespace.

  • Data type mappings.

  • The operations that can be performed using the adapter.

  • Physical port configuration in the BizTalk Server Administration console.

These differences are explained in the topics within Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter.

However, you can make changes to the BizTalk project created using the previous version of the adapter and make it work with the WCF-based SAP adapter.

This tutorial provides instructions on the changes you should make to the existing BizTalk project created using the previous version of the adapter.

Note
In this tutorial, for the sake of brevity, the previous version of the SAP adapter will be referred to as vPrev SAP adapter. Similarly, a BizTalk project that uses the vPrev SAP adapter will be referred to as vPrev BizTalk project.

Sample Used for the Tutorial

This tutorial is based upon a sample (SendIDOC_Migration) that demonstrates how to migrate a vPrev BizTalk project that sends an IDOC to an SAP system. The sample is provided with the BizTalk Adapter Pack. For more information, see Samples.

Prerequisites

  • You must have a vPrev BizTalk project. This tutorial involves a BizTalk project that sends a BOMDOC IDOC to an SAP system.

  • You must have a flat-file BOMDOC IDOC to send to the SAP system using the vPrev SAP adapter. The sample provided for this tutorial contains this flat-file IDOC.

  • You must have completed the steps in Before You Develop BizTalk Applications.

Understanding a BizTalk Project Created Using the Previous Version of the Adapter

The key constituents of a vPrev BizTalk project to send an IDOC are:

  • BizTalk orchestration. This is a simple orchestration that picks a flat-file IDOC from a file location and sends the IDOC to the SAP system using an SAP send port. The BizTalk project contains a flat-file disassembler to convert the flat-file IDOC to an XML, so that it can be used in an orchestration. Before the XML IDOC is consumed by the vPrev SAP send port, it is converted back into a flat-file IDOC using a flat-file assembler.

  • Schema for the IDOC you want to send to the SAP system. For this tutorial, you take a BizTalk project that sends BOMDOC01 IDOC to the SAP system. The schema generated for the IDOC is BOMDOC01.xsd. This schema is generated using the vPrev SAP adapter.

  • The flat-file IDOC. This is the flat-file IDOC that is sent to the SAP system.

How to Migrate a BizTalk Project Created Using the Previous Version of the Adapter

The goal of this migration tutorial is to enable you to send a flat-file IDOC to an SAP system using a WCF-Custom send port instead of the send port for the vPrev SAP adapter. Before understanding what settings are required for the WCF-Custom send port, you must first understand what physical ports are required for the vPrev send IDOC orchestration:

  • A file receive port that picks the flat-file IDOC. This port uses the flat-file disassembler pipeline, available in the BizTalk application, to convert the flat-file into an XML that conforms to the schema (BOMDOC01.xsd) generated using the vPrev SAP adapter.

  • A vPrev SAP send port that sends the flat-file IDOC to the SAP system. Before sending the flat-file, the port uses the flat-file assembler to convert the XML IDOC into a flat-file IDOC.

To migrate your existing vPrev BizTalk project, you do not need to change the file receive port that picks the flat-file IDOC and converts the flat-file IDOC to XML using a flat-file disassembler. You only need to configure a new WCF-Custom send port with the right configuration settings. This tutorial demonstrates how to configure the WCF-Custom send port to send IDOCs to an SAP system using the WCF-based SAP adapter.

In This Section

  • Step 1: Build and Deploy the vPrev BizTalk Project for Sending an IDOC

  • Step 2: Configure a WCF-Custom One-way Send Port

  • Step 3: Test the Migrated Application

See Also

Other Resources

SAP Adapter Tutorials

© 2014 Microsoft Corporation. All rights reserved.


Step 1: Build and Deploy the vPrev BizTalk Project for Sending an IDOC
Step 1 of 3

Time to complete: 5 minutes

Objective: In this step, you build and deploy your existing vPrev BizTalk project to send an IDOC to an SAP system.

Note
You do not need to make any change to the vPrev BizTalk project.

Prerequisites

You must have a vPrev BizTalk project to send a BOMDOC IDOC to an SAP system.

To build and deploy the vPrev BizTalk project

  1. Create a strong-name key file required to build and deploy the solution. To create a strong-name key file, do the following:

    1. Start Visual Studio Command Prompt.

    2. At the command prompt navigate to the folder where you want to create the key file. For example, type cd C:\Sample, and then press ENTER.

    3. At the command prompt, type sn -k <key file name>.snk, and then press ENTER.

  2. Right-click the BizTalk solution name in Solution Explorer, and then click Properties. In the Property Pages dialog box, do the following:

    1. Click Configuration Properties from the left pane, and make sure the check boxes in the Build and Deploy columns are selected.

    2. Click OK.

  3. Right-click the BizTalk project in Solution Explorer, and then click Properties. In the Property Pages dialog box, do the following:

    1. In the left pane, expand Common Properties, and then click Assembly.

    2. In the right pane, under the Strong name category, for the Assembly Key File property, provide the path to the assembly key file you created earlier.

    3. Click OK.

  4. In Solution Explorer, right-click the solution name, and then click Build Solution.

  5. After the solution successfully builds, right-click the solution name, and then click Deploy Solution.

Next Steps

Create and configure a WCF-Custom send port and configure it to send IDOCs to an SAP system using the WCF-based SAP adapter, as described in Step 2: Configure a WCF-Custom One-way Send Port.

See Also

Concepts

Tutorial 3: Migrating an SAP Send IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 2: Configure a WCF-Custom One-way Send Port
Step 2 of 3

Time to complete: 10 minutes

Objective: In this step, you configure a WCF-Custom port to send the flat-file IDOC to an SAP system. After configuring the port, you configure the BizTalk application to use the WCF-Custom send port.

Prerequisites

You must have built and deployed your vPrev BizTalk project to send IDOCs to an SAP system.

To configure a WCF-Custom one-way send port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Expand the application under which you want to create the send port.

  4. Right-click Send Ports, point to New, and click Static One-way Send Port.

  5. In the Send Port Properties dialog box, on the General tab, type a name for the send port.

  6. From the Type drop-down list, select WCF-Custom, and then click Configure.

  7. In the WCF-Custom Transport Properties dialog box, do the following:

    1. Click the General tab, and in the Address (URI) field, specify the connection URI to send messages to the SAP system. For more information about the connection URI, see The SAP System Connection URI.

      Connection URI specified in the send port

    2. On the General tab, in the Action text box, type the action for the operation. To send a flat-file IDOC, you must use the SendIdoc operation exposed by the WCF-based SAP adapter. SendIdoc operation enables adapter clients to send IDOCs having a weakly-typed schema. For more information, see Operations on IDOCs. The following figure shows the Action text box with the action for the SendIdoc operation.

      Specify action in the send port

    3. Click the Binding tab, and from the Binding Type drop-down list, select sapBinding.

    4. Click the Credentials tab and specify the credentials to connect to an SAP system.

    5. Click the Messages tab, and in the Outbound WCF message body section, choose the Template option.

    6. In the XML text box, specify the template that will be used to construct the WCF message. By doing so, you create a message that conforms to the SendIdoc operation for the WCF-based SAP adapter. For more information about the message structure for the SendIdoc operation, see Message Schemas for IDOC Operations.

      Specify template for outbound WCF message For the SendIdoc operation, you must specify the following template:

      Copy Code
      <SendIdoc xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/">
<idocData><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/></idocData>
</SendIdoc>
      In the preceding template, the bts-msg-body is XML IDOC that is created using the flat-file disassembler associated with the file receive port. The XML IDOC is encapsulated in the SendIdoc message.

    7. Click Apply, and then click OK.

  8. In the Send Port Properties dialog box, from the Send handler drop-down list, select BizTalkServerApplication.

  9. From the Send pipeline drop-down list, select ConvertToFlatFile. This flat-file assembler pipeline is already a part of the vPrev BizTalk project and is used to convert an XML IDOC to a flat-file IDOC.

  10. Click OK.

To configure the BizTalk application

  1. In the BizTalk Server Administration console, expand BizTalk Group, expand Applications, and expand the BizTalk Application where the orchestration is deployed.

  2. Right-click the BizTalk application, and then select Configure.

  3. From the left pane, click the orchestration to configure. From the right pane, from the Host drop-down list, select a BizTalk host instance.

  4. Under the Bindings box, map the logical ports of the BizTalk orchestration to the physical ports in the BizTalk Server Administration console.

    1. Select the file port where you will drop the flat-file IDOC.

    2. Select the WCF-Custom send port you created earlier in this topic.

    3. Click OK.

    For more information about configuring an application, see "How to Configure an Application" at http://go.microsoft.com/fwlink/?LinkId=102360.

Next Steps

You have now completed migration of your vPrev BizTalk project to a BizTalk project that sends IDOCs to an SAP system using the WCF-based SAP adapter. You must now test the migrated BizTalk application by sending a flat-file IDOC, as described in Step 3: Test the Migrated Application.

See Also

Concepts

Tutorial 3: Migrating an SAP Send IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 3: Test the Migrated Application
Step 3 of 3

Time to complete: 5 minutes

Objective: In this step, you will test the migrated application by sending a flat-file IDOC using the WCF-based SAP adapter.

Prerequisites

  • Configure the BizTalk application by mapping the logical ports in the BizTalk orchestration to physical ports in the BizTalk Server Administration console.

  • Configure the BizTalk application to use the WCF-custom send port for the WCF-based SAP adapter.

To test the migrated application

  1. From the SendIDOC_Migration folder, copy the BOMDOC.txt file. This is the flat-file IDOC to be sent to the SAP system.

  2. Paste the flat-file IDOC to the folder that is mapped to the file receive location.

  3. The orchestration consumes the file and sends the IDOC to the SAP system. Verify if there are any errors in the event viewer.

See Also

Concepts

Tutorial 3: Migrating an SAP Send IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Tutorial 4: Migrating an SAP Receive IDOC BizTalk Project

The previous version of the SAP adapter that shipped with Microsoft BizTalk Server differs from the WCF-based SAP adapter in many aspects, including:

  • The design-time experience of creating a BizTalk project.

  • The metadata retrieval experience.

  • Schema file name and namespace.

  • Data type mappings.

  • The operations that can be performed using the adapter.

  • Physical port configuration in the BizTalk Server Administration console.

These differences are explained in the topics within Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter.

However, you can make changes to the BizTalk project created using the previous version of the adapter and make it work with the WCF-based SAP adapter.

This tutorial provides instructions on the changes you should make to the existing BizTalk project created using the previous version of the adapter.

Note
In this tutorial, for the sake of brevity, the previous version of the SAP adapter will be referred to as vPrev SAP adapter. Similarly, a BizTalk project that uses the vPrev SAP adapter will be referred to as vPrev BizTalk project.

Sample Used for the Tutorial

This tutorial is based upon a sample (ReceiveIDOC_Migration) that demonstrates how to migrate a vPrev BizTalk project that receives a flat-file IDOC from an SAP system. The sample is provided with the BizTalk Adapter Pack. For more information, see Samples.

Prerequisites

  • You must have a vPrev BizTalk project. This tutorial involves a BizTalk project that receives an ORDERS03 IDOC from an SAP system.

  • You must have completed the steps in Before You Develop BizTalk Applications.

Understanding a BizTalk Project Created Using the Previous Version of the Adapter

The key constituents of a vPrev BizTalk project to receive an IDOC are:

  • BizTalk orchestration. This is a simple orchestration that consists of an SAP receive port that receives a flat-file IDOC from an SAP system. The BizTalk project contains a flat-file disassembler to convert the flat-file IDOC to an XML, so that it can be used in an orchestration. Before the XML IDOC is copied to a file location through a file port, it is converted back into a flat-file IDOC using a flat-file assembler.

  • Schema for the IDOC you want to send to the SAP system. This tutorial involves a BizTalk project that receives ORDERS03 IDOC from the SAP system. The schema generated for the IDOC is ORDERS03.xsd. This schema is generated using the vPrev SAP adapter.

How to Migrate a BizTalk Project Created Using the Previous Version of the Adapter

The goal of this migration tutorial is to enable you to receive a flat-file IDOC from an SAP system using a WCF-Custom send port instead of the send port for the vPrev SAP adapter. Before understanding what settings are required for the WCF-Custom send port, you must first understand what physical ports are required for the vPrev send IDOC orchestration.

  • A vPrev SAP receive port that receives a flat-file IDOC from an SAP system. The port also converts this to an XML IDOC using a flat-file disassembler, which is available as part of the vPrev BizTalk application. The XML IDOC conforms to the schema (ORDERS03.xsd) that you generated using the vPrev SAP adapter.

  • A file send port which copies the IDOC to folder. This port also uses the flat-file assembler pipeline, available in the BizTalk application, to convert the XML IDOC to a flat-file IDOC.

To migrate your existing vPrev BizTalk project, you do not need to change the file send port that copies the flat-file IDOC to a folder. You only need to configure a new WCF-Custom receive port with the right configuration settings. This tutorial demonstrates how to configure the WCF-Custom receive port to receive IDOCs from an SAP system using the WCF-based SAP adapter.

In This Section

  • Step 1: Build and Deploy the vPrev BizTalk Project for Receiving an IDOC

  • Step 2: Configure a WCF-Custom One-way Receive Port

  • Step 3: Test the Migrated Application

See Also

Other Resources

SAP Adapter Tutorials

© 2014 Microsoft Corporation. All rights reserved.


Step 1: Build and Deploy the vPrev BizTalk Project for Receiving an IDOC
Step 1 of 3

Time to complete: 5 minutes

Objective: In this step, you build and deploy your existing vPrev BizTalk project to receive an IDOC from an SAP system.

Note
You do not need to make any change to the vPrev BizTalk project.

Prerequisites

You must have a vPrev BizTalk project to receive an ORDERS03 IDOC from an SAP system.

To build and deploy the vPrev BizTalk project

  1. Create a strong-name key file required to build and deploy the solution. To create a strong-name key file, do the following:

    1. Start Visual Studio Command Prompt.

    2. At the command prompt navigate to the folder where you want to create the key file. For example, type cd C:\Sample, and then press ENTER.

    3. At the command prompt, type sn -k <key file name>.snk, and then press ENTER.

  2. Right-click the BizTalk solution name in Solution Explorer, and then click Properties. In the Property Pages dialog box, do the following:

    1. Click Configuration Properties from the left pane, and make sure the check boxes in the Build and Deploy columns are selected.

    2. Click OK.

  3. Right-click the BizTalk project in Solution Explorer, and then click Properties. In the Property Pages dialog box, do the following:

    1. In the left pane, expand Common Properties, and then click Assembly.

    2. In the right pane, under the Strong name category, for the Assembly Key File property, provide the path to the assembly key file you created earlier.

    3. Click OK.

  4. In Solution Explorer, right-click the solution name, and then click Build Solution.

  5. After the solution successfully builds, right-click the solution name, and then click Deploy Solution.

Next Steps

Create and configure a WCF-Custom receive port and configure it to receive IDOCs from an SAP system using the WCF-based SAP adapter, as described in Step 2: Configure a WCF-Custom One-way Receive Port.

See Also

Concepts

Tutorial 4: Migrating an SAP Receive IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 2: Configure a WCF-Custom One-way Receive Port
Step 2 of 3

Time to complete: 10 minutes

Objective: In this step, you configure a WCF-Custom port to receive a flat-file IDOC from an SAP system. After configuring the port, you configure the BizTalk application to use the WCF-Custom receive port.

Prerequisites

You must have built and deployed your vPrev BizTalk project to receive IDOCs from an SAP system.

To configure a WCF-Custom one-way receive port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Expand the application under which you want create the receive port.

  4. Right-click Receive Ports, point to New, and click One-way Receive Port.

  5. In the Receive Port Properties dialog box, on the General tab, type a name for the receive port.

  6. On the Receive Locations tab, click New. The Receive Location Properties dialog box appears.

  7. In the Receive Location Properties dialog box, do the following:

    1. Specify a name for the receive location.

    2. From the Type drop-down list, select WCF-Custom, and then click Configure.

  8. In the WCF-Custom Transport Properties dialog box, do the following:

    1. Click the General tab, and in the Address (URI) field, specify the connection URI to receive messages from the SAP system. The connection URI to receive messages from the SAP system must be in the following format:

      Copy Code
      sap://Client=800;lang=EN@A/YourSAPHOST/00?ListenerGwHost=YourSAPHOST&ListenerGwServ=SAPGW00&ListenerProgramId=MyProgramId
      The following figure shows the port properties dialog box with the URI specified:

      Connection URI to receive messages from SAP For more information about the connection URI, see The SAP System Connection URI.

    2. Click the Binding tab, and from the Binding Type drop-down list, select sapBinding. Make sure you specify the following binding properties for the receive port.

      Binding property Set value to

      flatFileSegmentIndicator

      SegmentType. This indicates that the flat files should contain the segment type for each segment in the IDOC.

      padReceivedIdocWithSpaces

      True. Specifies whether each line in the IDOC is padded with spaces to the correct length.

      receiveIDocFormat

      String. This specifies that the IDOC message should be represented as a single string field.

      For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    3. Click the Others tab, and specify the credentials to connect to an SAP system.

    4. Click the Messages tab, and in the Inbound BizTalk message body section, choose the Path option.

    5. In the Body path expression text box, specify the XPath query to extract the flat-file IDOC from the XML message. By doing so, the receive port extracts the data from the IDOC and trims the XML tag that is part of the ReceiveIdoc operation for the WCF-based SAP adapter. For more information about the message schema for the ReceiveIdoc operation, see Message Schemas for IDOC Operations.

      XPath query to extract the flat-file IDOC You must specify the following XPath query:

      Copy Code
      /*[local-name()='ReceiveIdoc']/*[local-name()='idocData']
    6. From the Node encoding drop-down list, select String.

    7. Click Apply, and then click OK.

  9. In the Receive Location Properties dialog box, from the Receive handler drop-down list, select BizTalkServerApplication.

  10. From the Receive pipeline drop-down list, select ConvertToXML. This flat-file disassembler pipeline is already a part of the vPrev BizTalk project to convert a flat-file IDOC to an XML IDOC.

  11. Click OK.

To configure the BizTalk application

  1. In the BizTalk Server Administration console, expand BizTalk Group, expand Applications, and expand the BizTalk Application where the orchestration is deployed.

  2. Right-click the BizTalk application, and then select Configure.

  3. From the left pane, click the orchestration to configure. From the right pane, from the Host drop-down list, select a BizTalk host instance.

  4. Under the Bindings box, map the logical ports of the BizTalk orchestration to the physical ports in the BizTalk Server Administration console.

    1. Select the WCF-Custom receive port you created earlier in this topic.

    2. Select a file port where you will receive the flat-file IDOC.

    3. Click OK.

    For more information about configuring an application, see http://go.microsoft.com/fwlink/?LinkId=102360.

Next Steps

You have now completed migration of your vPrev BizTalk project to a BizTalk project that receives IDOCs from an SAP system using the WCF-based SAP adapter. You must now test the migrated BizTalk application by receiving a flat-file IDOC, as described in Step 3: Test the Migrated Application.

See Also

Concepts

Tutorial 4: Migrating an SAP Receive IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Step 3: Test the Migrated Application
Step 3 of 3

Time to complete: 5 minutes

Objective: In this step, you will test the migrated application by receiving a flat-file IDOC using the WCF-based SAP adapter.

Prerequisites

  • Configure the BizTalk application by mapping the logical ports in the BizTalk orchestration to physical ports in the BizTalk Server Administration console.

  • Configure the BizTalk application to use the WCF-Custom receive port for the WCF-based SAP adapter.

To test the migrated application

  1. Start the SAP GUI, and connect to the SAP system that you specified in the connection URI.

  2. Run SE37, and invoke a function module in SAP that sends an IDOC to an external system. Make sure you send the IDOC using the same program ID that is specified in the connection URI for the WCF-Custom receive port.

  3. Look for the inbound IDOC at the file location specified as part of the orchestration.

See Also

Concepts

Tutorial 4: Migrating an SAP Receive IDOC BizTalk Project

© 2014 Microsoft Corporation. All rights reserved.


Community Resources

There are two principal sources of information from Microsoft about the BizTalk Adapter Pack:

  • The documentation and samples installed with the BizTalk Adapter Pack.

  • The Microsoft BizTalk Adapter Pack forums.

BizTalk Adapter Pack Documentation

You can install the BizTalk Adapter Pack documentation when you install the BizTalk Adapter Pack. (For information about how to install the BizTalk Adapter Pack, see the installation guide. The installation guide is typically available at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.) The core documentation covers the concepts and procedures required to use the BizTalk Adapter Pack.

After you install the BizTalk Adapter Pack Setup program, you can access the documentation through the Microsoft BizTalk Adapter Pack program group on the Start menu.

BizTalk Adapter Pack Samples

This BizTalk Adapter Pack release provides samples demonstrating how to use the adapters with:

  • BizTalk Server.

  • The Windows Communication Foundation (WCF) channel model.

  • The WCF service model.

  • The .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP).

In addition, migration samples are provided.

The samples are available at http://go.microsoft.com/fwlink/?LinkID=196854.

BizTalk Adapter Pack Forums

You can post your queries about the BizTalk Adapter Pack on the forums.

Resource | Location
BizTalk Adapter Pack Forums | http://go.microsoft.com/fwlink/?LinkId=87695

Getting Assistance with the BizTalk Adapter Pack

Should you encounter any issues with the BizTalk Adapter Pack, you must mention the product ID (PID) for the BizTalk Adapter Pack in all communications with Microsoft Support. The PID is available in a file, pid.txt, installed by the setup wizard, typically under <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

The end-user license agreement (EULA) for the BizTalk Adapter Pack is available in a file, EULA.rtf, installed by the setup wizard, typically under <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack.

See Also

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Frequently Asked Questions

This topic was last updated on: June 05, 2009

The following are some frequently asked questions (FAQs) related to Microsoft BizTalk Adapter for mySAP Business Suite.

What are the supported BizTalk versions for the BizTalk Adapter Pack?

The BizTalk Adapter Pack is supported with Microsoft BizTalk Server 2013 R2.

In which user context should the setup be run?

You must always run the BizTalk Adapter Pack setup wizard under a user context with administrative privileges on the computer.

Does the Microsoft BizTalk Adapter Pack support tracing?

Microsoft BizTalk Adapter Pack enables adapter clients to activate Windows Communication Foundation (WCF) tracing and adapter-specific tracing. For more information about tracing, see Diagnostic Tracing and Message Logging.

Where are the trace files stored?

The trace files are stored at a location that the adapter clients specify. The adapter clients can specify this location while enabling tracing. For more information about tracing, see Diagnostic Tracing and Message Logging.

How do I view the traces?

You can use the WCF Service Trace Viewer tool to view the traces. For more information about the tool, see http://go.microsoft.com/fwlink/?LinkId=91243.

Are performance counters available for the adapters?

The BizTalk Adapter Pack provides a "LOB Time (Cumulative)" performance counter to measure the time, in milliseconds, that the LOB client library takes to complete an action initiated by the adapter. For more information about performance counters see Using Performance Counters.

How do I enable performance counters for adapters?

You can enable or disable the performance counters by setting the binding property EnablePerformanceCounters. Set EnablePerformanceCounters binding property to True to enable performance counters. To disable performance counters, set EnablePerformanceCounters to False. By default, EnablePerformanceCounters is set to False.

See Also

Other Resources

Getting Started

© 2014 Microsoft Corporation. All rights reserved.


Planning and Architecture

This section describes the architecture for the Microsoft BizTalk Adapter for mySAP Business Suite. An understanding of the SAP adapter architecture can help you:

  • Understand the relationship between the SAP adapter and the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK.

  • Understand security boundaries, so that you can better secure data in your solution.

  • Understand the SAP adapter binding properties.

  • Troubleshoot installation issues.

The following sections describe the architecture of end-to-end solutions that use the SAP adapter to operate on the SAP system and the internal architecture of the SAP adapter.

In This Section

  • Architecture for BizTalk Adapter for mySAP Business Suite

  • BizTalk Adapter for mySAP Business Suite and the WCF LOB Adapter SDK

© 2014 Microsoft Corporation. All rights reserved.


Architecture for BizTalk Adapter for mySAP Business Suite

The Microsoft BizTalk Adapter for mySAP Business Suite implements a Windows Communication Foundation (WCF) custom binding, which contains a single custom transport binding element that enables communication with an SAP system. The SAP adapter is wrapped by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK runtime and is exposed to applications through the WCF channel architecture. The SAP adapter communicates with the SAP system through either the 64-bit or 32-bit version of the SAP Unicode RFC SDK (librfc32u.dll). The following figure shows the end-to-end architecture for solutions that are developed by using the SAP adapter.

SAP End-to-End Architecture

Consuming the Adapter

The SAP adapter exposes the SAP system as a WCF service to client applications. Client applications exchange SOAP messages with the SAP adapter through WCF channels to perform operations and to access data on the SAP system. The preceding figure shows four ways in which the SAP adapter can be consumed.

  • Through a WCF channel application that performs operations on the SAP system by using the WCF channel model to exchange SOAP messages directly with the SAP adapter. For more information about developing solutions for the SAP adapter by using WCF channel model programming, see Developing Applications by Using the WCF Channel Model.

  • Through a WCF service model application that calls methods on a WCF client to perform operations on the SAP system. A WCF client models the operations exposed by the SAP adapter as .NET methods. You can use the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK or the svcutil.exe tool to create a WCF client class from metadata exposed by the SAP adapter. For more information about WCF service model programming and the SAP adapter, see Developing Applications by Using the WCF Service Model.

  • Through a BizTalk port that is configured to use the BizTalk WCF-Custom adapter with the SAP Binding configured as the binding for the WCF-Custom transport type in a BizTalk Server application. The BizTalk WCF-Custom adapter enables communication between a BizTalk Server application and a WCF service. The BizTalk WCF-Custom adapter supports custom WCF bindings through its WCF-Custom transport type, which enables you to configure any WCF binding exposed to the configuration system as the binding used by the BizTalk WCF-Custom adapter. For more information about how to use the SAP adapter in BizTalk Server solutions, see Developing BizTalk Applications. BizTalk transactions are supported by the BizTalk Layered Channel binding element which can be loaded by setting a binding property on the SAP Binding.

  • Through an IIS-hosted Web service. In this scenario, the SAP adapter is exposed through a WCF Service proxy, which is hosted in IIS by using one of the standard WCF HTTP bindings.

  • Through the .NET Framework Data Provider for mySAP Business Suite. The Data Provider for SAP runs on top of the SAP adapter and provides an ADO.NET interface to an SAP system.

The SAP adapter and the SAP RFC library are always hosted in-process with the application or service that consumes the adapter.

The SAP Adapter and WCF

WCF presents a programming model based on the exchange of SOAP messages over channels between clients and services. These messages are sent between endpoints exposed by a communicating client and service.

An endpoint consists of an endpoint address which specifies the location at which messages are received, a binding which specifies the communication protocols used to exchange messages, and a contract which specifies the operations and data types exposed by the endpoint. A binding consists of one or more binding elements that stack on top of each other to define how messages are exchanged with the endpoint.

At a minimum, a binding must specify the transport and encoding used to exchange messages with the endpoint. Message exchange between endpoints occurs over a channel stack that is composed of one or more channels. Each channel is a concrete implementation of one of the binding elements in the binding configured for the endpoint.

For more information about WCF and the WCF programming model, see "Windows Communication Foundation" at http://go.microsoft.com/fwlink/?LinkId=89726.

The Microsoft BizTalk Adapter for mySAP Business Suite exposes a WCF custom binding, the SAP Binding (Microsoft.Adapters.SAP.SAPBinding). By default, this binding contains a single custom transport binding element, the SAP Adapter Binding Element (Microsoft.Adapters.SAP.SAPAdapter), which enables operations on an SAP system. When using the SAP adapter with BizTalk Server, you can set the EnableBizTalkCompatibilityMode binding property to load a custom binding element, the BizTalk Layered Channel Binding Element, on top of the SAP Adapter Binding Element. The BizTalk Layered Channel Binding Element is implemented internally by the SAP adapter and is not exposed outside the SAP Binding.

Microsoft.Adapters.SAP.SAPBinding (the SAP Binding) and Microsoft.Adapters.SAP.SAPAdapter (the SAP Adapter Binding Element) are public classes and are also exposed to the configuration system. Because the SAP Adapter Binding Element is exposed publicly, you can build your own custom WCF bindings capable of extending the functionality of the SAP adapter. For example, you could implement a custom binding to support Enterprise Single Sign-On (SSO) in a WCF channel or a WCF service model programming solution, to aggregate database operations into a single multifunction operation, or to perform schema transformation between operations implemented by a custom application and operations on the SAP system.

The SAP adapter is built on top of the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK and runs on top of the WCF LOB Adapter SDK runtime. The WCF LOB Adapter SDK provides a software framework and tooling infrastructure that the SAP adapter leverages to provide a rich set of features to users and adapter clients.

The Connection to the SAP System

The SAP adapter connects with the SAP system through the SAP Unicode RFC SDK Library (librfc32u.dll). The SAP adapter supports both the 32 bit and the 64 bit versions of the SAP RFC SDK. The SAP RFC SDK enables external programs to call ABAP functions on a SAP system.

You establish a connection to an SAP system by providing a connection URI to the SAP adapter. The SAP adapter supports the following kinds of connections to an SAP system:

  • An application host–based connection (A), in which the SAP adapter connects directly to an SAP application server.

  • A load balancing connection (B), in which the SAP adapter connects to an SAP messaging server.

  • A destination-based connection (D), in which the connection to the SAP system is specified by a destination in the saprfc.ini configuration file. A, B, and R type connections are supported.

  • A listener connection (R), in which the adapter receives RFCs, tRFC and IDOCs through an RFC Destination on the SAP system that is specified by a listener host, a listener gateway service, and a listener program ID, either directly in the connection URI or by an R-based destination in the saprfc.ini configuration file.

For more information about the saprfc.ini file, see "The SAPRFC.INI File" at http://go.microsoft.com/fwlink/?LinkId=91457.

For more information about how the SAP adapter connects to an SAP system, see Establishing a Connection to the SAP System.

See Also

Other Resources

Planning and Architecture
Understanding BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


BizTalk Adapter for mySAP Business Suite and the WCF LOB Adapter SDK

The Microsoft BizTalk Adapter for mySAP Business Suite implements a set of core components that leverage functionality provided by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK and provide connectivity to the SAP system through the SAP Unicode RFC SDK Library (librfc32u.dll).

The WCF LOB Adapter SDK serves as the software layer through which the SAP adapter interfaces with Windows Communication Foundation (WCF), and the RFC SDK serves as the layer through which the SAP adapter interfaces with the SAP system. The following figure shows the relationships between the internal components of the SAP adapter and between these components and the RFC SDK.

The relationship of internal adapter components

See Also

Other Resources

Planning and Architecture

© 2014 Microsoft Corporation. All rights reserved.


Security and Protection

The SAP system can contain sensitive business information such as customer account details. Applications that use the Microsoft BizTalk Adapter for mySAP Business Suite to access and modify this information either locally or across a distributed network might inadvertently expose it to access by unauthorized actors, unless efforts are made to protect and secure the data during transmission. Data protection and security are usually thought of in the following terms:

  • Authorization controls access to a resource based on the identity of the requestor.

  • Authentication provides mechanisms for verifying the identity of a requestor.

  • Data confidentiality provides mechanisms for protecting the privacy of data through encryption.

  • Data integrity provides mechanisms to digitally sign data, so that the receiver can ensure that the data has not been altered in-transit.

The topics in this section provide guidelines to help you better secure the solutions that you develop with the SAP adapter.

In This Section

  • Security Considerations Between the SAP System and the Adapter

  • Security Considerations When Using the Adapter with BizTalk Server

  • Security Considerations When Programming on the Adapter

  • Best Practices

© 2014 Microsoft Corporation. All rights reserved.


Security Considerations Between the SAP System and the Adapter

The Microsoft BizTalk Adapter for mySAP Business Suite supports either SAP Secure Network Communications (SNC) or user name password credentials to help secure communication between it and the SAP server. User name password credentials only provide authorization for the connection to the SAP system; they do not provide any security on the data exchanged over the connection. You cannot use both SNC and user name password credentials simultaneously.

SAP Secure Network Communications

Secure Network Communications (SNC) is a software layer in the SAP system architecture that can help provide application-level security on data exchanged between the SAP client and a SAP application server.

SNC provides the following advantages:

  • SNC targets application-level, end-to-end security. SNC helps secure all communications between two SNC-protected components (for example, between the SAPgui and an SAP System application server).

  • You can implement additional security features that the SAP System does not directly provide (for example, Single Sign-On or the use of smart cards for authentication).

  • You can customize your SNC implementation. You can use the security product of your choice and choose the algorithms you want to use.

  • You can change the security product at any time without affecting SAP System business applications.

To use SNC, you must configure both the SAP server and the client running the SAP adapter.

  • For information about configuring SNC on the SAP server, see http://go.microsoft.com/fwlink/?LinkId=129824.

  • On the computer having the SAP client DLLs and SAP adapter installed, you must also have the SNC related DLLs. For more information about these DLLs, see the BizTalk Adapter Pack installation guide.

  • To configure the adapter to use SNC, you must set the UseSnc parameter in the SAP connection URI. For more information about the SAP connection URI, see The SAP System Connection URI. Also, you must set the SncLibrary and the SncPartnerName binding properties. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

User Name Password Credentials

You can supply user name password credentials to the adapter in the connection URI. The adapter uses these credentials to authenticate the user on the SAP system when it opens the connection. These credentials provide a level of authorization for the connection to the SAP system; however, they do not provide message-level or transport-level authentication (or authorization) for data traveling across the network.

For this reason, you must provide a security mechanism to help ensure appropriate levels of authorization, authentication, data privacy, and data integrity for data exchanges between the adapter and the SAP system.

Important
The SAP adapter surfaces the AcceptCredentialsInUri binding property. This property determines whether SAP system credentials are permitted in the connection URI. By default, AcceptCredentialsInUri is false and the SAP adapter throws an exception if credentials are included in the URI. For more information, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

One possible mechanism for helping to provide more security across the network is Internet Protocol Security (IPsec). IPsec is a framework of open standards for protecting communications over Internet Protocol (IP) networks.

The user name and password are specified as clear text in the connection URI. The SAP adapter provides a number of methods through which you can more securely supply these credentials.

  • For information about how to more securely provide SAP system credentials in BizTalk solutions, see Security Considerations When Using the Adapter with BizTalk Server.

  • For information about how to more securely provide SAP system credentials in programming solutions, see Security Considerations When Programming on the Adapter.

Security Concerns for Inbound Scenarios

Any listener that has access to a SAP program ID can potentially receive all SAP artifacts (RFCs, IDOCs, and tRFCs) sent to that program ID. If more than one listener is registered to the program ID, SAP will randomly assign artifacts that arrive at that program ID to one of the listeners. You should, therefore, guarantee that only listeners that you want to receive messages by using a specific program ID have access to that program ID. Furthermore, because SAP randomly sends artifacts to listeners attached to a program ID, it is a best practice to dedicate program IDs to a single listener.

See Also

Concepts

Best Practices

Other Resources

Security and Protection

© 2014 Microsoft Corporation. All rights reserved.


Security Considerations When Using the Adapter with BizTalk Server

When you configure a send port or a receive port (location) by using the BizTalk Server Administration console or use the Consume Adapter Service BizTalk Project Add-in to retrieve message schemas for a BizTalk solution, you must provide credentials for the SAP system. It is important to supply these credentials in a secure way to help prevent them from being revealed to potentially malicious actors. This topic discusses how to most securely supply credentials for the Microsoft BizTalk Adapter for mySAP Business Suite for BizTalk Server solutions.

A more general discussion of security in the context of BizTalk solutions is an expansive topic and is beyond the scope of this documentation. For information about how you can make your BizTalk solutions more secure, see the "Security and Protection" topic in the BizTalk Server documentation at http://go.microsoft.com/fwlink/?LinkId=101135.

How Do I Protect Credentials When I Use the Consume Adapter Service BizTalk Project Add-in?

When you use the Consume Adapter Service Add-in to retrieve message schemas for a BizTalk solution, you must supply a user name and password for the SAP system. You should only do this from the Security tab on the Configure Adapter dialog box. This ensures that your credentials will not be displayed in the Uri field of the Consume Adapter Service Add-in dialog box, where anyone with access to your computer screen can read them. For more information about how to retrieve message schemas by using the Consume Adapter Service Add-in, including how to enter a user name and password for the SAP system, see Retrieving Metadata for SAP Operations in Visual Studio.

How Do I Protect Credentials When I Configure a Send Port or a Receive Location?

BizTalk solutions use the Microsoft BizTalk WCF-Custom adapter to consume WCF services. The SAP adapter is a WCF custom binding that enables clients to consume the SAP system as if it were a WCF service. BizTalk solutions consume the SAP adapter through send ports and receive locations that are configured to use the WCF-Custom adapter, which is, in turn, configured to use the SAP adapter as its transport. For more information about how to configure send ports and receive ports (receive locations), including how to configure the WCF-Custom adapter, see Manually Configuring a Physical Port Binding to the SAP Adapter.

You configure the SAP system credentials from the Credentials tab of the WCF-Custom Transport Properties dialog box for send ports or from the Other tab of the WCF-Custom Transport Properties dialog box for receive locations. Because the WCF-Custom adapter supports Enterprise Single Sign-On (SSO), you can choose to provide either a user name and password or an SSO affiliate application on either of these tabs. The following topics discuss both options.

User Name Password Credentials

You should only supply a user name and password from the Credentials tab (for send ports) or the Other tab (for receive locations) in the WCF-Custom Transport Properties dialog box. This ensures the following:

  • Your credentials will not be displayed in the Uri field of the dialog box. This prevents those who have access to your screen (or who have permissions that enable them to view the send port or receive location properties) from seeing your credentials.

  • Your password will not be written to the binding file if you export the send port or receive port binding. This prevents anyone from with access to the file from viewing your password.

Enterprise Single Sign-On and SSO Affiliate Applications

You can configure the WCF-Custom adapter to use SSO to get the credentials for the SAP system. SSO uses a database and a master secret to encrypt and store user credentials. It also provides services to map Microsoft Windows accounts to secondary credentials that are used to access a backend system. By using SSO, you can map a Windows account to a user name and password on the SAP system.

SSO uses affiliate applications and SSO mappings to map credentials to the backend system. An affiliate application is a logical entity in SSO that refers to a system or an application that requires secondary credentials. An SSO mapping is associated with an affiliate application. It maps a Windows account to the secondary credentials used by that account to access the affiliate system or application. An SSO mapping can be associated with a Windows user account or with a group.

To use SSO with the SAP adapter, you must do the following.

  1. Create an affiliate application in SSO to hold the user name password credentials for the SAP system. This step is often performed by someone with special types of SSO administrative privileges.

  2. Create a user or group mapping for the affiliate application that maps your Windows account to the user name and password that are used to establish a connection with the SAP system. Depending on your installation, a user might be able to perform this step or it might require someone with special types of SSO administrative privileges.

Note
When configured for SSO, the WCF-Custom adapter uses services provided by SSO to get the SAP user name and password from the SSO database. It provides these (unencrypted) to the SAP adapter, so that the adapter can open a connection to the SAP system. SSO provides no encryption or protection across the connection between the SAP adapter and the SAP system.

For information about how to use SSO, including information about how to create affiliate applications and SSO mappings, see the "Using SSO" topic in the BizTalk Server documentation at http://go.microsoft.com/fwlink/?LinkId=101133. For more general information about SSO, see the "Implementing Enterprise Single Sign-On" topic in the BizTalk Server documentation at http://go.microsoft.com/fwlink/?LinkId=101132.

The AcceptCredentialsInUri Binding Property

The SAP adapter surfaces the AcceptCredentialsInUri binding property. This property determines whether SAP system credentials are permitted in the connection URI. By default, AcceptCredentialsInUri is false and the SAP adapter throws an exception if credentials are included in the URI.

This property is surfaced because there are certain programming scenarios that require the credentials to be present in the connection URI. This should never be the case when you are configuring a send port or a receive location, or when you are using the Consume Adapter Service Add-in to retrieve message schemas from the SAP adapter. In such cases, it is recommended that you do not set AcceptCredentialsInUri to true. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

The AcceptCredentialsInUri binding property is not available in BizTalk Server in the Binding tab while configuring a WCF-Custom or WCF-SAP receive or send port. To set the value of the AcceptCredentialsInUri binding property, you must open the adapter bindings file (XML file) that is created after you have generated metadata using the Consume Adapter Service Add-in, and then locate this binding property in the file. Specify an appropriate value for this binding property, save the binding file, and then import the binding file in BizTalk Server. See Importing Bindings for instructions.

See Also

Concepts

Best Practices

Other Resources

Security and Protection

© 2014 Microsoft Corporation. All rights reserved.


Security Considerations When Programming on the Adapter

How Do I Protect Credentials When I Use the Add Adapter Service Reference Visual Studio Plug-in?

When you use the Add Adapter Service Reference Plug-in to create a WCF client, you must supply a user name and password for the SAP system. You should only do this from the Security tab on the Configure Adapter dialog box. By entering the SAP credentials from the Security tab instead of directly into the Uri field, you ensure the following:

  • The credentials will not be displayed in the Uri field of the Add Adapter Service Reference Plug-in dialog box where anyone with access to your computer screen can read them.

  • The credentials will not appear in the configuration file that the Add Adapter Service Reference Plug-in generates.

For more information about how to generate a WCF client by using the Add Adapter Service Reference Plug-in, including how to enter a user name and password for the SAP system, see Retrieving Metadata for SAP Operations in Visual Studio

What Are Best Practices for Setting Credentials in Code?

WCF provides the ClientCredentials class to help you configure the credentials that a client communication object, such as a ChannelFactory, uses to authenticate itself with a service. By using the ClientCredentials class, you ensure that WCF takes whatever authentication mechanisms are specified in that object’s channel stack and applies them to the exchange between your client and the service.

Because the SAP adapter is hosted in-process with its consuming application, it is not imperative to use the ClientCredentials class to set credentials on the client communication objects that the consuming application uses. It is, however, considered good practice to do so.

The SAP adapter encourages the use of the ClientCredentials class through the AcceptCredentialsInUri binding property. This property specifies whether the adapter will accept the user name and password for the SAP system in the connection URI. AcceptCredentialsInUri defaults to false, which means that the adapter will throw an exception if the connection URI contains credentials. You can set AcceptCredentialsInUri to true to supply credentials in the connection URI. In fact, you must do this in certain cases; for example, when you specify a connection URI for a service host endpoint or for an IReplyChannel in inbound scenarios.

The following example shows how to use the ClientCredentials class to set credentials for the SAP system on a WCF client.

Copy Code
SAPBinding binding = new SAPBinding();

// Set endpoint address
EndpointAddress endpointAddress = new EndpointAddress("sap://CLIENT=800;LANG=EN;@a/YourSAPHost/00?RfcSdkTrace=False&AbapDebug=False&UseSapGui=Without");

// Create client and set credentials
RfcClient rfcClient = new RfcClient(binding, endpointAddress);
rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
rfcClient.ClientCredentials.UserName.Password = "YourPassword";

How Can I Provide for More Secure Data Exchange Across Process Boundaries?

The SAP adapter is hosted in-process with the application or service that consumes it. Because the adapter is hosted in-process with the consumer, there is no need to provide security on messages exchanged between the consumer and the SAP adapter. However, if the consuming application or service sends messages that contain sensitive database information across a process boundary to another service or client, you should take measures to provide adequate protection for this data in your environment. Windows Communication Foundation (WCF) provides many options for helping to secure messages sent between clients and services. For more information about helping to secure messages sent between clients and services in WCF, see "Securing Services and Clients" at http://go.microsoft.com/fwlink/?LinkId=89725. For more general information about security features that WCF provides, see "Windows Communication Foundation Security" at http://go.microsoft.com/fwlink/?LinkId=89726.

See Also

Concepts

Best Practices

Other Resources

Security and Protection

© 2014 Microsoft Corporation. All rights reserved.


Best Practices

This section provides best practices that you should follow to more completely protect sensitive data when you use or develop applications that consume the Microsoft BizTalk Adapter for mySAP Business Suite.

Security Best Practices for the Connection between the SAP Adapter and the SAP system

  • You must ensure an adequate level of security for data exchanged between the adapter and the SAP system. The SAP adapter supports SAP Secure Network Communications (SNC). You can enable SNC or provide an alternative mechanism to help secure communication between the adapter and the SAP system.

  • Do not provide user name password credentials for the SAP system in the connection URI. See the following sections for alternative methods of providing credentials to the SAP adapter.

  • Ensure that only listeners that you want to receive SAP artifacts (RFCs, IDOCs, and tRFCs) from a SAP program ID have access to that program ID. This is because any listener that has access to a program ID can receive artifacts from that program ID.

  • Be aware that if multiple listeners are using a SAP program ID simultaneously, SAP will randomly choose a listener for each outgoing artifact (RFC, IDOC, or tRFC).

For more information, see Security Considerations Between the SAP System and the Adapter.

Security Best Practices for Consuming the SAP Adapter with BizTalk Server

  • Do not provide user name password credentials for the SAP system in the connection URI.

  • When you use the Consume Adapter Service Add-in, enter the user name password credential for the SAP system from the Security tab of the Configure Adapter dialog box.

  • When you configure the BizTalk WCF-Custom adapter for the SAP adapter on a send port, enter the user name password credential for the SAP system from the Credentials tab of the Configure WCF Custom Transport dialog box.

  • When you configure the BizTalk WCF-Custom adapter for the SAP adapter on a receive location, enter the user name password credential for the SAP system from the Other tab of the Configure WCF Custom Transport dialog box.

For more information, see Security Considerations When Using the Adapter with BizTalk Server.

Security Best Practices for Consuming the SAP Adapter with Programming Solutions

  • It is sometimes necessary to provide the user name password credentials for the SAP system in the connection URI; however, if possible, you should avoid doing this.

  • When you use the Add Adapter Service Reference Visual Studio Plug-in, enter the user name password credential for the SAP system from the Security tab of the Configure Adapter dialog box.

  • In WCF Channel Model programming, use the Credentials property on the channel factory to set the user name password credential for the SAP system.

  • In WCF Service Model programming, use the ClientCredentials property on the WCF client to set the user name password credential for the SAP system.

  • If an application that consumes the SAP adapter sends messages that contain sensitive database information across a process boundary to another service or client, ensure that these messages have sufficient security measures applied to provide adequate data protection in your environment.

For more information, see Security Considerations When Programming on the Adapter.

Security Best Practices for Hosting the SAP Adapter in IIS

  • Hosting the SAP adapter in Microsoft Internet Information Services (IIS) as a Web service exposes operations surfaced by the SAP adapter to Web clients. These operations might involve exchanging sensitive data over the Internet, so you should take measures to help ensure that this data is as secure as possible.

    WCF provides two standard bindings for HTTP transport: the BasicHttpBinding provides basic HTTP transport with no security mechanisms; the WSHttpBinding supports both transport-level and message-level security mechanisms.

    You can either use the BasicHttpBinding over an HTTPS connection, or use the WSHttpBinding to help protect your data. The WCF LOB Adapter SDK includes the WCF LOB Adapter Service Development Wizard to generate WCF service for LOB artifacts. This wizard only supports use of BasicHttpBinding.

    You can also develop a custom HTTP binding to leverage additional security mechanisms that your environment provides. For more information about the security features that WCF provides, see "Securing Services and Clients" at http://go.microsoft.com/fwlink/?LinkId=89725.

Security Best Practices for WCF Diagnostic Tracing and Message Logging

WCF supports diagnostic tracing and message logging. You configure diagnostic tracing and message logging either through configuration files or by using Windows Management Instrumentation (WMI). Depending on the configuration options you set, WCF diagnostic tracing or message logging can emit sensitive information to log files, where it could potentially be exposed to observation by unauthorized users.

Follow the recommendations provided in the WCF documentation to mitigate potential security threats exposed by enabling these features. At a minimum, you should observe the following best practices for diagnostic tracing and message logging:

  • Do not enable “verbose” or “information” tracing in a production environment. This may lead to performance degradation. However, you must enable “warning” and “error” tracing in a production environment. If you enable tracing, you must take proper security measures to protect your data. See the WCF documentation for more information.

  • Ensure that log files and configuration files are protected by access control lists (ACLs).

The following warnings apply specifically to the messages that are exchanged between a client application and the SAP adapter:

  • WCF diagnostic tracing can log the header (but not the body) of messages exchanged with the SAP adapter. Because the message action is in the message header, this reveals the operations invoked on the SAP adapter by the client.

  • If WCF message logging is enabled and logMessagesAtServiceLevel is true, the message header (but not the message body) of messages exchanged between the adapter client and the SAP adapter are logged. Because the message action is in the message header, this reveals the operations that the client invoked on the SAP adapter. If logEntireMessage is also true, the message body will be logged. This can reveal sensitive database information.

    For more information about improving security when you enable diagnostic tracing, see "Security Concerns and Useful Tips for Tracing" at http://go.microsoft.com/fwlink/?LinkId=89796. For more information about improving security when you enable message logging, see "Security Concerns for Message Logging" at http://go.microsoft.com/fwlink/?LinkId=89797.

See Also

Other Resources

Security and Protection

© 2014 Microsoft Corporation. All rights reserved.


Development

The Microsoft BizTalk Adapter for mySAP Business Suite is a Windows Communication Foundation (WCF) custom binding. Client applications can consume the SAP adapter to invoke operations on SAP artifacts. The SAP adapter can be consumed:

  • Through a physical port binding in a BizTalk Server solution.

  • By invoking methods on an instance of a client proxy.

  • As a hosted WCF service.

  • By sending SOAP messages over a channel instance in code that uses the WCF channel model.

  • Through an ADO.NET interface.

The following table:

  • Lists the different operations that can be performed on an SAP system using the SAP adapter.

  • Indicates which of the approaches (BizTalk Server, WCF service model, WCF channel model, or ADO.NET interface) can be used to perform the operations.

  • Provides links to more information about performing the task using the chosen approach.

Task | BizTalk Server | WCF Service Model | WCF Channel Model | ADO.NET Interface
Invoking RFCs in an SAP system | Invoking RFCs by Using BizTalk Server | Invoking RFCs by Using the WCF Service Model | Invoking Operations on the SAP System by Using the WCF Channel Model | Invoking RFCs and BAPIs by Using the EXEC Command
Receiving inbound RFC calls from an SAP system | Receiving Inbound RFC Calls by Using BizTalk Server | Receiving Inbound RFC Calls by Using the WCF Service Model | Receiving Inbound Operations from the SAP System by Using the WCF Channel Model |
Invoking tRFCs in an SAP system | Invoking tRFCs by Using BizTalk Server | Invoking tRFCs by Using the WCF Service Model | Invoking Operations on the SAP System by Using the WCF Channel Model |
Receiving inbound tRFC calls from an | Receiving Inbound tRFC Calls by Using BizTalk Server | Receiving Inbound tRFC Calls by Using the WCF Service Model | Receiving Inbound Operations from the SAP System by Using the WCF Channel Model |
Performing transactions on an SAP system | Performing BAPI Transactions by Using BizTalk Server | Invoking BAPIs by Using the WCF Service Model | Invoking Operations on the SAP System by Using the WCF Channel Model |
Sending an IDOC to an SAP system | Sending IDOCs to SAP by Using BizTalk Server | Sending IDOCs to SAP by Using the WCF Service Model | Invoking Operations on the SAP System by Using the WCF Channel Model |
Receiving an IDOC from an SAP system | Receiving IDOCs from SAP by Using BizTalk Server |  | Receiving Inbound Operations from the SAP System by Using the WCF Channel Model |

The topics in this section provide information, procedures, and examples to help you develop applications that consume the SAP adapter in both BizTalk Server and .NET programming solutions. The topics also provide information on other key aspects of using the adapters such as:

  • Connecting to the SAP system.

  • Retrieving metadata from the SAP system.

  • Using binding properties to configure the adapter.

In This Section

  • Establishing a Connection to the SAP System

  • Retrieving Metadata for SAP Operations in Visual Studio

  • Working with BizTalk Adapter for mySAP Business Suite Binding Properties

  • Streaming and the SAP Adapter

  • Developing BizTalk Applications

  • Developing Applications by Using the WCF Service Model

  • Developing Applications by Using the WCF Channel Model

  • Retrieving Metadata Programmatically from SAP

  • Using the .NET Framework Data Provider for mySAP Business Suite

  • Using the SAP Adapter with Microsoft Office SharePoint Server

  • Samples

See Also

Concepts

The SAP System Connection URI

© 2014 Microsoft Corporation. All rights reserved.


Establishing a Connection to the SAP System

The Microsoft BizTalk Adapter for mySAP Business Suite is a Windows Communication Foundation (WCF) custom binding. As such, it enables communication to an SAP system through a WCF endpoint address. In WCF the endpoint address identifies the network location of a service and is typically expressed as a Uniform Resource Identifier (URI). The SAP adapter expresses this location as a connection URI, which contains properties that the SAP adapter uses to establish a connection to the SAP system. You must specify a connection URI when you:

  • When you create a channel factory or a channel listener using the WCF channel model or when you create a WCF client or service host using the WCF service model.

  • Create a physical port binding in a BizTalk Server solution.

  • Use the Add Adapter Service Reference Visual Studio Plug-in to generate a WCF client class or WCF service interface for a WCF service model solution.

  • Use the Consume Adapter Service BizTalk Project Add-in to retrieve message schemas from the SAP adapter for a BizTalk Server solution.

  • Use the ServiceModel Metadata Utility tool (svcutil.exe) to generate a WCF client class or WCF service interface for a WCF service model solution.

The topics in this section describe how to establish a connection between the Microsoft BizTalk Adapter for mySAP Business Suite and the SAP system by providing you with:

  • Information about the connection properties and the structure of the SAP connection URI.

  • Links to topics that show how to establish a connection by using the SAP adapter.

In This Section

  • The SAP System Connection URI

© 2014 Microsoft Corporation. All rights reserved.


The SAP System Connection URI

The Microsoft BizTalk Adapter for mySAP Business Suite connection URI contains properties that the adapter uses to establish a connection to the SAP system.

Important
By default, the SAP client library (librfc32u.dll) supports a maximum of 100 connections to the SAP system. If you exceed this number of connections, an exception will be thrown. For this reason, you should either set the MaxConnectionsPerSystem binding property to limit the number of connections that the SAP adapter will try to open on the SAP system; or set the CPIC_MAX_CONV environment variable to increase the number of connections supported by the SAP client library. If you change CPIC_MAX_CONV, you must restart your computer for the change to take effect. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

This topic provides information about the SAP connection URI and also provides links to other topics that explain how to specify a connection URI in different programming scenarios.

Connection URI for the SAP Adapter

A typical WCF endpoint address URI is represented as follows:

Copy Code
scheme://userinfoparams@hostinfoparams?query_string

The endpoint address URI contains the following components:

  • scheme is the scheme name.

  • userinfoparams is a name-value collection of parameters required for user authentication by the endpoint.

  • hostinfoparams is information required to establish the connection to the host; for example, a path.

  • query_string is an optional name-value collection of parameters delimited by a question mark (?).

The endpoint address URI that the SAP adapter uses for a SAP system is specified by using a SAP connection URI. The SAP adapter implements this connection URI as follows:

Copy Code
sap://user=[USER_NAME];passwd=[PASSWORD];Client=[CLIENT];lang=[LANGUAGE];[UseSnc]=[True|False]@connectiontype/conndetail1/conndetail2?GwHost=[GWHOST]?GwServ=[GWSERV]?MsServ=[MSSERV]?Group=[GROUP]?ListenerDest=[LISTENERDEST]?ListenerGwHost=[LISTENERGWHOST]?ListenerGwServ=[LISTENERGWSERV]?ListenerProgramId=[LISTENERPROGRAMID]?RfcSdkTrace=[true/false]?AbapDebug=[true/false]

The components of the connection URI are explained in the following sections.

The SAP Connection URI scheme

The scheme for the SAP connection URI is "sap".

User Information in the SAP Connection URI

The user information (userinfoparams) in the SAP connection URI is represented as a name-value collection of parameters required for user authentication, client identification, and language specification. The following table describes these parameters.

Property Description

User

The user name on the SAP system; this value is case sensitive. You must set the AcceptCredentialsInUri binding property to true to specify the user name and password in the connection URI.

Note
The SAP adapter preserves the case of the value that you enter for the user name when it opens a connection on the SAP system.

Passwd

The password for the user on the SAP system; this value is case sensitive. You must set the AcceptCredentialsInUri binding property to true to specify the user name and password in the connection URI.

Note
The SAP adapter preserves the case of the value that you enter for the password when it opens a connection on the SAP system.

Client

The SAP system client id.

Language

Language.

UseSnc

Optional parameter that specifies whether SAP Secure Network Communications (SNC) is enabled. The value can be True or False; if True, SNC is enabled. The default is False

When you enable SNC, you must also set the SncPartnerName and SncLibrary binding properties. For more information, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

If SNC is enabled and the connection URI contains credentials, the adapter throws an exception.

Note
UseSnc connection parameter is applicable only for connection types A and B. The different connection types and their significance is described in detail later in this topic.

Note
You must specify the Client and Language in the SAP connection URI.

The SAP adapter surfaces the AcceptCredentialsinUri binding property so you can control whether SAP system credentials can be specified in the connection URI. This is because the credentials are represented as plain text in the connection URI and this poses an inherent security risk. By default, the AcceptCredentialsInUri binding property is false and the adapter throws an exception if credentials are specified in the connection URI.

There are some scenarios in which it is necessary to specify credentials in the connection URI; for example, to receive the inbound operations from the SAP system when you use the WCF service model or the WCF channel model. You can set the AcceptCredentialsInUri property to true for these scenarios. It is a best practice, however, to avoid providing credentials directly in the connection URI. For more information about how to more securely provide credentials for the SAP connection, see Security and Protection.

Important
If you enable Secure Network Communications (SNC) by setting the UseSnc parameter to true, the adapter throws an exception.

Host Information in the SAP Connection URI

The SAP host information (hostinfoparams) is represented by the following elements in the SAP connection URI: connectiontype/conndetail1/conndetail2. These parameters specify details about the client connection to the SAP system. Additional details about the SAP client connection as well as details that establish a connection as a listener to an SAP RFC destination can be specified in the query_string. The SAP adapter supports the following client connection types in the SAP connection URI:

  • A: An application-host based connection in which the connection URI specifies an application server through which the SAP adapter connects to SAP.

  • B: A load balanced connection in which the connection URI specifies a message server through which the SAP adapter connects to SAP.

  • D: A destination-based connection in which the connection URI specifies a destination in the saprfc.ini file that contains the connection parameters for SAP.

The following table describes how these connections are specified in the SAP connection URI.

Connection Type | Conndetail1 | Conndetail2 | Description
A | ASHOST (Application Server Host) | SYSNR (SAP System Number) | Specifies an application host-based connection. For an application host-based connection, an optional Gateway Host and Gateway Service can be specified in the query_string.
B | MSHOST (Message Server Host) | R3NAME (SAP R3 Name) | Specifies a load balancing connection through a message server. For a load balancing connection, an optional server Group and Message Service can be specified in the query_string.
D | DEST (Destination that contains the connection parameters in the saprfc.ini file) | -- | Specifies a destination-based connection. The SAP connection parameters are contained in the specified destination in the saprfc.ini file. Only A-type and B-type connections can be specified in the destination.
Note
If you specify connection values in the saprfc.ini file, make sure the file is located in the same folder as the .exe accessing the file or at a standard location as required by the SAP system. For more information, see the SAP documentation.

Query Information in the SAP Connection URI

The query information (query_string) in the SAP connection URI contains optional parameters that can be included to specify the following:

  • Additional connection details for application host-based connections (A).

  • Additional connection details for load balancing connections (B).

  • Listener details that specify an RFC Destination on the SAP system through which the SAP system can send RFCs, TRFCs, and IDocs to the SAP adapter.

  • Whether to enable SAP Secure Network Communications (SNC).

  • Details that specify debugging configuration.

Query parameters are optional; however, listener details must be specified for the SAP adapter to act as an RFC server.

The following table describes the query parameters and indicates the SAP connection types for which they are valid.

Value Valid Connection Type Description

GwHost

A

Specifies the name of an optional gateway host in an application host-based connection.

GwServ

A

Specifies the name of an optional gateway service in an application host-based connection.

MsServ

B

Specifies the name of an optional message service in a load balancing connection.

Group

B

Specifies an optional group of application servers in a load balancing connection.

ListenerDest

(R)

Specifies an optional destination in the saprfc.ini file in an rfc server connection. The destination must specify an R-type connection.

ListenerGwHost

(R)

Specifies the gateway host for an rfc server connection. This parameter is optional; however, if an rfc server connection is desired and LISTENERDEST is not specified or no gateway host is specified by the destination in the saprfc.ini file, then LISTENERGWHOST must contain a valid gateway host.

ListenerGwServ

(R)

Specifies the gateway service for an rfc server connection. This parameter is optional; however, if an rfc server connection is desired and LISTENERDEST is not specified or no gateway service is specified by the destination in the saprfc.ini file, then LISTENERGWSERV must contain a valid gateway service.

ListenerProgramId

(R)

Specifies the program id for an rfc server connection. This parameter is optional; however, if an rfc server connection is desired and LISTENERDEST is not specified or no gateway service is specified by the destination in the saprfc.ini file, then LISTENERPROGRAMID must contain a valid gateway service.

RfcSdkTrace

All

Optional parameter that specifies whether RFC library tracing is enabled. The value can be True or False; if True, RFC Library tracing is enabled. The default is False.

The level of tracing enabled by the RfcSdkTrace parameter depends upon the environment variable RFC_TRACE.

  • If RFC_TRACE not present, or is set to 0, then the minimum level of tracing is enabled.

  • You can set RFC_TRACE to 1 or 2 to increase the level of tracing.

AbapDebug

All

Optional parameter that specifies whether ABAP debugging from Visual Studio is enabled. The value can be True or False; if True, ABAP debugging is enabled. The default is False. If AbapDebug is True, the SAP GUI is opened.

The parameters in the query string are SAP parameters and their values are defined by SAP. For more information about these parameters please see your SAP documentation.

The following shows a sample connection URI for an application host-based connection:

Copy Code
sap://Client=800;lang=EN@A/YourSAPHOST/00

Connection URI Properties in the Configure Adapter Dialog Box

When you connect to the SAP system with the Consume Adapter Service BizTalk Project Add-in or the Add Adapter Service Reference Visual Studio Plug-in you set the connection URI parameters from the URI Properties tab in the Configure Adapter dialog box. The following table shows how the URI properties are displayed in the URI Properties sheet. (The URI properties are listed by group in the order they appear in the URI Properties sheet.)

Category | URI Property | URI Part
Application Server | Application Server Host | Conndetail1 (host information connection type A)
Application Server | Gateway Host | GwHost (query string)
Application Server | Gateway Service | GwServ (query string)
Application Server | System Number | Conndetail2 (host information connection type A)
Destination | Destination Name | Conndetail1 (host information connection type D)
Diagnostics | RFC Trace | RfcSdkTrace (query string)
Diagnostics | ABAP Debug | AbapDebug (query string)
Login Information | Client | Client (userinfoparams)
Login Information | Language | Language (userinfoparams)
Message Server | Application Server Group Name | Group (query string)
Message Server | Message Server Host | Conndetail1 (host information connection type B)
Message Server | Message Server Service | MsServ (query string)
Message Server | R/3 System Name | Conndetail2 (host information connection type B)
Misc | Connection Type | Connection Type (host information: A, B, or D)
RFC Server | Destination Name | ListenerDest (query string)
RFC Server | Gateway Host | ListenerGwHost (query string)
RFC Server | Gateway Service | ListenerGwServ (query string)
RFC Server | Program Id | ListenerProgramId (query string)
SNC | UseSnc | UseSnc (user info)

How to specify a Connection URI for RFC Server Connections.

To create an endpoint address through which the SAP adapter can act as an RFC server, you must specify a SAP program id, a SAP gateway host, and a SAP gateway service that correspond to an RFC destination on the SAP system. For information about how to setup an RFC destination on SAP, see Creating an RFC Destination in an SAP System.

You can specify the program id, gateway host, and gateway service in the connection URI in one of two ways:

  • by setting the ListenerGwHost, ListenerGwServ, and ListenerProgramId query parameters

  • by setting the ListenerDest query parameter to a destination in the saprfc.ini file that specifies an R-type connection.

Note
If you specify connection values in the saprfc.ini file, make sure the file resides at the same location as the .exe accessing the file or at a standard location as required by the SAP system. For more information, see the SAP documentation.

To specify a connection URI for an RFC server connection, you specify a regular client connection with an RFC destination specified in the query string, as in the following example:

Copy Code
sap://Client=800;lang=EN@A/YourSAPHOST/00?ListenerGwHost=YourSAPHOST&ListenerGwServ=SAPGW00&ListenerProgramId=MyProgramId

The SAP adapter uses the information contained in the userinfoparams and hostinfoparams part of the connection URI to retrieve metadata from the SAP system and uses the information provided by the Listener parameters in the query string to register itself as a listener at the SAP RFC Destination.

Using Reserved Characters in the Connection URI

The SAP adapter does not support specifying a connection URI that has special characters for any of the parameter values. If the connection parameter values contain special characters, make sure you do one of the following:

  • If you are specifying the URI in Visual Studio using Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in, you must specify them as-is in the URI Properties tab, that is, without using any escape characters. If you specify the URI directly in the Configure a URI field and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

  • If you are specifying the URI while creating a send or receive port in BizTalk Server Administration console, and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

Using the Connection URI to Connect to the SAP System

For information about how to establish a connection to the SAP system when you:

  • Use the Consume Adapter Service BizTalk Project Add-in or the Add Adapter Service Reference Visual Studio Plug-in, see Connecting to the SAP System in Visual Studio.

  • Configure a send port or receive port (location) in a BizTalk Server solution, see Manually Configuring a Physical Port Binding to the SAP Adapter.

  • Use the WCF channel model in a programming solution, see Creating a Channel.

  • Use the WCF service model in a programming solution, see Specifying a Client Binding for the SAP System.

  • Use the WCF ServiceModel Metadata Utility Tool (svcutil.exe), see Using the ServiceModel Metadata Utility Tool with the BizTalk Adapter for mySAP Business Suite.

See Also

Other Resources

Establishing a Connection to the SAP System

© 2014 Microsoft Corporation. All rights reserved.


Retrieving Metadata for SAP Operations in Visual Studio

The Microsoft BizTalk Adapter for mySAP Business Suite provides two Visual Studio components that you can use to help you develop solutions using the adapter—the Consume Adapter Service BizTalk Project Add-in, the Add Adapter Metadata Wizard, and the Add Adapter Service Reference Plug-in. Adapter clients must use these components to connect to an SAP system and then generate metadata for the SAP artifacts they want to invoke.

All these Visual Studio components simplify development by:

  • Providing a Microsoft Windows interface through which you can browse and search for operations that you want to use in your solution.

  • Retrieving metadata exposed by the adapter for these target operations.

  • Converting that metadata, which is expressed as a Web Services Description Language (WSDL) document by the adapter, into a form that you can use in your solution (XSD message schemas for BizTalk projects or a .NET object representation of a service contract for the WCF service model) and adding it to your project.

This section provides instructions about how to use the Consume Adapter Service Add-in, the Add Adapter Metadata Wizard, and the Add Adapter Service Reference Plug-in.

In This Section

  • Connecting to the SAP System in Visual Studio

  • Browsing, Searching, and Retrieving Metadata for RFC Operations

  • Browsing, Searching, and Retrieving Metadata for BAPI Operations

  • Browsing, Searching, and Retrieving Metadata for IDOC Operations

  • Browsing, Searching, and Retrieving Metadata for tRFC Operations

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Connecting to the SAP System in Visual Studio

This section provides information about how to use the Consume Adapter Service Add-in, the Add Adapter Metadata Wizard, and the Add Adapter Service Reference Plug-in.

  • The Consume Adapter Service BizTalk Project Add-in is available in BizTalk Server projects. You use the Consume Adapter Service Add-in to generate message schemas (XSDs) for operations that you want to target in your BizTalk solution. For more information about developing solutions with BizTalk Server, see Developing BizTalk Applications.

  • The Add Adapter Metadata Wizard is available in BizTalk Server projects. You use the Add Adapter Metadata Wizard to generate message schemas (XSDs) for operations that you want to target in your BizTalk solution. For more information about developing solutions with BizTalk Server, see Developing BizTalk Applications.

    Note
    Because the SAP adapter is exposed both as a WCF-Custom binding and as BizTalk adapter, you can use either the Consume Adapter Service Add-in or the Add Adapter Metadata Wizard from a BizTalk project to connect to an SAP system.

  • The Add Adapter Service Reference Visual Studio Plug-in is available in non-BizTalk programming projects. You use the Add Adapter Service Reference Plug-in to generate a WCF client class or a WCF service callback interface when you develop solutions using the WCF service model. For more information about developing solutions with the WCF service model, see Developing Applications by Using the WCF Service Model.

To use the Consume Adapter Service BizTalk Project Add-in, the Add Adapter Metadata Wizard, or the Add Adapter Service Reference Visual Studio Plug-in you must first connect to the SAP system. All three user interface present a dialog box through which you configure a connection by setting the following:

  • Connection parameters. These are the parameters that are used to build the connection URI such as application server host or message server host, and client ID.

  • User name password credentials for the SAP system. These are used to authenticate you on the SAP system when the connection is established. You must specify a user name and password.

  • Binding properties. Binding properties are optional and whether you specify them depends primarily on whether you target operations that require specific binding properties to be set. For example, for a ReceiveIdoc operation you must set the ReceiveIdocFormat binding property to String. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

At a minimum, when you configure the connection to the SAP system, you only have to specify binding properties and connection parameters that are needed to establish the connection and that affect the metadata returned by the SAP adapter for the operations you want to target. However, you might also want to specify values for any additional binding properties and connection parameters that will be used at run time. This is because:

  • The Consume Adapter Service Add-in creates a BizTalk port binding file from the binding properties and connection parameters that you specify when you configure the connection and adds this file to your project.

  • The Add Adapter Service Reference Plug-in creates an app.config file from the binding properties and connection properties that you specify when you configure the connection and adds this file in your project directory.

In This Section

  • Connecting to SAP System in Visual Studio Using Consume Adapter Service Add-in

  • Connecting to SAP System in Visual Studio Using Add Adapter Metadata Wizard

  • Connecting to SAP System in Visual Studio Using Add Adapter Service Reference Plug-in

See Also

Other Resources

Retrieving Metadata for SAP Operations in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Connecting to SAP System in Visual Studio Using Consume Adapter Service Add-in

The Consume Adapter Service Add-in is installed when you install WCF LOB Adapter SDK. The Consume Adapter Service Add-in loads all the WCF-Custom bindings installed on the computer. To connect to SAP system using the WCF-based SAP adapter in a BizTalk project, you must use the sapbinding.

This topic provides instructions on how to use the Consume Adapter Service Add-in.

Connecting to an SAP System Using Consume Adapter Service Add-in

Perform the following steps to connect to an SAP system using the Consume Adapter Service Add-in.

To connect to an SAP system

  1. To connect using the Consume Adapter Service Add-in in a BizTalk solution:

    1. Create a BizTalk project using Visual Studio.

    2. Right-click the project name in Solution Explorer, point to Add, and then click Add Generated Items.

    3. In the Add Generated Items dialog box, do the following:

      Use this To do this

      Categories

      Click Consume Adapter Service.

      Templates

      Click Consume Adapter Service.

    4. Click Add. The Consume Adapter Service Add-in opens.

  2. From the Select a binding drop-down list, select sapBinding and click Configure.

  3. In the Configure Adapter dialog box, click the Security tab, and from the Client credential type drop-down list box, select Username and specify the user name and password to connect to the SAP system.

    Important
    If you are using the SAP Secure Network Connection (SNC) library to connect to an SAP system, do not specify a username and password.

  4. Click the URI Properties tab and specify values for the connection parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the UseSnc connection property to True.

    Note
    If the connection parameters contain any reserved characters, you must specify them as-is in the URI Properties tab, that is, without using any escape characters. However, if you specify the URI directly in the Configure a URI field and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

  5. Click the Binding Properties tab, and then specify values for the binding properties, if any, required by the operations you want to target. For example, if you want to target a ReceiveIdoc operation you must set the ReceiveIdocFormat binding property to String. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the SncLibrary and SncPartnerName to appropriate values.

    The SncLibrary binding property takes the path and the filename of the DLLs required for using SNC to connect to an SAP system. These DLLs must be present on the computer with the SAP client and SAP adapter installed. For more information see the BizTalk Adapter Pack installation guide available at <installation guide>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

    The SncPartnerName binding property takes the SNC name of the communication partner.

  6. Click OK.

  7. Click Connect. After the connection is established, the connection status is shown as Connected.

    The following figure shows the Consume Adapter Service Add-in immediately after the connection is established.

    Consume Adapter Service dialog box connected

    The Consume Adapter Service Add-in displays different nodes containing various artifacts that can be invoked in an SAP system. For example, the RFC node contains all the RFCs available in the SAP system you connected to. For more information about these nodes, see Metadata Node IDs.

See Also

Other Resources

Connecting to the SAP System in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Connecting to SAP System in Visual Studio Using Add Adapter Metadata Wizard

The SAP adapter is also exposed as a BizTalk adapter and hence, you can use the Add Adapter Metadata Wizard to generate schema for the operations you want to perform on an SAP system using the adapter.

Connecting to an SAP System Using Add Adapter Metadata Wizard

Perform the following steps to connect to an SAP system using the Add Adapter Metadata Wizard.

To connect to an SAP system

  1. To connect using the Add Adapter Metadata Wizard in a BizTalk solution:

    1. Create a BizTalk project using Visual Studio.

    2. Right-click the project name in Solution Explorer, point to Add, and then click Add Generated Items.

    3. In the Add Generated Items dialog box, do the following:

      Use this To do this

      Categories

      Click Add Adapter.

      Templates

      Click Add Adapter Metadata.

    4. Click Add. The Add Adapter Metadata Wizard opens.

    5. In the Add Adapter Wizard, select WCF-SAP. Select the computer on which BizTalk Server is installed and the name of the BizTalk database.

      Important
      If you already have a WCF-SAP port configured in BizTalk, select the port from the Port list.

    6. Click Next.

  2. From the Select a binding drop-down list, select sapBinding and click Configure.

  3. In the Configure Adapter dialog box, click the Security tab, and from the Client credential type drop-down list box, select Username and specify the user name and password to connect to the SAP system.

    Important
    If you are using the SAP Secure Network Connection (SNC) library to connect to an SAP system, do not specify a username and password.

  4. Click the URI Properties tab and specify values for the connection parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the UseSnc connection property to True.

    Note
    If the connection parameters contain any reserved characters, you must specify them as-is in the URI Properties tab, that is, without using any escape characters. However, if you specify the URI directly in the Configure a URI field and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

  5. Click the Binding Properties tab, and then specify values for the binding properties, if any, required by the operations you want to target. For example, if you want to target a ReceiveIdoc operation you must set the ReceiveIdocFormat binding property to String. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Note
    If you are generating metadata using Add Adapter Metadata Wizard and you selected an existing WCF-SAP send port, you need not specify the binding properties. The binding properties are picked from the send port configuration. However, you may choose to specify the binding properties that are required at design-time, if any. In such case, the new values for binding properties will be used at design-time while generating the metadata. However, at run-time the values specified for binding properties in the send port configuration will be applicable.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the SncLibrary and SncPartnerName to appropriate values.

    The SncLibrary binding property takes the path and the filename of the DLLs required for using SNC to connect to an SAP system. These DLLs must be present on the computer with the SAP client and SAP adapter installed. For more information see the BizTalk Adapter Pack installation guide available at <installation guide>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

    The SncPartnerName binding property takes the SNC name of the communication partner.

  6. Click OK.

  7. Click Connect. After the connection is established, the connection status is shown as Connected.

    The following figure shows the Consume Adapter Service Add-in immediately after the connection is established. The graphical user interface is same for the Add Adapter Metadata Wizard.

    Consume Adapter Service dialog box connected

    The Consume Adapter Service Add-in displays different nodes containing various artifacts that can be invoked in an SAP system. For example, the RFC node contains all the RFCs available in the SAP system you connected to. For more information about these nodes, see Metadata Node IDs.

See Also

Other Resources

Connecting to the SAP System in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Connecting to SAP System in Visual Studio Using Add Adapter Service Reference Plug-in

To connect to an SAP system using the SAP adapter in a .NET programming solution, you must use the Add Adapter Service Reference Visual Studio Plug-in. This topic provides instructions on how to use the Add Adapter Service Reference Plug-in.

Connecting to an SAP System Using Add Adapter Service Reference Plug-in

Perform the following steps to connect to an SAP system using the Add Adapter Service Reference Plug-in.

To connect to an SAP system

  1. To connect using the Add Adapter Service Reference Plug-in in a BizTalk solution:

    1. Create a project in Visual Studio.

    2. Right-click the project in Solution Explorer, and then click Add Adapter Service Reference. The Add Adapter Service Reference Plug-in opens.

  2. From the Select a binding drop-down list, select sapBinding and click Configure.

  3. In the Configure Adapter dialog box, click the Security tab, and from the Client credential type drop-down list box, select Username and specify the user name and password to connect to the SAP system.

    Important
    If you are using the SAP Secure Network Connection (SNC) library to connect to an SAP system, do not specify a username and password.

  4. Click the URI Properties tab and specify values for the connection parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the UseSnc connection property to True.

    Note
    If the connection parameters contain any reserved characters, you must specify them as-is in the URI Properties tab, that is, without using any escape characters. However, if you specify the URI directly in the Configure a URI field and the connection parameters contain reserved characters, you must specify the connection parameters using proper escape characters.

  5. Click the Binding Properties tab, and then specify values for the binding properties, if any, required by the operations you want to target. For example, if you want to target a ReceiveIdoc operation you must set the ReceiveIdocFormat binding property to String. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Important
    If you are using the SAP SNC library to connect to an SAP system, set the SncLibrary and SncPartnerName to appropriate values.

    The SncLibrary binding property takes the path and the filename of the DLLs required for using SNC to connect to an SAP system. These DLLs must be present on the computer with the SAP client and SAP adapter installed. For more information see the BizTalk Adapter Pack installation guide available at <installation guide>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

    The SncPartnerName binding property takes the SNC name of the communication partner.

  6. Click OK.

  7. Click Connect. After the connection is established, the connection status is shown as Connected.

    The following figure shows the Consume Adapter Service Add-in immediately after the connection is established. The graphical user interface is same for the Add Adapter Service Reference Plug-in.

    Consume Adapter Service dialog box connected

    The Add Adapter Service Reference Plug-in displays different nodes containing various artifacts that can be invoked in an SAP system. For example, the RFC node contains all the RFCs available in the SAP system you connected to. For more information about these nodes, see Metadata Node IDs.

See Also

Other Resources

Connecting to the SAP System in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Browsing, Searching, and Retrieving Metadata for RFC Operations

This section provides instructions on how to browse, search, and retrieve metadata from SAP for RFC operations using Add Adapter Service Reference Plug-in, Add Adapter Metadata Wizard, or Consume Adapter Service Add-in. Most of the instructions are same for all three user interface. Wherever applicable, separate procedures are provided for the relevant user interface.

Before performing the steps provided in the following sections, you must have:

  • Created a Visual Studio project.

  • Connected to the SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. For instructions see Connecting to the SAP System in Visual Studio.

Browsing RFCs in an SAP System

While browsing metadata using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in the SAP adapter surfaces:

  • RFCs as operations that can be invoked on the SAP system.

  • RfcGetAttributes operation, which enables adapter clients to get information about the RFC connection parameters.

Fore more information about browsing SAP metadata, see How Does the Adapter Surface SAP Metadata?

Perform the following steps to browse RFCs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in.

To browse RFCs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the RFC node to see the RFC functional groups in the Available categories and operations box. Alternatively, you can also see the RFC functional groups by expanding the RFC node.

    Tip
    You can directly go to the “immediate” category node or subcategory nodes in the tree, by typing the name of the artifact in while the focus is on the tree view in the Select a category box. For example, to jump to the Basis RFC functional group, keep the focus on the RFC node, and then type Basis.

    The following figure shows the Consume Adapter Service Add-in listing the RFC functional groups.

    Browsing RFC functional groups

  4. Click the RFC functional groups to see the relevant RFCs. The following figure shows the Consume Adapter Service Add-in with the RFCs under a particular RFC functional group.

    Browsing RFCs in a functional group

Searching RFCs in an SAP System

While searching metadata for RFCs in an SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in the SAP adapter:

  • Supports wildcard characters in the search expression.

  • Enables search immediately under the node at which the search operation is performed.

The following table lists the special characters that can be used for search and their interpretation by the SAP adapter.

Special character | Interpretation
+ (plus) | Matches exactly one character. For example, A+ matches AB, AC, AD
* (asterisk) | Matches zero or more characters. For example, A* matches A, AB, ABC.

For more information about the special characters supported by the adapter, see How Does the Adapter Surface SAP Metadata?

Perform the following steps to search RFCs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in.

To search RFCs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be searching for inbound or outbound operations using the adapter.

  3. In the Select a category box, click the RFC functional group containing the RFC you want to search. If you are not sure which functional group to search in, click the root RFC node.

  4. In the Search in category text box, enter a search expression to search for a specific RFC. For example, to search for RFCs that have "RFC_CUST" in their names, type *RFC_CUST* in the text box.

  5. Click the button with the right-arrow icon to start the search. After the search is complete, the Available categories and operations box lists the RFCs that satisfy the search criteria.

    The following figure shows the Consume Adapter Service Add-in listing the RFC search result.

    Search RFC in an SAP system

Generating Schema for BizTalk Projects

You can use the Consume Adapter Service Add-in or Add Adapter Metadata Wizard to generate schema for selected SAP artifacts. Once you have browsed and searched for the artifacts you want to invoke, you can generate schema for those artifacts and send messages, conforming to the schema, to the SAP system.

Note
You can select category nodes to return all the operations in that category's sub-tree—for example, you can select an entire RFC functional group (to generate schema for all the RFCs in that group) or select specific RFCs to generate schema for only those RFCs. For more information about the nodes, see Metadata Node IDs.

To retrieve metadata for RFCs

  1. Connect to an SAP server using the Consume Adapter Service Add-in or the Add Adapter Metadata Wizard. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the RFC functional group containing the RFC for which you want to generate metadata.

    You can also search for specific RFCs. For example, to search for RFCs that contain "RFC_CUST" in their name, click the RFC node and in the Search in category text box type *RFC_CUST*. Click the button with the right-arrow icon to start the search. The Available categories and operations box lists all the RFCs that have "RFC_CUST" in their name.

  4. In the Available categories and operations box, select the RFCs for which you want to generate metadata and click Add. The selected RFCs are listed in the Added categories and operations box.

    The following figure shows the Consume Adapter Service Add-in listing the selected RFCs.

    Retrieve metadata for RFC

    If you want to generate schema for multiple operations, there may be some duplicate element definitions among these schema that may cause failure in compiling the BizTalk project. For example, consider a scenario where you generate schema for an operation “Op1”. The schema for “Op1” contains a parameter of complex data type “CT1”. After generating the schema for “Op1” you close the Consume Adapter Service Add-in and re-open it to generate schema for another operation “Op2”. Assume that “Op2” also contains a parameter of complex data type “CT1”. After you exit the Consume Adapter Service Add-in and compile the project, you will get compilation errors because the complex data type “CT1” is defined twice in different XSD files. In such situations, we recommend the following:

    • Generate schema for all the operations in a single run of Consume Adapter Service Add-in. This ensures that the Consume Adapter Service Add-in generates only one definition for the complex data type “CT1”.

    • If you want to generate schema for multiple operations across different runs of Consume Adapter Service Add-in, make sure you select the Generate unique schema types check box so that the generated XSD files contain unique namespaces for the complex data type “CT1”.

  5. Click OK. The schema file is saved with an .xsd extension at the same location as the BizTalk project.

    Note
    If you are using Consume Adapter Service Add-in, by default the files are created with the naming convention "SAPBinding<n>.xsd", where 'n' can be 1, 2, etc. depending on the number of schema files created. Alternatively, you can provide a custom name to the schema files by entering a name in the Filename prefix text box. The Consume Adapter Service Add-in now creates schema files with the naming convention <filename prefix><n>.xsd.

    Note
    The Consume Adapter Service Add-in also creates a binding file (an XML file) containing the binding properties that you specified while generating the schema for an operation and the SOAP action to invoke the operation. You can import this binding file in the BizTalk Server Administration console to create a WCF-Custom port with the connection URI, binding properties, and the SOAP action set. For more information, see Configuring a Physical Port Binding Using a Port Binding File.

  6. On the File menu, click Save All.

Generating a WCF Client for RFC Operations Using the Add Adapter Service Reference Plug-in

You can use the Add Adapter Service Reference Plug-in to generate either WCF client code to send RFCs to the SAP system or a WCF service contract and code to receive RFCs (RFC server) from the SAP system.

To generate a WCF client or a WCF service contract for RFCs

  1. In the Add Adapter Service Reference Plug-in, from the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound (RFC server) or outbound operations.

  2. In the Select a category box, expand the RFC node, and then click the RFC functional group that contains the RFC for which you want to generate a WCF client or WCF service contract.

    You can also search for RFCs. For example, to search for RFCs that contain "RFC_CUST" in their name, click the RFC node and in the Search in category text box type *RFC_CUST*. Click the button with the right-arrow icon to start the search. The Available categories and operations box lists all the RFCs that have "RFC_CUST" in their name.

  3. In the Available categories and operations box, select the operations or categories (RFC functional groups) for which you want to generate a WCF client (or WCF service contract), and then click Add. The selected operations are listed in the Added categories and operations box. You can select any node that is listed in the Available categories and operations box. If you select a category node, then all of the operations available under that node and its sub-nodes will be added.

  4. For most scenarios the default serialization options are sufficient; however, if needed, you can control several aspects about the code that is generated and the type of serializer that is used. To set these options:

    1. Click Advanced Options to open the Advanced Options box.

    2. In the Advanced Options box under Choose options for generated proxy, select the options that you want. For example, you can select whether asynchronous methods are generated for the WCF client or disable the generation of a configuration file.

    3. Under Serializer select the serializer that should be used.

    The following figure shows the Advanced Options box with the default selections (Auto is selected for the serializer and no other options are selected).

    The Advanced Options box default settings

    The options that you can configure in the Advanced Options box are equivalent to some of the options available when you use the ServiceModel Metadata Utility Tool (svcutil.exe). For more information about these options, see "ServiceModel Metadata Utility Tool (Svcutil.exe)" at http://go.microsoft.com/fwlink/?LinkId=99821.

  5. Click OK. The Add Adapter Service Reference Plug-in saves the WCF client class (or WCF service interface) and helper code for the operations and categories that you have selected in your project directory. By default, a configuration file is also saved. Slightly different files are generated for inbound and outbound operations; for more information, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

See Also

Other Resources

Retrieving Metadata for SAP Operations in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Browsing, Searching, and Retrieving Metadata for BAPI Operations

This section provides instructions on how to browse, search, and retrieve metadata from SAP for BAPI operations using Add Adapter Service Reference Plug-in, Add Adapter Metadata Wizard, or Consume Adapter Service Add-in. Most of the instructions are same for all three user interface. Wherever applicable, separate procedures are provided for the relevant user interface.

Before performing the steps provided in the following sections, you must have:

  • Created a Visual Studio project.

  • Connected to the SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. For instructions see Connecting to the SAP System in Visual Studio.

Browsing BAPIs in an SAP System

While browsing metadata using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in the SAP adapter surfaces BAPIs as business objects and as RFCs. Browsing BAPIs as RFCs is similar to browsing an RFC in an SAP system. In such a case, the BAPIs are available as RFCs under the RFC. For more information on browsing RFCs, see Browsing, Searching, and Retrieving Metadata for RFC Operations.

This section provides information on browsing BAPIs as business objects. Fore more information about browsing SAP metadata, see How Does the Adapter Surface SAP Metadata?

Perform the following steps to browse BAPIs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in.

To browse BAPIs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the BAPI node to see the BAPI functional areas in the Available categories and operations box. Alternatively, you can also see the BAPI functional areas by expanding the BAPI node.

    Tip
    You can directly go to the “immediate” category node or subcategory nodes in the tree, by typing the name of the artifact in while the focus is on the tree view in the Select a category box. For example, to jump to the Controlling BAPI functional area, keep the focus on the BAPI node, and then type Controlling.

    The following figure shows the Consume Adapter Service Add-in listing the BAPI functional areas.

    Browsing functional areas in a BAPI

  4. Click the BAPI functional area to see the further categorizations of BAPI functional area.

  5. Click the BAPI functional area to see the relevant operations supported for that functional area. The following figure shows the Consume Adapter Service Add-in with the operations supported for a particular functional area.

    Browsing operations for a BAPI

Searching BAPIs in an SAP System

While searching metadata for BAPIs in an SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in the SAP adapter:

  • Supports wildcard characters in the search expression.

  • Enables search immediately under the node at which the search operation is performed.

The following table lists the special characters that can be used for search and their interpretation by the SAP adapter.

Special character | Interpretation
+ (plus) | Matches exactly one character. For example, A+ matches AB, AC, AD
* (asterisk) | Matches zero or more characters. For example, A* matches A, AB, ABC.

For more information about the special characters supported by the adapter, see How Does the Adapter Surface SAP Metadata?

Perform the following steps to search BAPIs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in.

To search BAPIs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be searching for inbound or outbound operations using the adapter.

  3. In the Select a category box, click the BAPI functional area containing the BAPI you want to search.

    Note
    You can search for BAPIs only at the root level.

  4. In the Search in category text box, enter a search expression to search for a specific BAPI. For example, to search for BAPIs that have "Account" in their names, type *Account* in the text box.

  5. Click the button with the right-arrow icon to start the search. After the search is complete, the Available categories and operations box lists the BAPIs that satisfy the search criteria.

  6. The following figure shows the Consume Adapter Service Add-in listing the BAPI search result.

    Search BAPIs in an SAP system

Generating Schema for BizTalk Projects

You can use the Consume Adapter Service Add-in or Add Adapter Metadata Wizard to generate schema for selected SAP artifacts. Once you have browsed and searched for the artifacts you want to invoke, you can generate schema for those artifacts and send messages, conforming to the schema, to the SAP system.

Note
You can select category nodes to return all the operations in that category's sub-tree—for example, you can select an entire BAPI sub-functional are (to generate schema for all the BAPIs in that group) or select specific BAPIs to generate schema for only those BAPIs. For more information about the nodes, see Metadata Node IDs.

To retrieve metadata for BAPIs

  1. Connect to an SAP server using the Consume Adapter Service Add-in or Add Adapter Metadata Wizard. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the BAPI functional group containing the BAPI for which you want to generate metadata.

  4. In the Available categories and operations box, select the functional areas or operations for which you want to generate metadata and click Add. The selected functional areas or operations are listed in the Added categories and operations box.

    The following figure shows the Consume Adapter Service Add-in listing the selected BAPIs.

    Retrieve metadata for a BAPI

    If you want to generate schema for multiple operations, there may be some duplicate element definitions among these schema that may cause failure in compiling the BizTalk project. For example, consider a scenario where you generate schema for an operation “Op1”. The schema for “Op1” contains a parameter of complex data type “CT1”. After generating the schema for “Op1” you close the Consume Adapter Service Add-in and re-open it to generate schema for another operation “Op2”. Assume that “Op2” also contains a parameter of complex data type “CT1”. After you exit the Consume Adapter Service Add-in and compile the project, you will get compilation errors because the complex data type “CT1” is defined twice in different XSD files. In such situations, we recommend the following:

    • Generate schema for all the operations in a single run of Consume Adapter Service Add-in. This ensures that the Consume Adapter Service Add-in generates only one definition for the complex data type “CT1”.

    • If you want to generate schema for multiple operations across different runs of Consume Adapter Service Add-in, make sure you select the Generate unique schema types check box so that the generated XSD files contain unique namespaces for the complex data type “CT1”.

  5. Click OK. The schema file is saved with an .xsd extension at the same location as the BizTalk project.

    Note
    If you are using Consume Adapter Service Add-in, by default the files are created with the naming convention "SAPBinding<n>.xsd", where 'n' can be 1, 2, etc. depending on the number of schema files created. Alternatively, you can provide a custom name to the schema files by entering a name in the Filename prefix text box. The Consume Adapter Service Add-in now creates schema files with the naming convention <filename prefix><n>.xsd.

    Note
    The Consume Adapter Service Add-in also creates a binding file (an XML file) containing the binding properties that you specified while generating the schema for an operation and the SOAP action to invoke the operation. You can import this binding file in the BizTalk Server Administration console to create a WCF-Custom port with the connection URI, binding properties, and the SOAP action set. For more information, see Configuring a Physical Port Binding Using a Port Binding File.

  6. On the File menu, click Save All.

Generating a WCF Client for BAPI Operations Using the Add Adapter Service Reference Plug-in

You can use the Add Adapter Service Reference Plug-in to generate WCF client code for BAPI operations (inbound operations are not supported for BAPIs).

To generate a WCF client for BAPIs

  1. In the Add Adapter Service Reference Plug-in, from the Select contract type drop-down list, select Client (Outbound operations).

  2. In the Select a category box, expand the BAPI node, and then browse or search for the BAPI categories or operations for which you want to generate a WCF client.

  3. In the Available categories and operations box, select the operations or categories (BAPI functional groups) for which you want to generate a WCF client, and then click Add. The selected operations are listed in the Added categories and operations box. You can select any node that is listed in the Available categories and operations box. If you select a category node, then all of the operations available under that node and its sub-nodes will be selected.

    Important
    The Add Adapter Service Reference Plug-in generates a unique WCF client class for each business object. Depending on the categories and operations that you select, more than one WCF client class may be generated. For more information, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  4. For most scenarios the default serialization options are sufficient; however, if needed, you can control several aspects about the code that is generated and the type of serializer that is used. To set these options:

    1. Click Advanced Options to open the Advanced Options box.

    2. In the Advanced Options box under Choose options for generated proxy, select the options that you want. For example, you can select whether asynchronous methods are generated for the WCF client or disable the generation of a configuration file.

    3. Under Serializer select the serializer that should be used.

    The following figure shows the Advanced Options box with the default selections (Auto is selected for the serializer and no other options are selected).

    The Advanced Options box default settings

    The options that you can configure in the Advanced Options box are equivalent to some of the options available when you use the ServiceModel Metadata Utility Tool (svcutil.exe). For more information about these options, see "ServiceModel Metadata Utility Tool (Svcutil.exe)" at http://go.microsoft.com/fwlink/?LinkId=99821.

  5. Click OK. The Add Adapter Service Reference Plug-in saves the WCF client class and helper code in your project directory for the selected operations and categories. By default, a configuration file is also saved. For more information, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

See Also

Other Resources

Retrieving Metadata for SAP Operations in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Browsing, Searching, and Retrieving Metadata for IDOC Operations

This section provides instructions on how to browse, search, and retrieve metadata from SAP for IDOC operations using Add Adapter Service Reference Plug-in, Add Adapter Metadata Wizard, or Consume Adapter Service Add-in. Most of the instructions are same for all three user interface. Wherever applicable, separate procedures are provided for the relevant user interface.

Before performing the steps provided in the following sections, you must have:

  • Created a Visual Studio project.

  • Connected to the SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. For instructions see Connecting to the SAP System in Visual Studio Note that before connecting to an SAP system to generate schema or a WCF client for IDOCs, you must set certain binding properties.

    • GenerateFlatFileCompatibleIdocSchema

    • ReceiveIdocFormat

    • FlatFileSegmentIndicator

    These properties govern how metadata for IDOC is retrieved from an SAP system. For more information about these properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties. For instructions on how to set the binding properties see Specifying Binding Properties.

Browsing IDOCs in an SAP System

While browsing metadata using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in, the SAP adapter surfaces separate operations for sending and receiving IDOCs from an SAP system.

  • Send and Receive. Adapter clients can use these operations to send and receive IDOCs from an SAP system using a strongly-typed schema. The adapter surfaces these operations separately for each IDOC and are available under the respective IDOC node.

  • SendIdoc and ReceiveIdoc. Adapter clients can use these operations to send and receive IDOCs from an SAP system using a weakly-typed schema. The SAP adapter only surfaces one SendIdoc and ReceiveIdoc operation for all IDOCs. These operations are available directly under the IDOC node.

Perform the following steps to browse IDOCs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in.

To browse IDOCs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the IDOC node to see the IDOC message types in the Available categories and operations box. Alternatively, you can also see the IDOC message types by expanding the IDOC node.

    Tip
    You can directly go to the “immediate” category node or subcategory nodes in the tree, by typing the name of the artifact in while the focus is on the tree view in the Select a category box. For example, to jump to the ACC_BILLING IDOC message type, keep the focus on the IDOC node, and then type ACC_BILLING.

    The following figure shows the Consume Adapter Service Add-in listing the IDOC message types. The root IDOC node also surfaces a SendIdoc option to send weakly-typed IDOCs to the SAP system.

    Browsing message types in an IDOC
    Note
    For an inbound scenario, the root IDOC node surfaces a ReceiveIdoc operation to receive weakly typed IDOCs.

  4. Click the IDOC message types to see the relevant IDOC type. The following figure shows the Consume Adapter Service Add-in with the IDOC type under a particular IDOC message type.

    Browsing IDOC types

  5. Click the IDOC types to see the different versions for an IDOC type. The following figure shows the Consume Adapter Service Add-in with the versions for a particular IDOC type.

    Browsing versions of an IDOC type

  6. Click the version of an IDOC type to see the supported operations on that IDOC type. The following figure shows the Consume Adapter Service Add-in with the operation supported for a particular IDOC type version.

    Browsing operations for an IDOC type

Searching IDOCs in an SAP System

While searching metadata for IDOCs in an SAP system using Consume Adapter Service Add-in, Add Adapter Metadata Wizard, Add Adapter Service Reference Plug-in, the SAP adapter:

  • Supports wildcard characters in the search expression.

  • Enables search immediately under the node at which the search operation is performed.

The following table lists the special characters that can be used for search and their interpretation by the SAP adapter.

Special character | Interpretation
+ (plus) | Matches exactly one character. For example, A+ matches AB, AC, AD
* (asterisk) | Matches zero or more characters. For example, A* matches A, AB, ABC.

For more information about the special characters supported by the adapter, see How Does the Adapter Surface SAP Metadata?

Perform the following steps to search IDOCs in an SAP system using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, Add Adapter Service Reference Plug-in.

To search IDOCs in an SAP system

  1. Connect to an SAP server using the Consume Adapter Service Add-in, Add Adapter Metadata Wizard, or Add Adapter Service Reference Plug-in. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be searching for inbound or outbound operations using the adapter.

  3. In the Select a category box, click the IDOC node.

    Important
    You can search for IDOCs only at the root level.

  4. In the Search in category text box, enter a search expression to search for a specific IDOC message type. For example, to search for IDOCs that have "MATMAS" in their names, type *MATMAS* in the text box.

  5. Click the button with the right-arrow icon to start the search. After the search is complete, the Available categories and operations box lists the IDOCs that satisfy the search criteria.

    The following figure shows the Consume Adapter Service Add-in listing the IDOC search result.

    Search IDOCs in an SAP system

Generating Schema for BizTalk Projects

You can use the Consume Adapter Service Add-in or Add Adapter Metadata Wizard to generate schema for selected SAP artifacts. Once you have browsed and searched for the artifacts you want to invoke, you can generate schema for those artifacts and send messages, conforming to the schema, to the SAP system.

Note
You can select category nodes to return all the operations in that category's sub-tree—for example, you can select an IDOC type (to generate schema for all the versions of IDOCs in that group) or select a specific version of IDOC to generate schema for only that version of IDOC. For more information about the nodes, see Metadata Node IDs.

To retrieve metadata for IDOCs

  1. Connect to an SAP server using the Consume Adapter Service Add-in or Add Adapter Metadata Wizard. See Connecting to the SAP System in Visual Studio for instructions.

  2. From the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound or outbound operations using the adapter.

  3. In the Select a category box, click the IDOC message type or the IDOC type for which you want to generate metadata.

  4. In the Available categories and operations box, select the IDOC type or the supported operations for which you want to generate metadata and click Add. The selected IDOC types or operations are listed in the Added categories and operations box.

    The following figure shows the Consume Adapter Service Add-in listing the selected IDOCs.

    Retrieve metadata for IDOCs

    If you want to generate schema for multiple operations, there may be some duplicate element definitions among these schema that may cause failure in compiling the BizTalk project. For example, consider a scenario where you generate schema for an operation “Op1”. The schema for “Op1” contains a parameter of complex data type “CT1”. After generating the schema for “Op1” you close the Consume Adapter Service Add-in and re-open it to generate schema for another operation “Op2”. Assume that “Op2” also contains a parameter of complex data type “CT1”. After you exit the Consume Adapter Service Add-in and compile the project, you will get compilation errors because the complex data type “CT1” is defined twice in different XSD files. In such situations, we recommend the following:

    • Generate schema for all the operations in a single run of Consume Adapter Service Add-in. This ensures that the Consume Adapter Service Add-in generates only one definition for the complex data type “CT1”.

    • If you want to generate schema for multiple operations across different runs of Consume Adapter Service Add-in, make sure you select the Generate unique schema types check box so that the generated XSD files contain unique namespaces for the complex data type “CT1”.

  5. Click OK. The schema file is saved with an .xsd extension at the same location as the IDOC project.

    Note
    If you are using Consume Adapter Service Add-in, by default the files are created with the naming convention "SAPBinding<n>.xsd", where 'n' can be 1, 2, etc. depending on the number of schema files created. Alternatively, you can provide a custom name to the schema files by entering a name in the Filename prefix text box. The Consume Adapter Service Add-in now creates schema files with the naming convention <filename prefix><n>.xsd.

    Note
    The Consume Adapter Service Add-in also creates a binding file (an XML file) containing the binding properties that you specified while generating the schema for an operation and the SOAP action to invoke the operation. You can import this binding file in the BizTalk Server Administration console to create a WCF-Custom port with the connection URI, binding properties, and the SOAP action set. For more information, see Configuring a Physical Port Binding Using a Port Binding File.

  6. On the File menu, click Save All.

Generating a WCF Client for IDOC Operations Using the Add Adapter Service Reference Plug-in

You can use the Add Adapter Service Reference Plug-in to generate either WCF client code to send IDOCs to an SAP system or a WCF service contract to receive IDOCs from an SAP system.

To generate a WCF client or a WCF service contract for IDOCs

  1. In the Add Adapter Service Reference Plug-in, from the Select contract type drop-down list, select the type of contract based on whether you will be performing inbound (receiving IDOCs) or outbound (sending IDOCs) operations.

  2. In the Select a category box, expand the IDOC node, and then browse or search for the IDOC message type or the IDOC type that you want to send or receive.

  3. In the Available categories and operations box, select the IDOC type or the supported operations for which you want to generate a WCF client (or WCF service contract), and then click Add. The selected operations are listed in the Added categories and operations box. You can select any node that is listed in the Available categories and operations box. If you select a category node, then all of the operations available under that node and its sub-nodes will be added.

    Important
    The Add Adapter Service Reference Plug-in generates a unique WCF client class (or WCF service contract) for each IDOC type. Depending on the categories and operations that you select, more than one WCF client class may be generated. For more information, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  4. For most scenarios the default serialization options are sufficient; however, if needed, you can control several aspects about the code that is generated and the type of serializer that is used. To set these options:

    1. Click Advanced Options to open the Advanced Options box.

    2. In the Advanced Options box under Choose options for generated proxy, select the options that you want. For example, you can select whether asynchronous methods are generated for the WCF client or disable the generation of a configuration file.

    3. Under Serializer select the serializer that should be used.

    The following figure shows the Advanced Options box with the default selections (Auto is selected for the serializer and no other options are selected).

    The Advanced Options box default settings

    The options that you can configure in the Advanced Options box are equivalent to some of the options available when you use the ServiceModel Metadata Utility Tool (svcutil.exe). For more information about these options, see "ServiceModel Metadata Utility Tool (Svcutil.exe)" at http://go.microsoft.com/fwlink/?LinkId=99821.

  5. Click OK. The Add Adapter Service Reference Plug-in saves the WCF client class (or WCF service interface) and helper code for the operations and categories that you have selected in your project directory. By default, a configuration file is also saved. Slightly different files are generated for inbound and outbound operations; for more information, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

See Also

Other Resources

Retrieving Metadata for SAP Operations in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Browsing, Searching, and Retrieving Metadata for tRFC Operations

tRFCs are not a separate artifact in an SAP system. These are categorized under a separate node by the SAP adapter because their metadata characteristics are different from that of RFCs. However, the experience of browsing, searching, and retrieving metadata for tRFCs is identical to that of the RFCs. Refer to Browsing, Searching, and Retrieving Metadata for RFC Operations for information about using the Add Adapter Service Reference Plug-in or Consume Adapter Service Add-in to browse, search, and retrieve metadata for tRFCs from an SAP system.

Note that the SAP adapter surfaces a special operation RfcConfirmTransID under the TRFC node. The SAP adapter uses this operation to commit tRFC calls made to the SAP server. For more information about this operation, see Operations on tRFCs.

See Also

Other Resources

Retrieving Metadata for SAP Operations in Visual Studio

© 2014 Microsoft Corporation. All rights reserved.


Working with BizTalk Adapter for mySAP Business Suite Binding Properties

This topic was last updated on: June 05, 2009

The Microsoft BizTalk Adapter for mySAP Business Suite surfaces several binding properties that enable you to control some of its run-time and design-time behavior. This section describes these binding properties and provides links to topics that explain how you can set them.

The SAP Adapter Binding Properties

The following table shows the SAP adapter binding properties grouped by category. The category refers to the node under which each binding property appears in the dialog boxes that are presented by different applications to configure the adapter (SAPBinding).

Binding Property Category Description .NET Type

CloseTimeout

General

Specifies the WCF connection close timeout. The default is 1 minute.

System.DateTime

DataTypesBehavior

General

The SAP system does not enforce correct values to be specified for DATS, TIMS, and NUMC fields. So, if invalid values are present in the SAP data store for DATS, TIMS, and NUMC fields and a client program tries to read the values using the SAP adapter, the adapter throws an exception.

Also, the SAP system has special values for representing minimum and maximum values for the DATS, TIMS, and NUMC fields for which there is no equivalent .NET type. For example, the minimum and maximum values for a DATS field are 00000000 and 99999999 respectively, for which there is no equivalent .NET type DateTime. Moreover, converting the minimum and maximum values for DATS fields to DateTime.MinValue and DateTime.Max value is not feasible because the minimum or maximum value for DATS field and minimum or maximum value for a .NET DateTime type are not the same.

To enable adapter clients to control the adapter behavior when special values are encountered in the SAP system, you can set the DataTypesBehavior binding property. This is a complex binding property that has the following sub-properties.

DateTimeMaxToDats

Specifies the behavior the adapter should follow to send a DATS value when the adapter client sends the value DateTime.MAX, which is “9999-12-31T23:59:59.9999999”. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends the DateTime.MAX value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends the DateTime.MAX value.

Default is 99991231.

DateTimeMaxToTims

Specifies the behavior the adapter should follow to send a TIMS value when the adapter client sends the value DateTime.MAX, which is “9999-12-31T23:59:59.9999999”. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends the DateTime.MAX value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends the DateTime.MAX value.

Default is 235959.

DateTimeMinToDats

Specifies the behavior the adapter should follow to send a DATS value when the adapter client sends the value DateTime.MIN, which is “0001-01-01T00:00:00”. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends the DateTime.MIN value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends the DateTime.MIN value.

Default is 00010101.

DateTimeMinToTims

Specifies the behavior the adapter should follow to send a TIMS value when the adapter client sends the value DateTime.MIN, which is “0001-01-01T00:00:00”. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends the DateTime.MIN value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends the DateTime.MIN value.

Default is 000000.

DateTimeNullToDats

Specifies the behavior the adapter should follow to send a DATS value when the adapter client sends a NULL DateTime value. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends a NULL DateTime value.

  • SKIP. When set to this, the adapter skips the field and does not send any value to SAP if the client program sends a NULL DateTime value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends a NULL DateTime value.

Default is SKIP.

DateTimeNullToTims

Specifies the behavior the adapter should follow to send a TIMS value when the adapter client sends a NULL DateTime value. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if the client program sends a NULL DateTime value.

  • SKIP. When set to this, the adapter skips the field and does not send any value to SAP if the client program sends a NULL DateTime value.

  • <VALUE>. When set to this, the adapter sends the specified value to SAP if the client program sends a NULL DateTime value.

Default is SKIP.

DatsMaxToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives a DATS.MAX value, which is 99999999, from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives a DATS.MAX value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives a DATS.MAX value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is ERROR.

DatsMinToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives a DATS.MIN value, which is 00000000, from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives a DATS.MIN value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives a DATS.MIN value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is ERROR.

EmptyDatsToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives an empty DATS value from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives an empty DATS value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives an empty DATS value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is 0001-01-01T00:00:00.

EmptyNumcToInt

Specifies the behavior the adapter should follow to retrieve an integer value when the adapter receives an empty NUMC value (all spaces) from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives an empty NUMC value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives an empty NUMC value from SAP.

  • <VALUE>. When set to this, the adapter assumes that the specified value is a valid Int32 or Int64 value and returns it to the client program.

Default is 0.

EmptyTimsToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives an empty TIMS value from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives an empty TIMS value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives an empty TIMS value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is 0001-01-01T00:00:00.

InvalidDatsToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives an invalid DATS value from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives an invalid DATS value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives an invalid DATS value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is ERROR.

InvalidNumcToInt

Specifies the behavior the adapter should follow to retrieve an integer value when the adapter receives an invalid NUMC value from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives an invalid NUMC value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives an invalid NUMC value from SAP.

  • <VALUE>. When set to this, the adapter assumes that the specified value is a valid Int32 or Int64 value and returns it to the client program.

Default is 0.

TimsMaxToDateTime

Specifies the behavior the adapter should follow to retrieve a DateTime value when the adapter receives a TIMS.MAX value from SAP. You could set this to the following values.

  • ERROR. When set to this, the adapter throws an error if it receives a TIMS.MAX value from SAP.

  • NULL. When set to this, the adapter returns NULL if it receives a TIMS.MAX value from SAP.

  • <VALUE>. When set to this, the adapter parses the specified value in the XSD:DateTime format and returns it to the client program.

Default is ERROR.

Microsoft.Adapters.SAP.SapDataTypesBehavior

Name

General

Not supported.

string

OpenTimeout

General

Specifies the WCF connection open timeout. The default is 1 minute.

System.DateTime

ReceiveTimeout

General

Specifies the WCF message receive timeout. Essentially, this means the maximum amount of time the adapter waits for an inbound message. The default is 10 minutes.

Important
For inbound operations such as receiving IDOCs, we recommend setting the timeout to the maximum possible value; which is 24.20:31:23.6470000 (24 days). When using the adapter with BizTalk Server, setting the timeout to a large value does not impact the functionality of the adapter.

System.DateTime

SendTimeout

General

Specifies the WCF message send timeout. The default is 1 minute.

System.DateTime

EnableBizTalkCompatiblityMode

BizTalk

Specifies whether the BizTalk Layered Channel Binding Element should be loaded. The BizTalk Layered Channel Binding Element is loaded to enable BizTalk transactions to flow through the SAP adapter to the SAP system.

Set this to true to load the binding element. Otherwise, set this to false.

When using the adapters from BizTalk Server, you must always set the property to true. When using the adapters from Visual Studio, you must always set the property to false.

bool (System.Boolean)

EnableBusinessObjects

Bapi

This property is deprecated. The adapter always displays the BAPI node when browsing the metadata using the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in. The behavior is the same as setting EnableBusinessObjects to true in BizTalk Adapter Pack version 1.0. For more information about the EnableBusinessObjects binding property in BizTalk Adapter Pack version 1.0, see http://go.microsoft.com/fwlink/?LinkId=135612.

bool (System.Boolean)

EnableConnectionPooling

Connection

Specifies whether the SAP adapter connection pool is enabled. The default is true, which specifies that the connection pool is enabled.

bool (System.Boolean)

IdleConnectionTimeout

Connection

Specifies the SAP adapter idle connection timeout. When a connection in the pool is idle (unused) for a period that exceeds this timeout, the connection will be disposed. The default is 15 minutes. The idle connection timeout only applies to connections in the pool that are not being used. It does not affect active (open) connections which may be waiting for data.

System.DateTime

MaxConnectionsPerSystem

Connection

Specifies the maximum number of connections in the SAP adapter connection pool. The default is 50. MaxConnectionsPerSystem is a static property within an application domain. This means that when you change MaxConnectionsPerSystem for one binding instance in an application domain, the new value applies to all objects created from all binding instances within that application domain.

Important
By default, the SAP client library (librfc32u.dll) supports a maximum of 100 connections to the SAP system. If you exceed this number of connections, an exception will be thrown by the SAP adapter. For this reason, you should not set MaxConnectionsPerSystem to a value greater than the number of connections supported by the SAP client library. You can increase the number of connections that the SAP client library supports by setting the environment variable, CPIC_MAX_CONV. You must reboot your computer after setting this variable for the change to take effect.

int (System.Int32)

RfcAllowStartProgram

Connection

Specifies the external programs that the RFC client library can start, if required by an RFC partner. For example, if you are invoking an RFC that internally invokes a program on the computer running the adapter client, you must specify the name of that program for this binding property.

If you are specifying multiple programs for this binding property, they must be separated by a semi-colon. For example, if you want to specify the sapftp and saphttp programs, you must specify them as sapftp;saphttp.

Also, make sure the following conditions are met:

  • The external program required by the RFC is available on the computer running the adapter client.

  • The location of the external program is present in the PATH variable on the computer running the adapter client.

For example, BAPI_DOCUMENT_CHECKOUTVIEW2 internally executes a program, sapftp. So, while invoking this RFC, you must set the RfcAllowStartProgram binding property to sapftp. You must also ensure that the sapftp program is available locally, and the location of the sapftp program is added to the PATH variable on the computer running the adapter client.

String

EnablePerformanceCounters

Diagnostics

Specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter. The default is false; performance counters are disabled. The LOB Latency performance counter measures the total time spent by the SAP adapter in making calls to the SAP system.

Note
EnablePerformanceCounters is a static property within an application domain (app domain) for the WCF LOB Adapter SDK performance counters, but it is an instance property for the adapter's LOB Latency performance counter. This means that changing EnablePerformanceCounters for a binding instance in an app domain will:

  • enable or disable the WCF LOB Adapter SDK performance counters for all objects created from all binding instances within the same app domain.

  • enable or disable the adapter's LOB Latency performance counter only for objects created from that binding instance after the change is made.

bool (System.Boolean)

AutoConfirmSentIdocs

Idoc

Specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs. The default is false; auto-commit is disabled. If auto-commit is disabled, the client application must explicitly commit the tRFC call by invoking the RfcConfirmTransID operation. The RfcConfirmTransID operation is a special operation surfaced by the SAP adapter. It appears under the TRFC node when you use the Add Adapter Service Reference Visual Studio Plug-in or the Consume Adapter Service BizTalk Project Add-in.

bool (System.Boolean)

PadReceivedIdocWithSpaces

Idoc

Specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length. The default is false; lines are not padded.

bool (System.Boolean)

EnableSafeTyping

Metadata

Enables or disables safe typing. The default is false; safe typing is disabled. This feature controls how the adapter surfaces certain SAP data types. For more information about safe typing, see Basic SAP Data Types.

bool (System.Boolean)

FlatFileSegmentIndicator

Metadata

Specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs. Note that the XML schema elements, however, should always contain segment definition names only. There are two possible values for the FlatFileSegmentIndicator property:

  • SegmentDefinition indicates that the flat files should contain the Segment Definition for each Segment in the IDoc.

  • SegmentType indicates that the flat files should contain the Segment Type for each Segment in the IDoc.

The default is SegmentDefinition.

enum Microsoft.Adapters.SAP.FlatFileSegmentIndicator

GenerateFlatfileCompatibleIdocSchema

Metadata

Specifies whether flat file <appinfo> tags should be added to the IDoc message schema. This is required by the BizTalk flat file parser. The default is true, which specifies that <appinfo> tags will be added to the schema.

bool (System.Boolean)

ReceiveIDocFormat

Metadata

Specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter). There are three possible values for the ReceiveIDocFormat property:

  • String specifies that the IDoc message should be represented as a single, string field in the WCF message.

  • Typed specifies that the IDoc message should be parsed and represented as a strongly-typed WCF message.

  • Rfc specifies that the SAP adapter should pass the incoming RFC call as a WCF message with RFC parameters.

The default is Typed.

enum Microsoft.Adapters.SAP.IdocReceiveFormat

SncLibrary

SNC

Specifies the location of the SNC library on your computer. If the PATH environment variable contains the directory in which the library resides, you only have to supply the filename of the library; otherwise you must supply the full path. The SncLibrary binding property surfaces an SAP connection property. For more information see the SAP documentation.

You must set the UseSnc parameter in the connection URI to enable Secure Network Communications (SNC). For more information about the SAP connection URI, see The SAP System Connection URI.

string

SncPartnerName

SNC

Specifies the SNC partner name. The SncPartnerName binding property surfaces an SAP connection property. For more information, see the SAP documentation.

You must set the UseSnc parameter in the connection URI to enable Secure Network Communication (SNC). For more information about the SAP connection URI, see The SAP System Connection URI.

string

TidDatabaseConnectionString

TrfcServer

Specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs). The BizTalk Adapter Pack setup wizard installs some SQL scripts that must be run by the SQL Server administrator against an existing database to create the SQL Server objects that are used by the adapter to store TIDs to enable inbound transactional RFC (tRFC) server calls. For more information about the SQL scripts, refer to the BizTalk Adapter Pack installation guide available at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

You must set this property to enable inbound tRFC server calls for receiving IDocs or RFCs from SAP. The default is null; tRFC server calls are not enabled.

You can specify the connection string in the following format:

Copy Code
Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;

To specify the connection string, click the ellipsis button (…) against the binding property and enter the values for the required connection string properties.

string

AcceptCredentialsInUri

Not surfaced by the Consume Adapter Service Add-in or the Add Adapter Service Reference Plug-in.

Specifies whether the SAP connection URI can contain user credentials for the SAP system. The default is false, which disables user credentials in the connection URI. If AcceptCredentialsInUri is false and the SAP connection URI contains user credentials, the SAP adapter throws an exception. You can set AcceptCredentialsInUri to true if you must specify credentials in the URI. For more information, see The SAP System Connection URI.

bool (System.Boolean)

How Do I Set SAP Binding Properties?

You can set the SAP binding properties when you specify a connection to an SAP system. For information about how to set binding properties when you:

  • Use the Consume Adapter Service BizTalk Project Add-in.or the Add Adapter Service Reference Visual Studio Plug-in, see Connecting to the SAP System in Visual Studio.

    Important
    While using the Consume Adapter Service Add-in or the Add Adapter Service Reference Plug-in, if you do not specify a value for a binding property of type string and whose default value is null then that binding property will not be available in the binding file (an XML file) or the app.config file respectively. You must manually add the binding property and its value in the binding file or the app.config file, if required.

  • Configure a send port or receive port (location) in a BizTalk Server solution, see Manually Configuring a Physical Port Binding to the SAP Adapter.

  • Use the WCF channel model in a programming solution, see Creating a Channel.

  • Use the WCF service model in a programming solution, see Specifying a Client Binding for the SAP System.

  • Use the WCF ServiceModel Metadata Utility Tool (svcutil.exe), see Using the ServiceModel Metadata Utility Tool with the BizTalk Adapter for mySAP Business Suite.

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Streaming and the SAP Adapter

The Microsoft BizTalk Adapter for mySAP Business Suite supports message streaming between itself and a client application. With the SAP adapter operations are invoked and responses are returned by exchanging SOAP messages. A SOAP message body is composed of XML nodes.

There are two kinds of message streaming that are supported by the adapter:

  • Node streaming. In node streaming, a message can be streamed a node at a time between the client and the adapter. This means that, the entire value of a node is read into a buffer and then sent on to the receiver.

  • Node-value streaming. In node-value streaming the actual value of the node can be streamed in chunks between the client and the adapter. Node-value streaming is useful for sending or receiving large IDOCs using the SendIdoc or the ReceiveIdoc operations. This is because the entire IDOC is contained in a single node. (As opposed to a strongly-typed Send or Receive operation in which the IDOC data is broken into many nodes).

Important
Node-value streaming is only supported between the adapter and a client application. The SAP adapter does not support end-to-end node-value streaming with the SAP system. This is because this functionality is not supported by the SAP client library.

Both of these streaming modes rely on support for node streaming and node-value streaming on messages in WCF. For this reason, streaming is tied closely to how messages are created and consumed both by the adapter and by a client application. One result of this is that support for message streaming is not the same across all programming models.

The sections in this topic provide:

  • Fundamental background information about how message streaming is supported in WCF and how it is implemented by the adapter.

  • Information about how message streaming is supported when you use the adapter in each programming model.

Streaming Fundamentals

The support for streaming implemented by the SAP adapter is a combination of:

  • Message streaming support in WCF.

  • Streaming support in the SAP client library.

  • The way messages are created and consumed internally by the adapter.

Message Streaming Support in WCF

How WCF supports streaming on a message depends both on how the message is created and how the message is consumed.

  • A WCF message is created by using the static Create method of System.ServiceModel.Channels.Message. This method has several overloads that support different ways of passing the message body. A WCF message can be created by passing the message body using:

    • A System.Xml.XmlReader, or

    • A System.ServiceModel.Channels.BodyWriter.

  • A WCF message can be consumed using

    • An XmlReader by calling Message.GetReaderAtBodyContents(), or

    • An XmlDictionaryWriter by calling Message.WriteBodyContents(XmlDictionaryWriter).

The following table shows how WCF behaves for different combinations of creating and consuming messages.

Message Created With | Message Consumed With | WCF Behavior
XmlBodyWriter | XmlDictionaryWriter | Node-value streaming is supported. WCF pipes the two writers together to enable streaming. Both the XmlBodyWriter and the XmlDictionaryWriter must support node-value streaming for it to occur.
XmlBodyWriter | XmlReader | Node streaming is supported. WCF internally buffers the XmlReader.
XmlReader | XmlDictionaryWriter | Node streaming is supported. WCF internally buffers the XmlReader and calls back into the XmlDictionaryWriter.
XmlReader | XmlReader | Node streaming is supported. WCF internally buffers the XmlReader.

Streaming Support in the SAP Client Library

The SAP client library does not support streaming. Therefore end-to-end node-value streaming is not supported by the SAP adapter.

Internal Message Handling by the Adapter

The adapter supports streaming in the following manner:

  • The adapter consumes the SendIdDoc request message received from the client by using a custom implementation of XmlDictionaryWriter. It consumes all other messages received from the client using an XmlReader.

  • The adapter creates the ReceiveIdoc request message that it sends to the client by using a custom implementation of XmlBodyWriter. It creates all other messages that it sends to the client using an XmlReader.

Streaming Support in the WCF Channel Model

The following table provides detailed information about how streaming is supported in the WCF channel model.

Operation | Node Streaming |  | Node-Value Streaming |  | Description
Outbound RFC and BAPI operations (from the client to the adapter) | Not supported | Not supported |  |
Outbound tRFC operations (from the client to the adapter) | Not supported | Not supported |  |
IDOC Send operation (strongly typed) | Not supported | Not supported |  |
IDOC Receive operation (strongly typed) | Supported | Not supported |  |
SendIdoc operation (string) | Supported | Supported |  | The adapter uses an XmlDictionaryWriter to consume the request message. If the client creates the message with a BodyWriter, node-value streaming from the client to the adapter occurs.
ReceiveIdoc operation (string) | Supported | Supported |  | The adapter uses a BodyWriter to create the request message. If the client consumes the message using an XmlDictionaryWriter, node-value streaming from the adapter to the client occurs.
Inbound RFC operations | Not supported | Not supported |  |
Inbound tRFC operations | Not supported | Not supported |  |

For information about how to implement node-value streaming in your code to send and receive flat file (string) IDOCs using the SendIdoc and ReceiveIdoc operations, see Streaming Flat-File IDOCs in the WCF Channel Model.

Streaming Support in the WCF Service Model

Serializing and deserializing between the XML representation of a message and the managed code object representation of that message requires writing and reading the entire message into memory. For this reason, neither node streaming nor node-value streaming is supported from the WCF service model.

Streaming Support in BizTalk Server

The following table provides detailed information about how streaming is supported in BizTalk Server.

Operation | Node Streaming | Node-Value Streaming | Description
RFC and BAPI operations (from the client to the adapter) | Not supported | Not supported |
tRFC operations (from the client to the adapter) | Not supported | Not supported |
IDOC Send operation (strongly typed) | Not supported | Not supported |
IDOC Receive operation (strongly typed) | Supported | Not supported |
SendIdoc operation (string) | Supported | Supported | The WCF-Custom adapter uses a BodyWriter to create the request message, so node-value streaming is supported.
ReceiveIdoc operation (string) | Supported | Supported | The WCF-Custom adapter uses an XmlDictionaryWriter to consume the request message, so node-value streaming is supported.
Inbound RFC operations | Not supported | Not supported |
Inbound tRFC operations | Not supported | Not supported |

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Developing BizTalk Applications

Developing BizTalk applications involves creating a BizTalk project in Visual Studio and using the Consume Adapter Service BizTalk Project Add-in or Add Adapter Metadata Wizard to generate XML schema. Once you have generated the schema, you can either use Content-Based Routing (CBR) or create BizTalk orchestrations to send and receive messages that conform to the generated schema.

CBR can be used in scenarios where the messages being sent to the SAP system do not require any intensive processing. For example, if you know that the receive port will be receiving messages only of a certain type, you can add a filter to the send port to route the messages matching the filter expression to the send port.

In BizTalk orchestrations, you create send and receive ports to send and receive messages to and from the WCF-Custom adapter, which in turn sends the messages to BizTalk Server. This section provides information about using BizTalk orchestrations to perform operations on the SAP system using the SAP adapter. The SAP adapter in turn uses the WCF-Custom adapter adapter that can interact with a WCF binding.

Important
To use the SAP adapter with Microsoft BizTalk Server, you must always set the EnableBizTalkCompatibilityMode binding property to True. For information about how to set binding properties, see Specifying Binding Properties.

In This Section

  • Before You Develop BizTalk Applications

  • Building Blocks for Developing BizTalk Applications

  • Invoking RFCs by Using BizTalk Server

  • Receiving Inbound RFC Calls by Using BizTalk Server

  • Invoking tRFCs by Using BizTalk Server

  • Receiving Inbound tRFC Calls by Using BizTalk Server

  • Performing BAPI Transactions by Using BizTalk Server

  • Sending IDOCs to SAP by Using BizTalk Server

  • Receiving IDOCs from SAP by Using BizTalk Server

  • Receiving IDOCs from SAP in a Transactional Context by Using BizTalk Server

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Before You Develop BizTalk Applications

This section provides information about tasks that you must perform before developing BizTalk applications using the SAP adapter. The section also lists some BizTalk Server tools that are used to develop BizTalk applications.

In This Section

  • Create a Strong-Name Key File

  • Learn About BizTalk Server Tools

© 2014 Microsoft Corporation. All rights reserved.


Create a Strong-Name Key File

You must create a strong-name key file to build projects in Microsoft Visual Studio. A strong name consists of the project's identity—its simple text name, version number, and culture information (if provided)—plus a public key and a digital signature. The strong-name key file contains the public key and the private key.

Important
Creating a strong-name key file is a one-time task. You can use the same key for all the BizTalk applications you develop.

To create a strong-name key file

  1. Start Visual Studio Command Prompt.

  2. At the command prompt navigate to the location where you want to create the key file. For example, type cd C:\Sample,and then press ENTER.

  3. At the command prompt, type sn -k <key file name>.snk, and then press ENTER.

    Note
    You should receive a message at the command prompt stating that the key pair was written to the strong-name key file.

  4. At the command prompt, type exit, and then press ENTER.

See Also

Other Resources

Before You Develop BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Learn About BizTalk Server Tools

The topics on how to use the SAP adapter in Developing BizTalk Applications assume that you have working knowledge of a number of BizTalk Server tools. You will use the following tools to develop BizTalk applications using SAP adapter:

  • Microsoft Visual Studio 2013

  • Orchestration Designer

  • Pipeline Designer

  • BizTalk Mapper

  • BizTalk Server Administration console

Prerequisites

You must install BizTalk Server before you can access the BizTalk Server tools.

BizTalk Server Tools

The following table includes topics in the BizTalk Server documentation that explain how to use each of the listed tools.

Tool Topics in BizTalk Server Documentation

Visual Studio

  • Using Visual Studio (http://go.microsoft.com/fwlink/?LinkId=107180)

  • Working with BizTalk Projects (http://go.microsoft.com/fwlink/?LinkId=107181)

  • Deploying BizTalk Assemblies from Visual Studio into a BizTalk Application (http://go.microsoft.com/fwlink/?LinkId=107182)

Learn more about Visual Studio:

  • Introduction to Solutions, Projects, and Items (http://go.microsoft.com/fwlink/?LinkId=58503)

  • Solution Explorer Concepts (http://go.microsoft.com/fwlink/?LinkId=58504)

Orchestration Designer

  • Creating Orchestrations Using Orchestration Designer (http://go.microsoft.com/fwlink/?LinkId=107184)

Pipeline Designer

  • Creating Pipelines Using Pipeline Designer (http://go.microsoft.com/fwlink/?LinkId=107185)

BizTalk Mapper

  • Creating Maps Using BizTalk Mapper (http://go.microsoft.com/fwlink/?LinkId=107186)

BizTalk Server Administration console

  • Using the BizTalk Server Administration Console (http://go.microsoft.com/fwlink/?LinkId=107187)

See Also

Other Resources

Before You Develop BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Building Blocks for Developing BizTalk Applications

Performing operations on an SAP system using SAP adapter involves two set of activities: design-time activities and run-time activities. To perform operations on an SAP system by using the SAP adapter with BizTalk Server, you must perform a set of design-time and run-time tasks using Visual Studio and BizTalk Server Administration console respectively. This section provides an overview of these tasks. All the topics in this section, which demonstrate how to perform specific operations on an SAP system using BizTalk Server, are modeled on these high-level tasks.

Design-time Tasks

The WCF LOB Adapter SDK provides capability to browse, search, and retrieve the SAP metadata for RFCs, BAPIs, and IDOCs in the form of XML Schema definition languages (XSDs) using the Consume Adapter Service BizTalk Project Add-in or Add Adapter Metadata Wizard. The XSDs are specific to the operation you want to perform on the SAP system, and the Consume Adapter Service Add-in or Add Adapter Metadata Wizard is available only when you create a BizTalk project. At design time you need to perform the following tasks.

  • Create BizTalk project and generate schema. To start with, you must create a BizTalk project in Microsoft Visual Studio and generate the schema for the RFC you will invoke in the SAP system. For example, if you want to invoke RFC_CUSTOMER_GET in the SAP system, you must generate the metadata for RFC_CUSTOMER_GET. In this step you use the Consume Adapter Service Add-in or Add Adapter Metadata Wizard to generate the schema. For more information, see Retrieving Metadata for SAP Operations in Visual Studio.

  • Set up an orchestration. Once you have generated the schema, you must set up an orchestration by using the Orchestration Designer. For a basic orchestration, you add the Send and Receive shapes along with the Send and Receive logical ports. In later steps, you map these logical ports to physical ports by using the BizTalk Server Administration console. The orchestration uses these ports to pick messages that an adapter client sends. The orchestration then passes the messages to the SAP system. Once a response is received from the SAP system, the orchestration passes the response to the adapter client.

  • Create messages and link to schema. In your orchestration, you must create messages that will be mapped to the schema you generated in the first step. Typically, you create a request message and a response message. These messages are mapped to corresponding request and response schemas.

  • Map message shapes to messages and ports. In your orchestration, you must now map each shape you added in the second step to messages you created in the third step. You must also map a message shape to the port on which that message will be sent.

    For example, if the first shape in your orchestration is a Receive shape that receives a message, you map this shape to a request message and the port that sends the request message.

  • Build and deploy the BizTalk project. After you have set up the orchestration and mapped messages, ports, and schemas you must build the BizTalk solution. For building a project in Visual Studio, you will need an assembly key file. After you successfully build the solution, you must deploy the solution.

    Note
    More detailed description of these high-level tasks, including procedural information, is provided in various topics of this section.

Once the solution is deployed, your design-time tasks are accomplished. You must now perform the run-time tasks.

Run-time Tasks

At run time, you can use the BizTalk Server Administration console to deploy and monitor the orchestration you created at design time. In addition, you must:

  • Configure the application. The BizTalk project you deployed at design time shows up in the BizTalk Server Administration console as an orchestration. You must configure this orchestration by mapping the logical ports you created at design time to physical ports that you must now create using the BizTalk Server Administration console.

    On the physical ports, you must specify an "action" or "action mapping". This action corresponds to the operation you want to perform on the SAP system. You need to set the action if you are not using dynamic actions. For more information about dynamic actions, see the BizTalk Server Help documentation at http://go.microsoft.com/fwlink/?LinkID=101130.

  • Start the application. After the application is configured, you must start the application, and drop input messages at a defined file location. The orchestration consumes the input messages and passes them to the SAP system and receives a response. This response will be available to you at another defined file location.

To accomplish these high-level design-time and run-time tasks, you must also perform other tasks. For example, when you use the Consume Adapter Service BizTalk Project Add-in or Add Adapter Metadata Wizard to generate the schema, you must specify a connection URI to connect to the SAP system. This section provides information on such repetitive tasks that you must perform as you develop BizTalk applications using the SAP adapter.

In This Section

  • Adding the SAP Adapter to BizTalk Server Administration Console

  • Specifying the Connection URI

  • Specifying Credentials for the SAP System

  • Specifying Binding Properties

  • Specifying SOAP Action

  • Manually Configuring a Physical Port Binding to the SAP Adapter

  • Configuring a Physical Port Binding Using a Port Binding File

  • Configuring Dynamic Ports

  • Reusing Adapter Bindings

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Adding the SAP Adapter to BizTalk Server Administration Console

The SAP adapter can be used in BizTalk either as a WCF-Custom port or a WCF-SAP port. If you want to use the SAP adapter through a WCF-Custom port, you do not need to add the WCF-Custom port to the BizTalk Server Administration console because the WCF-Custom port is added to the BizTalk Server Administration console by default. However, if you want to use the SAP adapter through a WCF-SAP port, you must first add the WCF-SAP adapter to the BizTalk Server Administration console.

This topic provides instructions on how to add the WCF-SAP adapter to the BizTalk Server Administration console.

Important
You need not perform these tasks if you want to configure a WCF-Custom port for the SAP adapter.

To add the SAP Adapter

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand the BizTalk Group, expand Platform Settings, and then click Adapters.

  3. Right-click Adapters, point to New, and click Adapter.

    Add an adapter

  4. In the Adapter Properties dialog box, specify a name for the adapter and from the Adapter list, select WCF-SAP.

    Add SAP Adapter to BizTalk

  5. Click OK.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Specifying the Connection URI

A connection URI is a connection string to connect to an SAP system. It contains various parameters required to establish connection with an SAP system. At design time, you must specify the URI to connect to the SAP system to generate the metadata. At run time, you must specify the URI to connect to the SAP system to perform operations.

Specifying the Connection URI at Design Time

For design time, you can specify the connection URI using the Consume Adapter Service Add-in or the Add Adapter Metadata Wizard.

To specify the connection URI using Consume Adapter Service Add-in

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Consume Adapter Service.

    Templates

    Click Consume Adapter Service.

  3. To start the Consume Adapter Service dialog box, click Add.

  4. In the Consume Adapter Service dialog box, from the Select a binding drop-down list select sapBinding, and click Configure.

  5. In the Configure Adapter dialog box, click the Security tab. From the Client credential type drop-down list boxes, select Username and specify the user name and password to connect to the SAP system.

  6. Click the URI Properties tab and specify values for different parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

  7. Click the Binding Properties tab and specify the binding values, if any, which are required to be specified before generating the schema. For example, you must specify a value for the GenerateFlatFileCompatibleIDoc property before generating schema for receiving IDOC from an SAP system. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

  8. Click OK.

To specify the connection URI using Add Adapter Metadata Wizard

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Add Adapter.

    Templates

    Click Add Adapter Metadata.

  3. Click Add. The Add Adapter Metadata Wizard opens.

  4. In the Add Adapter Wizard, select WCF-SAP. Select the computer on which BizTalk Server is installed and the name of the BizTalk database.

    Important
    If you already have a WCF-SAP port configured in BizTalk, select the port from the Port list.

  5. Click Next.

  6. In the Consume Adapter Service dialog box, from the Select a binding drop-down list select sapBinding, and click Configure.

  7. In the Configure Adapter dialog box, click the Security tab. From the Client credential type drop-down list boxes, select Username and specify the user name and password to connect to the SAP system.

  8. Click the URI Properties tab and specify values for different parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

  9. Click the Binding Properties tab and specify the binding values, if any, which are required to be specified before generating the schema. For example, you must specify a value for the GenerateFlatFileCompatibleIDoc property before generating schema for receiving IDOC from an SAP system. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Note
    If you selected an existing WCF-SAP send port, you need not specify the binding properties. The binding properties are picked from the send port configuration. However, you may choose to specify the binding properties that are required at design-time, if any. In such case, the new values for binding properties will be used at design-time while generating the metadata. However, at run-time the values specified for binding properties in the send port configuration will be applicable.

  10. Click OK.

Specifying the Connection URI at Run Time

For run time, you can specify the URI as part of the WCF-Custom or WCF-SAP port configuration in the BizTalk Server Administration console.

To specify the connection URI for the WCF-Custom port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  3. In the port properties dialog box, from the Type drop-down list, select WCF-Custom, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  4. In the WCF-Custom Transport Properties dialog box, click the General tab.

  5. In the Address (URI) text box, specify the connection URI to connect to the SAP system. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

  6. In the WCF-Custom Transport Properties dialog box, click the Binding tab. From the Binding Type drop-down list, select sapBinding.

  7. If you are creating a send port, in the WCF-Custom Transport Properties dialog box, click the Credentials tab and do one of the following:

    1. Select the Do not use Single Sign-On option, and specify the user name and password to connect to the SAP system.

    2. Select the Use Single Sign-On option, and specify an affiliate Enterprise Single Sign-on (SSO) application.

  8. If you are creating a receive port, in the WCF-Custom Transport Properties dialog box, click the Other tab and do one of the following:

    1. Select User account option, and specify the user name and password to connect to the SAP system.

    2. Select Get credentials from affiliate application option, and specify an affiliate SSO application.

  9. Click OK.

To specify the connection URI for the WCF-SAP port

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  4. In the port properties dialog box, from the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  5. In the transport properties dialog box, click the General tab.

  6. Click the Configure button and provide values for the connection parameters. For more information about the connection URI for the SAP adapter, see The SAP System Connection URI.

  7. In the transport properties dialog box, click the Binding tab and specify values for binding properties.

    Note
    The binding properties are displayed based on whether you are configuring a send port or a receive port. For example, binding properties related to inbound operations are not available while configuring a send port because inbound operations require a receive port configuration.

  8. If you are creating a send port, in the transport properties dialog box, click the Credentials tab and do one of the following:

    1. Select the Do not use Single Sign-On option, and specify the user name and password to connect to the SAP system.

    2. Select the Use Single Sign-On option, and specify an affiliate Enterprise Single Sign-on (SSO) application.

  9. If you are creating a receive port, in the WCF-Custom Transport Properties dialog box, click the Other tab and do one of the following:

    1. Select User account option, and specify the user name and password to connect to the SAP system.

    2. Select Get credentials from affiliate application option, and specify an affiliate SSO application.

  10. Click OK.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Specifying Credentials for the SAP System

The SAP adapter requires the adapter clients to provide client credentials. The adapter uses these credentials to authenticate the user with the SAP system and to establish a connection.

Adapter clients can provide the client credentials both at design time or run time. At design time, credentials are required to generate the metadata. At run time, credentials are required to perform operations on the SAP system. This section provides information about specifying client credentials at design time and run time.

Specifying Client Credentials at Design Time

For design time, you can specify the credentials using the Consume Adapter Service Add-in or the Add Adapter Metadata Wizard.

To specify credentials using Consume Adapter Service Add-in

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Consume Adapter Service.

    Templates

    Click Consume Adapter Service.

  3. To start the Consume Adapter Service dialog box, click Add.

  4. In the Consume Adapter Service dialog box, from the Select a binding list, select sapBinding, and then click Configure.

  5. In the Configure Adapter dialog box, click the Security tab and from the Client credential type drop-down list box, select Username and specify the user name and password to connect to the SAP system.

  6. Click OK.

To specify credentials using Add Adapter Metadata Wizard

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Add Adapter.

    Templates

    Click Add Adapter Metadata.

  3. Click Add. The Add Adapter Metadata Wizard opens.

  4. In the Add Adapter Wizard, select WCF-SAP. Select the computer on which BizTalk Server is installed and the name of the BizTalk database.

    Important
    If you already have a WCF-SAP port configured in BizTalk, select the port from the Port list.

  5. Click Next.

  6. In the Consume Adapter Service dialog box, from the Select a binding list, select sapBinding, and then click Configure.

  7. In the Configure Adapter dialog box, click the Security tab and from the Client credential type drop-down list box, select Username and specify the user name and password to connect to the SAP system.

  8. Click OK.

Specifying Client Credentials at Run Time

For run time, you can specify the client credentials as part of the WCF-Custom or WCF-SAP port configuration in the BizTalk Server Administration console.

To specify credentials for the WCF-Custom port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  3. In the port properties dialog box, from the Type drop-down list, select WCF-Custom, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  4. For a send port, in the WCF-Custom Transport Properties dialog box, click the Credentials tab and do one of the following:

    • Select the Do not use Single Sign-On option, and specify the user name and password to connect to an SAP system.

    • Select the Use Single Sign-On option, and specify an affiliate Enterprise Single Sign-on (SSO) application.

  5. For a receive port, in the WCF-Custom Transport Properties dialog box, click the Other tab and do one of the following:

    • Select User account option, and specify the user name and password to connect to an SAP system.

    • Select Get credentials from affiliate application option, and specify an affiliate application.

  6. Click OK.

To specify credentials for the WCF-SAP port

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  4. In the port properties dialog box, from the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  5. If you are creating a send port, in the transport properties dialog box, click the Credentials tab and do one of the following:

    1. Select the Do not use Single Sign-On option, and specify the user name and password to connect to the SAP system.

    2. Select the Use Single Sign-On option, and specify an affiliate Enterprise Single Sign-on (SSO) application.

  6. If you are creating a receive port, in the WCF-Custom Transport Properties dialog box, click the Other tab and do one of the following:

    1. Select User account option, and specify the user name and password to connect to the SAP system.

    2. Select Get credentials from affiliate application option, and specify an affiliate SSO application.

  7. Click OK.

Note
BizTalk Adapter Pack also supports the Enterprise Single Sign-On (SSO) system. SSO is only applicable in the BizTalk scenario, in which the WCF-Custom adapter is aware of SSO affiliate applications. For more information about security with respect to BizTalk Server, see Security Considerations When Using the Adapter with BizTalk Server.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Specifying Binding Properties

The SAP adapter surfaces several binding properties that enable you to control some of its behavioral characteristics. This section provides information about setting the binding properties from Visual Studio (design time) and from the BizTalk Server Administration console (run time). At design time, you must specify the binding properties to generate schema for specific operations. At run time, you must specify the binding properties as part of the send or receive port for sending or receiving messages from the SAP system.

For information about the binding properties, including a list of binding properties for SAP adapter, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Specifying Binding Properties at Design Time

For design time, you can specify the binding properties using the Consume Adapter Service Add-in or the Add Adapter Metadata Wizard.

To specify binding properties using Consume Adapter Service Add-in

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Consume Adapter Service.

    Templates

    Click Consume Adapter Service.

  3. To start the Consume Adapter Service dialog box, click Add.

  4. In the Consume Adapter Service dialog box, from the Select a binding drop-down list select sapBinding, and click Configure.

  5. In the Configure Adapter dialog box, click the Binding Properties tab, and then specify the different binding properties.

  6. Click OK.

To specify binding properties using Add Adapter Metadata Wizard

  1. Right-click your BizTalk project, point to Add, and then click Add Generated Items.

  2. In the Add Generated Items dialog box, do the following:

    Use this To do this

    Categories

    Click Add Adapter.

    Templates

    Click Add Adapter Metadata.

  3. Click Add. The Add Adapter Metadata Wizard opens.

  4. In the Add Adapter Wizard, select WCF-SAP. Select the computer on which BizTalk Server is installed and the name of the BizTalk database.

    Important
    If you already have a WCF-SAP port configured in BizTalk, select the port from the Port list.

  5. Click Next.

  6. In the Consume Adapter Service dialog box, from the Select a binding drop-down list select sapBinding, and click Configure.

  7. Click the Binding Properties tab and specify the binding values, if any, which are required to be specified before generating the schema. For example, you must specify a value for the GenerateFlatFileCompatibleIDoc property before generating schema for receiving IDOC from an SAP system. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Note
    If you selected an existing WCF-SAP send port, you need not specify the binding properties. The binding properties are picked from the send port configuration. However, you may choose to specify the binding properties that are required at design-time, if any. In such case, the new values for binding properties will be used at design-time while generating the metadata. However, at run-time the values specified for binding properties in the send port configuration will be applicable.

  8. Click OK.

Specifying Binding Properties at Run Time

For run time, you can specify the binding properties as part of the WCF-Custom port or WCF-SAP configuration in the BizTalk Server Administration console.

To specify binding properties for the WCF-Custom port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  3. In the Port Properties dialog box, from the Type drop-down list, select WCF-Custom, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  4. In the WCF-Custom Transport Properties dialog box, click the Binding tab.

  5. From the Binding Type drop-down list, select sapBinding.

  6. In the Configuration box, specify the values for the different binding properties, and then click OK.

To specify binging properties for the WCF-SAP port

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, then expand Applications, and then expand the application under which you want to create a port, and click Send Ports or Receive Ports. In the right pane, you can choose to create a port or select an existing port.

  4. In the port properties dialog box, from the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

    Note
    To see the location properties dialog box for a receive port, click the Receive Location tab on the left pane of the port properties dialog box, and then click New.

  5. In the transport properties dialog box, click the Binding tab and specify values for binding properties.

    Note
    The binding properties are displayed based on whether you are configuring a send port or a receive port. For example, binding properties related to inbound operations are not available while configuring a send port because inbound operations require a receive port configuration.

  6. Click OK.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Specifying SOAP Action

To perform any operation on the SAP system using the WCF-based SAP adapter, adapter users must specify a SOAP action. The SOAP action communicates to the adapter what action should be performed. You can specify the SOAP action either at design time or at run time. However, if you specify the SOAP action both at design time and run time, the action you specified at design time will be overridden.

For more information about specifying SOAP action, see "Specifying SOAP Actions for WCF Send Adapters" at http://go.microsoft.com/fwlink/?LinkId=102063.

Specifying SOAP Action at Design Time

For design time, you must specify the SOAP action as part of orchestration by including an expression shape.

To specify SOAP action at design time

  1. In the BizTalk orchestration, include an Expression shape by dragging it from the BizTalk Orchestration toolbox.

  2. Double-click the Expression shape to open the BizTalk Expression Editor.

  3. Specify the action in the BizTalk Expression Editor. For example:

    Copy Code
    OutboundMessage(WCF.Action)="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET"

    For more information about the Expression shape and the BizTalk Expression Editor, see "How to Create Expressions" at http://go.microsoft.com/fwlink/?LinkId=102064.

Specifying SOAP Action at Run Time

For run time, you can specify the SOAP action as part of the WCF-Custom or WCF-SAP port configuration.

To specify a SOAP action for the WCF-Custom port

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, then expand Applications, and then click Send Ports. In the right pane, you can choose to create a port or select an existing port.

  3. In the port properties dialog box, from the Type drop-down list, select WCF-Custom, and then click Configure.

  4. In the WCF-Custom Transport Properties dialog box, click the General tab.

  5. In the Action text box, specify the SOAP action for the operation. You can specify the action in the following ways:

    • By using the single action format. Use this format if the WCF-Custom port sends and receive messages for a single operation. For example:

      Copy Code
      http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
    • By using the action mapping format. Use this format if a single WCF-Custom port sends and receives messages for more than one operation. For example, if a single WCF-Custom port sends and receives messages for Op1 (to invoke RFC_CUSTOMER_GET RFC) and Op2 (to invoke BAPI_SALESORDER_CREATEFROMDAT2 BAPI), the SOAP action can be specified in the following manner:

      Copy Code
      <BtsActionMapping>
  <Operation Name="Op1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET " />
  <Operation Name="Op2" Action="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2" />
</BtsActionMapping>
      This approach provides greater flexibility in terms of specifying a set of actions and hence enabling messages belonging to different action types to flow through the same port.

      The format for the SOAP action is different for each operation. For more information about action format for each operation, see individual topics under Technical Reference.

To specify a SOAP action for the WCF-SAP port

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, then expand Applications, and then click Send Ports. In the right pane, you can choose to create a port or select an existing port.

  4. In the port properties dialog box, from the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

  5. In the transport properties dialog box, click the General tab.

  6. In the Action text box, specify the SOAP action for the operation. You can specify the action in the following ways:

    • By using the single action format. Use this format if the WCF-Custom port sends and receive messages for a single operation. For example:

      Copy Code
      http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
    • By using the action mapping format. Use this format if a single WCF-Custom port sends and receives messages for more than one operation. For example, if a single WCF-Custom port sends and receives messages for Op1 (to invoke RFC_CUSTOMER_GET RFC) and Op2 (to invoke BAPI_SALESORDER_CREATEFROMDAT2 BAPI), the SOAP action can be specified in the following manner:

      Copy Code
      <BtsActionMapping>
  <Operation Name="Op1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET " />
  <Operation Name="Op2" Action="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2" />
</BtsActionMapping>
      This approach provides greater flexibility in terms of specifying a set of actions and hence enabling messages belonging to different action types to flow through the same port.

      The format for the SOAP action is different for each operation. For more information about action format for each operation, see individual topics under Technical Reference.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Manually Configuring a Physical Port Binding to the SAP Adapter

This section provides information about configuring the Microsoft BizTalk Adapter for mySAP Business Suite as a WCF custom binding by using the BizTalk Server Administration console. After deploying the adapter, you will be able to send and receive messages from the SAP system by using the BizTalk Server Administration console. The steps for deploying the adapter vary depending on:

  • The direction of communication between BizTalk Server and SAP adapter. You may choose to configure a Send, Receive, Send-Receive, or a Receive-Send port. Your choices are summarized in the following table:

    Port direction Communication pattern Direction of communication to choose from

    Send

    One-way

    I will always be sending messages on this port.

    Receive

    One-way

    I will always be receiving messages on this port.

    Send-Receive

    Request-response

    I will be sending a request and receiving a response.

    Receive-Send

    Solicit-response

    I will be receiving a request and sending a response.

    For more information, see the BizTalk Server Help at http://go.microsoft.com/fwlink/?LinkID=101130.

  • Whether the adapter sends messages to the SAP system or receives messages from the SAP system. Depending on whether you want to send or receive messages, you will create a send or receive port.

    Note
    You can also configure the send or receive ports by importing a binding configuration file that is created by the Consume Adapter Service Add-in as part of metadata generation. For instructions on configuring ports using this binding file, see Configuring a Physical Port Binding Using a Port Binding File.

In This Section

  • Configuring a Port Using the WCF-Custom Adapter

  • Configuring a Port Using the WCF-SAP Adapter

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Configuring a Port Using the WCF-Custom Adapter

This topic provides instructions on how to configure WCF-Custom send and receive ports to perform outbound and inbound operations on SAP system using the SAP adapter.

Prerequisites

To perform the procedures in this topic, you must be logged on with an account that is a member of the BizTalk Server Administrators or BizTalk Operators group. For more detailed information about permissions, see the BizTalk Server Help documentation at http://go.microsoft.com/fwlink/?LinkID=101130.

Deploying Adapters for Sending Messages to SAP System

Perform the following steps to configure a WCF-Custom send port for sending messages to SAP system using the BizTalk Server Administration console.

To deploy adapters for sending messages to an SAP system

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Expand the application under which you want to deploy the SAP adapter.

  4. Right-click Send Ports, point to New, and point to a type of port you want to configure depending on the mode of communication between BizTalk Server and the SAP system.

  5. In the Send Port Properties dialog box, on the General tab, type a name for the send port.

  6. From the Type drop-down list, select WCF-Custom, and then click Configure.

  7. In the WCF-Custom Transport Properties dialog box, do the following:

    1. Click the General tab, and in the Address (URI) field, specify the connection URI for the SAP system. For more information about the connection URI, see The SAP System Connection URI.

    2. On the General tab, in the Action text box, type the action for the operation. See individual topics in Technical Reference for a list of actions for each operation. For example, the action to invoke the RFC_CUSTOMER_GET would be:

      Copy Code
      http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
    3. Click the Binding tab, and from the Binding Type drop-down list, select sapBinding. You can specify the different binding properties exposed by the SAP adapter. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    4. Click the Credentials tab and do one of the following:

      • Select the Do not use Single Sign-On option, and specify the user name and password to connect to an SAP system.

      • Select the Use Single Sign-On option, and specify an affiliate SSO application.

        For more information about security with respect to BizTalk Server, see Security Considerations When Using the Adapter with BizTalk Server.

        To return to the Send Port Properties dialog box, click OK.

  8. From the Send handler drop-down list, select BizTalkServerApplication.

  9. If you chose Static One-Way Send Port in step 4, specify a send pipeline. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

  10. If you chose Static Solicit-Response Port in step 4, specify send and receive pipelines.

    1. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

    2. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

  11. Click OK.

Deploying Adapters for Receiving Messages from SAP System

Perform the following steps to configure a WCF-Custom receive port for receiving messages from SAP system using the BizTalk Server Administration console.

To deploy adapters for receiving messages from an SAP system

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Expand the application under which you want to deploy the SAP adapter.

  4. Right-click Receive Ports, point to New, and click One-way Receive Port or Request Response Receive Port depending on the mode of communication between BizTalk Server and the SAP system.

  5. In the Receive Port Properties dialog box, on the General tab, type a name for the receive port.

  6. On the Receive Locations tab, click New. The Receive Location Properties dialog box appears.

  7. In the Receive Location Properties dialog box, do the following:

    1. Specify a name for the receive location.

    2. From the Type drop-down list, select WCF-Custom, and then click Configure.

  8. In the WCF-Custom Transport Properties dialog box, do the following:

    1. Click the General tab, and in the Address (URI) field, specify the connection URI for the SAP system. For more information about the connection URI, see The SAP System Connection URI.

    2. Click the Binding tab, and from the Binding Type drop-down list, select sapBinding. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    3. Click the Others tab, and do one of the following:

      • Select User account, and specify the user name and password to connect to an SAP system.

      • Select Get credentials from affiliate application option, and specify an affiliate application.

        For more information about security with respect to BizTalk Server, see Security Considerations When Using the Adapter with BizTalk Server.

        Click OK to return to the Receive Location Properties dialog box.

  9. From the Receive handler drop-down list, select BizTalkServerApplication.

  10. If you chose One-way Receive Port in step 4, specify a receive pipeline. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

  11. If you chose Request Response Receive Port in step 4, specify send and receive pipelines.

    1. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

    2. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

  12. Click OK in the Receive Location Properties dialog box.

  13. Click OK in the Receive Port Properties dialog box.

See Also

Other Resources

Manually Configuring a Physical Port Binding to the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Configuring a Port Using the WCF-SAP Adapter

This topic provides instructions on how to configure WCF-SAP send and receive ports to perform outbound and inbound operations on SAP system using the SAP adapter.

Prerequisites

To perform the procedures in this topic, you must be logged on with an account that is a member of the BizTalk Server Administrators or BizTalk Operators group. For more detailed information about permissions, see the BizTalk Server Help documentation at http://go.microsoft.com/fwlink/?LinkID=101130.

Deploying Adapters for Sending Messages to SAP System

Perform the following steps to configure a WCF-SAP send port for sending messages to SAP system using the BizTalk Server Administration console.

To deploy adapters for sending messages to an SAP system

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, and then expand Applications.

  4. Expand the application under which you want to deploy the SAP adapter.

  5. Right-click Send Ports, point to New, and point to a type of port you want to configure depending on the mode of communication between BizTalk Server and the SAP system.

  6. In the Send Port Properties dialog box, on the General tab, type a name for the send port.

  7. From the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

  8. In the transport properties dialog box, do the following:

    1. Click the General tab, click the Configure button, and provide values for the connection parameters. For more information about the connection URI, see The SAP System Connection URI.

    2. On the General tab, in the Action text box, type the action for the operation. See individual topics in Technical Reference for a list of actions for each operation. For example, the action to invoke the RFC_CUSTOMER_GET would be:

      Copy Code
      http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
    3. Click the Binding tab and specify values for binding properties exposed by the SAP adapter. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

      Note
      The binding properties are displayed based on whether you are configuring a send port or a receive port. For example, binding properties related to inbound operations are not available while configuring a send port because inbound operations require a receive port configuration.

    4. Click the Credentials tab and do one of the following:

    • Select the Do not use Single Sign-On option, and specify the user name and password to connect to an SAP system.

    • Select the Use Single Sign-On option, and specify an affiliate SSO application.

      For more information about security with respect to BizTalk Server, see Security Considerations When Using the Adapter with BizTalk Server.

      To return to the Send Port Properties dialog box, click OK.

  9. From the Send handler drop-down list, select BizTalkServerApplication.

  10. If you chose to create a Static One-Way Send Port in step 5, specify a send pipeline. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

  11. If you chose to create a Static Solicit-Response Port in step 5, specify send and receive pipelines.

    1. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

    2. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

  12. Click OK.

Deploying Adapters for Receiving Messages from SAP System

Perform the following steps to configure a WCF-SAP receive port for receiving messages from SAP system using the BizTalk Server Administration console.

To deploy adapters for receiving messages from an SAP system

  1. Start the BizTalk Server Administration console.

  2. Add the WCF-SAP adapter to the BizTalk Server Administration console. For instructions, see Adding the SAP Adapter to BizTalk Server Administration Console.

  3. In the console tree, expand BizTalk Group, and then expand Applications.

  4. Expand the application under which you want to deploy the SAP adapter.

  5. Right-click Receive Ports, point to New, and click One-way Receive Port or Request Response Receive Port depending on the mode of communication between BizTalk Server and the SAP system.

  6. In the Receive Port Properties dialog box, on the General tab, type a name for the receive port.

  7. On the Receive Locations tab, click New. The Receive Location Properties dialog box appears.

  8. In the Receive Location Properties dialog box, do the following:

    1. Specify a name for the receive location.

    2. From the Type drop-down list, select the WCF-SAP adapter you added earlier, and then click Configure.

  9. In the transport properties dialog box, do the following:

    1. Click the General tab, click the Configure button, and provide values for the connection parameters. For more information about the connection URI, see The SAP System Connection URI.

    2. Click the Binding tab, and from the Binding Type drop-down list, select sapBinding. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

      Note
      The binding properties are displayed based on whether you are configuring a send port or a receive port. For example, binding properties related to inbound operations are not available while configuring a send port because inbound operations require a receive port configuration.

    3. Click the Other tab, and do one of the following:

    • Select User account, and specify the user name and password to connect to an SAP system.

    • Select Get credentials from affiliate application option, and specify an affiliate application.

      For more information about security with respect to BizTalk Server, see Security Considerations When Using the Adapter with BizTalk Server.

      Click OK to return to the Receive Location Properties dialog box.

  10. From the Receive handler drop-down list, select BizTalkServerApplication.

  11. If you chose to create One-way Receive Port in step 5, specify a receive pipeline. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

  12. If you chose to create Request Response Receive Port in step 5, specify send and receive pipelines.

    1. From the Receive pipeline drop-down list, select the pipeline corresponding to XMLReceive.

    2. From the Send pipeline drop-down list, select the pipeline corresponding to XMLTransmit.

  13. Click OK in the Receive Location Properties dialog box.

  14. Click OK in the Receive Port Properties dialog box.

© 2014 Microsoft Corporation. All rights reserved.


Configuring a Physical Port Binding Using a Port Binding File

When you use the Consume Adapter Service BizTalk Project Add-in to generate metadata for an SAP artifact, other than the schema files, the Consume Adapter Service Add-in also generates a port binding file. You can import this binding file into your BizTalk application to create a physical send or receive port. For instructions on importing binding files, see Importing Bindings. If you import this binding file, you do not have to manually create a physical send or receive port.

Important
While using the Consume Adapter Service Add-in, if you do not specify a value for a binding property of type string and whose default value is null then that binding property will not be available in the binding file. You must manually add the binding property and its value in the binding file, if required.

Creating a port using the port binding file always creates a two-way send or receive port. If you want to create one-way port, you can create it manually by following the procedure mentioned in Manually Configuring a Physical Port Binding to the SAP Adapter. Or, you can follow the workarounds documented in this topic to modify the port binding file to create one-way ports.

Important
Using the Add Adapter Metadata Wizard does not create a port binding file using which you can create a WCF-SAP port. However, you could make some changes to the port binding file generated by the Consume Adapter Service Add-in and use it to create a WCF-SAP port. For more information, see Configuring a WCF-SAP Port Using the Port Binding File Generated Using Consume Adapter Service Add-in.

Following are some key points that you must understand with respect to the binding file generated by the Consume Adapter Service Add-in:

  • The files are created with a specific naming convention. If you generated metadata for outbound operations, that is to send messages to the SAP system, the name of the file is WcfSendPort_SAPBinding_Custom.bindinginfo.xml.

    If you generated metadata for inbound operations, that is to receive messages from the SAP system, the name of the file is WcfReceivePort_SAPBinding_Custom.bindinginfo.xml.

  • The file contains information about the binding configuration, the binding type, the endpoint URI, and the port action based on the operations for which metadata was generated. When you import this binding file to create a port, all the relevant information required to configure a physical port is automatically set on the port.

    Important
    By default, the action on the send port is mapped to the operation name for which you generate metadata. For example, if you generate metadata for RFC_CUSTOMER_GET, the action on the port is set to <Operation Name="RFC_CUSTOMER_GET" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET " />. However, the operation name on the logical send port you create in the BizTalk orchestration might not be the same. You must ensure that the operation name in the logical port (in the BizTalk orchestration) and the physical send port (in BizTalk Server Administration console) are the same. If not, you will receive an error while sending messages to the SAP system through the send port.

  • You only need to provide the credentials for the port to connect to the SAP system. While the binding file does retain the username with which to connect, for security reasons the binding file does not contain the password.

Key Considerations for Using the Port Binding File

  • When you import the binding file, you might get a dialog message informing that the BizTalk application name in the binding file does not match the application name to which you are importing the binding file. You can safely ignore this message and continue.

  • The binding file also contains names of ports and receive locations. If the BizTalk application to which you are importing the binding file creates a port or a receive location that has the same name as an already existing port in the same BizTalk application, you will get an error. You must manually edit the bindings file to specify a unique name for the ports or receive locations.

  • The binding file also contains information about the connection URI. If the binding file creates a receive location that has the same receive URI as an already existing receive location in the same BizTalk application, you will get an error. You must manually edit the binding file to specify a unique URI.

  • By default, the port binding file always contains definitions for two-way ports (send or receive). When you import this file in a BizTalk application, it creates a two-way send or receive port. However, you may have an orchestration that has a one-way send or receive port. So, when you configure such an orchestration and use the port created by importing the binding file, the port is not available in the list. This happens because the logical port you created as part of the orchestration is a one-way port while the physical port created in the orchestration is a two-way port. In such cases, you can edit the bindings file to make the following changes:

    For this Do this

    To edit the port bindings file to configure a one-way send port

    1. In the following excerpt, change the value of IsTwoWay property to false. Originally, this is set to true.

      Copy Code
      <SendPort Name="port_name" IsStatic="true" IsTwoWay="false" BindingOption="0">
    2. Comment out the following excerpts:

      Copy Code
      <ReceivePipeline Name="Microsoft.BizTalk.DefaultPipelines.XMLReceive"
  FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.XMLReceive,
  Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
  PublicKeyToken=token" Type="1" TrackingOption="None" Description=""/>
      Copy Code
      <ReceivePipelineData xsi:nil="true" />

    To edit the port bindings file to configure a one-way receive port

    1. In the following excerpt, change the value of IsTwoWay property to false. Originally, this is set to true.

      Copy Code
      <ReceivePort Name="port_name" IsTwoWay="false" BindingOption="1">
    2. Comment out the following excerpts:

      Copy Code
      <SendPipeline Name="Microsoft.BizTalk.DefaultPipelines.XMLTransmit"
  FullyQualifiedName="Microsoft.BizTalk.DefaultPipelines.XMLTransmit,
  Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral,
  PublicKeyToken=token" Type="2" TrackingOption="None" Description="" />
      Copy Code
      <SendPipelineData xsi:nil="true" />
      Copy Code
      <SendPipelineData xsi:nil="true" />

Configuring a WCF-SAP Port Using the Port Binding File Generated Using Consume Adapter Service Add-in

The Consume Adapter Service Add-in also creates a port binding file that you can import in BizTalk Server Administration console. You can use the same port binding file to also create the BizTalk WCF-SAP port in BizTalk Server Administration console. However, before creating WCF-SAP port you must perform the following tasks to modify the port binding file.

  1. Open the port binding file in a text editor.

  2. Search and replace “WCF-Custom” with the name with which you added the WCF-SAP adapter in BizTalk Server Administration console. For example, if you added the WCF-SAP adapter as “SAPAdapter”, replace “WCF-Custom” with “SAPAdapter”.

  3. Search for the “ConfigurationClsid” attribute, and replace the existing value of the attribute with “A5F15999-8879-472d-8C62-3B5EA9406504”.

  4. Save and close the binding file.

  5. Import the binding file in BizTalk Server Administration console. For instructions on how to import the binding file, see Importing Bindings.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Configuring Dynamic Ports

In BizTalk Server, you can configure dynamic ports for a WCF-Custom adapter. Because SAP adapter is a WCF-based adapter, you can dynamically configure a port for the SAP adapter by using message context properties.

For the SAP adapter, the URI, action, and binding might be determined from a property on an incoming message, and then specified in the Expression shape, as shown in the following example:

Copy Code
Request2=Request1;
Request2(WCF.Action)="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET";
Request2(WCF.BindingType)="sapBinding";
Request2(WCF.UserName)="YourUserName";
Request2(WCF.Password)="YourPassword";
SendPort(Microsoft.XLANGs.BaseTypes.Address)="sap://CLIENT=800;LANG=EN;@A/YourSAPHost/00";
SendPort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-Custom";
Note
If you are using a WCF-SAP adapter in BizTalk Server Administration console, you can also specify the transport type as SendPort(Microsoft.XLANGs.BaseTypes.TransportType)="SAPAdapter", where SAPAdapter is the name with which you added the WCF-SAP adapter in BizTalk Server Administration console.

In the preceding example:

  • Request2 message is being created from Request1 message. Both the messages map to an operation schema, which is generated using the Consume Adapter Service BizTalk Project Add-in.

  • SendPort is the name of the logical send port in the BizTalk orchestration.

The Expression shape is part of the BizTalk orchestration. When you deploy the orchestration, the WCF-Custom send port is also created.

For more information on configuring dynamic ports, see "Configuring Dynamic Send Ports Using WCF Adapters Context Properties" at http://go.microsoft.com/fwlink/?LinkId=106735.

See Also

Tasks

Building Blocks for Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Reusing Adapter Bindings

A binding creates a mapping between a logical endpoint (such as an orchestration port or a role link) and a physical endpoint (such as a send and receive port). This enables communication between different components of a BizTalk business solution. You can create bindings by using the BizTalk Server Administration console.

What is a Binding File?

A binding file is an XML file that contains binding information for each BizTalk orchestration in the scope of a BizTalk assembly, application, or group. The binding file describes:

  • The host to which each orchestration is bound.

  • The trust level of the host.

  • The settings for each send port, receive port, receive location, and party that has been configured.

You can generate binding files and then apply the bindings they contain to an assembly, application, or group. This prevents having to manually configure bindings in different deployment environments and speeds up application deployment.

A binding file is not automatically generated for a BizTalk assembly, application, or group. However you can generate a binding file by exporting bindings, as described in Exporting Bindings. You can then import the binding file into an application or group, as described in Importing Bindings.

For more information about bindings and about binding files, see the BizTalk Server documentation.

In This Section

  • Exporting Bindings

  • Importing Bindings

© 2014 Microsoft Corporation. All rights reserved.


Exporting Bindings

This section describes how to export bindings for a BizTalk application into an XML file. You can then import the bindings from the XML file into another BizTalk application. Importing bindings overwrites any existing bindings of the same name in the application. You can also add bindings to an application, which does not overwrite existing bindings. The bindings that you add do not take effect until you import the application.

Prerequisites

To perform the procedures in this topic, you must be logged on with an account that is a member of the BizTalk Server Administrators or BizTalk Operators group. For more detailed information about permissions, see the BizTalk Server Help documentation at http://go.microsoft.com/fwlink/?LinkID=101130.

To export bindings using the BizTalk Server Administration console

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Right-click the application whose bindings you want to export, point to Export, and then click Bindings.

  4. On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings.

    Example: C:\Bindings\Application1Bindings.Binding1.xml

  5. Ensure that Export all bindings from the current application is selected.

  6. To export all party information for the group, select the Export Global Party information check box.

  7. Click OK.

    The bindings are exported into an .xml file in the location that you specified.

    Note
    For security reasons, when you export a binding file, BizTalk Server removes the passwords for the bindings from the file. After importing the bindings, you must reconfigure passwords for send ports and receive locations before they will function.

    You configure passwords in the Transport Properties dialog box of the BizTalk Server Administration console for the send port or receive location. For information on specifying user name and passwords, see Specifying Credentials for the SAP System.

See Also

Tasks

Importing Bindings

Concepts

Reusing Adapter Bindings

© 2014 Microsoft Corporation. All rights reserved.


Importing Bindings

This topic describes how to use the BizTalk Server Administration console to import bindings into a BizTalk application from an XML file.

Prerequisites

To perform the procedures in this topic, you must be logged on with an account that is a member of the BizTalk Server Administrators or BizTalk Operators group. For more detailed information about permissions, see the BizTalk Server Help at http://go.microsoft.com/fwlink/?LinkID=101130.

To import bindings using the BizTalk Server Administration console

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, and then expand Applications.

  3. Right-click the application into which you want to import bindings, point to Import, and then click Bindings.

  4. Click the binding file, and then click Open.

    The artifacts in the binding file are written to the application. They display in appropriate folders of the application. For example, the send ports imported as part of the bindings display under the Send Ports folder.

    Note
    For security reasons, when you export a binding file, BizTalk Server removes the passwords for the bindings from the file. After importing the bindings, you must reconfigure passwords for send ports and receive locations before they will function.

    You configure passwords in the Transport Properties dialog box of the BizTalk Server Administration console for the send port or receive location. For information about specifying user name and passwords, see Specifying Credentials for the SAP System.

See Also

Tasks

Exporting Bindings

Concepts

Reusing Adapter Bindings

© 2014 Microsoft Corporation. All rights reserved.


Invoking RFCs by Using BizTalk Server

The SAP adapter surfaces the RFCs exposed by an SAP system as operations that can be invoked by an adapter client. This section provides instructions on invoking an RFC in an SAP system by using the SAP adapter with Microsoft BizTalk Server. For more information about how the SAP adapter supports invoking an RFC in an SAP system, see Operations on RFCs. For more information about the structure of SOAP message for invoking an RFC, see Message Schemas for RFC Operations.

How to Invoke an RFC in an SAP system?

Performing an operation on an SAP system using the SAP adapter with BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To invoke an RFC in an SAP system, these tasks are:

  1. Create a BizTalk project and generate schema for the RFC you want to invoke in the SAP system.

  2. Create messages in the BizTalk project for sending and receiving messages from the SAP system.

  3. Create an orchestration to invoke an RFC in the SAP system.

  4. Build and deploy the BizTalk project.

  5. Configure the BizTalk application by creating physical send and receive ports.

  6. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Generating Schema

In this topic, to demonstrate how to invoke an RFC in an SAP system, we generate the schema for RFC_CUSTOMER_GET. See Browsing, Searching, and Retrieving Metadata for RFC Operations for more information about how to generate schema.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated to the messages from the Orchestration view of the BizTalk project.

For this topic, you must create two messages—one to send a request to the SAP system and the other to receive a response.

Perform the following steps to create messages and link them to the schema.

To create messages and link to schema

  1. Open the orchestration view the BizTalk project, if not already open. Click View, point to Other Windows, and click Orchestration View.

  2. In the Orchestration View, right-click Messages, and then click New Message.

  3. Right-click the newly create message and select Properties Window.

  4. In the Properties pane for Message_1, do the following.

    Use this To do this

    Identifier

    Type Request.

    Message Type

    From the drop-down list, expand Schemas, and select InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GET, where InvokeRFC is the name of your BizTalk project. SAPBindingSchema is the schema generated for RFC_CUSTOMER_GET.

  5. Repeat the previous step to create a new message. In the Properties pane for the new message, do the following.

    Use this To do this

    Identifier

    Type Response.

    Message Type

    From the drop-down list, expand Schemas, and select InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GETResponse.

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for invoking RFCs in the SAP system. In this orchestration, you drop a request message at a defined receive location. The SAP adapter consumes the message and passes it on to the SAP system. The response from the SAP system is saved to another location. A typical orchestration for invoking RFCs in an SAP system would contain:

  • Send and Receive shapes to send messages to the SAP system and receive responses.

  • A one-way receive port to receive request messages to send to the SAP system.

  • A two-way send port to send request messages to the SAP system and receive responses.

  • A one-way send port to send the responses from the SAP system to a folder.

A sample orchestration resembles the following:

Orchestration with ports connected

Adding Message Shapes

Make sure you specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Shape Type Properties

Receive_Request

Receive

  • Set Name to Receive_Request

  • Set Activate to True

Send_LOB

Send

  • Set Name to Send_LOB

Receive_LOB

Receive

  • Set Name to Receive_LOB

  • Set Activate to False

Send_Response

Send

  • Set Name to Send_Response

Adding Ports

Specify the following properties for each of the logical ports. The names listed in the Port column are the names of the ports as displayed in the orchestration.

Port Properties

ReceiveMsgPort

  • Set Identifier to ReceiveMsgPort

  • Set Type to ReceiveMsgPortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Receive

SendToLOBPort

  • Set Identifier to SendToLOBPort

  • Set Type to SendToLOBPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Send-Receive

SendMsgPort

  • Set Identifier to SendMsgPort

  • Set Type to SendMsgPortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Properties

Receive_Request

  • Set Message to Request

  • Set Operation to ReceiveMsgPort.Operation_1.Request

Send_LOB

  • Set Message to Request

  • Set Operation to SendToLOBPort.Operation_1.Request

Receive_LOB

  • Set Message to Response

  • Set Operation to SendToLOBPort.Operation_1.Response

Send_Response

  • Set Message to Response

  • Set Operation to SendMsgPort.Operation_1.Request

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

You must now build the BizTalk solution and deploy it to a BizTalk Server. For more information, see http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see http://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define a location on the hard disk and a corresponding file port where you will drop a request message. The BizTalk orchestration will consume the request message and send it to the SAP system.

    • Define a location on the hard disk and a corresponding file port where the BizTalk orchestration will drop the response message containing the response from the SAP system.

    • Define a physical WCF-Custom or WCF-SAP send port to send messages to the SAP system. You must also specify the action in the send port. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Server Administration console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

Starting the Application

You must start the BizTalk application for invoking an RFC in the SAP system. For instructions on starting a BizTalk application, see http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The FILE receive port to receive request messages for the orchestration is running.

  • The FILE send port to receive the response messages from the orchestration is running.

  • The WCF-Custom or WCF-SAP send port to send messages to the SAP system is running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must drop a request message for the orchestration at a predefined location. See Message Schemas for RFC Operations to know about the schema for the request message for invoking an RFC in an SAP system. For example, the request message to invoke RFC_CUSTOMER_GET is:

Copy Code
<RFC_CUSTOMER_GET xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <KUNNR>0000001390</KUNNR>
  <NAME1>*</NAME1>
  <CUSTOMER_T/>
</RFC_CUSTOMER_GET>

The orchestration consumes the message and sends it to the SAP system. The response from the SAP system is saved at other file location defined as part of the orchestration. For example, the response from the SAP system for the above request message is:

Copy Code
<?xml version="1.0" encoding="utf-8" ?>
<RFC_CUSTOMER_GETResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <CUSTOMER_T>
    <RFCCUST xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <KUNNR>0000001390</KUNNR>
      <ANRED>Firma</ANRED>
      <NAME1>Contoso, Ltd.</NAME1>
      <PFACH />
      <STRAS>4567 Main Street</STRAS>
      <PSTLZ>98052</PSTLZ>
      <ORT01>USA</ORT01>
      <TELF1>555-0101</TELF1>
      <TELFX>555-0102</TELFX>
    </RFCCUST>
  </CUSTOMER_T>
</RFC_CUSTOMER_GETResponse>

Possible Exceptions

For information about the exceptions you might encounter while invoking an RFC in an SAP system using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports, receive ports, etc. for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Receiving Inbound RFC Calls by Using BizTalk Server

In an RFC server scenario, there are three entities:

  • An SAP client that sends a request to SAP to invoke an RFC. This could be invoked either by using the SAP GUI or by making an RFC client call through the SAP adapter.

  • The SAP system that contains an RFC function definition that the SAP client invokes. The SAP system passes on the request to the RFC server (the adapter). This is used by the adapter to get the metadata of the RFC call that the SAP server makes into the adapter.

  • The SAP adapter that acts as the RFC server and hosts the actual RFC.

The first entity, the SAP client, is not discussed in this topic. If you are using the SAP GUI to invoke an RFC, refer to SAP documentation. If you are using the SAP adapter to invoke an RFC, see Invoking RFCs by Using BizTalk Server.

This section provides instructions on how to use the adapter to receive an RFC server call, once the RFC is invoked by an SAP client. For more information on how the adapter supports receiving RFC server calls using the SAP adapter, see Operations on RFCs.

How to Receive an Inbound RFC Call from the SAP System?

Performing an operation on an SAP system using BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To receive an RFC call from the SAP system, these tasks are:

  1. Configure your SAP system to send RFC to an external application, in this case the SAP adapter.

  2. Create a BizTalk project and generate schema for the RFC that the SAP adapter will be receiving from the SAP system.

  3. Create messages in the BizTalk project for receiving messages from the SAP system and sending responses.

  4. Create an orchestration to receive an RFC from the SAP system, process it, and send the response to the SAP system.

  5. Build and deploy the BizTalk project.

  6. Configure the BizTalk application by creating physical send and receive ports.

  7. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Activities on the SAP System

Before using the SAP adapter to receive inbound RFC calls from the SAP system, make sure you complete the following tasks on the SAP system.

  • An RFC destination for the SAP adapter must exist. The SAP adapter receives RFCs from the SAP system through an RFC destination defined on the SAP system. The RFC destination contains the SAP Gateway Host, the SAP Gateway Service, and the SAP Program ID that you must specify in the connection URI in your code. For more information see Creating an RFC Destination in an SAP System.

  • You must create a function module that defines the RFC on the SAP system. The SAP adapter uses the RFC definition on the SAP system to retrieve metadata about the RFC (both at design-time and at runtime). For more information see Creating an RFC in an SAP System.

    The following is an example of the source code on the SAP system for an RFC that adds two integers and returns their result. The code merely calls the RFC through a specified destination. The implementation of the function is done by the SAP adapter client code.

    Copy Code
    FUNCTION Z_RFC_ADD.
*"------------------------------------------------------------------
*"
*"Local interface:
*"  IMPORTING
*"     VALUE(X) TYPE  INT4
*"     VALUE(Y) TYPE  INT4
*"     VALUE(DEST) TYPE  CHAR20 DEFAULT 'SAPADAPTER'
*"  EXPORTING
*"     VALUE(RESULT) TYPE  INT4
*"------------------------------------------------------------------
CALL FUNCTION 'Z_RFC_ADD' DESTINATION DEST
  EXPORTING X = X
            Y = Y
  IMPORTING RESULT = RESULT.

ENDFUNCTION.

Sample Based On This Topic

A sample, RFCServer, based on this topic is also provided with the BizTalk Adapter Pack. For more information, see Samples.

Generating the Schema

In this topic, to demonstrate how to receive an inbound RFC call from the SAP system, we generate the schema for Z_RFC_ADD RFC. You created this RFC in the previous step. This RFC takes two integer values as input parameters.

See Browsing, Searching, and Retrieving Metadata for RFC Operations for instructions on how to generate schema for a particular RFC.

Important
Because you are generating the schema for an inbound RFC call, make sure you select Service (Inbound operation) from the Select contract type drop-down list in the Consume Adapter Service BizTalk Project Add-in.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated in the first step to the messages from the Orchestration view of the BizTalk project.

For this topic, you must create two messages—one to receive messages from the SAP system and the other to send a response to the SAP system.

Perform the following steps to create messages and link them to the schema:

To create messages and link to schema

  1. Add a new orchestration to the BizTalk project.

  2. Open the orchestration view the BizTalk project, if not already open. Click View, point to Other Windows, and click Orchestration View.

  3. In the Orchestration View, right-click Messages, and then click New Message.

  4. Right-click the newly create message and select Properties Window.

  5. In the Properties pane for Message_1, do the following.

    Use this To do this

    Identifier

    Type Request.

    Message Type

    From the drop-down list, expand Schemas, and select RFCServer.SAPBindingSchema.Z_RFC_ADD, where RFCServer is the name of your BizTalk project. SAPBindingSchema is the schema generated for the RFC Z_RFC_ADD.

  6. Repeat step 2 to create a new message. In the Properties pane for the new message, do the following.

    Use this To do this

    Identifier

    Type Response.

    Message Type

    From the drop-down list, expand Schemas, and select RFCServer.SAPBindingSchema.Z_RFC_ADDResponse.

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for receiving RFC server calls from the SAP system. For this example, consider a scenario where an RFC client sends a request to the SAP system to add two integers. The SAP system takes the request, with the input parameters, and passes it on to the external RFC server hosted by the SAP adapter. The SAP adapter receives the request from the SAP system, process the request to add two integers, and generates a response. The SAP adapter passes the response to the SAP system, which in turn, is passed on to the RFC client.

To achieve this as part of an orchestration, the orchestration must contain:

  • A two-way receive port to receive the RFC server request from the SAP system and send the response.

  • Send and Receive shapes.

  • Construct Message shape, and within that a Message Assignment shape, to process the RFC server request coming from the SAP system.

A sample orchestration for an RFC server call resembles the following.

Orchestration to make RFC server call

Adding Message Shapes

Make sure you specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Shape Type Properties

ListenToSAP

Receive

  • Set Name to ListenToSAP

  • Set Activate to True

SendResponse

Send

  • Set Name to SendResponse

Adding Construct Message Shape

To process the incoming RFC call to add two integer values, you must add a Construct Message shape and within that a Message Assignment shape to your orchestration, between the two send shapes. For this example, the Message Assignment shape invokes to add two integers. The Message Assignment shape also sets the action for the response to be sent to the SAP system.

For the Construct Message shape, set the Message Constructed property to Response.

The code to process the RFC request could be part of the same Visual Studio solution as your BizTalk project. A sample code for adding two integers looks like this.

Copy Code
namespace RFCServerResponseCreator
{
    public class RFCServerResponseCreator
    {
        private static XmlDocument messageIn;
        private static XmlDocument messageOut;
        public static XmlDocument CreateRequest(int a, int b, string destination)
        {
            messageIn = new XmlDocument();
            messageIn.LoadXml(  "<Z_RFC_ADD xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\">" +
                                "<DEST>" + destination + "</DEST>" +
                                "<X>" + a + "</X>" +
                                "<Y>" + b + "</Y>" +
                                "</Z_RFC_ADD>"
                             );
            return messageIn;
        }
        public static XmlDocument CreateResponse(int a, int b)
        {
            int c = a + b;
            messageOut = new XmlDocument();
            messageOut.LoadXml( "<Z_RFC_ADDResponse xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\">" +
                                "<RESULT>" + c + "</RESULT>" +
                                "</Z_RFC_ADDResponse>"
                              );
            return messageOut;
        }
    }
}
Note
After you build the project, RFCServerResponseCreator.dll will be created in the project directory. You must add this DLL to the global assembly cache (GAC).

Add the following expression to invoke this code from the Message Assignment shape and to set the action for the response sent to the SAP system. To add an expression, double-click the Message Assignment shape to open the Expression Editor.

Copy Code
Response = RFCServerResponseCreator.RFCServerResponseCreator.CreateResponse(Request.X, Request.Y);
Response(WCF.Action) = "http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_ADD/response";

Important
You must explicitly set the action on the response message. If you do not set the action, WCF-Custom adapter arrives at the action message by appending “Response” to the request action. So, the action for the response message becomes http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_ADDResponse. However, the sapBinding expects the response action by appending “/response” to the request action, for example http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_ADD/response.

Adding Ports

Make sure you specify the following properties for the logical port. The name listed in the Port column is the name of the port as displayed in the orchestration.

Port Properties

RFCServerPort

  • Set Identifier to RFCServerPort

  • Set Type to RFCServerPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Receive-Send

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Properties

ListenToSAP

  • Set Message to Request

  • Set Operation to RFCServerPort.Add.Request

SendResponse

  • Set Message to FuncResponse

  • Set Operation to RFCServerPort.Add.Response

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

You must now build the BizTalk solution and then deploy it to a BizTalk Server. For more information, see "Building and Running Orchestrations" at http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see "How to Configure an Application" at http://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define a WCF-Custom or WCF-SAP receive port. This port will receive inbound RFC calls from the SAP system and will send the response back to the SAP system. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Administration Console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

You must also add the assembly for the RFCServerResponseCreator project to your BizTalk application. You created this project to process the RFC call received from the SAP system. To do so:

  1. In the console tree on the left side of the BizTalk Server Administration console, under the BizTalk application where you imported the bindings, right-click Resources, point to Add, and then click BizTalk Assemblies.

  2. In the Add Resources dialog box, Click Add, and then navigate to the folder containing RFCServerResponseCreator.dll. Select the file and then click Open.

  3. In the Add Resources dialog box, click OK.

Starting the Application

You must start the BizTalk application for receiving inbound RFC calls from an SAP system. For instructions on starting a BizTalk application, see "How to Start an Orchestration" at http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The WCF-Custom or WCF-SAP receive port to receive RFC calls from the SAP system is running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must send an RFC to the SAP adapter. You can do so by executing the transaction SE37 on the SAP system. You must also specify the input parameters for the RFC call. The adapter receives the call along with the parameters, processes it, and sends the response back to the SAP system. You will be able to see the response on the same transaction from where you sent the RFC.

Possible Exceptions

For information about the exceptions you might encounter while receiving an RFC server call from an SAP system using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports, receive ports, etc. for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Invoking tRFCs by Using BizTalk Server

Transactional Remote Function Calls (tRFCs) guarantee a one and only one time execution of an RFC on a SAP system. You can invoke any of the RFCs surfaced by the SAP adapter as a tRFC. Invoking a tRFC is similar to invoking an RFC (see Invoking RFCs by Using BizTalk Server) with the following differences:

  • The SAP adapter surfaces tRFCs under a different node (TRFC) than RFCs (RFC).

  • tRFC operations include a GUID parameter that is mapped to the SAP Transaction ID for the tRFC by the SAP adapter.

  • After you invoke a tRFC, you must invoke the RfcConfirmTransID operation to confirm (commit) the tRFC on the SAP system. This operation is surfaced directly under the TRFC node in Consume Adapter Service Add-in.

For more information about how the SAP adapter supports invoking a tRFC, see Operations on tRFCs. For more information about the structure of SOAP messages for invoking a tRFC, see Message Schemas for tRFC Operations.

How to Invoke a tRFC in an SAP System Using BizTalk Server?

Performing an operation on an SAP system using BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To invoke a tRFC in an SAP system, these tasks are:

  1. Create a BizTalk project and generate schema for the tRFC you want to invoke in the SAP system. You must also generate schema for the RfcConfirmTransID operation to commit the TID in the SAP system.

  2. Create messages in the BizTalk project for sending and receiving messages from the SAP system.

  3. Create an orchestration to invoke a tRFC in the SAP system and then commit the TID that is created in the SAP system in response to the tRFC call by the SAP adapter.

  4. Build and deploy the BizTalk project.

  5. Configure the BizTalk application by creating physical send and receive ports.

  6. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Sample Based On This Topic

A sample, tRFCClient, based on this topic is also provided with the BizTalk Adapter Pack. For more information, see Samples.

Generating Schema

In this topic, to demonstrate how to invoke a tRFC using the SAP adapter, we will generate the schema for:

  • BAPI_SALESORDER_CREATEFROMDAT2 tRFC.

  • RfcConfirmTransID operation. You must use this operation to commit the TID that is created in the SAP system. Once the SAP system receives this call it deletes the TID from the system.

See Browsing, Searching, and Retrieving Metadata for tRFC Operations for more information about how to generate schema.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated to the messages from the Orchestration view of the BizTalk project.

For this topic, you must create four messages—a request-response message set to invoke the tRFC and another request-response message set to invoke the RfcConfirmTransID operation.

Perform the following steps to create messages and link them to the schema.

To create messages and link to schema

  1. Open the orchestration view the BizTalk project, if not already open. Click View, point to Other Windows, and click Orchestration View.

  2. In the Orchestration View, right-click Messages, and then click New Message.

  3. Right-click the newly create message and select Properties Window.

  4. In the Properties pane for Message_1, do the following.

    Use this To do this

    Identifier

    Type Request.

    Message Type

    From the drop-down list, expand Schemas, and select the message type. For example, select tRFC_Client.SAPBindingSchema1.BAPI_SALESORDER_CREATEFROMDAT2, where tRFC_Client is the name of your BizTalk project. SAPBindingSchema1 is the schema generated for BAPI_SALESORDER_CREATEFROMDAT2.

  5. Repeat the previous step to create three more messages. In the Properties pane for the new messages, do the following.

    Set Identifier to Set Message Type to

    Response

    tRFC_Client.SAPBindingSchema1.BAPI_SALESORDER_CREATEFROMDAT2Response

    TIDRequest

    tRFC_Client.SAPBindingSchema3.RfcConfirmTransID

    TIDResponse

    tRFC_Client.SAPBindingSchema3.RfcConfirmTransIDResponse

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for invoking tRFCs in an SAP system. In this orchestration, you will be dropping a request message at a defined receive location. The orchestration consumes this message and passes it on to the SAP system. The response is received from SAP and is saved at another location. The response message contains a GUID. The orchestration includes a Construct Message shape to extract the GUID from the response and construct a message that conforms to the schema of the RfcConfirmTransID operation. The message to invoke the RfcConfirmTransID operation is sent to the SAP system with the GUID as a parameter _ A typical orchestration for invoking tRFCs in an SAP system, followed by a RfcConfirmTransID operation would contain:

  • Send and Receive shapes to send messages to the SAP system and receive responses.

  • A Construct Message shape and within that a Message Assignment shape to construct a message for the RfcConfirmTransID operation.

  • A one-way receive port to receive request messages to send to the SAP system to invoke the tRFC.

  • A two-way send port to send messages to invoke the tRFC and receive response.

  • A two-way send port to send messages to invoke the RfcConfirmTransID operation and receive response.

  • Two one-way send ports to send the responses from the SAP system to a folder.

A sample orchestration resembles the following:

Orchestration to make a tRFC client call

Adding Message Shapes

Specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Shape Type Properties

ReceiveXml

Receive

  • Set Name to ReceiveXml

  • Set Activate to True

SendToLOB

Send

  • Set Name to SendToLOB

ReceiveResponse

Receive

  • Set Name to ReceiveResponse

  • Set Activate to False

SendResponse

Send

  • Set Name to SendResponse

SendTIDMsg

Send

  • Set Name to SendTIDMsg

ReceiveTIDRsp

Receive

  • Set Name to ReceiveTIDRsp

  • Set Activate to False

SendTIDRsp

Send

  • Set Name to SendTIDRsp

Adding the Construct Message Shape

The response from the SAP system for the tRFC call contains a GUID. To commit the tRFC call, you must pass the same GUID to the RfcConfirmTransID operation. To do so, you must include a Construct Message shape, and within that a Message Assignment shape, in the orchestration. Here, the purpose of the Construct Message shape is:

  • To extract the GUID from the response that is received from the SAP system for the tRFC call.

  • To construct a message that conforms to the message schema for the RfcConfirmTransID operation.

For the Construct Message shape, you must set the Message Constructed property to TIDRequest.

You must add the following code excerpt to the Message Assignment shape:

Copy Code
XmlDoc = new System.Xml.XmlDocument();
XmlDoc.LoadXml("<RfcConfirmTransID xmlns='http://Microsoft.LobServices.Sap/2007/03/RfcApi/'><TransactionalRfcOperationIdentifier /></RfcConfirmTransID>");
TIDRequest = XmlDoc;
TIDRequest.TransactionalRfcOperationIdentifier = xpath(Response,"string(/*[local-name()='BAPI_SALESORDER_CREATEFROMDAT2Response']/*[local-name()='TransactionalRfcOperationIdentifier']/text())");

To use the above code excerpt, you must have:

  • Created a variable, XmlDoc, in your BizTalk project and set its type to System.Xml.XmlDocument. For more information about creating variables, see http://go.microsoft.com/fwlink/?LinkId=102357.

  • Promoted the TransactionalRfcOperationIdentifier property in the schema for RfcConfirmTransID operation. For more information about promoting a property, see http://go.microsoft.com/fwlink/?LinkId=102358.

Adding Ports

Make sure you specify the following properties for each of the logical ports. The names listed in the Port column are the names of the ports as displayed in the orchestration.

Port Properties

FileIn

  • Set Identifier to FileIn

  • Set Type to FileInPortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Receive

tRFC_Port

  • Set Identifier to tRFC_Port

  • Set Type to tRFC_PortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Send-Receive

SavetRFCResponse

  • Set Identifier to SavetRFCResponse

  • Set Type to SavetRFCResponsePortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send

TID_Port

  • Set Identifier to TID_Port

  • Set Type to TIDPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Send-Receive

SaveTIDResponse

  • Set Identifier to SaveTIDResponse

  • Set Type to SaveTIDResponsePortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the previous orchestration.

Shape Properties

ReceiveXml

  • Set Message to Request

  • Set Operation to FileIn.tRFC.Request

SendToLOB

  • Set Message to Request

  • Set Operation to tRFC_Port.tRFC.Request

ReceiveResponse

  • Set Message to Response

  • Set Operation to tRFC_Port.tRFC.Response

SendResponse

  • Set Message to Response

  • Set Operation to SavetRFCResponse.tRFC.Request

SendTIDMsg

  • Set Message to TIDRequest

  • Set Operation to TID_Port.TID.Request

ReceiveTIDRsp

  • Set Message to TIDResponse

  • Set Operation to TID_Port.TID.Response

SendTIDRsp

  • Set Message to TIDResponse

  • Set Operation to SaveTIDResponse.TID.Request

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

You must now build the BizTalk solution and then deploy it to a BizTalk Server. For more information, see http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see http://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define a location on the hard disk and a corresponding file port where you will drop a request message. The BizTalk orchestration will consume the request message to send it to the SAP system.

    • Define a location on the hard disk and a corresponding file port where the BizTalk orchestration will drop the response message containing the response from the SAP system.

    • Define physical WCF-Custom or WCF-SAP send ports (one each for the tRFC request message and the RfcConfirmTransID message) to send messages to the SAP system. You must also specify the action in the send port. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Server Administration console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

Starting the Application

You must start the BizTalk application for invoking tRFCs in an SAP system. For instructions on starting a BizTalk application, see http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The FILE receive port to receive request messages for the orchestration is running.

  • The FILE send port to receive the response messages from the orchestration is running.

  • The WCF-Custom or WCF-SAP send ports to send messages to the SAP system are running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must drop a request message for the orchestration. See Message Schemas for tRFC Operations to know about the schema for the request message for invoking a tRFC in an SAP system. For example, the request message to invoke BAPI_SALEASORDER_CREATEFROMDAT2 as a tRFC is:

Copy Code
<BAPI_SALESORDER_CREATEFROMDAT2 xmlns="http://Microsoft.LobServices.Sap/2007/03/Trfc/">
  <ORDER_HEADER_IN>
    <DOC_TYPE xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">TA</DOC_TYPE>
    <SALES_ORG xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">1000</SALES_ORG>
    <DISTR_CHAN xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">10</DISTR_CHAN>
    <DIVISION xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">00</DIVISION>
    <SALES_OFF xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">1000</SALES_OFF>
    <REQ_DATE_H xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">2006-09-01T23:50:00</REQ_DATE_H>
    <PURCH_DATE xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">2006-08-25T23:50:00</PURCH_DATE>
    <PURCH_NO_C xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">Cust PO</PURCH_NO_C>
    <CURRENCY xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">EUR</CURRENCY>
  </ORDER_HEADER_IN>
  <ORDER_ITEMS_IN>
    <BAPISDITM xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <MATERIAL>P-109</MATERIAL>
      <PLANT>1000</PLANT>
      <TARGET_QU>ST</TARGET_QU>
    </BAPISDITM>
  </ORDER_ITEMS_IN>
  <ORDER_PARTNERS>
    <BAPIPARNR xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <PARTN_ROLE>AG</PARTN_ROLE>
      <PARTN_NUMB>0000001390</PARTN_NUMB>
    </BAPIPARNR>
  </ORDER_PARTNERS>
  <RETURN/>
  <TransactionalRfcOperationIdentifier>def689b1-b514-4627-a861-d6d7f51c84e3</TransactionalRfcOperationIdentifier>
</BAPI_SALESORDER_CREATEFROMDAT2>

The orchestration consumes the message, passes it on to the SAP system, and receives a response from the SAP system. The response message is saved at the other file location specified as part of the orchestration. The response from the SAP system contains a GUID. The orchestration then generates another request message from the response and passes it to the SAP system to execute the RfcConfirmTransID. After the response is received from the SAP system for the RfcConfirmTransID operation, it is copied to the file location. To summarize, after the operation is successfully executed:

  • A response message from SAP for invoking the tRFC is copied to the file location. This contains the same GUID that was sent to the SAP system. The response message invoking BAPI_SALESORDER_CREATEFROMDAT2 as a tRFC is:

    Copy Code
    <?xml version="1.0" encoding="utf-8"?>
<BAPI_SALESORDER_CREATEFROMDAT2Response xmlns="http://Microsoft.LobServices.Sap/2007/03/Trfc/">
  <TransactionalRfcOperationIdentifier>def689b1-b514-4627-a861-d6d7f51c84e3</TransactionalRfcOperationIdentifier>
</BAPI_SALESORDER_CREATEFROMDAT2Response>
  • A response message for the RfcConfirmTransID is copied to the same location. This is an empty response. The response message for the RfcConfirmTransID is:

    Copy Code
    <?xml version="1.0" encoding="utf-8"?>
<RfcConfirmTransIDResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/RfcApi/"></RfcConfirmTransIDResponse>
Note
You can use the ConvertGuidToTid() public method exposed by the SAP adapter assembly to retrieve the TID in the SAP system mapped to the GUID. For more information, see Special Operations.

Possible Exceptions

For information about the exceptions you might encounter while invoking a tRFC in an SAP system using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports, receive ports, etc. for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Receiving Inbound tRFC Calls by Using BizTalk Server

A tRFC server call is a transactional RFC server call. The orchestration required to receive an RFC in a transactional context is similar to the orchestration to receive any other inbound RFC sent from an SAP system. However, you need to perform certain additional tasks to make sure the RFCs are received in a transactional context. For more information about receiving an inbound RFC from the SAP system using the SAP adapter, see Receiving Inbound RFC Calls by Using BizTalk Server. For more information about how the SAP adapter supports receiving inbound tRFC calls from an SAP system, see Operations on tRFCs.

Receiving an inbound tRFC sent from an SAP system is similar to receiving an inbound RFC, with the following differences:

  1. At design time, while generating the schema, make sure you select the tRFC from under the TRFC node.

  2. At run time, make sure you set the binding property TidDatabaseConnectionString. This property takes the connection string to connect to a SQL database to store the TID. A sample connection string would look like:

    Copy Code
    Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;

    For more information about the binding property and how to set it, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Important
    The BizTalk Adapter Pack setup wizard installs a SQL script, SapAdapter-DbScript-Install.sql, which must be run by the SQL Server administrator to create a database and the database objects in SQL Server. The script is typically installed at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack.

    The SAP adapter uses these objects to persist the TIDs. So, the SQL Server administrator must ensure that the user name provide as part of the connection string has sufficient privileges to execute the stored procedures. You can also opt for Windows authentication provided the Windows user has sufficient permissions to execute stored procedures in the database.

  3. Make sure MSDTC is enabled on the computer where the adapter is installed. Perform the following steps to enable MSDTC.

    1. Start the Component Services MMC snap-in.

    2. In the Component Services MMC snap-in, from the left pane expand Component Services, expand Computers, right-click My Computer, and click Properties.

    3. In the My Computer Properties dialog box, click the MSDTC tab.

    4. In the Transaction Configuration section, click the Security Configuration button.

    5. In the Security Configuration dialog box, select the Network DTC Access check box and within that, select the Allow Remote Clients check box.

    6. In the Transaction Manager Communication section, select the Allow Inbound and Allow Outbound check boxes.

    7. In the Security Configuration dialog box, click OK.

    8. Click Yes in the dialog box informing that the MSDTC service will be restarted. After the MSDTC service is restarted, click OK on the dialog box.

    9. In the My Computer Properties dialog box, click OK.

  4. Add MSDTC to the Windows Firewall exception list, if not already added. Run the following command.

    Copy Code
    netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable
Important
An inbound tRFC call is used while receiving IDOCs from the SAP system in a "transactional" context.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Performing BAPI Transactions by Using BizTalk Server

The SAP adapter enables adapter clients to perform transactions on an SAP system by using BizTalk Server. Before creating an orchestration for a transaction, you must first understand a basic scenario in which transactions will be performed. In a typical transaction scenario, a request message with multiple operations (such as invoking a BAPI) is sent to the SAP system. This will be referred to as an "operation message." The orchestration must extract each operation message from the request message and send the individual operation messages to the SAP system. The orchestration sends them one after the other using the same connection. The orchestration extracts the individual messages from the "operation message" by using an XML transform via a BizTalk map.

After the operations are performed, the orchestration must commit or abort the transaction by sending messages for BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK, respectively. These will be referred to as "transaction messages."

How Does the Adapter Enable Transactions Through BizTalk Server?

To enable transactions on an SAP system using the BizTalk Server, the SAP adapter:

  • Provides message context properties OPEN, REUSE, CLOSE, and ABORT.

  • Uses BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK to commit or abort the operations. These are exposed by the SAP system.

The following table lists some guidelines on using the properties with BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK:

Message | OPEN | REUSE | CLOSE | ABORT
First message (operation message) | Yes | No | No | No
Subsequent messages (operation messages) | No | Yes | No | No
BAPI_TRANSACTION_COMMIT (transaction message) | No | No | Yes | No
BAPI_TRANSACTION_ROLLBACK (transaction message) | No | No | Yes | Yes

In the table, a "Yes" denotes the message context property to be used for a message. Similarly, a "No" denotes the message context property not to be used with a message.

To summarize the table:

  • The first message must always be an operation message and must only use the OPEN property.

  • The subsequent operation messages must use the REUSE property.

  • The transaction message corresponding to BAPI_TRANSACTION_COMMIT for committing the transaction must use the CLOSE property.

  • The transaction message corresponding to BAPI_TRANSACTION_ROLLBACK to abort the transaction can use either the CLOSE or ABORT properties. If using ABORT, ideally the message must be in the orchestration exception block.

Key Considerations Related to Transactions Using BizTalk Server

  • If there is more than one send port in an orchestration, the adapter automatically separates transaction for messages received from each port. That is, a transaction cannot span across ports.

  • Message retry attempts are not supported for messages in an SAP transaction. Therefore, users should set the message retry attempt to zero.

  • The adapter might produce undesirable results for the combinations marked as "No" in the preceding table. You should use combinations marked as "Yes".

  • Messages sent to the adapter that do not have a message context property will be executed normally without being bound to the current transaction context.

  • BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK should ideally be the last message in the current transaction context in the orchestration.

The following sections provide instructions on how to perform transactions in SAP using the SAP adapter.

How to Perform a Transaction on an SAP System?

Performing an operation on an SAP system using the SAP adapter with BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To perform transactions on an SAP system, these tasks are:

  1. Create a BizTalk project and generate schema for the RFC on which you want to perform the transaction. Additionally, you must generate schema for BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK RFCs.

  2. Create messages in the BizTalk project for sending and receiving messages from the SAP system.

  3. Create an orchestration that extracts individual "operation messages" from the request message and sends it to the SAP system. Based on the request message, the orchestration also decides whether to commit or roll back the transaction.

  4. Build and deploy the BizTalk project.

  5. Configure the BizTalk application by creating physical send and receive ports.

  6. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Sample Based On This Topic

A sample, SAPTransaction, based on this topic is provided with the BizTalk Adapter Pack. For more information, see Samples.

Generating Schema

To demonstrate how to perform transactions on an SAP system, you need the following schemas:

  • For the "operation message" to perform operations on an SAP system. The request message sent to the adapter must conform to this schema. This can be any user-specific schema containing any number of operation nodes. In this topic, the schema MultipleOrders.xsd is used. The schema is also provided as part of the transaction sample shipped with the BizTalk Adapter Pack samples. For more information, see Samples.

  • For performing the operations on an SAP system, such as invoking an RFC. The request message to perform an operation must conform to this schema. This schema must be generated by using the Consume Adapter Service BizTalk Project Add-in. In this topic, the BAPI_SALESORDER_CREATEFROMDAT2 RFC is invoked. For information about generating schema for RFC, see Browsing, Searching, and Retrieving Metadata for RFC Operations.

  • For aborting or committing a transaction. The request to commit or abort a transaction must conform to this schema. The SAP adapter uses the BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK RFC to commit and rollback the operations respectively. You must generate schema for these RFCs using the Consume Adapter Service Add-in.

Note
You must ensure that all the required schemas are added to the BizTalk project.

Important
You must add a reference to the BizTalk property schema for SAP adapter to your BizTalk project. The schema file, Microsoft.Adapters.SAP.BiztalkPropertySchema.dll, is installed by the BizTalk Adapter Pack setup, typically at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\bin.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated in the first step to the messages from the Orchestration View window of the BizTalk project.

Before creating messages, you must determine the number of "operation" nodes the request message (of MultipleOrders.xsd type) has. For this example, assume that the request message has two operation messages to invoke the BAPI_SALESORDER_CREATEFROMDAT2 RFC. Therefore, you must create one request-response message set that maps to the schema generated for this RFC.

You must create the following messages in the BizTalk project.

  • A message, SendtoAdapter, for the request message that will be sent to the orchestration. This message must be mapped to the schema for the input message, MultipleOrders.xsd.

  • A message, BAPIMessage, for the first operation sent to the SAP system. You must also create a response message, BAPIResponse, for the response of the first operation. The request and response messages must be mapped to the schema generated for the BAPI_SALESORDER_CREATEFROMDAT2 RFC.

  • A message, BAPICommitMessage, for the commit operation. You must also create a response message, BAPICommitResponse, for the corresponding response message. The request and response messages must be mapped to the schema of BAPI_TRANSACTION_COMMIT RFC.

  • A message, BAPIRollbackMessage, for the rollback operation. You must also create a response message, BAPIRollbackResponse, for the corresponding response message. The request and response messages must be mapped to the schema of BAPI_TRANSACTION_ROLLBACK RFC.

Perform the following steps to create messages and link them to the schema.

To create messages and link to schema

  1. Open the orchestration view the BizTalk project, if it is not already open. Click View, point to Other Windows, and click Orchestration View.

  2. In the Orchestration View, right-click Messages, and then click New Message.

  3. Right-click the newly create message, and then select Properties Window.

  4. In the Properties pane for Message_1, do the following.

    Use this To do this

    Identifier

    Type SendToAdapter.

    Message Type

    From the drop-down list, expand Schemas, and select SAPTransaction.MultipleOrders, where SAPTransaction is the name of your BizTalk project. MultipleOrders is the schema for the request message.

  5. Repeat the previous step to create six more messages. In the Properties pane for the new messages, do the following.

    Set Identifier to Set Message Type to

    BAPIMessage

    SAPTransaction.SAPBindingSchema.BAPI_SALESORDER_CREATEFROMDAT2

    BAPIResponse

    SAPTransaction.SAPBindingSchema.BAPI_SALESORDER_CREATEFROMDAT2Response

    BAPICommitMessage

    SAPTransaction.SAPBindingSchema.BAPI_TRANSACTION_COMMIT

    BAPICommitResponse

    SAPTransaction.SAPBindingSchema.BAPI_TRANSACTION_COMMITResponse

    BAPIRollbackMessage

    SAPTransaction.SAPBindingSchema.BAPI_TRANSACTION_ROLLBACK

    BAPIRollbackResponse

    SAPTransaction.SAPBindingSchema.BAPI_TRANSACTION_ROLLBACKResponse

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for performing transactions in an SAP system. In this orchestration, you drop a request message at a defined receive location. The SAP adapter consumes the message and passes it to the SAP system. The response from the SAP system is saved to another location.

Another consideration to make when creating an orchestration is to:

  • Map the schema of the request message to that of the BAPI_SALESORDER_CREATEFROMDAT2 RFC.

  • Map the schema of the request message to that of the BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK RFC.

You can map the schemas by using an XML transform via a BizTalk map. To achieve this, include Transform shapes in the orchestration.

Finally, based on whether the request message has information to commit or abort the transaction, the orchestration must decide on the appropriate message to be sent to the SAP system. To achieve this, include a Decide shape in the orchestration.

For more information about the different shapes included in the orchestration, see "Orchestration Designer UI Help" at http://go.microsoft.com/fwlink/?LinkId=103411.

A sample orchestration for an SAP transaction resembles the following.

Orchestrations to perform transactions in SAP

Adding Message Shapes

Make sure you specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Shape Type Properties

ReceiveInputXML

Receive

  • Set Name to ReceiveInputXML

  • Set Activate to True

SendToLOB

Send

  • Set Name to SendToLOB

ReceiveResponse

Receive

  • Set Name to ReceiveResponse

  • Set Activate to False

SendResponse

Send

  • Set Name to SendResponse

Because the request message has two insert messages, you must create another set of send and receive shapes to send messages to SAP and to receive a response. However, because the insert messages might be committed or rolled back, the second set of shapes must be created within a decision block. You must create one set of shapes for commit and another set of shapes for rollback.

Note
You can add a decision block by dragging and dropping the Decide shape from the BizTalk Orchestrations toolbox.

Message Shapes for Commit

The following table lists the shapes for the "commit path" of the orchestration. Here, you do not need to create a receive message for a request message. The request message will be passed on from the previous message shape.

Shape Shape Type Properties

SendBAPICommit

Send

  • Set Name to SendBAPICommit

ReceiveCommitResponse

Receive

  • Set Name to ReceiveCommitResponse

  • Set Activate to False

SendResponse2

Send

  • Set Name to SendResponse2

Message Shapes for Abort

The following table lists the shapes for the "rollback path" of the orchestration.

Shape Shape Type Properties

SendBAPIRollback

Send

  • Set Name to SendBAPIRollback

ReceiveRollbackResponse

Receive

  • Set Name to ReceiveRollbackResponse

  • Set Activate to False

SendResponse3

Send

  • Set Name to SendResponse3

Setting the Rule Expression

You included the message shapes for the commit and abort operations within a decision block by adding a Decide shape. To specify the condition on which the orchestration will make a decision, you must specify an expression on the Rule shape based on which the transaction will either be committed or rolled back. For example, you must specify the following expression for the Rule shape:

Copy Code
SendToAdapter.isCommit == true

Where, SendToAdapter is the message you created for the schema of the request message. So, in the request message, if the isCommit tag is set to True, the orchestration takes the "commit" route. Otherwise, the orchestration takes the "rollback" route.

For you to be able to specify this condition in the expression editor, you must have promoted the isCommit property in the message schema for the request message sent to the adapter. For this topic, the input schema to use is MultipleOrders.xsd. You must promote the isCommit property in this schema. For more information about promoting a property, see "Promoting Properties" at http://go.microsoft.com/fwlink/?LinkId=102358.

Adding Construct Message Shapes

As discussed earlier, the request message sent to the adapter contains two insert messages and then a commit or abort message. You must add a Construct Message shape, and within that a Transform shape to extract individual operation messages to be sent to the SAP system. You must also add a Message Assignment shape to set the message context properties for enabling transactions.

The First Construct Message Shape

Suppose the first Construct Message shape is called "ReceiveXML." For this shape, specify the Messages Constructed property as "BAPIMessage". Double-click the Transform shape to open the Transform Configuration dialog box. In the dialog box:

  • Choose to create a new map.

  • From the left pane, select Source and from the Variable name drop-down select SendToAdapter.

  • From the left pane, select Destination and from the Variable name drop-down select BAPIMessage.

  • Click OK to start the mapper. Map the schema of the request message to the schema of the BAPI_SALESORDER_CREATEFROMDAT2. You can use the Index functoid to create a map between the source and the destination schemas. An Index functoid enables you to select information for a specific record in a series of records.

    The following figure shows the schemas mapped using an Index functoid.

    Schemas mapped using an Index functoid For more information about using the Transform Configuration dialog box, see "Transform Configuration Dialog Box" at http://go.microsoft.com/fwlink/?LinkID=103412.

    For more information about using the Index functoid, see "Index Functoid" at http://go.microsoft.com/fwlink/?LinkId=103413.

    After you have mapped the schemas, you can test the mapping using the property page of the map file. For more information, see "<Map File> Property Page Dialog Box, Test Map Tab" at http://go.microsoft.com/fwlink/?LinkId=103414.

In the Message Assignment shape, specify the message context property to start the transaction. For example, the message context property for the first message could be:

Copy Code
BAPIMessage(Microsoft.Adapters.SAP.BiztalkPropertySchema.ConnectionState) = "OPEN";

The Commit Construct Message Shape

Suppose the Construct Message shape for the commit operation is called "CommitMessage." For this shape, specify the Messages Constructed property as "BAPICommitMessage". Double-click the Transform shape to open the Transform Configuration dialog box. In the dialog box:

  • Choose to create a new map.

  • From the left pane, select Source and from the Variable name drop-down select SendToAdapter.

  • From the left pane, select Destination and from the Variable name drop-down select BAPICommitMessage.

  • Click OK to launch the mapper. Map the schema of the request message to the schema of BAPI_TRANSACTION_COMMIT. You need not include an Index functoid for this mapping because the BAPI_TRANSACTION_COMMIT node does not contain a record hierarchy.

In the Message Assignment shape, specify the message context property to commit the transaction. For example, the message context property for the first message could be:

Copy Code
BAPICommitMessage(Microsoft.Adapters.SAP.BiztalkPropertySchema.ConnectionState) = "CLOSE";

The Rollback Construct Message Shape

Suppose the Construct Message shape for the rollback operation is called "RollbackMessage." For this shape, specify the Messages Constructed property as "BAPIRollbackMessage". Double-click the Transform shape to open the Transform Configuration dialog box. In the dialog box:

  • Choose to create a new map.

  • From the left pane, select Source and from the Variable name drop-down select SendToAdapter.

  • From the left pane, select Destination and from the Variable name drop-down select BAPIRollbackMessage.

  • Click OK to launch the mapper. Map the schema of the request message to the schema of BAPI_TRANSACTION_ROLLBACK. You need not include an Index functoid for this mapping because the BAPI_TRANSACTION_ROLLBACK node does not contain a record hierarchy.

In the Message Assignment shape, specify the message context property to rollback the transaction. For example, the message context property for the first message could be:

Copy Code
BAPIRollbackMessage(Microsoft.Adapters.SAP.BiztalkPropertySchema.ConnectionState) = "ABORT";
Important
In typical scenarios, the message corresponding to BAPI_TRANSACTION_ROLLBACK with the ABORT context property must be used in an exception block.

Adding Ports

Make sure you specify the following properties for each of the logical ports. The names listed in the Port column are the names of the ports as displayed in the orchestration.

For this orchestration, three ports are created. The first port picks request message from a specified folder. The second port sends the messages to the SAP system and receives a response. The third port will save the response to another folder. Therefore:

  • The first port only receives messages for a single schema, that is, MultipleOrders.xsd.

  • The second port sends and receives messages for the schema of BAPI_SALESORDER_CREATEFROMDAT2 RFC. Also, the same port will be used to commit or roll back the transaction. So, this port also receives messages of schemas for BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK RFCs. To enable this, three different operations are created on this port, each corresponding to a specific message schema.

  • Similar to the second port, this port will also be receiving messages with three different schemas. So, it is necessary to create three different operations on this port.

Port Properties

FileIn

  • Set Identifier to FileIn

  • Set Type to FileInType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Receive

LOBPort

  • Set Identifier to LOBPort

  • Set Type to LOBPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Send-Receive

  • Create an operation BAPIMessage.

  • Create an operation CommitMessage. This operation will be used to send commit message.

  • Create an operation RollbackMessage. This operation will be used to send rollback message.

SaveResponse

  • Set Identifier to SaveResponse

  • Set Type to SaveResponseType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send.

  • Create an operation BAPIMessage.

  • Create an operation CommitMessage. This operation will be used to save responses for the commit message.

  • Create an operation RollbackMessage. This operation will be used to save responses for the rollback message.

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the preceding orchestration.

Shape Properties

ReceiveInputXML

  • Set Message to SendToAdapter

  • Set Operation to FileIn.Transaction.Request

SendToLOB

  • Set Message to BAPIMessage

  • Set Operation to LOBPort.BAPIMessage.Request

ReceiveResponse

  • Set Message to BAPIResponse

  • Set Operation to LOBPort.BAPIMessage.Response

SendResponse

  • Set Message to BAPIResponse

  • Set Operation to SaveResponse.BAPIMessage.Request

SendBAPICommit

  • Set Message to BAPICommitMessage

  • Set Operation to LOBPort.CommitMessage.Request

ReceiveCommitResponse

  • Set Message to BAPICommitResponse

  • Set Operation to LOBPort.CommitMessage.Response

SendResponse2

  • Set Message to BAPICommitResponse

  • Set Operation to SaveResponse.CommitMessage.Request

SendBAPIRollback

  • Set Message to BAPIRollbackMessage

  • Set Operation to LOBPort.RollbackMessage.Request

ReceiveRollbackResponse

  • Set Message to BAPIRollbackResponse

  • Set Operation to LOBPort.RollbackMessage.Response

SendResponse3

  • Set Message to BAPIRollbackResponse

  • Set Operation to SaveResponse.RollbackMessage.Request

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

Handling Exceptions

In complex orchestrations like the one for performing BAPI transactions, it is important that you keep track of the state of the orchestration, report errors as they occur, so that you can resolve the problems as they occur. BizTalk orchestration provides tools to handle errors, to maintain the state of an orchestration, and to fix problems as they occur through transactions, compensation, and exception handling.

As a framework for transactions and exception handling, Orchestration Designer provides the Scope shape. A scope can have a transaction type, a compensation, and any number of exception handlers. A scope contains one or more blocks. It has a body and can optionally have any number of exception-handling blocks appended to it. In the case of BAPI transactions, the entire orchestration (see earlier figure) can be included in a scope.

To catch the exception, you must add a Catch Exception block to the orchestration. Catch Exception blocks are attached to the end of a Scope shape in Orchestration Designer. In the case of BAPI transactions, you must add the “ABORT” routine to the Catch Exception block, that is, you must add the following to the “ABORT” routine:

  • A Construct Message shape consisting of a Transform (to extract the request message from the input message) and a Message Assignment shape (to set the context property)

  • Send and Receive shapes.

The SAP transaction sample for BizTalk Server (SAPTransaction) shipped with BizTalk Adapter Pack demonstrates exception handling, too. For more information about the sample, see Samples.

For more information about how to handle exceptions, in general, using BizTalk Server, see "Using Transactions and Handling Exceptions" at http://go.microsoft.com/fwlink/?LinkId=106696.

Add the BizTalk Property Schema to BizTalk

In your BizTalk project, you added an assembly reference to the BizTalk property schema for SAP adapter. You must add the same assembly as a resource in the BizTalk application, that is, the application where the BizTalk project will be deployed. The schema file, Microsoft.Adapters.SAP.BiztalkPropertySchema.dll, is installed by the BizTalk Adapter Pack setup typically under <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\bin. Without this resource, you will not be able to deploy your project.

To add an assembly as a resource in BizTalk

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, expand Applications, and then the application to which you want to add a BizTalk assembly.

  3. Right-click Resources, point to Add and then click BizTalk Assemblies.

  4. In the Add Resource dialog box, click Add, navigate to the folder containing the BizTalk assembly file, select the BizTalk assembly file, and then click Open.

  5. In Options, specify the options for installing the BizTalk assembly to the GAC, and then click OK.

You must now build the BizTalk solution and then deploy it to a BizTalk Server. For more information, see "Building and Running Orchestrations" at http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see "How to Configure an Application" at http://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define a location on the hard disk and a corresponding file port where you will drop a request message. The BizTalk orchestration will consume the request message and send it to the SAP system.

    • Define a location on the hard disk and a corresponding file port where the BizTalk orchestration will drop the response message containing the response from the SAP system.

    • Define a physical WCF-Custom or WCF-SAP send port to send messages to the SAP system. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter. Because the send port sends and receive messages conforming to more than one schema and performs two operations, you must set dynamic action for both the operations. For more information about actions, see Specifying SOAP Action. Make sure you adhere to the following key considerations while creating a WCF-Custom or WCF-SAP send port to perform transactions.

      Set the following To this value

      Action

      The send port sends and receives messages for more than one operation. So, the action on the send port must be set for each operation.

      Copy Code
      <BtsActionMapping>
  <Operation Name="BAPIMessage" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_SALESORDER_CREATEFROMDAT2" />
  <Operation Name="CommitMessage" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_TRANSACTION_COMMIT" />
  <Operation Name="RollbackMessage" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_TRANSACTION_ROLLBACK" />
</BtsActionMapping>

      EnableBizTalkCompatibilityMode

      Set this binding property to True.

      EnableConnectionPooling

      Set this binding property to False before performing any transactions. In scenarios where the channel set up between the adapter and BizTalk is unexpectedly terminated, the corresponding connection is added to the connection pool. When another channel is opened, and the new channel picks the same connection object, the uncommitted transactions on the old connection object will also be committed when the transactions are committed over the new channel. To avoid this, connection pooling must be disabled while performing transactions.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Server Administration console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

      Important
      You can configure a backup transport on a WCF-Custom or WCF-SAP send port that enables you to send messages to another SAP system if the primary transport fails to function. However, for performing transactions on an SAP system, the WCF-based SAP adapter does not support specifying a backup transport pointing to another SAP server.

Starting the Application

You must start the BizTalk application performing transactions an SAP system. For instructions on starting a BizTalk application, see "How to Start an Orchestration" at http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The FILE receive port to receive request messages for the orchestration is running.

  • The FILE send port to receive the response messages from the orchestration is running.

  • The WCF-Custom or WCF-SAP send port to send messages to the SAP system is running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must drop a request message for the orchestration at a predefined location. The request message must conform to a specific schema, for instance, MultipleOrders.xsd schema. For example, a request message to create sales orders in an SAP system and then to commit the operation is:

Copy Code
<ns0:Orders xmlns:ns0="http://BAPISend.MultipleOrders">
  <Order>
      <ORDER_HEADER_IN>
        <DOC_TYPE>TA</DOC_TYPE>
        <SALES_ORG>1000</SALES_ORG>
        <DISTR_CHAN>10</DISTR_CHAN>
        <DIVISION>00</DIVISION>
        <SALES_OFF>1000</SALES_OFF>
        <REQ_DATE_H>20060901</REQ_DATE_H>
        <PURCH_DATE>20060901</PURCH_DATE>
        <PURCH_NO_C>Cust A</PURCH_NO_C>
        <CURRENCY>EUR</CURRENCY>
      </ORDER_HEADER_IN>
      <ORDER_ITEMS_IN>
          <MATERIAL>P-109</MATERIAL>
          <PLANT>1000</PLANT>
          <TARGET_QU>ST</TARGET_QU>
      </ORDER_ITEMS_IN>
      <ORDER_PARTNERS>
          <PARTN_ROLE>AG</PARTN_ROLE>
          <PARTN_NUMB>0000000257</PARTN_NUMB>
      </ORDER_PARTNERS>
    <RETURN></RETURN>
  </Order>
  <isCommit>true</isCommit>
  <BAPI_TRANSACTION_COMMIT>
  </BAPI_TRANSACTION_COMMIT>
</ns0:Orders>

The orchestration consumes the message and sends it to the SAP system. The response from the SAP system is saved at other file location defined as part of the orchestration. For the above request message, you get two response messages—one for invoking the BAPI_SALESORDER_CREATEFROMDAT2 RFC and the other for the commit operation using BAPI_TRANSACTION_COMMIT.

The response for BAPI_SALESORDER_CREATEFROMDAT2 is:

Copy Code
<?xml version="1.0" encoding="utf-8" ?>
<BAPI_SALESORDER_CREATEFROMDAT2Response xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <SALESDOCUMENT />
  <ORDER_ITEMS_IN>
    <BAPISDITM xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <ITM_NUMBER>0</ITM_NUMBER>
      <HG_LV_ITEM>0</HG_LV_ITEM>
      <PO_ITM_NO />
      ......
    </BAPISDITM>
  </ORDER_ITEMS_IN>
  <ORDER_PARTNERS>
    <BAPIPARNR xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <PARTN_ROLE>AG</PARTN_ROLE>
      <PARTN_NUMB>0000000257</PARTN_NUMB>
      <ITM_NUMBER>0</ITM_NUMBER>
      ......
    </BAPIPARNR>
  </ORDER_PARTNERS>
</BAPI_SALESORDER_CREATEFROMDAT2Response>

The response for BAPI_TRANSACTION_COMMIT is:

Copy Code
<?xml version="1.0" encoding="utf-8" ?>
<BAPI_TRANSACTION_COMMITResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <RETURN>
    <TYPE xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <ID xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <NUMBER xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">0</NUMBER>
    <MESSAGE xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <LOG_NO xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <LOG_MSG_NO xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">0</LOG_MSG_NO>
    <MESSAGE_V1 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <MESSAGE_V2 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <MESSAGE_V3 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <MESSAGE_V4 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <PARAMETER xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <ROW xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">0</ROW>
    <FIELD xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
    <SYSTEM xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/" />
  </RETURN>
</BAPI_TRANSACTION_COMMITResponse>
Note
If the request message invoked the BAPI_TRANSACTION_ROLLBACK RFC, the second response will be for BAPI_TRANSACTION_ROLLBACK.

Possible Exceptions

For information about the exceptions you might encounter while performing transactions on an SAP system by using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports and receive ports, for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Sending IDOCs to SAP by Using BizTalk Server

All IDOC calls to SAP are internally treated as tRFC calls where the adapter acts as a tRFC client and calls an RFC in SAP to send an IDOC. This section provides information on sending IDOCs to SAP by using the Microsoft BizTalk Adapter for mySAP Business Suite with BizTalk Server. The SAP adapter surfaces two different operations to send IDOCs:

  • Send operation enables adapter clients to send IDOCs having a strongly-typed schema.

  • SendIdoc operation enables adapter clients to send IDOCs having a weakly-typed schema. Using this, the adapter clients can send flat-file IDOCs to the SAP system. The entire flat-file IDOC would be a node value in a SendIdoc XML message.

For more information about how the SAP adapter supports sending IDOCs to an SAP system, see Operations on IDOCs. For more information about the structure of SOAP messages for sending an IDOC, see Message Schemas for IDOC Operations.

BizTalk Scenarios for Sending IDOCs with the SAP Adapter

The following table provides key BizTalk scenarios for sending IDOCs to an SAP system:

Input to BizTalk BizTalk Processing Output to Adapter

Flat-file IDOC

Metadata Design Time

  1. Set the binding property GenerateFlatFileCompatibleIdocSchema to True.

  2. Generate the schema for the Send operation for a specific IDOC using Consume Adapter Service Add-in.

Orchestration Design Time

  1. Receive flat-file IDOC

  2. Use flat-file disassembler to convert flat-file IDOC to XML IDOC using the schema just generated.

  3. Set the Action to Send operation.

Send message

Flat-file IDOC

Metadata Design Time

  1. Set the binding property GenerateFlatFileCompatibleIdocSchema to True.

  2. Generate the schema for the SendIdoc operation from the IDOC node using Consume Adapter Service Add-in.

Orchestration Design Time

  1. Receive flat-file IDOC

  2. Use flat-file disassembler to convert flat-file IDOC to XML (in this case, the XML message contains an <idocData> node that contains the entire flat-file Idoc message) using the schema just generated.

  3. Set the Action to SendIdoc operation.

SendIdoc message

XML IDOC

Metadata Design Time

  • Generate the schema for the Send operation for a specific IDOC using Consume Adapter Service Add-in.

Orchestration Design Time

  1. Receive XML IDOC.

  2. Set the Action to Send operation.

Send message

Flat-file IDOC in XML message

Metadata Design Time

  • Generate the schema for the SendIdoc operation from the IDOC node using Consume Adapter Service Add-in.

Orchestration Design Time

  1. Receive XML message.

  2. Set the Action to SendIdoc operation.

SendIdoc message

How to Send an IDOC to an SAP System

Performing an operation on an SAP system using BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To send an IDOC to an SAP system, these tasks are:

  1. Create a BizTalk project and generate schema for the IDOC you want to invoke in the SAP system. While generating the schema make sure you set the required binding properties, as listed in the previous table. For instructions on how to set the binding properties, see Specifying Binding Properties.

  2. Create messages in the BizTalk project for sending and receiving messages from the SAP system.

  3. Create an orchestration to send an IDOC to an SAP system.

  4. Build and deploy the BizTalk project.

  5. Configure the BizTalk application by creating physical send and receive ports.

  6. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Sample Based On This Topic

A sample, IDOCSend, based on this topic is also provided with the BizTalk Adapter Pack. For more information, see Samples.

Generating Schema

This topic demonstrates how to send an IDOC to an SAP system by generating schema for the Send operation under \IDOC\ORDERS\ORDERS05\ORDERS05.V3(620) IDOC. See Browsing, Searching, and Retrieving Metadata for IDOC Operations for more information about how to generate schema for a particular IDOC.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated in the first step to the messages from the Orchestration view of the BizTalk project.

For this topic, you must create two messages—one to send an IDOC to the SAP system and the other to receive a response.

Perform the following steps to create messages and link them to the schema:

To create messages and link to schema

  1. Open the orchestration view the BizTalk project, if not already open. Click View, point to Other Windows, and click Orchestration View.

  2. In the Orchestration View, right-click Messages, and then click New Message.

  3. Right-click the newly create message and select Properties Window.

  4. In the Properties pane for Message_1, do the following:

    Use this To do this

    Identifier

    Type IDOCSend.

    Message Type

    From the drop-down list, expand Schemas, and select IDOCSend.SAPBindingSchema3, where IDOCSend is the name of your BizTalk project. SAPBindingSchema3 is the schema generated for the Send operation.

  5. Repeat the previous step to create a new message. In the Properties pane for the new message, do the following:

    Use this To do this

    Identifier

    Type IDOCResponse.

    Message Type

    From the drop-down list, expand Schemas, and select IDOCSend.SAPBindingSchema4.

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for sending IDOCs to an SAP system. In this orchestration, you will be dropping a flat-file IDOC at a defined receive location. This file is converted into an XML request message using a flat-file disassembler. The SAP adapter consumes this message and passes it on to the SAP system. The response with a GUID is received from SAP and is saved at another location. You must include send and receive shapes to send IDOCs to the SAP system and receive responses. You must also include a flat-file disassembler to convert a flat file into an XML file. A typical orchestration to send and IDOC to an SAP system would contain:

  • Send and Receive shapes to send messages to the SAP system and receive responses.

  • A one-way receive port to receive flat-file IDOCs to send to the SAP system.

  • A flat-file disassembler to convert the flat-file IDOC into an XML file.

  • A two-way send port to send the IDOC to the SAP system and receive responses.

  • A one-way send port to send the responses from the SAP system to a folder.

A sample orchestration would look like the following:

Orchestration to send IDOCs to SAP

Adding Message Shapes

Make sure you specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the orchestration above.

Shape Shape Type Properties

ReceiveFile

Receive

  • Set Name to ReceiveFile

  • Set Activate to True

SendToLOB

Send

  • Set Name to SendToLOB

ReceiveResponse

Receive

  • Set Name to ReceiveResponse

  • Set Activate to False

SendResponse

Send

  • Set Name to SendResponse

Adding Ports

Make sure you specify the following properties for each of the logical ports. The names listed in the Port column are the names of the ports as displayed in the orchestration.

Port Properties

FileIn

  • Set Identifier to FileIn

  • Set Type to FileInType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Receive

LOBPort

  • Set Identifier to LOBPort

  • Set Type to LOBPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Send-Receive

SaveResponse

  • Set Identifier to SaveResponse

  • Set Type to SaveResponseType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send

Adding a Flat File Disassembler

You must add a flat file disassembler to your orchestration to convert the flat-file IDOC into an XML format.

To add a flat file disassembler

  1. Right-click the BizTalk project, point to Add, and select New Item.

  2. From the dialog box, do the following:

    Use this To do this

    Categories

    Pipeline Files

    Visual Studio installed templates

    Receive Pipeline

    Name

    IDOCReceive

  3. This opens the Pipeline Designer. From the BizTalk Pipeline Components toolbox, drag the Flat file disassembler pipeline component into the Disassemble stage of the receive pipeline.

  4. From the Pipeline Component Properties view, specify a value for the Document Schema property. From the drop-down make sure you select the schema corresponding to the IDOC send operation.

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the orchestration above.

Shape Properties

ReceiveFile

  • Set Message to IDOCSend

  • Set Operation to FileIn.SendIDOC.Request

SendToLob

  • Set Message to IDOCSend

  • Set Operation to LOBPort.SendIDOC.Request

ReceiveResponse

  • Set Message to IDOCResponse

  • Set Operation to LOBPort.SendIDOC.Response

SendResponse

  • Set Message to IDOCResponse

  • Set Operation to SaveResponse.SendIDOC.Request

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

You must now build the BizTalk solution and deploy it to a BizTalk Server. For more information, see "Building and Running Orchestrations" at http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see "How to Configure an Application" at http://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define a location on the hard disk and a corresponding file port where you will drop a request message. The BizTalk orchestration will consume the request message and send it to the SAP system.

      Important
      For the XMLReceive pipeline for this port, make sure you select IDOCReceive. You created this pipeline as part of the BizTalk project.

    • Define a location on the hard disk and a corresponding file port where the BizTalk orchestration will drop the response message containing the response from the SAP system.

    • Define a physical WCF-Custom or WCF-SAP send port to send messages to the SAP system. You must also specify the action in the send port. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter.

      Note
      You can also set the AutoConfirmSentIdocs binding property to automatically commit IDOCs into the SAP system. If you do so, you do not need to explicitly call the RfcConfirmTransID operation to commit the IDOCs. For more information about the binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties. For more information about the RfcConfirmTransID operation, see Operations on tRFCs.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Administration Console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

Starting the Application

You must start the BizTalk application for sending an IDOC to the SAP system. For instructions on starting a BizTalk application, see "How to Start an Orchestration" at http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The FILE receive port to receive request messages for the orchestration is running.

  • The FILE send port to receive the response messages from the orchestration is running.

  • The WCF-Custom or WCF-SAP send port to send messages to the SAP system is running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must drop a request message for the orchestration. For this example, we will drop a flat-file IDOC at the defined FILE receive location. The following actions take place after you drop the request message:

  • The orchestration picks this flat-file IDOC and converts it into XML request message, the schema for which conforms to the schema you generated earlier.

  • If the request message you provided contains a GUID, the adapter generates a transaction ID (TID) and sends it to the SAP system.

  • If the request message you provided does not contain a GUID, the adapter generates a GUID and uses that GUID to generate a TID. The TID is then sent to the SAP system.

In both the cases, the response message from the SAP system contains a GUID. For example, a response message for the Send operation on the ORDERS05 IDOC is:

Copy Code
<?xml version="1.0" encoding="utf-8"?>
<SendResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Send">
  <guid>a5afe162-d5cc-47b0-bf6f-3b0bfe06a97e</guid>
</SendResponse>

After you receive the GUID you must invoke the RfConfirmTransID operation to commit the TID. For more information about the RfcConfirmTransID operation, see Operations on tRFCs. You can either create a new orchestration to call this operation or modify the existing orchestration. If you want to create a new orchestration, it will be similar to any other orchestration on an SAP system. If you want to update the existing orchestration, see Invoking tRFCs by Using BizTalk Server. The orchestration for invoking a tRFC, as described in the topic demonstrates how to call a RfcConfirmTransID operation from the same orchestration.

Note
You need not invoke the RfcConfirmTransID operation if you set the AutoConfirmSentIdocs binding property to True.

Possible Exceptions

For information about the exceptions you might encounter while sending an IDOC to an SAP system using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports, receive ports, etc. for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Receiving IDOCs from SAP by Using BizTalk Server

Receiving an IDOC involves the SAP adapter to act as an RFC server to receive a special RFC call from SAP. The SAP adapter can receive IDOCs acting as an RFC server or a tRFC server. For more information about receiving an IDOC with the adapter behaving as a tRFC server, see Receiving IDOCs from SAP in a Transactional Context by Using BizTalk Server.

The SAP adapter surfaces two different operations to receive IDOCs:

  • Receive operation enables adapter to receive IDOCs having a strongly-typed schema.

  • ReceiveIdoc operation enables adapter to receive IDOCs having a weakly-typed schema. This operation receives IDOCs as a string in an XML message under the <idocData> tag.

On the adapter side, you can specify a value for the ReceiveIDocFormat binding property to specify the format of IDOC the adapter would receive.

  • Typed specifies the adapter will receive IDOCs with strongly-typed schema. This yields an XML IDOC.

  • String specifies the adapter will receive IDOCs with weakly-typed schema. This yields an XML message with the <idocData> tag.

  • Rfc specifies the adapter will receive IDOCs in any format.

For receiving IDOCs, the SAP adapter also supports a set of message context properties that adapter clients can use in the orchestrations. For the list of properties, see Message Context Properties for Receiving IDOCs.

For more information about how the SAP adapter supports receiving IDOCs from an SAP system, see Operations on IDOCs. For more information about the structure of SOAP messages for receiving an IDOC, see Message Schemas for IDOC Operations.

BizTalk Scenarios for Receiving IDOCs from an SAP System

The following table provides key BizTalk scenarios for receiving IDOCs from an SAP system:

Input to Adapter from SAP BizTalk Processing Output

IDOC (via tRFC interface)

Metadata Design Time

  1. Set the binding property GenerateFlatFileCompatibleIdocSchema to True.

  2. Generate the schema for the Receive operation for a specific IDOC using Consume Adapter Service Add-in.

  3. Set the binding property ReceiveIdocFormat to Typed.

Orchestration Design Time

  1. Receive XML IDOC.

  2. Use flat-file assembler to convert XML IDOC to flat-file.

Flat-file IDOC

IDOC (via tRFC interface)

Metadata Design Time

  1. Set the binding property GenerateFlatFileCompatibleIdocSchema to True.

  2. Generate the schema for the Receive operation for a specific IDOC using Consume Adapter Service Add-in.

  3. Set the binding property ReceiveIdocFormat to Typed.

Orchestration Design-Time

  • Receive XML IDOC.

XML IDOC

IDOC (via tRFC interface)

Metadata Design Time

  1. Set the binding property GenerateFlatFileCompatibleIdocSchema to True.

  2. Generate the schema for the Receive operation for a specific IDOC using Consume Adapter Service Add-in.

  3. Set the binding property ReceiveIdocFormat to String.

Orchestration Design Time

  1. Receive XML message with flat-file IDOC in <idocData> tag.

  2. Use the WCF adapter’s XPath support in the receive port configuration to extract the flat-file IDoc from the XML message. For example:

    Copy Code
    /*[local-name()='ReceiveIdoc']/*[local-name()='idocData']
  3. Use flat-file disassembler to convert flat-file IDOC to XML IDOC.

Important
This approach can be used to receive IDOCs using the new WCF-based SAP adapter and directly apply them in an existing BizTalk project written to receive IDOCs from the existing BizTalk SAP adapter. This is also the recommended approach to receive IDOCs with version number less than the release number (SYSREL).

XML IDOC

IDOC (via tRFC interface)

Metadata Design Time

  1. Generate the schema for the ReceiveIdoc operation from the IDOC node using Consume Adapter Service Add-in.

  2. Set the binding property ReceiveIdocFormat to String.

Orchestration Design Time

  • Receive XML message with the IDOC represented as a string in the <idocData> tag.

Flat-file IDOC in XML message

How to Receive an IDOC from an SAP System?

Performing an operation on an SAP system using BizTalk Server involves procedural tasks described in Building Blocks for Developing BizTalk Applications. To receive an IDOC from an SAP system, these tasks are:

  1. Create a BizTalk project and generate schema for the IDOC you want to invoke in the SAP system. While generating the schema make sure you set the required binding properties, as listed in the previous table. For instructions on how to set the binding properties, see Specifying Binding Properties.

  2. Create messages in the BizTalk project for sending and receiving messages from the SAP system.

  3. Create an orchestration to receive an IDOC from an SAP system.

  4. Build and deploy the BizTalk project.

  5. Configure the BizTalk application by creating physical send and receive ports.

  6. Start the BizTalk application.

This topic provides instructions to perform these tasks.

Samples Based On This Topic

Samples, ReceiveIDOC and ReceiveIDOC_SYSREL, based on this topic are also provided with the BizTalk Adapter Pack. For more information, see Samples.

Generating Schema

You must generate schema for the Receive operation of the ORDERS03.V3.620 IDOC under the /IDOC/ORDERS/ORDERS03 node. See Browsing, Searching, and Retrieving Metadata for IDOC Operations for instructions on how to generate schema for a particular IDOC. While generating the schema, you might want to set the following properties as well:

  • GenerateFlatFileCompatibleIDoc –Generates <appinfo> tags so that the BizTalk flat-file parser can be used in BizTalk scenarios to support flat-file IDOCs.

  • FlatFileSegmentIndicator – Indicates if the IDOC schema <appinfo> tags should contain segment definition names or segment type names. This is applicable when a used wishes to send/receive a flat-file IDOC to/from SAP. If the GenerateFlatFileCompatibleIDoc is set to false, then FlatFileSegmentIndicator binding property is ignored.

Important
Because you are generating the schema for an inbound IDOC call, make sure you select Service (Inbound operation) from the Select contract type drop-down list in the Consume Adapter Service BizTalk Project Add-in.

Defining Messages and Message Types

The schema that you generated earlier describes the "types" required for the messages in the orchestration. A message is typically a variable, the type for which is defined by the corresponding schema. You must link the schema you generated in the first step to the messages from the Orchestration view of the BizTalk project.

For this topic, you must create two messages—one to receive an IDOC from the SAP system and the other to send a response.

Perform the following steps to create messages and link them to the schema:

To create messages and link to schema

  1. Add a new orchestration to the BizTalk project.

  2. Open the orchestration view the BizTalk project, if not already open. Click View, point to Other Windows, and click Orchestration View.

  3. In the Orchestration View, right-click Messages, and then click New Message.

  4. Right-click the newly create message and select Properties Window.

  5. In the Properties pane for Message_1, do the following:

    Use this To do this

    Identifier

    Type Request.

    Message Type

    From the drop-down list, expand Schemas, and select ReceiveIDOC.SAPBindingSchema2, where ReceiveIDOC is the name of your BizTalk project. SAPBindingSchema2 is the schema generated for the Receive operation.

  6. Repeat step 2 to create a new message. In the Properties pane for the new message, do the following:

    Use this To do this

    Identifier

    Type Response.

    Message Type

    From the drop-down list, expand Schemas, and select ReceiveIDOC.SAPBindingSchema3.

Setting up the Orchestration

You must create a BizTalk orchestration to use BizTalk Server for receiving IDOCs from the SAP system. In a typical scenario, the SAP adapter receives an IDOC call from the SAP system, processes the request, and passes the response to the SAP system. To achieve this as part of an orchestration, the orchestration must contain:

  • A two-way receive port to receive IDOCs from the SAP system and send the response.

  • Send and Receive shapes.

  • Construct Message shape, and within that a Message Assignment shape, to generate a response to be sent to the SAP system.

    Note
    If the orchestration includes a two-way receive port (request-response) to receive IDOCs from the SAP system, the orchestration must send a response back to the SAP system. If not, the SAP system does not send the next IDOC. However, if a one-way receive port, the orchestration does not have to send a response to the SAP system.

  • A one-way send port to send the IDOCs received from the SAP system to a folder.

A sample orchestration for receiving an IDOC from an SAP system looks like:

Orchestration to receive IDOCs

Adding Message Shapes

Make sure you specify the following properties for each of the message shapes. The names listed in the Shape column are the names of the message shapes as displayed in the orchestration above.

Shape Shape Type Properties

ListenToSAP

Receive

  • Set Name to ListenToSAP

  • Set Activate to True

SaveIDOC

Send

  • Set Name to SaveIDOC

SendResponse

Send

  • Set Name to SendResponse

Adding Construct Message Shape

Within the orchestration, you must generate a response and send it to the SAP system. To do so, you must add a Construct Message shape and within that a Message Assignment shape to your orchestration. The Message Assignment shape invokes code that generates a response message that is sent to the SAP system. The Message Assignment shape also sets the action for the response to be sent to the SAP system.

Important
If the orchestration includes a two-way receive port (request-response) to receive IDOCs from the SAP system, the orchestration must send a response back to the SAP system. If not, the SAP system does not send the next IDOC. However, if a one-way receive port, the orchestration does not have to send a response to the SAP system.

For the construct message shape, set the Message Constructed property to Response.

The code to generate the response could be part of the same Visual Studio solution as your BizTalk project. A sample code for generating a response message looks like this.

Copy Code
namespace IdocReceiveResponseMessageCreator
{
    public class IdocReceiveResponseMessageCreator
    {
        private static XmlDocument Message;
        private static string XmlFileLocation;
        private static string ResponseDoc;

        public static XmlDocument XMLMessageCreator()
        {
            XmlFileLocation = "C:\\test\\in";
            try
            {
                ResponseDoc = (Directory.GetFiles(XmlFileLocation, "*.xml", SearchOption.TopDirectoryOnly))[0];
            }
            catch (Exception ex)
            {
                Console.WriteLine("Trying to get XML from: " + XmlFileLocation);
                Console.WriteLine("EXCEPTION: " + ex.ToString());
                throw ex;
            }
            //Create Message From XML
            Message = new XmlDocument();
            Message.PreserveWhitespace = true;
            Message.Load(ResponseDoc);
            return Message;
        }
    }
}
Note
After you build the project, IdocReceiveResponseMessageCreator.dll will be created in the project directory. You must add this DLL to the global assembly cache (GAC).

Add the following expression to invoke this code from the Message Assignment shape and to set the action for the response sent to the SAP system. To add an expression, double-click the Message Assignment shape to open the Expression Editor.

Copy Code
Response = IdocReceiveResponseMessageCreator.IdocReceiveResponseMessageCreator.XMLMessageCreator();
Response(WCF.Action)= "http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS03//620/Receive/response";

Important
You must explicitly set the action on the response message. If you do not set the action, WCF-Custom adapter arrives at the action message by appending “Response” to the request action. So, the action for the response message becomes http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS03//620/ReceiveResponse. However, the sapBinding expects the response action by appending “/response” to the request action, for example http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS03//620/Receive/response.

Adding Ports

Make sure you specify the following properties for the logical port. The name listed in the Port column is the name of the port as displayed in the orchestration.

Port Properties

ReceiveIDOCPort

  • Set Identifier to ReceiveIDOCPort

  • Set Type to ReceiveIDOCPortType

  • Set Communication Pattern to Request-Response

  • Set Communication Direction to Receive-Send

GetIDOCPort

  • Set Identifier to GetIDOCPort

  • Set Type to GetIDOCPortType

  • Set Communication Pattern to One-Way

  • Set Communication Direction to Send

Important
If the orchestration includes a two-way receive port (request-response) to receive IDOCs from the SAP system, the orchestration must send a response back to the SAP system. If not, the SAP system does not send the next IDOC.

Adding a Flat File Assembler

You must add an assembler to convert the incoming IDOC message to a flat file.

To add a flat file assembler

  1. Right-click the BizTalk project, point to Add, and select New Item.

  2. From the dialog box, do the following:

    Use this To do this

    Categories

    Pipeline Files

    Visual Studio installed templates

    Send Pipeline

    Name

    SendIDOC

  3. This opens the Pipeline Designer. From the BizTalk Pipeline Components toolbox, drag the Flat file assembler pipeline component into the Assemble stage of the send pipeline.

  4. From the Pipeline Component Properties view, specify a value for the Document Schema property. From the drop-down make sure you select the schema corresponding to the IDOC receive operation.

Specify Messages for Action Shapes and Connect to Ports

The following table specifies the properties and their values to be set to specify messages for action shapes and linking them to the ports. The names listed in the Shape column are the names of the message shapes as displayed in the orchestration above.

Shape Properties

ListenToSAP

  • Set Message to Request

  • Set Operation to ReceiveIDOCPort.ReceiveIDOC.Request

SaveIDOC

  • Set Message to Request

  • Set Operation to GetIDOCPort.ReceiveIDOC.Request

SendResponse

  • Set Message to Response

  • Set Operation to ReceiveIDOCPort.ReceiveIDOC.Response

After you have specified these properties, the message shapes and ports are connected and your orchestration is complete.

You must now build the BizTalk solution and deploy it to a BizTalk Server. For more information, see "Building and Running Orchestrations" at http://go.microsoft.com/fwlink/?LinkId=102359.

Configuring the BizTalk Application

After you have deployed the BizTalk project, the orchestration you created earlier is listed under the Orchestrations pane in the BizTalk Server Administration console. You must use the BizTalk Server Administration console to configure the application. For more information about configuring an application, see "How to Configure an Application" athttp://go.microsoft.com/fwlink/?LinkId=102360.

Configuring an application involves:

  • Selecting a host for the application.

  • Mapping the ports that you created in your orchestration to physical ports in the BizTalk Server Administration console. For this orchestration you must:

    • Define send locations and physical send port. This location will contain the IDOCs coming from the SAP system.

      Important
      For the XMLTransmit pipeline, make sure you select SendIDOC. You created this pipeline as part of the BizTalk project.

    • Define a WCF-Custom or WCF-SAP receive port. This port will receive an inbound IDOC from the SAP system and pass it on to the orchestration. This port also sends the response to the SAP system. For information about how to create ports, see Manually Configuring a Physical Port Binding to the SAP Adapter.

      Important
      Make sure the binding property ReceiveIDocFormat is set to Typed.

      Important
      If the binding property EnableBizTalkCompatibilityMode is set to true, make sure you add the BizTalk property schema DLL for the SAP adapter as a resource in your BizTalk application, that is, the application in which your project is deployed. For instructions on adding resources see Troubleshooting Operational Issues.

      Note
      Generating the schema using the Consume Adapter Service BizTalk Project Add-in also creates a binding file containing information about the ports and the actions to be set for those ports. You can import this binding file from the BizTalk Administration Console to create send ports (for outbound calls) or receive ports (for inbound calls). For more information, see Configuring a Physical Port Binding Using a Port Binding File.

You must also add the assembly for the IdocReceiveResponseMessageCreator project to your BizTalk application. You created this project to generate the response to be sent to the SAP system. To do so:

  1. In the console tree on the left side of the BizTalk Server Administration console, under the BizTalk application where you imported the bindings, right-click Resources, point to Add and then click BizTalk Assemblies.

  2. In the Add Resources dialog box, Click Add and navigate to the folder containing IdocReceiveResponseMessageCreator.dll. Select the file and then click Open.

  3. In the Add Resources dialog box, click OK.

Starting the Application

You must start the BizTalk application for receiving an IDOC from the SAP system. For instructions on starting a BizTalk application, see "How to Start an Orchestration" at http://go.microsoft.com/fwlink/?LinkId=102387.

At this stage, make sure:

  • The FILE send port to save the incoming IDOC to a file location is running

  • The WCF-Custom or WCF-SAP receive port to receive IDOCs from the SAP system is running.

  • The BizTalk orchestration for the operation is running.

Executing the Operation

After you run the application, you must go the SAP system and send an IDOC into the adapter. The adapter receives the IDOC and saves it to a file location specified as part of the orchestration.

Possible Exceptions

For information about the exceptions you might encounter while receiving an IDOC from an SAP system using BizTalk Server, see Exceptions and Error Handling.

Best Practices

After you have deployed and configured the BizTalk project, you can export configuration settings to an XML file called the bindings file. Once you generate a bindings file, you can import the configuration settings from the file so that you do not need to create the send ports, receive ports, etc. for the same orchestration. For more information about binding files, see Reusing Adapter Bindings.

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Receiving IDOCs from SAP in a Transactional Context by Using BizTalk Server

Receiving IDOC in a transactional context is similar to receiving tRFCs in a transactional context. In such a case, the IDOC received from the SAP system contains a TID as part of the <TransactionalRfcOperationIdentifier> element. This TID is persisted in a SQL database by the adapter. If the ABAP code in the SAP system that sends the IDOC has a "COMMIT WORK" statement, the TID is deleted from the SQL database after a response is sent back to the SAP system.

The orchestration required to receive an IDOC is similar irrespective of whether the IDOC is received in a transactional context or not. See Receiving IDOCs from SAP by Using BizTalk Server. However, you need to perform certain additional tasks to make sure the IDOCs are received in a transactional context.

  1. At design time, generate the schema for an IDOC that you want to receive.

  2. At run time, make sure you set the binding property TidDatabaseConnectionString. This property takes the connection string to connect to a SQL database to store the TID. A sample connection string would look like:

    Copy Code
    Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;

    For more information about the binding property and how to set it, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Important
    The BizTalk Adapter Pack setup wizard installs a SQL script, SapAdapter-DbScript-Install.sql, which must be run by the SQL Server administrator to create a database and the database objects in SQL Server. The script is typically installed at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack.

    The SAP adapter uses these objects to persist the TIDs. So, the SQL Server administrator must ensure that the user name provide as part of the connection string has sufficient privileges to execute the stored procedures. You can also opt for Windows authentication provided the Windows user has sufficient permissions to execute stored procedures in the database.

  3. Make sure MSDTC is enabled on the computer where the adapter is installed. Perform the following steps to enable MSDTC.

    1. Start the Component Services MMC snap-in.

    2. In the Component Services MMC snap-in, from the left pane expand Component Services, expand Computers, right-click My Computer, and click Properties.

    3. In the My Computer Properties dialog box, click the MSDTC tab.

    4. In the Transaction Configuration section, click the Security Configuration button.

    5. In the Security Configuration dialog box, select the Network DTC Access check box and within that, select the Allow Remote Clients check box.

    6. In the Transaction Manager Communication section, select the Allow Inbound and Allow Outbound check boxes.

    7. In the Security Configuration dialog box, click OK.

    8. Click Yes in the dialog box informing that the MSDTC service will be restarted. After the MSDTC service is restarted, click OK on the dialog box.

    9. In the My Computer Properties dialog box, click OK.

  4. Add MSDTC to the Windows Firewall exception list, if not already added. Run the following command.

    Copy Code
    netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable

See Also

Other Resources

Developing BizTalk Applications

© 2014 Microsoft Corporation. All rights reserved.


Developing Applications by Using the WCF Service Model

At the lowest level, the Windows Communication Foundation (WCF) presents a programming model in which clients invoke operations on a service by exchanging SOAP messages over a channel established between client and service endpoints. This model, known as the WCF channel model, exposes data types and methods that enable you to operate directly on the WCF channel architecture. The WCF channel model provides you with direct control over the contents of the SOAP messages you create and over the way both your application and the SAP adapter consume them; however, creating well-formed SOAP messages to send over a channel and validating the reply messages returned can be a detailed and exacting task.

For this reason, WCF provides another programming model called the WCF service model. The WCF service model involves the use of proxy classes to invoke operations on a target service or to receive operations from a client.

  • The proxy class used to invoke operations on a target service is called a WCF client class. This class models the operations exposed by a service as .NET methods with strongly-typed parameters. By using the WCF service model, you can invoke the operations exposed by the SAP adapter as .NET methods on the WCF client. For more information about WCF clients, see "WCF Client Overview" at http://go.microsoft.com/fwlink/?LinkId=91458.

  • The proxy class used to receive an operation from a client is called a WCF service contract class. This class models an operation exposed by your code as a callback method with strongly-typed parameters. You can then host an instance of this class in a System.ServiceModel.ServiceHost to enable a client to invoke the operation on your code. By using the WCF service model and a WCF service contract class targeted to the POLLINGSTMT operation, you can receive the results of a polling query from the SAP adapter.

You use tools to generate a WCF client class or a WCF service contract and associated helper code from the service metadata that the SAP adapter exposes. You can use either of the following tools:

  • The ServiceModel Metadata Utility Tool (svcutil.exe), which ships with WCF

  • The Add Adapter Service Reference Visual Studio Plug-in, which ships with the SAP adapter

The Add Adapter Service Reference Plug-in is integrated with the Visual Studio design experience and presents a standard Microsoft Windows interface that provides powerful browsing and searching capabilities on operations exposed by the adapter. For more information about how to generate a WCF client or a WCF service contract class, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

Because it presents a model that is familiar to .NET programmers and that hides the underlying complexities of SOAP message exchange over a channel, the WCF service model is often the best choice to develop programming solutions for the SAP adapter. However, there are scenarios in which the WCF channel model might be a better choice; particularly in scenarios in which streaming is important. This is because serializing and de-serializing between the XML representation of objects in a SOAP message and the .NET types used to represent them in the service model involves reading the entire message into memory. For more information about using the WCF channel model, see Developing Applications by Using the WCF Channel Model.

The topics in this section contain information, procedures, and examples to help you create and use the WCF service model to develop applications by using the SAP adapter.

In This Section

  • Overview of Using the WCF Service Model with the Adapter

  • Metadata and the WCF Service Model

  • Generating a WCF Client or a WCF Service Contract for SAP Artifacts

  • Specifying a Client Binding for the SAP System

  • Invoking RFCs by Using the WCF Service Model

  • Receiving Inbound RFC Calls by Using the WCF Service Model

  • Invoking tRFCs by Using the WCF Service Model

  • Receiving Inbound tRFC Calls by Using the WCF Service Model

  • Invoking BAPIs by Using the WCF Service Model

  • Sending IDOCs to SAP by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Overview of Using the WCF Service Model with the Adapter

When you consume operations that the Microsoft BizTalk Adapter for mySAP Business Suite surfaces, your code acts either as a client or a service to the adapter.

Your code acts as a client to invoke the following kinds of operations on the SAP system:

  • Invoke a Remote Function Call (RFC).

  • Invoke a Transactional Remote Function Call (tRFC).

  • Invoke a Business Application Programming Interface (BAPI).

  • Send an Intermediate Document (IDOC)

Your code acts as a service to receive the following kinds of operations:

  • Receive an RFC (RFC server)

  • Receive a tRFC (tRFC server)

  • Receive an IDOC.

Note
Because BAPIs are methods exposed by the SAP system on business objects located in the Business Object Repository (BOR), you cannot receive BAPIs.

In the Windows Communication Foundation (WCF) service model, the service contract that exists between a client and a service is represented as a .NET interface, and operations are represented as methods on this interface. The SAP adapter and WCF provide tools that enable you to generate this interface for targeted operations from the metadata that the adapter exposes. These tools also create a WCF client class that can be used to invoke the operations exposed in the service interface. A client application can call the methods of the WCF client class to invoke operations on the adapter. To implement a service to receive operations from the SAP adapter, you implement the interface generated for the target operation.

The following sections explain how to use the WCF service model to create client and service code for the SAP adapter.

Creating a WCF Client and Invoking Operations on SAP

To use the WCF service model to invoke operations on the SAP adapter, you must first generate a WCF client class for the target operations. You can then create an instance of this class, a WCF client, and call its methods to perform operations on the SAP system.

To invoke operations on the SAP adapter

  1. Generate a WCF client class and helper code. Use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a WCF client class targeted at the SAP system artifacts with which you want to work. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  2. Create a WCF client instance by specifying a client binding. Specifying a client binding involves specifying the binding and endpoint address that the WCF client will use. You can do this either imperatively in code or declaratively in configuration. For more information about how to specify a client binding, see Specifying a Client Binding for the SAP System. The following code creates a WCF client that can be used to invoke an RFC on the SAP system. It also sets the credentials for the SAP system. The WCF client is initialized from configuration.

    Copy Code
    RfcClient rfcClient = new RfcClient("SAPBinding_Rfc");

rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
rfcClient.ClientCredentials.UserName.Password = "YourPassword";

  3. Open the WCF client.

    Copy Code
    rfcClient.Open();

  4. Invoke methods on the WCF client created in step 2 to perform operations on the SAP system. The following code invokes the SD_RFC_CUSTOMER_GET method of the WCF client to invoke the RFC on the SAP system.

    Copy Code
    microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[] customers =
    new microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[0];

rfcClient.SD_RFC_CUSTOMER_GET(string.Empty, "AB*", ref customers);

  5. Close the WCF client.

    Copy Code
    rfcClient.Close();

Creating and Implementing a WCF Service by Using the SAP Adapter

To use the WCF service model to receive operations from the SAP adapter, you must first generate the .NET interface (also called the WCF service contract) that represents the service contract exposed by the SAP adapter for the operation. For more information about how to do this, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

You then implement a WCF service by implementing the generated interface. This class contains the business logic to process the operation and return a response to the adapter. Then you use a service host (System.ServiceModel.ServiceHost) to host an instance of this service.

To create and implement a WCF service

  1. Generate a WCF service contract and helper classes. Use the Add Adapter Service Reference Plug-in or svcutil.exe to generate a WCF service contract (interface) targeted at the SAP system artifacts with which you want to work. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  2. Implement a WCF service from the interface and helper classes generated in step 1. If an error is encountered processing the data for the operation, the method that handles that operation can throw an exception to return a fault to the SAP system; otherwise the method must return an instance of the appropriate (generated) response class for the operation. You must attribute the WCF service class as follows:

    Copy Code
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
    1. If you used the Add Adapter Service Reference Plug-in to generate the interface, you can implement your logic directly in the appropriate method in the generated SAPBindingService class. This class can be found in SAPBindingService.cs. The following code sub-classes the SAPBindingService class.

      Copy Code
      [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,UseSynchronizationContext = false)]
class RfcServerClass : SAPBindingNamespace.SAPBindingService
{
    public override Z_RFC_MKD_ADDResponse Z_RFC_MKD_ADD(Z_RFC_MKD_ADDRequest request)
    {
        // If either parameter is null throw an exception
        if (request.X == null || request.Y == null)
            throw new System.ArgumentNullException();

        // Add the two operands
        int result = (int) (request.X + request.Y);

        return new Z_RFC_MKD_ADDResponse(result);
    }
}
    2. If you used svcutil.exe to generate the interface, you must create a class that implements the interface and implement your logic in the appropriatemethod of this class.

  3. Create an instance of the WCF service created in step 2.

    Copy Code
    // create service instance
RfcServerClass rfcServerInstance = new RfcServerClass();

  4. Create an instance of System.ServiceModel.ServiceHost by using the WCF service and a base connection URI. The base connection URI cannot contain userinfoparams or a query_string.

    Copy Code
    // Enable service host
Uri[] baseUri = new Uri[] { new Uri("sap://a/YourSAPHost/00") };
ServiceHost srvHost = new ServiceHost(pollingInstance, baseUri);

  5. Create an SAPBinding and configure it for the operation by setting its binding properties. You can do this either explicitly in code or declaratively in configuration. At a minimum, you must set AcceptCredentialsInUri to true.

    Copy Code
    // Create and configure a binding for the service endpoint. NOTE: binding
// parameters are set here for clarity, but these are already set in the
// the generated configuration file
SAPBinding binding = new SAPBinding();

// The credentials are included in the connection URI, so set this property to true
binding.AcceptCredentialsInUri = true;

  6. Add a service endpoint to the service host. To do this:

    • Use the binding created in step 5.

    • Specify a connection URI that contains credentials and specifies a listener connection (SAP gateway, gateway service and program ID) in the query_string. For more information about the SAP connection URI, see The SAP System Connection URI.

    • Specify the service contract. This is the name of the interface that represents the WCF service contract. For RFCs, it is "Rfc".

    Copy Code
    // Add service endpoint
// NOTE: The contract for the service endpoint is "Rfc".
//       This is the generated WCF service contract (interface) -- see SAPBindingInterface.cs.
Uri serviceUri = new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?ListenerGwServ=SAPGW00&ListenerGwHost=YourSapHost&ListenerProgramId=SAPAdapter");
srvHost.AddServiceEndpoint("Rfc", binding, serviceUri);

  7. To receive the operation from the SAP system, open the service host. Your WCF service will be invoked whenever the SAP system invokes the operation on the program ID and system specified in the service URI in step 6.

    Copy Code
    // Open the service host to begin receiving the operation.
srvHost.Open();

  8. To stop receiving the operation, close the service host.

    Important
    The adapter will continue to receive the operation until the service host is closed. You should always close the service host when you no longer want to receive the operation.

    Copy Code
    srvHost.Close();

See Also

Concepts

Developing Applications by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Metadata and the WCF Service Model

In the WCF service model, you use the Add Adapter Service Reference Visual Studio Plug-in.or the ServiceModel Metadata Utility Tool (svcutile.exe) to generate proxy classes through which your code can either:

  • Invoke operations on the adapter (a WCF client class)

  • Receive operations from the adapter (a WCF service contract)

These tools generate .NET classes that represent a service contract for target operations (as well as the supporting message contracts, operation contracts, and data contracts) from the metadata exposed by the Microsoft BizTalk Adapter for mySAP Business Suite. For help in understanding the structure of this generated code, see "Understanding Generated Client Code" at http://go.microsoft.com/fwlink/?LinkId=98365. This topic specifically describes code that svcutil.exe generates, but its content is also applicable to the code that the Add Adapter Service Reference Plug-in generates. For information about how to generate a WCF client class or WCF service contract (interface) for target operations and about the differences between svcutil.exe and the Add Adapter Service Reference Plug-in, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

See Also

Concepts

Developing Applications by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Generating a WCF Client or a WCF Service Contract for SAP Artifacts

You can use the Add Adapter Service Reference Visual Studio Plug-in to generate a WCF client class or a WCF service contract (interface) targeted at selected operations on SAP artifacts. You can also use the ServiceModel Metadata Utility Tool (svcutil.exe) to generate the WCF client class or WCF service contract; however, the Add Adapter Service Reference Plug-in exposes the functionality of the ServiceModel Metadata Utility Tool through a standard Microsoft Windows interface. It also provides browse and search capabilities that are not available with the svcutil.exe tool, and generates a configuration file based on the binding properties that you select when you connect to the SAP system.

Generating a Client Class by Using the Add Adapter Service Reference Plug-in

Perform the following steps to generate a WCF client class by using the Add Adapter Service Reference Plug-in.

To generate a WCF client class

  1. In Visual Studio Solution Explorer, right-click your project, and then click Add Adapter Service Reference.

  2. After the Add Adapter Service Reference dialog box opens, follow the steps in Retrieving Metadata for SAP Operations in Visual Studio to connect to the SAP system and browse and search for operations. To create a WCF client class for the operations that you select, be sure that Client (Outbound operations) is selected from the Select contract type drop-down list (this is the default).

  3. After you select all of the operations that you want to target, click OK to generate the WCF client class.

The Add Adapter Service Reference Plug-in adds two files to your project:

  • SAPBindingClient.cs. This file contains the generated WCF client class and helper code for the operations that you selected.

  • App.config. This file contains a binding configuration and client endpoint configurations. The settings are based on the selections you made when you configured the binding and connection for the Add Adapter Service Reference Plug-in.

    Important
    While using the Add Adapter Service Reference Plug-in, if you do not specify a value for a binding property of type string and whose default value is null then that binding property will not be available in the app.config file. You must manually add the binding property and its value in the app.config file, if required.

Generating a WCF Service Contract by Using the Add Adapter Service Reference Plug-in

When you use the SAP adapter to receive IDOCs, RFCs, and tRFCs from the SAP system, your code acts as a service to the adapter. That is, the adapter receives the appropriate artifact from the SAP system and then invokes an (inbound) operation on your code to deliver the artifact to your application.

You must, therefore, implement a WCF service that can receive this inbound operation from the adapter. To do this, you use the Add Adapter Service Reference Plug-in to generate a .NET interface that represents the service contract that is surfaced by the adapter for the operation. This .NET interface is also called a WCF service contract. The Add Adapter Service Reference Plug-in also generates a class that contains a stubbed implementation of the WCF service. You then implement this interface to create the WCF service that you can use to receive the operation.

Perform the following steps to generate a WCF service contract by using the Add Adapter Service Reference Plug-in.

To generate a WCF service contract

  1. In Visual Studio Solution Explorer, right-click your project, and then click Add Adapter Service Reference.

  2. After the Add Adapter Service Reference dialog box opens, follow the steps in Retrieving Metadata for SAP Operations in Visual Studio to connect to the SAP system and browse and search for operations. To create a WCF service contract for the operations that you select, be sure that Service (Inbound operations) is selected from the Select contract type drop-down list.

  3. After you select all of the operations that you want to target, click OK to generate the WCF service contract.

The Add Adapter Service Reference Plug-in adds three files to your project:

  • SAPBindingInterface.cs. This file contains the generated WCF service contract (interface) and helper code for the operations that you selected.

  • SAPBindingService.cs. This file contains a stubbed WCF service class that implements the interface defined in SAPBindingInterface.cs. You can implement the business logic that processes the RFC, tRFC or IDOC directly in the methods of this class.

  • App.config. This file contains a binding configuration, endpoint behaviors, and service endpoint configuration that are based on the selections you made when you configured the binding and connection for the Add Adapter Service Reference Plug-in.

    Important
    While using the Add Adapter Service Reference Plug-in, if you do not specify a value for a binding property of type string and whose default value is null then that binding property will not be available in the app.config file. You must manually add the binding property and its value in the app.config file, if required.

Note
You do not have to specify RFC Server parameters when you configure the connection URI for the Add Adapter Service Reference Plug-in to generate the WCF service contract. The SAP adapter retrieves metadata from the SAP system through a client connection.

Generate a WCF Client Class or a WCF Service Contract by Using svcutil.exe

You can use svcutil.exe to generate a WCF client class or a WCF service contract for your application. You must configure svcutil.exe to use it with the SAP adapter. For more information about configuring and using svcutil.exe with the SAP adapter, see Using the ServiceModel Metadata Utility Tool with the BizTalk Adapter for mySAP Business Suite.

Svcutil.exe generates the WCF client class or WCF service contract in an output file. The default file name is output.cs. You must manually include this file in your Visual Studio project.

See Also

Concepts

Developing Applications by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Specifying a Client Binding for the SAP System

After you have generated the WCF client class, you can create a WCF client (instance) and invoke its methods to consume the Microsoft BizTalk Adapter for mySAP Business Suite. For information about how to generate the WCF client class and helper code for operations that the SAP adapter exposes, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

To create the WCF client, you must specify an endpoint address and a binding. The endpoint address must contain a valid SAP connection URI, and the binding must be an instance of an SAP Binding (SAPBinding). For more information about the SAP connection URI, see The SAP System Connection URI.

You can specify the SAP Binding and the endpoint address in your code or in a configuration file. When you use the Add Adapter Service Reference Visual Studio Plug-in to generate the WCF client class, a configuration file (app.config) is also created for your project. This file contains configuration settings that reflect the binding properties and connection information (except credentials) that you specified when you connected to the SAP system with the Add Adapter Service Reference Plug-in.

Specifying the Binding and Endpoint Address in Code

The following code shows how to create a WCF client by specifying the binding and endpoint address in code. It is good practice to specify the SAP system credentials by using the ClientCredentials property of the WCF client rather than in the connection URI supplied for the endpoint address.

Copy Code
// A WCF client that targets an RFC is created
// by using a binding object and endpoint address
SAPBinding sapBinding = new SAPBinding();
EndpointAddress sapAddress = new EndpointAddress("sap://CLIENT=800;LANG=EN;@a/YourSAPHost/00");

RfcClient rfcClient = new RfcClient(sapBinding, sapAddress);

rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
rfcClient.ClientCredentials.UserName.Password = "YourPassword";

rfcClient.Open();

Specifying the Binding and Endpoint Address in a Configuration File

The following code shows how to create a WCF client by specifying the binding and endpoint address in an app.config file.

Copy Code
// A WCF client that targets an RFC is created
// by specifying the client endpoint information in app.config
RfcClient rfcClient = new RfcClient("SAPBinding_Rfc");

rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
rfcClient.ClientCredentials.UserName.Password = "YourPassword";

rfcClient.Open();

The following XML shows the configuration file created for the EMP table by the Add Adapter Service Reference Plug-in. This file contains the client endpoint configuration referenced in the preceding example.

Copy Code
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <system.serviceModel>
        <bindings>
            <sapBinding>
                <binding name="SAPBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" receiveIdocFormat="Typed"
                    generateFlatFileCompatibleIdocSchema="true" maxConnectionsPerSystem="50"
                    enableConnectionPooling="true" idleConnectionTimeout="00:15:00"
                    flatFileSegmentIndicator="SegmentDefinition" enablePerformanceCounters="false"
                    autoConfirmSentIdocs="false"
                    acceptCredentialsInUri="false" padReceivedIdocWithSpaces="false"
                    enableBizTalkCompatibilityMode="false" />
            </sapBinding>
        </bindings>
        <client>
            <endpoint address="sap://CLIENT=800;LANG=EN;@a/YourSAPHost/00?RfcSdkTrace=False&amp;AbapDebug=False&amp;UseSapGui=Without"
                binding="sapBinding" bindingConfiguration="SAPBinding" contract="Rfc"
                name="SAPBinding_Rfc" />
        </client>
    </system.serviceModel>
</configuration>

If a project has more than one WCF client, there will be multiple client endpoint entries defined in the configuration file. Each WCF client entry will have a unique name based on its binding configuration and target SAP system artifacts (such as Rfc and Trfc); for example, "SAPBinding_Rfc". If you connect multiple times to create the WCF clients in your project, multiple binding configuration entries will be created, one for each connection. These binding configuration entries will be named in the following manner: SAPBinding1, SAPBinding2, and so on. Each client endpoint entry created during a specific connection will reference the binding entry created during that connection.

Important
The SAP adapter surfaces different SAP artifacts of the same type (such as RFC, TRFC, and IDOC) as different operations of the same service contract. For example, two different RFCs, RFC_EXAMPLE_A and RFC_EXAMPLE_B, will both be surfaced under the same service contract ("Rfc"). This means that both RFCs will be invoked by the same WCF client class, RfcClient, and that the parameters for both RFCs will be declared in the same namespace. Therefore, you must generate the WCF client for both RFCs during the same Add Adapter Service Reference Plug-in session (connection) to avoid experiencing a namespace collision when you build your solution.

See Also

Concepts

Developing Applications by Using the WCF Service Model
Generating a WCF Client or a WCF Service Contract for SAP Artifacts
The SAP System Connection URI

© 2014 Microsoft Corporation. All rights reserved.


Invoking RFCs by Using the WCF Service Model

The Microsoft BizTalk Adapter for mySAP Business Suite surfaces RFCs on the SAP system as operations that can be invoked by a client program. In the WCF service model, these operations are invoked as methods of a generated WCF client class. You can use the Add Adapter Service Reference Visual Studio Plug-in to generate a WCF client class that contains methods for each RFC that you want to invoke in your code. The Add Adapter Service Reference Plug-in also generates .NET types to encapsulate the parameters and data types that are used by each RFC. You can then create an instance of this WCF client class and call its methods to invoke the target RFCs.

The following sections show you how to invoke RFCs on the SAP system by using the SAP adapter.

The WCF Client Class

The SAP adapter surfaces all RFC operations under a single service contract, "Rfc". This means that a single WCF client class, RfcClient, is created for all of the RFC operations that you want to invoke. Each target RFC is represented as a method of this class. In each method:

  • SAP export parameters are surfaced as out parameters

  • SAP changing parameters are surfaced as ref parameters.

  • Complex SAP types such as structures are surfaced as .NET classes with properties that correspond to the fields of the SAP type. These classes are defined in the following namespace: microsoft.lobservices.sap._2007._03.Types.Rfc.

The following code shows part of the RfcClient class and the method that invokes SD_RFC_CUSTOMER_GET on the SAP system.

Copy Code
 [System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class RfcClient : System.ServiceModel.ClientBase<Rfc>, Rfc {

    ...

    /// <summary>The metadata for this RFC was generated using the RFC SDK.</summary>
    /// <param name="KUNNR">Customer number</param>
    /// <param name="NAME1">Name of the customer</param>
    /// <param name="CUSTOMER_T">Table of the selected customers</param>
    /// <returns></returns>
    public void SD_RFC_CUSTOMER_GET(string KUNNR, string NAME1, ref microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[] CUSTOMER_T) {...}
}

How to Create an RFC Client Application

To create an RFC client application, perform the following steps.

To create an RFC client application

  1. Generate an RfcClient class. Use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate an RfcClient class that targets the RFCs with which you want to work. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  2. Create an instance of the RfcClient class generated in step 1, and specify a client binding. Specifying a client binding involves specifying the binding and endpoint address that the RfcClient will use. You can do this either imperatively in code or declaratively in configuration. For more information about how to specify a client binding, see Specifying a Client Binding for the SAP System. The following code initializes the RfcClient from configuration and sets the credentials for the SAP system.

    Copy Code
    RfcClient rfcClient = new RfcClient("SAPBinding_Rfc");

rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
rfcClient.ClientCredentials.UserName.Password = "YourPassword";

  3. Open the WCF client.

    Copy Code
    rfcClient.Open();

  4. Invoke methods on the RfcClient created in step 2 to perform operations on the SAP system. The following code invokes the SD_RFC_CUSTOMER_GET method of the RfcClient to invoke the RFC on the SAP system.

    Copy Code
    microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[] customers =
    new microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[0];

rfcClient.SD_RFC_CUSTOMER_GET(string.Empty, "AB*", ref customers);

  5. Close the WCF client.

    Copy Code
    rfcClient.Close();

Example

The following is a complete code example that invokes SD_RFC_CUSTOMER_GET to return a list of customers with names that begin with "AB" and then writes the name and ID for each customer to the console. This example creates the RfcClient inside a using statement. There is no need to explicitly close the RfcClient; it will be closed when the execution path exits the context.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using System.ServiceModel;
using Microsoft.ServiceModel.Channels;
using Microsoft.Adapters.SAP;

namespace SapRfcClientSM
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Create client from configuration
                using (RfcClient rfcClient = new RfcClient("SAPBinding_Rfc"))
                {

                    rfcClient.ClientCredentials.UserName.UserName = "YourUserName";
                    rfcClient.ClientCredentials.UserName.Password = "YourPassword";

                    // Open client
                    rfcClient.Open();

                    microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[] customers = new microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST[0];

                    // Invoke SD_RFC_CUSTOMER_GET
                    rfcClient.SD_RFC_CUSTOMER_GET(string.Empty, "AB*", ref customers);

                    // Write the results to the console
                    foreach (microsoft.lobservices.sap._2007._03.Types.Rfc.RFCCUST customer in customers)
                    {
                        Console.WriteLine("Customer Name = " + customer.NAME1);
                        Console.WriteLine("         Id   = " + customer.KUNNR);
                        Console.WriteLine();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.InnerException != null)
                    Console.WriteLine("Inner exception is :" + ex.InnerException);
            }
        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model
Message Schemas for RFC Operations

© 2014 Microsoft Corporation. All rights reserved.


Receiving Inbound RFC Calls by Using the WCF Service Model

The Microsoft BizTalk Adapter for mySAP Business Suite can act as an RFC server to receive RFCs invoked by a SAP system.

To receive the inbound RFCs in the WCF service model, you must:

  • Ensure that an RFC destination exists on the SAP system.

  • Ensure that the RFC is defined on the SAP system.

  • Generate a WCF service contract (interface) for the RFC operation from the metadata exposed by the adapter. To do this, you use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe).

  • Implement a WCF service from this interface. The methods of the WCF service contain the logic necessary to process the RFC and return a response to the adapter (and hence the SAP system).

  • Host this WCF service using a service host (System.ServiceModel.ServiceHost).

The following sections show you how to receive RFCs from the SAP system by using the SAP adapter.

How to Set up the SAP System to Send an RFC to the SAP Adapter

Before you can send an RFC from the SAP system to the SAP adapter, you must ensure that the following are true on the SAP system:

  • An RFC destination for the SAP adapter must exist. The SAP adapter registers itself with an RFC destination to receive RFCs from the SAP system. You supply parameters in the SAP connection URI such as the SAP Gateway Host, the SAP Gateway Service, and the SAP Program ID that the adapter uses to register itself. For information about how to create an RFC destination, see Creating an RFC Destination in an SAP System.

  • The RFC must be defined on the SAP system. You must create a function module that defines the RFC on the SAP system. The SAP adapter uses the RFC definition on the SAP system to retrieve metadata about the RFC (both at design time and at run time). For more information see Creating an RFC in an SAP System.

    Note
    You must define the RFC on the SAP system; however you implement the RFC in your adapter client code. The RFC must be defined on the SAP system so that the adapter can retrieve metadata for the RFC.

The following is an example of the source code on the SAP system for an RFC that adds two integers and returns their result. The code merely calls the RFC through a specified destination. The implementation of the function is done by the SAP adapter client code.

Copy Code
FUNCTION Z_RFC_SAMPLE_ADD.
*"---------------------------------------------------------------------*"*"Local interface:
*"  IMPORTING
*"     VALUE(X) TYPE  INT4
*"     VALUE(Y) TYPE  INT4
*"     VALUE(DEST) TYPE  CHAR20 DEFAULT 'SAPADAPTER'
*"  EXPORTING
*"     VALUE(RESULT) TYPE  INT4
*"---------------------------------------------------------------------CALL FUNCTION 'Z_RFC_MKD_ADD' DESTINATION DEST
  EXPORTING X = X
            Y = Y
  IMPORTING RESULT = RESULT.

ENDFUNCTION.

The WCF Service Contract for an RFC

You use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a WCF service contract for the RFCs that you want to receive from the SAP system. The following sections show the managed code classes and interfaces generated for the Z_RFC_MKD_ADD operation.

The Rfc Interface (WCF service contract)

The SAP adapter surfaces all RFC operations under a single service contract, "Rfc". This means that a single interface, Rfc, is created for all of the RFC operations that you want to receive. Each target RFC operation is represented as a method of this interface. Each method takes a single parameter, which represents the message contract for the request message of the operation, and returns an object, which represents the message contract of the response message of the operation.

Copy Code
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://Microsoft.LobServices.Sap/2007/03/", ConfigurationName="Rfc")]
public interface Rfc {

    // CODEGEN: Generating message contract since the wrapper namespace (http://Microsoft.LobServices.Sap/2007/03/Rfc/) of message Z_RFC_MKD_ADDRequest does not match the default value (http://Microsoft.LobServices.Sap/2007/03/)
    [System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_ADD", ReplyAction="http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_ADD/response")]
    Z_RFC_MKD_ADDResponse Z_RFC_MKD_ADD(Z_RFC_MKD_ADDRequest request);
}

The Request and Response Messages

Each RFC operation takes a parameter that represents the request message and returns an object that represents the response message. The properties of the request message contain the IMPORT and (input) CHANGING parameters of the RFC. The properties of the response message contain the EXPORT and (output) CHANGING parameters for the operation.

Copy Code
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName="Z_RFC_MKD_ADD", WrapperNamespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", IsWrapped=true)]
public partial class Z_RFC_MKD_ADDRequest {

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", Order=0)]
    public string DEST;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", Order=1)]
    public System.Nullable<int> X;

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", Order=2)]
    public System.Nullable<int> Y;

    public Z_RFC_MKD_ADDRequest() {
    }

    public Z_RFC_MKD_ADDRequest(string DEST, System.Nullable<int> X, System.Nullable<int> Y) {
        this.DEST = DEST;
        this.X = X;
        this.Y = Y;
    }
}

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName="Z_RFC_MKD_ADDResponse", WrapperNamespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", IsWrapped=true)]
public partial class Z_RFC_MKD_ADDResponse {

    [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://Microsoft.LobServices.Sap/2007/03/Rfc/", Order=0)]
    public int RESULT;

    public Z_RFC_MKD_ADDResponse() {
    }

    public Z_RFC_MKD_ADDResponse(int RESULT) {
        this.RESULT = RESULT;
    }
}

The Generated WCF Service

The Add Adapter Service Reference Plug-in also generates a WCF service that implements the WCF service contract (Rfc). The methods of this class are stubbed. This class is generated in a separate file. You can implement your code directly in the methods of this class.

Copy Code
namespace SAPBindingNamespace {

    public class SAPBindingService : Rfc {

        // CODEGEN: Generating message contract since the wrapper namespace (http://Microsoft.LobServices.Sap/2007/03/Rfc/) of message Z_RFC_MKD_ADDRequest does not match the default value (http://Microsoft.LobServices.Sap/2007/03/)
        public virtual Z_RFC_MKD_ADDResponse Z_RFC_MKD_ADD(Z_RFC_MKD_ADDRequest request) {
            throw new System.NotImplementedException("The method or operation is not implemented.");
        }
    }
}

How to Create an RFC Server Application

To receive RFCs from the SAP system by using the WCF service model, you can follow the steps in Overview of Using the WCF Service Model with the Adapter. Be sure to specify 'Rfc' for the service contract when you add the service endpoint (step 6 of the procedure for creating and implementing a WCF service).

The following code shows a complete example of how to receive the Z_RFC_MKD_RFC from an SAP system by using the SAP adapter. This RFC takes two integer parameters and returns the result to the SAP system.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

// Add WCF, WCF LOB Adapter SDK, and SAP adapter namepaces
using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

// Include this namespace for the WCF LOB Adapter SDK and SAP adapter exceptions
using Microsoft.ServiceModel.Channels.Common;

namespace SapRfcServerSM
{
    // Implement a WCF service callback class by sub-classing the generated service callback class (SAPBindingService).
    // You must annotate this class with the InstanceContextMode.Single ServiceBehavior
    // If you implement your code in SAPBindingService.cs be sure to annotate the SAPBindingService class
    // The callback method should return a Z_RFC_MKD_ADDResponse to indicate successful processing
    // or throw an exception to indicate an error.
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,UseSynchronizationContext = false)]
    class RfcServerClass : SAPBindingNamespace.SAPBindingService
    {

        public override Z_RFC_MKD_ADDResponse Z_RFC_MKD_ADD(Z_RFC_MKD_ADDRequest request)
        {
            // If either parameter is null, throw an exception
            if (request.X == null || request.Y == null)
                throw new System.ArgumentNullException();

            int result = (int) (request.X + request.Y);

            Console.WriteLine("\nRfc Received");
            Console.WriteLine("X =\t\t" + request.X.ToString());
            Console.WriteLine("Y =\t\t" + request.Y.ToString());
            Console.WriteLine("Result =\t" + result);
            Console.WriteLine("\nHit <RETURN> to end");

            return new Z_RFC_MKD_ADDResponse(result);
        }

    }

    class Program
    {
        static void Main(string[] args)
        {
            // Listener connection for the service URI -- the connection URI must contain credentials
            Uri serviceUri = new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/ADAPSAP47/00?ListenerGwServ=SAPGW00&ListenerGwHost=ADAPSAP47&ListenerProgramId=ADDER");

            // The baseUri cannot contain userinfoparams or query_string parameters
            Uri[] baseUri = new Uri[] { new Uri("sap://a/ADAPSAP47/00") };

            Console.WriteLine("RFC server sample started");

            // create service instance
            RfcServerClass rfcServerInstance = new RfcServerClass();

            try
            {
                Console.WriteLine("Initializing service host -- please wait");
                // Create and initialize a service host
                using (ServiceHost srvHost = new ServiceHost(rfcServerInstance, baseUri))
                {

                    // Add service endpoint
                    // Specify AcceptCredentalsInUri=true for the binding
                    // NOTE: The contract for the service endpoint is "Rfc".
                    //       This is the generated WCF service callback interface (see SAPBindingInterface.cs).
                    SAPBinding binding = new SAPBinding();
                    binding.AcceptCredentialsInUri = true;
                    srvHost.AddServiceEndpoint("Rfc", binding, serviceUri);
                    srvHost.Open();

                    Console.WriteLine("\nReady to receive Z_RFC_MKD_ADD RFC");
                    Console.WriteLine("Hit <RETURN> to end");

                    // Wait to receive request
                    Console.ReadLine();
                }
            }
            catch (ConnectionException cex)
            {
                Console.WriteLine("Exception occurred connecting to the SAP system");
                Console.WriteLine(cex.InnerException.Message);
            }
            catch (TargetSystemException tex)
            {
                Console.WriteLine("Exception occurred on the SAP system");
                Console.WriteLine(tex.InnerException.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception is: " + ex.InnerException.Message);
                }
            }
        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model
Message Schemas for RFC Operations

© 2014 Microsoft Corporation. All rights reserved.


Invoking tRFCs by Using the WCF Service Model

Transactional Remote Function Calls (tRFCs) guarantee a one-time execution of an RFC on an SAP system. You can invoke any of the RFCs surfaced by the SAP adapter as a tRFC. Invoking a tRFC in the WCF service model is similar to invoking an RFC with the following differences:

  • The SAP adapter surfaces tRFCs under a different node (TRFC) than RFCs (RFC).

  • tRFC client calls do not return values for SAP export and changing parameters.

  • tRFC operations include a GUID parameter that is mapped to the SAP transaction ID (TID) for the tRFC by the SAP adapter.

  • After you invoke a tRFC, you must invoke the RfcConfirmTransID operation to confirm (commit) the tRFC on the SAP system. This operation is surfaced directly under the TRFC node.

For more information about tRFC operations and the RfcConfirmTransID operation, see Operations on tRFCs.

The following sections show you how to invoke tRFCs on the SAP system by using the SAP adapter.

The WCF Client Class

The SAP adapter surfaces all tRFC operations under a single service contract, "Trfc". This means that a single WCF client class, TrfcClient, is created for all of the tRFC operations that you want to invoke. Each target tRFC is represented as a method of this class. For each method:

  • Complex SAP types such as structures are surfaced as .NET classes with properties that correspond to the fields of the SAP type. These classes are defined in the following namespace: microsoft.lobservices.sap._2007._03.Types.Rfc.

The following code shows part of the TrfcClient class and the method that invokes BAPI_SALESORDER_CREATEFROMDAT2 (as a tRFC) on the SAP system. The TransactionalRfcOperationIdentifier parameter contains the GUID that is mapped to the SAP TID. Not all of the parameters to the method are shown.

Copy Code
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class TrfcClient : System.ServiceModel.ClientBase<Trfc>, Trfc {

    ....

    /// <summary>The Metadata for this RFC was generated using the RFC SDK.</summary>
    public void BAPI_SALESORDER_CREATEFROMDAT2(
                string BEHAVE_WHEN_ERROR,
                string BINARY_RELATIONSHIPTYPE,
                string CONVERT,
                string INT_NUMBER_ASSIGNMENT,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDLS LOGIC_SWITCH,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDHD1 ORDER_HEADER_IN,

                …

               microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIADDR1[] PARTNERADDRESSES,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIRET2[] RETURN,
                ref System.Guid TransactionalRfcOperationIdentifier) { ...  }
}

The following code shows the method that is generated for the RfcConfirmTransID operation. You must ensure that this method is generated as part of the TrfcClient. The RfcConfirmTransID operation is surfaced directly under the TRFC node.

Copy Code
    public void RfcConfirmTransID(System.Guid TransactionalRfcOperationIdentifier) {…}

How to Create a tRFC Client Application

The steps to create an application that invokes tRFCs are similar to the steps you follow to invoke RFCs, with the following exceptions:

  • You must retrieve the target operations under the TRFC node.

  • You must retrieve the RfcConfirmTransID operation. This is surfaced directly under the TRFC node.

  • To confirm (commit) a tRFC operation on the SAP system, you must invoke the RfcConfirmTransID operation with the GUID that was returned for that tRFC operation.

To create a tRFC client application

  1. Generate a TrfcClient class. Use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a TrfcClient class that targets the RFCs with which you want to work. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts. Ensure that the RfcConfirmTransID operation is included in the TrfcClient class.

  2. Create an instance of the TrfcClient class generated in step 1 and specify a client binding. Specifying a client binding involves specifying the binding and endpoint address that the TrfcClient will use. You can do this either imperatively in code or declaratively in configuration. For more information about how to specify a client binding, see Specifying a Client Binding for the SAP System. The following code initializes the TrfcClient from configuration and sets the credentials for the SAP system.

    Copy Code
    TrfcClient trfcClient = new TrfcClient("SAPBinding_Rfc");

trfcClient.ClientCredentials.UserName.UserName = "YourUserName";
trfcClient.ClientCredentials.UserName.Password = "YourPassword";

  3. Open the TrfcClient.

    Copy Code
    trfcClient.Open();

  4. Invoke the appropriate method on the TrfcClient created in step 2 to invoke the target tRFC on the SAP system. You can pass a variable that contains a GUID or that contains an empty GUID for the TransactionalRrcOperationIdentifier parameter. If you pass an empty GUID, the SAP adapter generates one for you. The following code invokes BAPI_SALESORDER_CREATEFROMDAT2 as a tRFC on the SAP system (not all parameters to the method are shown). A GUID is specified.

    Copy Code
    transactionalRfcOperationIdentifier = Guid.NewGuid();

//invoke RFC_CUSTOMER_GET as a tRFC
trfcClient.BAPI_SALESORDER_CREATEFROMDAT2(
                                request.BEHAVE_WHEN_ERROR,
                                request.BINARY_RELATIONSHIPTYPE,
                                request.CONVERT,

                                ...

                                ref transactionalRfcOperationIdentifier);

  5. To confirm the TID associated with the tRFC on the SAP system, invoke the RfcConfirmTransID method on the TrfcClient. Specify the GUID returned in step 4 for the TransactionRfcOperationIdentifier parameter.

    Copy Code
    trfcClient.RfcConfirmTransID(transactionalRfcOperationIdentifier);

  6. Close the TrfcClient when you are done using it (after you have finished invoking all tRFCs).

    Copy Code
    trfcClient.Close();

Example

The following example shows how to invoke BAPI_SALESORDER_CREATE as a tRFC.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

// Add WCF, the WCF LOB Adapter SDK, and SAP adapter namepaces
using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

// Include this namespace for WCF LOB Adapter SDK and SAP exceptions
using Microsoft.ServiceModel.Channels.Common;

using microsoft.lobservices.sap._2007._03.Types.Rfc;

// This example demonstrates sending BAPI_SALESORDER_CREATEFROMDAT2 as a tRFC. The client has
// methods to:
//      send the BAPI (BAPI_SALESORDER_CREATEFROMDAT2)and to
//      Confirm the transaction (RfcConfirmTransID)
// An instance of BAPI_SALESORDER_CREATEFROMDAT2Request (generated)
// is used to format the BAPI before invoking BAPI_SALESORDER_CREATEFROMDAT2. This
// is not necessary, but is done to make it easier to read the code.
// tRFC invocations always includes a ref parameter that contains a GUID. You can optionally
// set this parameter when you invoke the method; however, you must use the value returned by
// the adapter when you call RfcConfirmTransID to confirm the transaction on the SAP system.
// You can call the utility method, SAPAdapterUtilities.ConvertGuidToTid, to get the value
// of the SAP transaction Id from the GUID that the adapter returns.
namespace SapTrfcClientSM
{
    class Program
    {
        static void Main(string[] args)
        {
            TrfcClient sapTrfcClient = null;

            try
            {
                Console.WriteLine("SAP TRFC client sample started");
                Console.WriteLine("Creating the TRFC client");
                // Create the SAP Trfc Client from configuration
                sapTrfcClient = new TrfcClient("SAPBinding_Trfc");
                sapTrfcClient.ClientCredentials.UserName.UserName = "YourUserName";
                sapTrfcClient.ClientCredentials.UserName.Password = "YourPassword";

                Console.WriteLine("Opening the TRFC client");
                // Open the Trfc Client
                sapTrfcClient.Open();

                // Create a GUID -- note: this is optional. If you do not pass a GUID,
                // for the TransactionalRfcOperationIdentifier parameter, the SAP adapter will
                // generate one, associate it with the SAP TID, and set the
                // TransactionalRfcOperationIdentifier parameter.
                Guid tidGuid = Guid.NewGuid();

                BAPI_SALESORDER_CREATEFROMDAT2Request request = new BAPI_SALESORDER_CREATEFROMDAT2Request();

                request.ORDER_HEADER_IN = new BAPISDHD1();
                request.ORDER_HEADER_IN.DOC_TYPE = "TA";
                request.ORDER_HEADER_IN.SALES_ORG = "1000";
                request.ORDER_HEADER_IN.DISTR_CHAN = "10";
                request.ORDER_HEADER_IN.DIVISION = "00";
                request.ORDER_HEADER_IN.SALES_OFF = "1000";
                request.ORDER_HEADER_IN.REQ_DATE_H = DateTime.Now;
                request.ORDER_HEADER_IN.PURCH_DATE = DateTime.Now;
                request.ORDER_HEADER_IN.PURCH_NO_C = "Cust PO";
                request.ORDER_HEADER_IN.CURRENCY = "EUR";

                BAPISDITM[] orderItems = new BAPISDITM[1];
                orderItems[0] = new BAPISDITM();
                orderItems[0].MATERIAL = "P-109";
                orderItems[0].PLANT = "1000";
                orderItems[0].TARGET_QU = "ST";
                request.ORDER_ITEMS_IN = orderItems;

                BAPIPARNR[] orderPartners = new BAPIPARNR[1];
                orderPartners[0] = new microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIPARNR();
                orderPartners[0].PARTN_ROLE = "AG";
                orderPartners[0].PARTN_NUMB = "0000001390";
                request.ORDER_PARTNERS = orderPartners;

                // Create a GUID -- note: this is optional. If you do not pass a GUID,
                // for the TransactionalRfcOperationIdentifier parameter, the SAP adapter will
                // generate one, associate it with the SAP TID, and set the
                // TransactionalRfcOperationIdentifier parameter.
                request.TransactionalRfcOperationIdentifier = Guid.NewGuid();

                Console.WriteLine("Invoking BAPI_SALESORDER_CREATEFROMDAT2 as a tRFC");

                //invoke RFC_CUSTOMER_GET as a tRFC
                sapTrfcClient.BAPI_SALESORDER_CREATEFROMDAT2(request.BEHAVE_WHEN_ERROR,
                                                                request.BINARY_RELATIONSHIPTYPE,
                                                                request.CONVERT,
                                                                request.INT_NUMBER_ASSIGNMENT,
                                                                request.LOGIC_SWITCH,
                                                                request.ORDER_HEADER_IN,
                                                                request.ORDER_HEADER_INX,
                                                                request.SALESDOCUMENTIN,
                                                                request.SENDER,
                                                                request.TESTRUN,
                                                                request.EXTENSIONIN,
                                                                request.ORDER_CCARD,
                                                                request.ORDER_CFGS_BLOB,
                                                                request.ORDER_CFGS_INST,
                                                                request.ORDER_CFGS_PART_OF,
                                                                request.ORDER_CFGS_REF,
                                                                request.ORDER_CFGS_REFINST,
                                                                request.ORDER_CFGS_VALUE,
                                                                request.ORDER_CFGS_VK,
                                                                request.ORDER_CONDITIONS_IN,
                                                                request.ORDER_CONDITIONS_INX,
                                                                request.ORDER_ITEMS_IN,
                                                                request.ORDER_ITEMS_INX,
                                                                request.ORDER_KEYS,
                                                                request.ORDER_PARTNERS,
                                                                request.ORDER_SCHEDULES_IN,
                                                                request.ORDER_SCHEDULES_INX,
                                                                request.ORDER_TEXT,
                                                                request.PARTNERADDRESSES,
                                                                request.RETURN,
                                                                ref request.TransactionalRfcOperationIdentifier);

                string sapTxId = null;
                sapTxId = SAPAdapterUtilities.ConvertGuidToTid(request.TransactionalRfcOperationIdentifier);

                Console.WriteLine("BAPI_SALESORDER_CREATEFROMDAT2 Sent");
                Console.WriteLine("The SAP Transaction Id is " + sapTxId);

                // Invoke the RfcConfirmTransID method to confirm (commit) the transaction on
                // the SAP system. This step is required to complete the transaction. The SAP
                // adapter will always return a TranactionalRfcOperationIdentifier, whether
                // one was supplied in the call or not.
                sapTrfcClient.RfcConfirmTransID(request.TransactionalRfcOperationIdentifier);

                Console.WriteLine("SAP Transaction {0} has been committed", sapTxId);

                Console.WriteLine("\nHit <RETURN> to end");
                Console.ReadLine();

            }
            catch (ConnectionException cex)
            {
                Console.WriteLine("Exception occurred connecting to the SAP system");
                Console.WriteLine(cex.InnerException.Message);
                throw;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception is: " + ex.InnerException.Message);
                }
                throw;
            }
            finally
            {
                // Close the client
                if (sapTrfcClient != null)
                {
                    if (sapTrfcClient.State == CommunicationState.Opened)
                        sapTrfcClient.Close();
                    else
                        sapTrfcClient.Abort();
                }
            }

        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model
Operations on tRFCs

© 2014 Microsoft Corporation. All rights reserved.


Receiving Inbound tRFC Calls by Using the WCF Service Model

You can use the Microsoft BizTalk Adapter for mySAP Business Suite as a transactional RFC (tRFC) server to receive inbound tRFC calls from SAP. For inbound tRFCs, the SAP adapter supports multiple tRFCs in the same SAP logical unit of work (LUW).

The sections in this topic provide information about how to use the adapter as a tRFC server in the WCF service model.

You can find more information about using the SAP adapter as a tRFC server in the following topics:

  • For an overview of support for tRFCs on the SAP adapter, see Operations on tRFCs. You should read this topic before continuing.

  • For more information about the message schemas for tRFC server operations, see Operations on tRFCs.

The WCF Service Contract for a tRFC

You use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a WCF service contract for the tRFCs that you want to receive from the SAP system. The contract generated for an inbound tRFC is similar to that generated for an inbound RFC except that:

  • tRFC operations are surfaced under the TRFC node.

  • The WCF service contract (interface) generated for incoming tRFCs is named "Trfc". You must specify this interface when you add the service endpoint to the service host. This is also the interface that your WCF service must implement.

    Copy Code
    public interface Trfc {

    // CODEGEN: Generating message contract since the wrapper namespace (http://Microsoft.LobServices.Sap/2007/03/Trfc/) of message Z_RFC_MKD_ADDRequest does not match the default value (http://Microsoft.LobServices.Sap/2007/03/)
    [System.ServiceModel.OperationContractAttribute(Action="http://Microsoft.LobServices.Sap/2007/03/Trfc/Z_RFC_MKD_ADD", ReplyAction="http://Microsoft.LobServices.Sap/2007/03/Trfc/Z_RFC_MKD_ADD/response")]
    Z_RFC_MKD_ADDResponse Z_RFC_MKD_ADD(Z_RFC_MKD_ADDRequest request);
}
  • The request message contract for TRFC operations has a GUID parameter. This is the GUID that maps to the SAP TID for the tRFC. In tRFC server operations, the adapter manages all calls to commit, rollback, and confirm the TID by the SAP system so there is no reason for you to explicitly use this GUID. However, you can use it to retrieve the SAP TID from the SAP adapter by calling SapAdapterUtilities.ConvertGuidToTid. This can be useful to help you troubleshoot issues on the SAP system.

    Copy Code
    [System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.MessageContractAttribute(WrapperName="Z_RFC_MKD_ADD", WrapperNamespace="http://Microsoft.LobServices.Sap/2007/03/Trfc/", IsWrapped=true)]
public partial class Z_RFC_MKD_ADDRequest {

    ...

    public Z_RFC_MKD_ADDRequest(string DEST, System.Nullable<int> X, System.Nullable<int> Y, System.Guid TransactionalRfcOperationIdentifier) {
        this.DEST = DEST;
        this.X = X;
        this.Y = Y;
        this.TransactionalRfcOperationIdentifier = TransactionalRfcOperationIdentifier;
    }
}

How do I Enable the Adapter to Act as a tRFC Server?

To enable the adapter to act as a tRFC server, you must set the TidDatabaseConnectionString binding property to the connection string for the TID database. You should do this before you open the service host. This is the database in which the adapter stores the SAP transaction ID (TID) for each tRFC. For more information about this binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

How do I Enlist in the Transaction for Inbound tRFCs?

An SAP Logical Unit of Work (LUW) can contain multiple tRFCs. On the SAP system a LUW is identified by a unique Transaction ID (TID). The adapter creates a committable transaction for each of the TIDs that the SAP system uses when it invokes tRFC calls on the adapter. When the SAP system invokes a tRFC on the adapter; the adapter flows the transaction associated with the SAP TID to your service. You can access this transaction as the ambient transaction from inside your operation method. By enlisting in this ambient transaction, the actions performed in the operation can participate in the SAP LUW.

To enlist in the ambient transaction in an operation method, you must:

  1. Annotate the operation method with the TransactionScopeRequired property of the OperationBehavior attribute. This tells WCF that you want access to the ambient transaction from inside the operation.

  2. Create a transaction scope either by annotating the operation method with the TransactionAutoComplete property of the OperationBehavior attribute or by explicitly using a TransactionScope inside the operation method.

The following example shows a service that implements two operations. Both operation methods are annotated with the TransactionScopeRequired property to access the ambient transaction.

  • Z_TRFC_EXAMPLE1 explicitly enlists in the transaction by using a TransactionScope object.

  • Z_TRFC_EXAMPLE2 is annotated with the TransactionAutoComplete property to enlist in the transaction

Copy Code
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, UseSynchronizationContext = false)]
class Z_Example_ServiceContractClass : Trfc
{

    // This operation method explicitly creates a TransactionScope to enlist in the ambient transaction
    // You must explictly call ts.Complete to complete the transaction before you return from the operation
    // Otherwise the transaction is aborted.
    // You can throw an exception or return without calling ts.complete to abort the transacation
    [OperationBehavior(TransactionScopeRequired = true)]
    public Z_TRFC_EXAMPLE1Response Z_TRFC_EXAMPLE1(Z_TRFC_EXAMPLE1Request request)
    {
        using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
        {
            // Process tRFC

            ...

            Z_TRFC_EXAMPLE1Response response = new Z_TRFC_EXAMPLE1Response();
            response.TransactionalRfcOperationIdentifier = request.TransactionalRfcOperationIdentifier;
            return response;
            //since there is no ts.Complete(), this is equivalent to a rollback.
        }
    }

    // This operation method sets the TransactionAutoComplete property of the OperationBehavior attribute
    // to enlist in the transaction. There is no need to explictly create a TransactionScope in the code.
    // If the method returns with no unhandled exceptions, the transaction completes; otherwise it aborts
    // You can throw an exception to abort the transaction.
    [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
    public Z_TRFC_EXAMPLE2Response Z_TRFC_EXAMPLE2(Z_TRFC_EXAMPLE2Request request)
    {
        // Process tRFC

        ...

        Z_TRFC_EXAMPLE2Response response = new Z_TRFC_EXAMPLE2Response();
        response.TransactionalRfcOperationIdentifier = request.TransactionalRfcOperationIdentifier;
        return response;
        //if there is no unhandled exception, the transaction completes when the operation returns.
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Invoking BAPIs by Using the WCF Service Model

The SAP adapter surfaces BAPIs as:

  • RFC operations. BAPIs like any other RFC are surfaced under the RFC node in the Add Adapter Service Reference Plug-in.

  • Methods of SAP business objects. As methods of business objects, BAPIs are surfaced by business object under the BAPI node in the Add Adapter Service Reference Plug-in.

Whether you invoke a BAPI as an RFC operation or as a business object method, each BAPI is always part of an LUW on the SAP system.

For an overview of how the SAP adapter supports BAPIs, see Operations on BAPIs.

When you use the WCF service model to invoke BAPIs as business object methods, each SAP business object is represented by a WCF client class and the BAPIs of that business object are represented as methods on the client. You can use the Add Adapter Service Reference Visual Studio Plug-in to generate a WCF client class for specific business objects that contains methods for each BAPI that you want to invoke in your code. The Add Adapter Service Reference Plug-in also generates .NET types to encapsulate the parameters and data types that are used by each BAPI. You can then create an instance of this WCF client class and call its methods to invoke the target BAPIs.

The following sections show you how to invoke BAPIs as methods of business objects and discuss how BAPI transactions are supported in the WCF service model.

The WCF Client Class

The SAP adapter surfaces a different service contract, for each business object. This means that for each business object a unique WCF client class is created. The name of this class is based on the business object type. For example for the Sales Order business object (business object type BUS2032), the WCF client class is BapiBUS2032Client. Each target BAPI in the business object is represented as a method in the generated WCF client class. In each method:

  • SAP export parameters are surfaced as out parameters

  • SAP calling parameters are surfaced as ref parameters.

  • Complex SAP types such as structures are surfaced as .NET classes with properties that correspond to the fields of the SAP type. These classes are defined in the following namespace: microsoft.lobservices.sap._2007._03.Types.Rfc.

BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK are surfaced for each business object and you should always include these in your WCF client.

The following code shows part of a WCF client class generated for the Sales Order business object. This client contains methods to invoke CREATEFROMDAT2, BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK. For clarity the constructors and other code has been omitted.

Copy Code
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class BapiBUS2032Client : System.ServiceModel.ClientBase<BapiBUS2032>, BapiBUS2032 {

    // Code has been removed for clarity

    /// <summary>The Metadata for this RFC was generated using the RFC SDK.</summary>
    /// <param name="SALESDOCUMENT">Number of Generated Document</param>
    /// <param name="BEHAVE_WHEN_ERROR">Error Handling</param>
    /// …
    /// <param name="ORDER_TEXT">Texts</param>
    /// <param name="PARTNERADDRESSES">BAPI Reference Structure for Addresses (Org./Company)</param>
    /// <param name="RETURN">Return Messages</param>
    /// <returns></returns>
    public string CREATEFROMDAT2(
                string BEHAVE_WHEN_ERROR,
                string BINARY_RELATIONSHIPTYPE,
                string CONVERT,
                string INT_NUMBER_ASSIGNMENT,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDLS LOGIC_SWITCH,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDHD1 ORDER_HEADER_IN,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDHD1X ORDER_HEADER_INX,
                string SALESDOCUMENTIN,
                microsoft.lobservices.sap._2007._03.Types.Rfc.BAPI_SENDER SENDER,
                string TESTRUN,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIPAREX[] EXTENSIONIN,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICCARD[] ORDER_CCARD,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUBLB[] ORDER_CFGS_BLOB,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUINS[] ORDER_CFGS_INST,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUPRT[] ORDER_CFGS_PART_OF,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUCFG[] ORDER_CFGS_REF,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUREF[] ORDER_CFGS_REFINST,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUVAL[] ORDER_CFGS_VALUE,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICUVK[] ORDER_CFGS_VK,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICOND[] ORDER_CONDITIONS_IN,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPICONDX[] ORDER_CONDITIONS_INX,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDITM[] ORDER_ITEMS_IN,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDITMX[] ORDER_ITEMS_INX,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDKEY[] ORDER_KEYS,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIPARNR[] ORDER_PARTNERS,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISCHDL[] ORDER_SCHEDULES_IN,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISCHDLX[] ORDER_SCHEDULES_INX,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPISDTEXT[] ORDER_TEXT,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIADDR1[] PARTNERADDRESSES,
                ref microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIRET2[] RETURN) { ...}

    /// <summary>The Metadata for this RFC was generated using the RFC SDK.</summary>
    /// <param name="RETURN">Confirmations</param>
    /// <param name="WAIT">Using the command `COMMIT AND WAIT`</param>
    /// <returns></returns>
    public microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIRET2 BAPI_TRANSACTION_COMMIT(string WAIT) { ... }

    /// <summary>The Metadata for this RFC was generated using the RFC SDK.</summary>
    /// <param name="RETURN">Confirmations</param>
    /// <returns></returns>
    public microsoft.lobservices.sap._2007._03.Types.Rfc.BAPIRET2 BAPI_TRANSACTION_ROLLBACK() { ... }
}

BAPI Transactions in the WCF Service Model

Every BAPI, whether it is invoked as an RFC or as a business object method, is part of a transaction (LUW) on the SAP system; and every BAPI received over the same SAP connection is part of the same BAPI transaction on the SAP system. SAP commits or rolls back the BAPI transaction when it receives a BAPI_TRANSACTION_COMMIT or a BAPI_TRANSACTION_ROLLBACK on the connection. After a commit or rollback has been performed, the next BAPI received over the connection begins a new transaction.

For the adapter each WCF channel has a dedicated SAP connection. In the WCF service model, each WCF client has an inner channel that is used send messages to the SAP system. This means that the BAPIs that are invoked using a specific WCF client are part of a unique BAPI transaction on the SAP system. This imposes a significant limitation when you use the WCF service model to invoke BAPIs as business object methods. Because each SAP business object is represented by a dedicated WCF client class, you cannot invoke BAPIs from two different business objects as part of the same transaction. The way around this is to invoke the BAPIs as RFC operations. This is because the Add Adapter Service Reference Plug-in generates a single WCF client for RFC operations, and, therefore, all operations invoked using that client are sent over the same WCF channel.

Important
If you want to include BAPIs from different SAP business objects in the same BAPI transaction, you must invoke them as RFC operations (using the same WCF client). You cannot invoke them as business object methods.

You call BAPI_TRANSACTION_COMMIT or BAPI_TRANSACTION_ROLLBACK to commit or roll back the BAPI transaction on the SAP system. The adapter surfaces these two BAPIs:

  • Under the Basis node as RFC operations.

  • Under each business object.

For more information about how the adapter supports BAPI transactions on SAP, see Operations on BAPIs.

How to Create an Application that Invokes BAPIs as Methods of Business Objects

This section provides information about how to invoke BAPIs as methods of business objects. The same basic procedure should be followed to invoke BAPIs as RFC operations, except that you create a WCF client that targets the BAPIs as RFC operations and use it to invoke each BAPI.

To create a BAPI client application, perform the following steps.

To create an BAPI client application

  1. Generate a WCF client class. Use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a WCF client class (or classes) that targets the business objects and BAPIs with which you want to work. Be sure to include the BAPI_TRANSACTION_COMMIT and the BAPI_TRANSACTION_ROLLBACK methods (BAPIs) exposed for each target business object. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

  2. Create an instance of the WCF client class generated in step 1, and create and configure a WCF client. Configuring the WCF client involves specifying the binding and endpoint address that the client will use. You can do this either imperatively in code or declaratively in configuration. For more information about how to specify a client binding, see Specifying a Client Binding for the SAP System. The following code initializes the WCF client for the Sales Order (BUS2032) SAP business object from configuration and sets the credentials for the SAP system.

    Copy Code
    BapiBUS2032Client bapiClient = new BapiBUS2032Client("SAPBinding_BapiBUS2032");

bapiClient.ClientCredentials.UserName.UserName = "YourUserName";
bapiClient.ClientCredentials.UserName.Password = "YourPassword";

  3. Open the WCF client.

    Copy Code
    bapiClient.Open();

  4. Invoke methods on the WCF client created in step 2 to invoke the appropriate BAPIs on the SAP system. You can invoke multiple BAPIs on the SAP system.

  5. End the transaction by:

    1. Invoking the BAPI_TRANSACTION_COMMIT method to commit the transaction.

      Copy Code
          bapiClient.BAPI_TRANSACTION_COMMIT("X");
    2. Invoking the BAPI_TRANSACTION_ROLLBACK method to roll back the transaction.

      Copy Code
          bapiClient.BAPI_TRANSACTION_ROLLBACK();

  6. Close the WCF client.

    Copy Code
    bapiClient.Close();

Example

The following example invokes the CREATEFROMDAT2 BAPI on the Sales Order business object. It invokes the BAPI several times and then invokes BAPI_TRANSACTION_COMMIT to commit the transaction. If an error occurs when invoking the BAPI, BAPI_TRANSACTION_ROLLBACK is invoked in the exception handler to roll back the transaction.

The CREATEFROMDAT2 method takes many parameters; these are omitted in the example for the sake of brevity. You can find a sample that demonstrates BAPI transactions in the samples shipped with the Microsoft BizTalk Adapter Pack. For more information, see Samples.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

// Add WCF, Adapter LOB SDK, and SAP Adapter namepaces
using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

// Include this namespace for Adapter LOB SDK and SAP exceptions
using Microsoft.ServiceModel.Channels.Common;

using microsoft.lobservices.sap._2007._03.Types.Rfc;

// This Example demonstrates BAPI transactions. Two sales orders are
// created using the CREATEFROMDAT2 method of a SAP Business Object.
// After the orders are created, the BAPI transaction is committed.
// If an exception occurs when sending the BAPIs, the BAPI transaction is
// rolled back.
//

namespace SapBapiTxClientSM
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create the BAPI client from the generated endpoint configuration.

            BapiBUS2032Client bapiClient = null;

            Console.WriteLine("BAPI transaction sample started");
            Console.WriteLine("\nCreating business object client");

            try
            {
                bapiClient = new BapiBUS2032Client("SAPBinding_BapiBUS2032");

                bapiClient.ClientCredentials.UserName.UserName = "YourUserName";
                bapiClient.ClientCredentials.UserName.Password = "YourPassword";

                // Open the BAPI Client
                bapiClient.Open();

                ...

                // send first BAPI
                try
                {
                    string salesDocNumber1 = bapiClient.CREATEFROMDAT2(
                        ...
                        // parameters ommitted
                        ...
                        );
                }
                catch (Exception ex)
                {
                    bapiClient.BAPI_TRANSACTION_ROLLBACK();
                    throw;
                }

                ...

                // send second BAPI
                try
                {
                    string salesDocNumber1 = bapiClient.CREATEFROMDAT2(
                        ...
                        // parameters omitted
                        ...
                        );
                }
                catch (Exception ex)
                {
                    bapiClient.BAPI_TRANSACTION_ROLLBACK();
                    throw;
                }

                ...

                // Commit BAPI Transaction
                try
                {
                    bapiClient.BAPI_TRANSACTION.Commit();
                }
                catch (Exception ex)
                {
                    bapiClient.BAPI_TRANSACTION_ROLLBACK();
                    throw;
                }

                ...

            }
            catch (ConnectionException cex)
            {
                // Get here if problem connecting to the SAP system

                Console.WriteLine("Exception occurred connecting to the SAP system");
                Console.WriteLine(cex.InnerException.Message);
            }
            catch (TargetSystemException tex)
            {
                // Get here if the SAP system returns an exception

                Console.WriteLine("Exception occurred on the SAP System");
                Console.WriteLine(tex.InnerException.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception is: " + ex.InnerException.Message);
                }
            }
            finally
            {
            // Close the client when finished
                if (bapiClient != null)
                {
                    if (bapiClient.State == CommunicationState.Opened)
                        bapiClient.Close();
                    else
                        bapiClient.Abort();
                }
            }
        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model
Operations on BAPIs

© 2014 Microsoft Corporation. All rights reserved.


Sending IDOCs to SAP by Using the WCF Service Model

Internally, the Microsoft BizTalk Adapter for mySAP Business Suite sends IDOCs to the SAP system by invoking one of the two following RFCs:

  • IDOC_INBOUND_ASYNCHRONOUS for version 3 IDOCs.

  • INBOUND_IDOC_PROCESS for version 2 IDOCs.

You can send an IDOC to the adapter by invoking the appropriate RFC (or tRFC); however, you can also use the two following operations to send IDOCs to the adapter:

  • SendIdoc is surfaced directly under the IDOC root node. The SendIdoc operation sends the IDOC as string (weakly-typed) data to the SAP adapter.

  • Send is surfaced individually for each IDOC. The Send operation sends the IDOC as strongly-typed data to the SAP adapter.

These operations determine how the IDOC data is sent to the adapter, not how it is sent to the SAP system. The adapter always sends the IDOC to the SAP system by using the appropriate tRFC.

Because the SAP adapter sends the IDOC as a tRFC, both the Send and SendIdoc operations expose a GUID parameter that you use to confirm (commit) the IDOC. The SAP adapter internally maps this GUID with the SAP transaction ID (TID) that is associated with the tRFC. You can confirm the IDOC in one of two ways:

  • By using the AutoConfirmSentIdocs binding property. If this binding property is set to true, the adapter automatically confirms the tRFC used to send the IDOC.

  • By invoking RfcConfirmTransID. You invoke this operation with the GUID associated with the IDOC.

The following sections show you how to send IDOCs to an SAP system by using the SendIdoc and Send operations. For more information to help you send an IDOC as a tRFC, see Invoking tRFCs by Using the WCF Service Model.

The WCF Client Class

The SendIdoc Operation

The SAP adapter surfaces a single operation (and service contract) to send an IDOC in string format. The name of the service contract is "Idoc" and the WCF client class is IdocClient.

You can send any IDOC to SAP by using this client. It contains a single method, SendIdoc, that takes two parameters:

  • idocData is a string that contains the IDOC data

  • guid is the GUID that is mapped to the SAP TID.

The following code shows the WCF client that is generated for the SendIdoc operation.

Copy Code
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class IdocClient : System.ServiceModel.ClientBase<Idoc>, Idoc {

    public void SendIdoc(string idocData, ref System.Nullable<System.Guid> guid) {…}
}

The Send Operation

Because the Send operation uses strongly-typed data, the SAP adapter surfaces a unique service contract for each IDOC. The name of the interface (and the WCF client class) generated for this contract is based on the IDOC type, version, release number, and CIM type (if relevant). For example for the ORDERS03.v3.620 IDOC, the interface is named "IdocORDERS03V3R620" and the WCF client class is IdocORDERS03V3R620Client.

You must generate a unique client for each different type of IDOC. This client contains a single method, Send, that takes two parameters:

  • idocData is a class that represents the strongly-typed IDOC data.

  • guid is a string representation of the GUID that is mapped to the SAP TID.

The following code shows the WCF client that is generated for the Send operation surfaced for the ORDERS03.v3.620 IDOC.

Copy Code
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
public partial class IdocORDERS03V3R620Client : System.ServiceModel.ClientBase<IdocORDERS03V3R620>, IdocORDERS03V3R620 {

    ...

    public void Send(ORDERS03 idocData, ref string guid) { ... }
}

How to Create an Application to Send IDOCs

To send an IDOC to an SAP system, perform the following steps.

To send an IDOC to an SAP system

  1. Generate a WCF client class. Use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool (svcutil.exe) to generate the WCF client class that targets the IDOCs with which you want to work. For more information about how to generate a WCF client, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts. If you want to explicitly confirm IDOCs, make sure that you generate the WCF client for the RfcConfirmTransID operation. Operations can be found under the following nodes:

    • SendIdoc operation. Directly under the IDOC node.

    • Send operation. Under the node corresponding to the type, version and release number of the target IDOC.

    • RfcConfirmTransID operation. Directly under the TRFC node.

  2. Create an instance of the WCF client class generated in step 1, and specify a client binding. Specifying a client binding involves specifying the binding and endpoint address that the WCF client will use. You can do this either imperatively in code or declaratively in configuration. For more information about how to specify a client binding, see Specifying a Client Binding for the SAP System. The following code initializes an IdocClient (for the Send operation) from configuration and sets the credentials for the SAP system.

    Copy Code
    SAPBinding binding = new SAPBinding();

// Set endpoint address
EndpointAddress endpointAddress = new EndpointAddress("sap://CLIENT=800;LANG=EN;@a/YourSAPHost/00?RfcSdkTrace=False&AbapDebug=False&UseSapGui=Without");

// Create client and set credentials
idocClient = new IdocClient(binding, endpointAddress);
idocClient.ClientCredentials.UserName.UserName = "YourUserName";
idocClient.ClientCredentials.UserName.Password = "YourPassword";;

  3. If you want the adapter to confirm the tRFC on the SAP system after it sends the IDOC, set the AutoConfirmSentIdocs binding property to true. You must do this before you open the WCF client.

    Copy Code
    // Set AutoConfirmSentIdocs property to true
binding.AutoConfirmSentIdocs = true;

  4. Open the WCF client.

    Copy Code
    idocClient.Open();

  5. Invoke the appropriate method on the WCF client created in step 2 to send the IDOC to the SAP system. You can pass a variable that contains a GUID or that is set to null for the guid parameter. If you do not specify a GUID, the SAP adapter generates one for the operation (guid is a ref parameter). The following code reads an IDOC (in string format) from a file and sends it to the SAP system by using the SendIdoc operation.

    Copy Code
    // Read IDOC into string variable
using (StreamReader reader = new StreamReader("ORDERS03.txt"))
{
idocData = reader.ReadToEnd();
}

//Get a new GUID to pass to SendIdoc. You can also assign a null
//value to have the adapter generate a GUID.
adapterTxGuid = Guid.NewGuid();

//Invoke SendIdoc on the client to send the IDOC to the SAP system
idocClient.SendIdoc(idocData, ref adapterTxGuid);

  6. If you did not set the AutoConfirmSentIdocs binding property to true (in step 3), then you must confirm the tRFC on the SAP system. To do this you must invoke the RfcConfirmTransID method on a TrfcClient (creation not shown). Specify the GUID returned in step 4 for the parameter.

    Copy Code
    trfcClient.RfcConfirmTransID(adapterTxGuid);

  7. Close the WCF client (and TrfcClient, if used) when you are done using it (after you have finished sending IDOCs).

    Copy Code
    idocClient.Close();

Example

The following example sends an IDOC to an SAP system by using the SendIdoc method. The IDOC is read from a file, ORDERS03.txt. This file contains an ORDERS03.V3.620 IDOC and is included with the samples; however, the SendIdoc operation can be used to send any IDOC.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using System.IO;

// Add WCF, WCF LOB Adapter SDK, and SAP adapter namepaces
using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

// Include this namespace for WCF LOB Adapter SDK and SAP exceptions
using Microsoft.ServiceModel.Channels.Common;

// This example sends a flat IDOC to the SAP system by using the SendIdoc operation.
namespace SapIdocStringClientSM
{
    class Program
    {
        static void Main(string[] args)
        {
            // variable for the IDOC client
            IdocClient idocClient = null;

            Console.WriteLine("IDOC string client sample started");
            try
            {
                // Variable for the GUID
                System.Nullable<System.Guid> adapterTxGuid;
                // string to hold the Idoc data
                string idocData;
                // string to hold the SAP transaction ID (TID)
                string sapTxId;

                // The client can be configured from app.config, but it is
                // explicitly configured here for demonstration.
                // set AutoConfirmSentIdocs property to true
                SAPBinding binding = new SAPBinding();
                binding.AutoConfirmSentIdocs = true;

                // Set endpoint address
                EndpointAddress endpointAddress = new EndpointAddress("sap://CLIENT=800;LANG=EN;@a/YourSAPServer/00?RfcSdkTrace=False&AbapDebug=False&UseSapGui=Without");

                // Create client and set credentials
                idocClient = new IdocClient(binding, endpointAddress);
                idocClient.ClientCredentials.UserName.UserName = "YourUserName";
                idocClient.ClientCredentials.UserName.Password = "YourPassword";

                // Open the client and send the Idoc
                idocClient.Open();

                // Read IDOC into string variable
                using (StreamReader reader = new StreamReader("ORDERS03.txt"))
                {
                    idocData = reader.ReadToEnd();
                }

                //Get a new GUID to pass to SendIdoc. You can also assign a null.
                //value to have the adapter generate a GUID.
                adapterTxGuid = Guid.NewGuid();

                //Invoke SendIdoc on the client to send the IDOC to the SAP system.
                idocClient.SendIdoc(idocData, ref adapterTxGuid);

                // The AutoConfirmSentIdocs binding property is set to true, so there is no need to
                // confirm the IDOC. If this property is not set to true, you must call the
                // RfcConfirmTransID method of a TrfcClient with adapterTxGuid to
                // confirm the transaction on the SAP system.

                // Get SAP tx id from GUID
                sapTxId = SAPAdapterUtilities.ConvertGuidToTid((Guid) adapterTxGuid);

                Console.WriteLine("IDOC sent");
                Console.WriteLine("The SAP Transaction Id is : " + sapTxId);

            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception is: " + ex.InnerException.Message);
                }
            }
            finally
            {
                // Close the IDOC client
                if (idocClient != null)
                {
                    if (idocClient.State == CommunicationState.Opened)
                        idocClient.Close();
                    else
                        idocClient.Abort();
                }
            }

        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Service Model

© 2014 Microsoft Corporation. All rights reserved.


Developing Applications by Using the WCF Channel Model

You can use the Windows Communication Foundation (WCF) channel model to consume the Microsoft BizTalk Adapter for mySAP Business Suite by sending XML messages directly over a channel instance created with the SAP Binding.

One advantage of using the WCF channel model over using the strongly-typed classes and methods that the WCF service model exposes is that the channel model provides more fine-grained control over the operations that you perform on the SAP system. Why? In the WCF channel model you directly control the contents of the messages that you send over the channel.

Another key advantage that the WCF channel model provides over the WCF service model is more comprehensive support for data streaming. By using the WCF channel model you can perform:

  • Message node streaming on all messages exchanged between your code and the adapter.

  • Message node-value streaming on the SendIdoc and ReceiveIdoc operations.

This is because in the WCF channel model you directly control how you provide the message body on messages that you send to the adapter and how you consume the message body on messages that you receive from the adapter.

In contrast, the adapter provides no support for streaming in the WCF service model. Because, in the WCF service model, the WCF runtime serializes and deserializes messages between their XML and managed code object representations, a complete in-memory copy of each message that you exchange with the adapter is made.

The sections in this topic explain how to perform operations on the SAP adapter by using the WCF channel model.

In This Section

  • Overview of Using the WCF Channel Model with the Adapter

  • Creating a Channel

  • Invoking Operations on the SAP System by Using the WCF Channel Model

  • Receiving Inbound Operations from the SAP System by Using the WCF Channel Model

  • Streaming Flat-File IDOCs in the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Overview of Using the WCF Channel Model with the Adapter

To invoke RFCs, tRFCs, or BAPIs on an SAP system, or to send IDOCS to an SAP system, your code acts as a WCF client and sends outbound operations to the adapter. In the WCF channel model, your code invokes operations on the adapter by sending a request message over a channel.

To act as a tRFC or RFC server to an SAP system, your code behaves as a WCF service. That is, the adapter invokes an inbound operation on your code—for example, an RFC or the ReceiveIdoc operation (to receive an IDOC in string format from an SAP system). In this scenario, your code receives a request message for the operation over a channel from the adapter.

The topics in this section provide an overview of using the SAP adapter with the WCF channel model.

WCF Channel Model Overview

Clients and services communicate by exchanging SOAP messages. The WCF channel model is a low-level abstraction of this message exchange. It provides interfaces and types that enable you to send and receive messages by using a layered protocol stack called a channel stack. Each layer of the stack is composed of a channel, and each channel is created from a WCF binding. At the lowest layer is the transport channel. The transport channel implements the underlying transport mechanism between a service and a client and presents each message to the higher layers (and ultimately the consuming application) as a System.ServiceModel.Message. The WCF Message class is an abstraction of a SOAP message. WCF provides several channel interfaces, called channel shapes, that model the basic SOAP message exchange patterns, such as request-reply or one-way. A WCF transport binding provides an implementation of one or more channel shapes that higher layers can use to send and receive messages. For more information about the WCF channel model, see "Channel Model Overview" at http://go.microsoft.com/fwlink/?LinkId=82614.

The SAP adapter is a WCF custom transport binding that exposes an SAP system as a WCF service.

Supported Channel Shapes for the SAP Adapter

The adapter implements the following WCF channel shapes:

  • IRequestChannel (System.ServiceModel.Channels.IRequestChannel). The IRequestChannel interface implements the client side of a request-reply message exchange. You can use an IRequestChannel to perform operations for which you want to consume a response, for example to invoke an RFC on the SAP system that returns data.

  • IOutputChannel (System.ServiceModel.Channels.IOutputChannel). This shape implements the client side of a one-way message exchange. You can use an IOutputChannel to invoke an operation for which you do not need to consume a response, for example to invoke an RFC on the SAP system that does not return any data.

  • IReplyChannel (System.ServiceModel.Channels.IReplyChannel). This shape implements the service side of a request-reply message exchange. You can use an IReplyChannel to implement an RFC or tRFC server or to receive IDOCs from a SAP system.

Like any WCF binding, the SAP adapter uses a factory pattern to provide channels to application code. You use a Microsoft.Adapters.SAPBinding object to create instances of:

  • System.ServiceModel.ChannelFactory<IRequestChannel> to provide IRequestChannel channels you can use to invoke request-response operations on the adapter.

  • System.ServiceModel.ChannelFactory<IOutputChannel> to provide IOutputChannel channels you can use to invoke one-way operations on the adapter.

  • System.ServiceModel.IChannelListener<IReplyChannel> to provide IReplyChannel channels you can use to receive request-response operations from the adapter.

Creating Messages for the SAP Adapter in the WCF Channel Model

In WCF the System.ServiceModel.Channels.Message class provides an in memory representation of a SOAP message. You create a Message instance by invoking the static Message.Create method.

There are two important parts to the SOAP message that you must specify when you construct a Message instance to send to the SAP adapter.

  • The message action is a string that is part of the SOAP message header. The message action identifies the operation that should be invoked on SAP adapter. The following shows the message action that is specified to invoke the SD_RFC_CUSTOMER_GET RFC on an SAP system: http://Microsoft.LobServices.Sap/2007/03/Rfc/SD_RFC_CUSTOMER_GET.

  • The message body contains the parameter data for the operation. The message body is composed of well-formed XML that corresponds to the message schema expected by the SAP adapter for the requested operation. The following message body contains the parameters for the SD_RFC_CUSTOMER_GET RFC on an SAP system.

    Copy Code
    <SD_RFC_CUSTOMER_GET xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\"> <KUNNR i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"> </KUNNR> <NAME1>AB*</NAME1> <CUSTOMER_T> </CUSTOMER_T> </SD_RFC_CUSTOMER_GET>

For information about the SAP adapter message schemas and message actions for operations, see Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite.

The Message.Create method is overloaded and offers many different options for providing the message body. The following code shows how to create a Message instance by using an System.Xml.XmlReader to supply the message body. In this code, the message body is read from a string constant.

Copy Code
//create an XML message to send to the SAP system
//We are invoking the SD_RFC_CUSTOMER_GET RFC.
//The XML below specifies that we want to search for customers with names starting with "AB"
string inputXml = "<SD_RFC_CUSTOMER_GET xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\"> <KUNNR i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"> </KUNNR> <NAME1>AB*</NAME1> <CUSTOMER_T> </CUSTOMER_T> </SD_RFC_CUSTOMER_GET>";

//create an XML reader from the input XML
XmlReader reader = XmlReader.Create(new MemoryStream(Encoding.Default.GetBytes(inputXml)));

//create a WCF message from the XML reader
Message inputMessge = Message.CreateMessage(MessageVersion.Soap11, "http://Microsoft.LobServices.Sap/2007/03/Rfc/SD_RFC_CUSTOMER_GET", reader);
Important
You must provide a message action in your Message instance. This is typically done when the Message instance is created.

Streaming Support on the SAP Adapter in the WCF Channel Model

How you create and consume the messages that you exchange with the SAP adapter determines how the message is streamed between your code and the adapter.

Node streaming

Node streaming is the only level of streaming supported for all operations except the SendIdoc and ReceiveIdoc operations.

To perform node streaming for a message, you:

  • Create an outbound message using an XmlReader to supply the message body.

  • Consume an inbound message using an XmlReader. You get the reader by calling the GetReaderAtBodyContents method on the inbound Message.

Node-value Streaming

Because the SendIdoc and ReceiveIdoc operations contain the IDOC data in a string under a single XML node (<idocData>), the adapter supports node-value streaming on these operations.

To perform node-value streaming for these operations, you can:

  • Create the SendIdoc request message (outbound) using a BodyWriter that implements node-value streaming to supply the message body.

  • Consume the ReceiveIdoc request message (inbound) by calling the WriteBodyContents method on the message with an XmlDictionaryWriter that implements node-value streaming.

For more information about streaming flat file (string) IDOCs using the WCF channel model, see Streaming Flat-File IDOCs in the WCF Channel Model.

See Also

Concepts

Developing Applications by Using the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Creating a Channel

In the WCF channel model, you invoke operations on the SAP system or receive messages from the SAP system by exchanging SOAP messages with the Microsoft BizTalk Adapter for mySAP Business Suite over a WCF channel.

  • You invoke operations (outbound operations) by using either an IRequestChannel or an IOutputChannel to send messages to the adapter

  • You receive messages (triggered from the SAP system) over an IReplyChannel.

The topics in this section provide information about how to create and configure channel shapes that are used for inbound and outbound operations.

Creating Outbound (Client) Channels

You can use either an IRequestChannel or an IOutputChannel to invoke operations on the SAP system. In either case, you first create a System.ServiceModel.ChannelFactory using the appropriate interface. You then use the factory to create the channel. After you have created the channel you can use it to invoke operations on the adapter.

To create and open an outbound channel

  1. Create and initialize an instance of ChannelFactory for the desired channel shape by using an endpoint and a binding. The endpoint specifies an SAP connection URI and the binding is an instance of SAPDBBinding. (Set any binding properties required before you open the channel factory.)

  2. Provide SAP credentials for the channel factory by using the ClientCredentials property.

  3. Open the channel factory.

  4. Get an instance of the channel by invoking the CreateChannel method on the channel factory.

  5. Open the channel.

You can specify the binding and endpoint address in your code or from configuration.

Specifying the Binding and Endpoint Address in Code

The following code example shows how to create an IRequestChannel by specifying the binding and endpoint address in code. The code to create an IOutputChannel is the same except that you must specify an IOutputChannel interface for the ChannelFactory and channel type.

Copy Code
// Create binding -- set binding properties before you open the factory.
SAPBinding sapBinding = new SAPBinding();

// Create address.
EndpointAddress sapAddress = new EndpointAddress("sap://Client=800;lang=EN@A/YourSAPHost/00");

// Create channel factory from binding and address.
ChannelFactory<IRequestChannel> factory =
    new ChannelFactory<IRequestChannel>(sapBinding, sapAddress);

// Specify credentials.
factory.Credentials.UserName.UserName = "YourUserName";
factory.Credentials.UserName.Password = "YourPassword";

// Open the factory
factory.Open();

// Get channel and open it.
IRequestChannel channel = factory.CreateChannel();
channel.Open();

Specifying the Binding and Endpoint Address in Configuration

The following code example shows how to create a channel factory from a client endpoint specified in configuration.

Copy Code
// Create channel factory from configuration.
ChannelFactory<IRequestChannel> factory =
new ChannelFactory<IRequestChannel>("MyRequestChannel");

// Specify credentials.
factory.Credentials.UserName.UserName = "YourUserName";
factory.Credentials.UserName.Password = "YourPassword";

// Open the factory.
factory.Open();

// Get a channel and open it.
IRequestChannel channel = factory.CreateChannel();
channel.Open();

The Configuration Settings

The following code shows the configuration settings used for the preceding example. The contract for the client endpoint must be "System.ServiceModel.Channels.IRequestChannel" or "System.ServiceModel.Channels.IRequestChannel" depending on the kind of channel shape that you want to create.

Copy Code
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <system.serviceModel>
        <bindings>
            <sapBinding>
                <binding name="SAPBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
                    receiveTimeout="00:10:00" sendTimeout="00:01:00" enableBizTalkCompatibilityMode="false"
                    receiveIdocFormat="Typed" enableSafeTyping="false" generateFlatFileCompatibleIdocSchema="true"
                    maxConnectionsPerSystem="50" enableConnectionPooling="true"
                    idleConnectionTimeout="00:15:00" flatFileSegmentIndicator="SegmentDefinition"
                    enablePerformanceCounters="false" autoConfirmSentIdocs="false"
                    acceptCredentialsInUri="false"
                    padReceivedIdocWithSpaces="false" sncLibrary="" sncPartnerName="" />
            </sapBinding>
        </bindings>
        <client>
            <endpoint address="sap://CLIENT=800;LANG=EN;@a/ADAPSAP47/00?RfcSdkTrace=False&amp;AbapDebug=False"
                binding="sapBinding" bindingConfiguration="SAPBinding" contract="System.ServiceModel.Channels.IRequestChannel"
                name="MyRequestChannel" />
        </client>
    </system.serviceModel>
</configuration>

Creating Inbound (Service) Channels

You configure the adapter to receive inbound messages from an SAP system by setting binding properties on an instance of SAPBinding. You then use this binding to build a channel listener from which you can get an IReplyChannel channel to receive operations from the adapter.

To create and open an IReplyChannel to Receive Data-changed Notifications

  1. Create an instance of SAPBinding.

  2. Set any binding properties required for the operations you want to receive. Be sure to set the AcceptCredentialsInUri binding property.

  3. Create a BindingParameterCollection and add an InboundActionCollection that contains the actions of the operations that you want to receive. The adapter will return an exception to the SAP system for all other operations. This step is optional. For more information, see Receiving Inbound Operations from the SAP System by Using the WCF Channel Model.

  4. Create a channel listener by invoking BuildChannelListener<IReplyChannel> method on the SAPBinding. You specify the SAP connection URI as one of the parameters to this method. The connection URI must contain parameters for an RFC Destination on the SAP system. For more information about the SAP connection URI, see The The SAP System Connection URI. If you created a BindingParameterCollection in step 3, you also specify this when you create the channel listener.

  5. Open the listener.

  6. Get an IReplyChannel channel by invoking the AcceptChannel method on listener.

  7. Open the channel.

The following code shows how to create a channel listener and get an IReplyChannel to receive operations from the adapter.

Copy Code
// Create a binding and specify any binding properties required
// for the opreations you want to receive
SAPBinding binding = new SAPBinding();

// Set AcceptCredentialsInUri because the URI must contain credentials.
binding.AcceptCredentialsInUri = true;

// Create an InboundActionCollection and add the message actions to listen for,
// only the actions added to the InboundActionCollection are received on the channel.
// In this case a single action is specified: http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_ADD
InboundActionCollection actions = new InboundActionCollection(listeneraddress);
actions.Add("http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_ADD");

// Create a BindingParameterCollection and add the InboundActionCollection
BindingParameterCollection bpcol = new BindingParameterCollection();
bpcol.Add(actions);

// Create the channel listener by specifying
// the binding parameter collection (to filter for the Z_RFC_MKD_ADD action) and
// a connection URI that contains listener parameters.
Uri listeneraddress =
new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?ListenerGwServ=SAPGATEWAY&ListenerGwHost=YourSAPHost&ListenerProgramId=SAPAdapter");
listener = binding.BuildChannelListener<IReplyChannel>(connectionUri, new BindingParameterCollection());
listener.Open();

// Get a channel from the listener and open it.
channel = listener.AcceptChannel();
channel.Open();

See Also

Concepts

Developing Applications by Using the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Invoking Operations on the SAP System by Using the WCF Channel Model

You invoke operations on the SAP adapter by using an IRequestChannel or IOutputChannel channel shape to send messages to the adapter. The basic pattern is to create a channel factory for the required channel shape by using a binding (SAPBinding) and an endpoint created from a connection URI. You then create a Message instance that represents a SOAP message that conforms to the message schema for your target operation. You can then send this Message to the SAP adapter by using a channel created from the channel factory. If you are using an IRequestChannel, you receive a response. If there is a problem executing the operation on the SAP system, the SAP adapter throws a Microsoft.ServiceModel.Channels.Common.TargetSystemException.

For an overview of how to send operations using an IRequestChannel in WCF, see "Client Channel-Level Programming" at http://go.microsoft.com/fwlink/?LinkId=106081.

The sections in this topic provide information to help you invoke operations on the SAP adapter using the WCF channel model.

Supporting BAPI Transactions in the WCF Channel Model

All BAPIs that are invoked using the same SAP connection are part of the same Logical Unit of Work (LUW) -- or transaction -- on the SAP system. Each WCF channel represents a unique connection to the SAP system. To support BAPI transactions using the WCF channel model:

  • Ensure that every BAPI in an LUW (transaction) is sent over the same channel. This includes the BAPI_TRANSACTION COMMIT or the BAPI_TRANSACTION_ROLLBACK operations.

  • Ensure that you close any response message received for a BAPI before you invoke the next BAPI on the channel. (You should do this for every operation; but it is especially important for BAPIs.)

For more information about BAPI transactions, see Operations on BAPIs.

Streaming Flat File IDOCs to the SAP Adapter

You use the SendIdoc operation to send a flat file (string) IDOC to the adapter. The IDOC data is represented as a string under a single node in this operation. For this reason, the SAP adapter supports node-value streaming on the request message. To perform node-value streaming, you must create the request message for the SendIdoc operation by using a System.ServiceModel.Channels.BodyWriter that is capable of streaming the IDOC data. For information about how to do this, see Streaming Flat-File IDOCs in the WCF Channel Model.

How Do I Invoke an Operation by Using a Channel?

To invoke an operation by using an IRequestChannel, perform the following steps.

How to invoke an operation by using an instance of IRequestChannel

  1. Build a channel factory (ChannelFactory<IRequestChannel>). To do this, you must specify a binding (SAPBinding) and an endpoint address. You can specify the binding and endpoint address either imperatively in your code or declaratively in configuration. You should set any binding properties required for the operations that you will send before you open the factory. For more information about how to specify the binding and endpoint address in configuration, see Creating a Channel.

    Copy Code
    // Create a binding
SAPBinding binding = new SAPBinding();
// Create an endpoint address by using the connection URI
EndpointAddress endpointAddress = new EndpointAddress("sap://Client=800;lang=EN@A/YourSAPHost/00");
// Create the channel factory
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, address);

  2. Set the user name password credentials for the channel factory by using the ClientCredentials property.

    Copy Code
    factory.Credentials.UserName.UserName = "YourUserName";
factory.Credentials.UserName.Password = "YourPassword";

  3. Open the channel factory.

    Copy Code
    factory.Open();

  4. Get a channel from the factory and open it.

    Copy Code
    IRequestChannel channel = factory.CreateChannel();
channel.Open();

  5. Create a Message instance for the target operation. Be sure that the message action for the target operation is specified. In this example, the message body is passed by creating an XmlReader over a string. The target operation invokes the SD_RFC_CUSTOMER_GET RFC on an SAP system.

    Copy Code
    string inputXml = "<SD_RFC_CUSTOMER_GET xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\"> <KUNNR i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"> </KUNNR> <NAME1>AB*</NAME1> <CUSTOMER_T> </CUSTOMER_T> </SD_RFC_CUSTOMER_GET>";

//create an XML reader from the input XML
XmlReader reader = XmlReader.Create(new MemoryStream(Encoding.Default.GetBytes(inputXml)));

//create a WCF message from our XML reader
Message inputMessge = Message.CreateMessage(MessageVersion.Soap11, "http://Microsoft.LobServices.Sap/2007/03/Rfc/SD_RFC_CUSTOMER_GET", reader);

  6. Invoke the Request method on the channel to send the message to the SAP adapter and receive the reply. If the SAP system encounters an exception, the adapter throws a TargetSystemException. (Other exceptions are possible for non SAP exceptions.) You can get a description of the SAP error from the InnerException.Message property of the TargetSystemException.

    Copy Code
    try
{
    Message messageOut = channel.Request(messageIn);
}
catch (Exception ex)
{
    // handle exception
}

  7. Process the response. In this example, GetReaderAtBodyContents is called on the response message to get the message body.

    Copy Code
    XmlReader readerOut = messageOut.GetReaderAtBodyContents();

  8. When you are done processing the response message, close the reader and the message.

    Copy Code
    readerOut.Close();
messageOut.Close();

  9. When you are done using the channel and the channel factory, close them. Closing the factory will close all channels that were created with it.

    Copy Code
    channel.Close()
factory.Close();

You follow the same steps to send a message using the IOutputChannel shape except:

  • You create a ChannelFactory<IOutputChannel> in step 1.

  • You call the Send method on the channel in step 6. channel.Send(messageIn);.

  • There is no response message returned for an IOutputChannel.

Example

The following example shows how to invoke an RFC by using an IRequestChannel channel. This example invokes the SD_RFC_CUSTOMER_GET RFC to get a list of customers whose names start with "AB". The response message is consumed by using an XmlReader and the customer number and name of each customer returned is written to the console.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using System.Xml;
using System.IO;

using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;
using System.ServiceModel.Channels;

namespace SapRfcClientCM
{
    class Program
    {
        static void Main(string[] args)
        {
            //create a binding
            SAPBinding binding = new SAPBinding();

            //set up an endpoint address.
            EndpointAddress endpointAddress = new EndpointAddress("sap://Client=800;lang=EN@A/YourSAPHost/00");

            //create a channel factory, capable of sending a request to SAP and receiving a reply (IRequestChannel)
            ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, endpointAddress);

            // add credentials
            factory.Credentials.UserName.UserName = "YourUserName";
            factory.Credentials.UserName.Password = "YourPassword";

            //open the factory
            factory.Open();

            //obtain a channel from the factory by specifying the address you want to connect to
            IRequestChannel channel = factory.CreateChannel();

            //open the channel
            channel.Open();

            //create an XML message to send to the SAP system
            //We are invoking the SD_RFC_CUSTOMER_GET RFC.
            //The XML below specifies that we want to search for customers with names starting with "AB"
            string inputXml = "<SD_RFC_CUSTOMER_GET xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\"> <KUNNR i:nil=\"true\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"> </KUNNR> <NAME1>AB*</NAME1> <CUSTOMER_T> </CUSTOMER_T> </SD_RFC_CUSTOMER_GET>";

            //create an XML reader from the input XML
            XmlReader readerOut = XmlReader.Create(new MemoryStream(Encoding.Default.GetBytes(inputXml)));

            //create a WCF message from the XML reader
            Message messageOut = Message.CreateMessage(MessageVersion.Default, "http://Microsoft.LobServices.Sap/2007/03/Rfc/SD_RFC_CUSTOMER_GET", readerOut);

            //send the message to SAP and obtain a reply
            Message messageIn = channel.Request(messageOut);

            // Write the KUNNR and NAME1 fields for each returned record to the Console
            Console.WriteLine("Results of SD_RFC_CUSTOMER_GET");
            Console.WriteLine("KUNNR\t\tNAME1");

            XmlReader readerIn = messageIn.GetReaderAtBodyContents();

            while (readerIn.Read())
            {
                if (readerIn.IsStartElement())
                {
                    switch (readerIn.Name)
                    {
                        case "RFCCUST":
                            Console.Write("\n");
                            break;

                        case "KUNNR":
                            readerIn.Read();
                            Console.Write(readerIn.ReadString() + "\t");
                            break;

                        case "NAME1":
                            readerIn.Read();
                            Console.Write(readerIn.ReadString() + "\t");
                            break;

                        default:
                            break;
                    }
                }
            }

            // return the cursor
            Console.WriteLine();

            // Close the input reader
            readerIn.Close();

            // Close the input message. You should do this for every message you
            // send on the channel
            messageIn.Close();

            // close the channel when you are done using it.
            channel.Close();

            //close the factory
            //note: closing the factory will close all of its channels.
            factory.Close();
        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Receiving Inbound Operations from the SAP System by Using the WCF Channel Model

To act as an RFC server and receive operations invoked by the SAP system (such as sending an IDOC or invoking an RFC), you must create a channel listener that can listen for messages from a SAP Program ID over a System.ServiceModel.Channels.IReplyChannel channel shape.

A channel listener (System.ServiceModel.Channels.IChannelListener) is a WCF communication object that can be used to receive messages from specific WCF endpoints. The channel listener functions as a factory from which you can create channels over which messages invoked by a client (the SAP system) can be received by your service. You create a channel listener by from a Microsoft.Adapters.SAP.SAPBinding object by invoking the BuildChannelListener method. You supply an SAP connection URI that specifies the SAP Program ID from which inbound operations will be received to this method.

The SAP adapter supports the IReplyChannel channel shape. IReplyChannel channels support an inbound request-response message exchange pattern. That is, a pattern in which an external program sends a request message over the channel and your program returns a response.

For an overview of how to receive operations using an IReplyChannel in WCF, see "Service Channel-Level Programming" at http://go.microsoft.com/fwlink/?LinkId=106053.

This section covers the following topics that are specific to receiving operations from a SAP system:

  • How to filter for specific operations using the channel listener.

  • How to raise an exception on the SAP system.

  • Streaming inbound flat-file IDOCs from the SAP adapter.

  • How to receive operations from the SAP system.

How Do I Filter Operations Using the Channel Listener?

Using an InboundActionCollection to Filter Operations

The WCF LOB Adapter SDK provides the Microsoft.ServiceModel.Channels.InboundActionCollection class to enable you to filter operations that are received by a channel listener and passed to your application code. To filter for specific operations, you create an instance of this class by using the listener endpoint URI. Then you add the (request) message action for each target operation to the collection. Finally, you add the inbound action collection to a System.ServiceModel.Channels.BindingParameterCollection object and then pass this binding parameter collection into the call to create the channel listener.

If the SAP system invokes an operation that is not in the inbound action collection:

  • The SAP adapter returns an EXCEPTION exception to the caller on the SAP system with the following message: "The incoming RFC call [RFC_NAME] on the Rfc Server is not handled". In this message, [RFC_NAME] is the name of the RFC (for example, IDOC_INBOUND_ASYNCHRONOUS).

  • The adapter throws a Microsoft.ServiceModel.Channels.Common.AdapterException with a message that indicates the operation that was received. For an example of how to use this exception, see the example at the end of this topic.

The following code example shows how to use an InboundActionCollection to create a channel listener that filters for a single RFC, Z_RFC_MKD_DIV.

Copy Code
// The connection Uri must specify listener parameters (or an R-type destination in saprfc.ini)
// and credentials.
Uri listeneraddress =
    new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?ListenerGwServ=SAPGATEWAY&ListenerGwHost=YourSAPHost&ListenerProgramId=SAPAdapter");

// Create a binding and set AcceptCredentialsInUri to true
SAPBinding binding = new SAPBinding();
binding.AcceptCredentialsInUri = true;

// Create an InboundActionCollection and add the message actions to listen for,
// only the actions added to the InboundActionCollection are received on the channel.
// In this case a single action is specified: http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV
InboundActionCollection actions = new InboundActionCollection(listeneraddress);
actions.Add("http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV");

// Create a BindingParameterCollection and add the InboundActionCollection
BindingParameterCollection bpcol = new BindingParameterCollection();
bpcol.Add(actions);

// Create the channel listener by specifying the binding parameter collection (to filter for the Z_RFC_MKD_DIV action)
listener = binding.BuildChannelListener<IReplyChannel>(listeneraddress, bpcol);

Manually Filtering Operations

If you do not specify an inbound action collection for the channel listener, then all operations invoked by the SAP system will be passed to your code. You can manually filter such operations by checking the message action of inbound requests.

There may also be scenarios in which you want to filter an operation based on its content. For example if you are receiving IDOCs in:

  • String format (the ReceiveIDocFormat binding property is String); all IDOCs are received using the ReceiveIdoc operation.

  • Rfc format (the ReceiveIDocFormat binding property is Rfc); all IDOCs are received using either the IDOC_INBOUND_ASYNCHRONOUS RFC or the INBOUND_IDOC_PROCESS RFC.

In this scenario you may want to implement filtering based on specific IDOC parameters (such as the IDOC type) in your code.

When you filter operations manually, you can return a fault to the SAP adapter for operations that you don't handle. This will raise the EXCEPTION exception to the caller on the SAP System. You can also return an empty response if you don't want to raise an exception on SAP.

The following code shows how to filter manually for the Z_RFC_MKD_DIV operation.

Copy Code
// Get the message from the channel
RequestContext rc = channel.ReceiveRequest();
Message reqMessage = rc.RequestMessage;

// Filter based on the message action.
if (reqMessage.Headers.Action == "http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV")
{

    // Process message and return response.
    ...

}
else
{
    // If this isn't the correct message return an empty response or a fault message.
    // This example returns an empty response.
    rc.Reply(Message.CreateMessage(MessageVersion.Default, reqMessage.Headers.Action + "/response"));
}

How Do I Raise an Exception on the SAP System?

To indicate an error to the caller on the SAP system you can reply to a request message with a SOAP fault. When you return a SOAP fault to the SAP adapter, the adapter returns an EXCEPTION exception to the caller on the SAP system. The exception message is created from the elements of the SOAP fault.

The SAP adapter creates the message for the SAP EXCEPTION according to the following order of precedence:

  1. If the SOAP fault contains a detail object, the adapter serializes the detail to a string and the exception message is set to this string.

  2. If the SOAP fault contains a reason, the exception message is set to its value.

  3. Otherwise, the adapter serializes the MessageFault object itself to a string and the exception message is set to this string.

Note
The adapter only uses the fault message to create the exception message returned in the exception raised on the SAP system; therefore, the values that you set for these entities is completely up to you.

WCF provides the System.ServiceModel.Channels.MessageFault class to encapsulate an in-memory representation of a SOAP fault. You can use any of the static, overloaded MessageFault.CreateFault methods to create a new SOAP fault from which you can then create a fault message by invoking the appropriate Message.CreateMessage overload. WCF also provides overloads of CreateMessage that create a fault message without using a MessageFault object.

You use the System.ServiceModel.Channels.RequestContext.Reply method to return the fault message to the adapter. The SAP adapter ignores the message action for fault messages, so you can set the message action to any value.

The following example shows how to return a fault message to the SAP adapter. This example omits the steps to create the channel listener and channel.

Copy Code
RequestContext rc = channel.ReceiveRequest();
…
// Start processing the inbound message
…
// If an error is encountered return a fault to the SAP system
// This example uses CreateMessage overload to create a fault message.
// The overload takes a SOAP version, fault code, reason, and message action
// The SAP adapter ignores the message action for a fault so you can set it to any value you want.
Message faultMessage = Message.CreateMessage(MessageVersion.Default, new FaultCode("SAP Example Fault"), "Testing SAP Faults", rc.RequestMessage.Headers.Action + "/fault");

rc.Reply(faultMessage);

Streaming Inbound Flat-File IDOCs from the SAP Adapter

You receive flat-file (string) IDOCs from the adapter in the inbound ReceiveIdoc operation. The IDOC data is represented as a string under a single node in this operation. For this reason, the SAP adapter supports node-value streaming on the request message. To perform node-value streaming, you must consume the request message for the ReceiveIdoc operation by invoking the Message.WriteBodyContents method with a System.Xml.XmlDictionaryWriter that is capable of streaming the IDOC data. For information about how to do this, see Streaming Flat-File IDOCs in the WCF Channel Model.

How Do I Receive Operations from a SAP System Using an IReplyChannel?

To receive operations from a SAP system by using the WCF channel model, perform the following steps.

To receive operations from the SAP system using an IReplyChannel

  1. Create an instance of SAPBinding and set the binding properties required to for the operations you want to receive. At a minimum you must set the AcceptCredentialsInUri binding property to true. To act as a tRFC server, you must set the TidDatabaseConnectionString binding property. For more information about binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    Copy Code
    SAPBinding binding = new SAPBinding();
binding.AcceptCredentialsInUri = true;

  2. Create a BindingParameterCollection and add an InboundActionCollection that contains the actions of the operations that you want to receive. The adapter will return an exception to the SAP system for all other operations. This step is optional. For more information, see Receiving Inbound Operations from the SAP System by Using the WCF Channel Model.

    Copy Code
    InboundActionCollection actions = new InboundActionCollection(listeneraddress);
actions.Add("http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV");
BindingParameterCollection bpcol = new BindingParameterCollection();
bpcol.Add(actions);

  3. Create a channel listener by invoking BuildChannelListener<IReplyChannel> method on the SAPBinding and open it. You specify the SAP connection URI as one of the parameters to this method. The connection URI must contain parameters for an RFC Destination on the SAP system. For more information about the SAP connection URI, see The SAP System Connection URI. If you created a BindingParameterCollection in step 3, you also specify this when you create the channel listener.

    Copy Code
    Uri listeneraddress =
    new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?ListenerGwServ=SAPGATEWAY&ListenerGwHost=YourSAPHost&ListenerProgramId=SAPAdapter");
IChannelListener<IReplyChannel> listener = binding.BuildChannelListener<IReplyChannel>(connectionUri, bpcol);
listener.Open();

  4. Get an IReplyChannel channel by invoking the AcceptChannel method on the listener and open it.

    Copy Code
    IReplyChannel channel = listener.AcceptChannel();
channel.Open();

  5. Invoke ReceiveRequest on the channel to get the request message for the next operation from the adapter.

    Copy Code
    RequestContext rc = channel.ReceiveRequest();

  6. Consume the request message sent by the adapter. You get the request message from the RequestMessage property of the RequestContext. You can consume the message using either an XmlReader or an XmlDictionaryWriter.

    Copy Code
    XmlReader reader = (XmlReader)rc.RequestMessage.GetReaderAtBodyContents();

  7. Complete the operation by returning a response or fault to the SAP system:

    1. Process the message and return a response to the SAP system by returning the response message to the adapter. This example returns an empty message.

      Copy Code
      respMessage = Message.CreateMessage(MessageVersion.Default, rc.RequestMessage.Headers.Action + "/response");
rc.Reply(respMessage);
    2. Return an exception to the SAP system by returning a fault message to the adapter. You can use any value for the message action, fault code, and reason.

      Copy Code
      MessageFault fault = MessageFault.CreateFault(new FaultCode("ProcFault"), "Processing Error");
Message respMessage = Message.CreateMessage(MessageVersion.Default, fault, String.Empty);
rc.Reply(respMessage);

  8. Close the request context after you have sent the message.

    Copy Code
    rc.Close();

  9. Close the channel when you have completed processing the request.

    Copy Code
    channel.Close()
    Important
    You must close the channel after you have finished processing the operation. Failure to close the channel may affect the behavior of your code.

  10. Close the listener when you are finished receiving operations from the SAP system.

    Copy Code
    listener.Close()
    Important
    You must explicitly close the listener when you are done using it; otherwise, your program may not behave properly. Closing the listener does not close channels created using the listener. You must also explicitly close each channel created using the listener.

Example

The following example receives an RFC, Z_RFC_MKD_DIV from the SAP system. This RFC divides two numbers. The implementation in this example uses an InboundActionCollection to filter for the Z_RFC_MKD_DIV operation and does the following when a message is received:

  • If the divisor is non-zero, it writes the result of the division to the console and returns it to the SAP system.

  • If the divisor is zero, it writes the resulting exception message to the console and returns a fault to the SAP system.

  • If any other operation is sent by the SAP system, it writes a message to the console. In this case, the adapter itself returns a fault to the SAP system.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using System.Runtime.Serialization;
using System.Xml;
using System.IO;

// Add WCF, Adapter LOB SDK, and SAP Adapter namepaces
using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

// Add this namespace to use Channel Model
using System.ServiceModel.Channels;

// Include this namespace for Adapter LOB SDK and SAP exceptions
using Microsoft.ServiceModel.Channels.Common;

// This sample demonstrates using the adapter as an rfc server over a channel.
// The sample implements an RFC, Z_RFC_MKD_DIV that divides two numbers and returns the result
// 1)  A SAPBinding instance is created and configured (AcceptCredentialsInUri is set true)
// 2)  A binding parameter collection is created with an InboundAction collection that specifies
//     target RFC (Z_RFC_MKD_DIV) so that only messages with this action will be received by the
//     listener (and channel).
// 3)  An <IReplyChannel> listener is created from the binding and binding parameter collection
// 4)  A channel is created and opened to receive a request
// 6)  When Z_RFC_MKD_DIV is received the two parameters are divided and the parameters and result
//     are written to the console, then the result is returned to the adapter by using a template
//     message.
// 7)  If a divide by 0 occurs the exception message is written to the console and a
//     fault is returned to the SAP system
// 8)  If any other operation is received an error message is written to the console and the adapter
///    returns a fault to the SAP system
// 9)  IMPORTANT you must close the channel and listener to deregister them from the SAP Program ID.
namespace SapRfcServerCM
{
    class Program
    {
        static void Main(string[] args)
        {
            // Variables to hold the listener and channel
            IChannelListener<IReplyChannel> listener = null;
            IReplyChannel channel = null;

            Console.WriteLine("Sample started");
            Console.WriteLine("Initializing and creating channel listener -- please wait");
            try
            {

                // The connection Uri must specify listener parameters (or an R-type destination in saprfc.ini)
                // and also credentials.
                Uri listeneraddress =
                    new Uri("sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?ListenerGwServ=SAPGATEWAY&ListenerGwHost=YourSAPHost&ListenerProgramId=SAPAdapter");

                // Create a binding -- set AcceptCredentialsInUri true
                SAPBinding binding = new SAPBinding();
                binding.AcceptCredentialsInUri = true;

                // Create a binding parameter collection with a list of SOAP actions to listen on
                // in this case: http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV
                // This ensures that only these actions are received on the channel.
                InboundActionCollection actions = new InboundActionCollection(listeneraddress);
                actions.Add("http://Microsoft.LobServices.Sap/2007/03/Rfc/Z_RFC_MKD_DIV");
                BindingParameterCollection bpcol = new BindingParameterCollection();
                bpcol.Add(actions);

                // Pass the Uri and the binding parameter collection (to specify the Z_RFC_MKD_DIV action)
                listener = binding.BuildChannelListener<IReplyChannel>(listeneraddress, bpcol);

                Console.WriteLine("Opening listener");
                // Open the listener
                listener.Open();

                // Get an IReplyChannel
                channel = listener.AcceptChannel();

                Console.WriteLine("Opening channel");
                // Open the channel
                channel.Open();

                Console.WriteLine("\nReady to receive Z_RFC_MKD_DIV RFC");

                try
                {
                    // Get the message from the channel
                    RequestContext rc = channel.ReceiveRequest();

                    // Get the request message sent by SAP
                    Message reqMessage = rc.RequestMessage;

                    // get the message body
                    XmlReader reader = reqMessage.GetReaderAtBodyContents();

                    reader.ReadStartElement("Z_RFC_MKD_DIV");
                    reader.ReadElementString("DEST");
                    int x_in = int.Parse(reader.ReadElementString("X"));
                    int y_in = int.Parse(reader.ReadElementString("Y"));
                    reader.ReadEndElement();

                    Console.WriteLine("\nRfc Received");
                    Console.WriteLine("X =\t\t" + x_in);
                    Console.WriteLine("Y =\t\t" + y_in);

                    Message messageOut = null;

                    try
                    {
                        int result_out = x_in/y_in;

                        Console.WriteLine("RESULT =\t" + result_out.ToString());

                        string out_xml = "<Z_RFC_MKD_DIVResponse xmlns=\"http://Microsoft.LobServices.Sap/2007/03/Rfc/\"><RESULT>" + result_out + "</RESULT></Z_RFC_MKD_DIVResponse>";
                        StringReader sr = new StringReader(out_xml);
                        reader = XmlReader.Create(sr);

                        // create a response message
                        // be sure to specify the response action
                        messageOut = Message.CreateMessage(MessageVersion.Default, reqMessage.Headers.Action + "/response", reader);

                    }
                    catch (DivideByZeroException ex)
                    {
                        Console.WriteLine();
                        Console.WriteLine(ex.Message + " Returning fault to SAP");

                        // Create a message that contains a fault
                        // The fault code and message action can be any value

                        messageOut = Message.CreateMessage(MessageVersion.Default, new FaultCode("Fault"), ex.Message, string.Empty);
                    }

                    // Send the reply
                    rc.Reply(messageOut);

                    // Close the request context
                    rc.Close();

                }
                catch (AdapterException aex)
                {
                    // Will get here if the message received was not in the InboundActionCollection
                    Console.WriteLine();
                    Console.WriteLine(aex.Message);
                }

                // Wait for a key to exit
                Console.WriteLine("\nHit <RETURN> to end");
                Console.ReadLine();
            }
            catch (ConnectionException cex)
            {
                Console.WriteLine("Exception occurred connecting to the SAP system");
                Console.WriteLine(cex.InnerException.Message);
            }
            catch (TargetSystemException tex)
            {
                Console.WriteLine("Exception occurred on the SAP system");
                Console.WriteLine(tex.InnerException.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
                if (ex.InnerException != null)
                {
                    Console.WriteLine("Inner Exception is: " + ex.InnerException.Message);
                }
            }
            finally
            {
                // IMPORTANT: close the channel and listener to stop listening on the Program ID
                if (channel != null)
                {
                    if (channel.State == CommunicationState.Opened)
                        channel.Close();
                    else
                        channel.Abort();
                }

                if (listener != null)
                {
                    if (listener.State == CommunicationState.Opened)
                        listener.Close();
                    else
                        listener.Abort();
                }
            }
        }
    }
}

See Also

Concepts

Developing Applications by Using the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Streaming Flat-File IDOCs in the WCF Channel Model

The Microsoft BizTalk Adapter for mySAP Business Suite supports node-value streaming for the SendIdoc and ReceiveIdoc operations. These operations are used to send and receive flat-file (string) IDOCs to and from the adapter. In both of these operations, the data for the entire IDOC is contained in a string under a single node (<idocData>). For large IDOCs, streaming the IDOC data between the adapter and your code may save significant memory resources.

For background information about how the adapter supports streaming, see Streaming and the SAP Adapter. You should read this topic before proceeding.

The sections in this topic describe how to implement node-value streaming for the SendIdoc and ReceiveIdoc operations when you use the WCF channel model.

Streaming Outbound Flat-File IDOCs to the Adapter

The adapter supports node-value streaming on the request message for the SendIdoc operation.

To support node-value streaming on SendIdoc operations in the WCF channel model, you must:

  1. Implement a System.ServiceModel.Channels.BodyWriter that is capable of streaming the IDOC data (performing node-value streaming on the IDOC data).

  2. Create the System.ServiceModel.Message used to invoke the operation by supplying the message body with this BodyWriter using an appropriate overload of the Message.Create method.

Implementing a BodyWriter

The following example shows an implementation of a BodyWriter that performs node-value streaming.

Copy Code
/// <summary>
/// This class overrides the OnWriteBodyContents function to do node-value streaming
/// </summary>
class StreamingBodyWriter : BodyWriter, IDisposable
{
    XmlReader m_reader = null;

    int m_chunkSize;
    /// <summary>
    /// Initializes the body writer
    /// </summary>
    /// <param name="reader">Reader for input</param>
    /// <param name="chunkSize">The chunksize in which the data is passed to adapter</param>
    public StreamingBodyWriter(XmlReader reader, int chunkSize)
        : base(false)
    {
        m_reader = reader;
        if (chunkSize <= 0)
            throw new ApplicationException("ChunkSize should be a positive value");
        m_chunkSize = chunkSize;
    }

    protected override void OnWriteBodyContents(XmlDictionaryWriter writer)
    {
        if (m_reader == null)
            throw new ApplicationException("Reader cannot be null");

        while (m_reader.Read())
        {
            switch (m_reader.NodeType)
            {
                case XmlNodeType.Element:
                    writer.WriteStartElement(m_reader.LocalName, m_reader.NamespaceURI);
                    break;
                case XmlNodeType.Text:
                    #region Streaming Code
                    char[] tempBuffer = new char[m_chunkSize];
                    int length = 0;
                    while ((length = m_reader.ReadValueChunk(tempBuffer, 0, m_chunkSize)) > 0)
                    {
                        writer.WriteString(new String(tempBuffer, 0, length));
                    }
                    #endregion
                    break;
                case XmlNodeType.EndElement:
                    writer.WriteEndElement();
                    break;
            }
        }

    }

    #region IDisposable Members

    public void Dispose()
    {
        if (m_reader != null)
        {
            m_reader.Close();
            m_reader = null;
        }
    }

    #endregion
}

Creating a Message by using a BodyWriter

The following example shows how to create a SendIdoc request message using the BodyWriter in the preceding example. The message data is read from a file.

Copy Code
XmlReader readerIn = XmlReader.Create ("sendidoc.xml");
// StreamingBodyWrtier class is responsible for streaming
StreamingBodyWriter stBW = new StreamingBodyWriter(readerIn, chunkSize);

Message InputMsg = Message.CreateMessage(MessageVersion.Default,
    "http://Microsoft.LobServices.SAP/2007/03/Idoc/SendIdoc",
    stBW);

Streaming Inbound Flat-File IDOCs from the Adapter

You receive a flat-file IDOCs in the inbound ReceiveIdoc operation. The adapter supports node-value streaming on the request message for the ReceiveIdoc operation.

To support node-value streaming on ReceiveIdoc operations in the WCF channel model, you must:

  1. Implement a System.Xml.XmlDictionaryWriter that is capable of streaming the IDOC data (performing node-value streaming on the IDOC data).

  2. Consume the Message by invoking its WriteBodyContents method with this XmlDictionaryWriter.

Implementing an XmlDictionaryWriter

The following example shows an implementation of an XmlDictionaryWriter that performs node-value streaming.

Copy Code
using System;
using System.Xml;
using System.Text;

class FileXmlWriter : XmlDictionaryWriter
{
    XmlTextWriter xts;

    public FileXmlWriter(string file)
    {
        xts = new XmlTextWriter(file, Encoding.UTF8);
    }

    public override void WriteBase64(byte[] buffer, int index, int count)
    {
        xts.WriteBase64(buffer, index, count);
    }

    public override void WriteCData(string text)
    {
        xts.WriteCData(text);
    }

    public override void WriteCharEntity(char ch)
    {
        xts.WriteCharEntity(ch);
    }

    public override void WriteChars(char[] buffer, int index, int count)
    {
        xts.WriteChars(buffer, index, count);
    }

    public override void WriteComment(string text)
    {
        xts.WriteComment(text);
    }

    public override void WriteDocType(string name, string pubid, string sysid, string subset)
    {
        xts.WriteDocType(name, pubid, sysid, subset);
    }

    public override void WriteEndAttribute()
    {
        xts.WriteEndAttribute();
    }

    public override void WriteEndDocument()
    {
        xts.WriteEndDocument();
    }

    public override void WriteEndElement()
    {
        xts.WriteEndElement();
    }

    public override void WriteEntityRef(string name)
    {
        xts.WriteEntityRef(name);
    }

    public override void WriteFullEndElement()
    {
        xts.WriteFullEndElement();
    }

    public override void WriteProcessingInstruction(string name, string text)
    {
        xts.WriteProcessingInstruction(name, text);
    }

    public override void WriteRaw(string data)
    {
        xts.WriteRaw(data);
    }

    public override void WriteRaw(char[] buffer, int index, int count)
    {
        xts.WriteRaw(buffer, index, count);
    }

    public override void WriteStartAttribute(string prefix, string localName, string ns)
    {
        xts.WriteStartAttribute(prefix, localName, ns);
    }

    public override void WriteStartDocument(bool standalone)
    {
        xts.WriteStartDocument(standalone);
    }

    public override void WriteStartDocument()
    {
        xts.WriteStartDocument();
    }

    public override void WriteStartElement(string prefix, string localName, string ns)
    {
        xts.WriteStartElement(localName);
    }

    public override void WriteString(string text)
    {
        xts.WriteString(text);
    }

    public override void WriteSurrogateCharEntity(char lowChar, char highChar)
    {
        xts.WriteSurrogateCharEntity(lowChar, highChar);
    }

    public override void WriteWhitespace(string ws)
    {
        xts.WriteWhitespace(ws);
    }

    public override void Close()
    {
        xts.Close();
    }

    public override void Flush()
    {
        xts.Flush();
    }

    public override string LookupPrefix(string ns)
    {
        return xts.LookupPrefix(ns);
    }

    public override WriteState WriteState
    {
        get { return xts.WriteState; }
    }

}

Consuming a Message by Using an XmlDictionaryWriter

The following example shows how to consume a ReceiveIdoc request message using the FileXmlWriter implemented in the preceding example. (The FileWriter class was created by sub-classing XmlDictionaryWriter.) The example uses an IReplyChannel channel to receive the ReceiveIdoc operation. The details of the channel creation have been omitted. The ReceiveIdoc request message is written to a file.

Copy Code
// Receive the ReceiveIdoc request message from the adapter.
RequestContext rc = channel.ReceiveRequest();
Message inputMsg = rc.RequestMessage;

// Stream the request message to received_idoc.xml using the custom XmlDictionaryWriter.
FileXmlWriter fileXmlWriter = new FileXmlWriter("received_idoc.xml");
inputMsg.WriteBodyContents(fileXmlWriter);
fileXmlWriter.Flush();
fileXmlWriter.Close();

See Also

Concepts

Developing Applications by Using the WCF Channel Model

© 2014 Microsoft Corporation. All rights reserved.


Retrieving Metadata Programmatically from SAP

The Microsoft BizTalk Adapter for mySAP Business Suite is a custom WCF binding that exposes an SAP system as a WCF service. The adapter exposes the SAP system as a self-describing service; that is, a service that is capable of publishing metadata about the operations that it supports. Metadata describes the logical interface to a WCF service; that is, the service contract, messages, and message schemas that must be used to interact with the service.

This metadata is used by tools such as:

  • The Add Adapter Service Reference Visual Studio Plug-in to generate managed code representations of the service contract, and

  • The Consume Adapter Service BizTalk Project Add-in to generate message schemas.

However, you can also retrieve metadata programmatically from the adapter. For example, you might want to do this to create a custom metadata retrieval tool to use in an existing application.

The adapter publishes metadata through two endpoints:

  • A WS-Metadata Exchange (MEX) endpoint. WCF automatically provides a MEX endpoint for all WCF bindings. You can use metadata exchange to retrieve metadata for operations supported by the adapter on the underlying SAP system.

  • An IMetadataRetrievalContract endpoint. The IMetadataRetrievalContract interface is implemented by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK. It categorizes SAP system artifacts at multiple logical levels and presents them as a tree of metadata nodes. You can use methods exposed by the IMetadataRetrievalContract interface to browse and search the nodes of this tree and to return metadata for operations in which you are interested.

The topics in this section describe how to use MEX and IMetadataRetrievalContract endpoints to retrieve metadata programmatically from the adapter.

In This Section

  • Retrieving Metadata Using WS-Metadata Exchange

  • Retrieving Metadata by Using IMetadataRetrievalContract

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Retrieving Metadata Using WS-Metadata Exchange

As a Windows Communication Foundation (WCF) custom binding, the Microsoft BizTalk Adapter for mySAP Business Suite exposes a WS-Metadata Exchange (MEX) endpoint that you can use to retrieve metadata for specific operations from the Microsoft BizTalk Adapter for mySAP Business Suite.

WCF provides a rich infrastructure for exporting, publishing, retrieving and importing metadata about a service. WCF services, like the adapter, use metadata to describe how to interact with the service endpoints so that tools, like svcutil.exe, can automatically generate client code for consuming the service. WCF represents the metadata for a service as an instance of the MetadataSet type, which is strongly tied to the metadata serialization format defined in WS-Metadata Exchange (MEX). You can create a MetadataSet for targeted operations on the adapter by using a MetadataExchangeClient.

WCF support for metadata exchange is an expansive topic and beyond the scope of this documentation. For more information about support for metadata in WCF, see "Metadata" in the WCF documentation at http://go.microsoft.com/fwlink/?LinkId=105634. For a particularly good description of the architecture, classes, and namespaces that WCF exposes for metadata, see "Metadata Architecture Overview" at http://go.microsoft.com/fwlink/?LinkId=105635. You should familiarize yourself with the content related to retrieving metadata from a WCF service in these WCF topics before proceeding.

The following topics contain information about how to use a MetadataExchangeClient to retrieve metadata from the SAP adapter.

Using a MetadataExchangeClient to Retrieve Metadata

To use a MetadataExchangeClient you must specify a connection URI and a binding (SAPBinding). The connection URI identifies the operations for which you want to retrieve metadata.

The following sections contain information about how to specify the connection URI, important binding properties, and how to use a MetadataExchangeClient to retrieve metadata from the adapter.

The Connection URI

To use the MetadataExchangeClient you must supply a SAP connection URI that specifies a MEX endpoint and the operation or operations for which you want to retrieve metadata. You specify a MEX endpoint and target operations in the connection URI in the following manner:

  • You must include the "wsdl" parameter in the query string. If it is the first parameter in the query string, it is specified just after the question mark (?). If it is not the first parameter, it should be preceded with an ampersand (&).

  • You must follow the "wsdl" parameter by one or more "op" parameters. Each "op" parameter is preceded by an ampersand (&) and specifies the message action (node ID) of a target operation.

For example, the following connection URI targets the Send operation for the SALESORDER_CREATEFROMDAT201 IDOC and the SALESORDER_CREATEFROMDAT202 IDOC. The "wsdl" and "op" parameters are highlighted.

Copy Code
"sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT201//620/Send&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT202//620/Send"
Note
It is not necessary to include listener parameters in the connection URI for inbound operations. The adapter connects as a client to retrieve metadata from the SAP system.

You can also use the constants defined at Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants to help you specify operations when you create a connection URI. This is demonstrated in the code example at the end of this topic.

How you pass this connection URI to the MetadataExchangeClient depends on which of the overloaded methods you use to create the client and retrieve metadata from the adapter.

For more information about the SAP connection URI, see The SAP System Connection URI.

Binding Properties

When you create the MetadataExchangeClient, you must specify an SAPBinding.

There are several binding properties that affect how the adapter generates metadata. These properties are:

  • GenerateFlatfileCompatibleIdocSchema

  • ReceiveIDocFormat

  • EnableSafeTyping

  • FlatFileSegmentIndicator

You should ensure that these binding properties are set to the values required for your application before you invoke the GetMetadata method on the MetadataExchangeClient. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Example

The following example uses a MetadataExchangeClient to create a service description (WSDL document) for the BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK operations.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.ObjectModel;

// Needed for WCF and SAP adapter
using System.ServiceModel;
using Microsoft.ServiceModel.Channels;
using Microsoft.Adapters.SAP;

// Needed for MetadataExchangeClient class
using System.ServiceModel.Description;
// Needed for ServiceDescription class
using System.Web.Services;

namespace SapMetadataExchangeClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a binding
            SAPBinding binding = new SAPBinding();

            //Create a metadata exchange client that will retrieve metadata according to the WS-MEX standard.
            MetadataExchangeClient client = new MetadataExchangeClient(binding);
            client.SoapCredentials.UserName.UserName = "YourUserName";
            client.SoapCredentials.UserName.Password = "YourPassword";

            //Set up an endpoint address and specify the operation for which we want metadata.
            string connectionUri = "sap://Client=800;lang=EN@A/YourSAPHost/00?wsdl&op="
                + Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants.RfcActionPrefix
                + "BAPI_TRANSACTION_COMMIT"
                + "&op="
                + Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants.RfcActionPrefix
                + "BAPI_TRANSACTION_ROLLBACK";

            EndpointAddress address = new EndpointAddress(connectionUri);

            //Get the metadata.
            MetadataSet ms = client.GetMetadata(address);

            // Check for the metadata set size.
            Collection<MetadataSection> documentCollection = ms.MetadataSections;
            if (documentCollection != null && documentCollection.Count > 0)
            {
                //Get the WSDL from the metadata set
                System.Web.Services.Description.ServiceDescription wsdl = (System.Web.Services.Description.ServiceDescription)documentCollection[0].Metadata;

                //Save the WSDL to a file.
                wsdl.Write("BapiTx.wsdl");

            }

        }
    }
}

See Also

Concepts

Retrieving Metadata Programmatically from SAP
Retrieving Metadata by Using IMetadataRetrievalContract

© 2014 Microsoft Corporation. All rights reserved.


Retrieving Metadata by Using IMetadataRetrievalContract

The Microsoft BizTalk Adapter for mySAP Business Suite exposes an IMetadataRetrievalContract endpoint that you can use to browse and search for SAP system artifacts and to retrieve metadata in the form of a Web Services Description Language (WSDL) document for operations.

The IMetadataRetrievalContract interface is implemented by the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK and provides metadata browse, search, and retrieval capabilities. In addition to the IMetadataRetrievalContract interface, the WCF LOB Adapter SDK exposes the MetadataRetrievalClient class, which implements the interface. You can use either an IMetadataRetrievalContract channel or a MetadataRetrievalClient to work with metadata; the methods exposed to browse, search, and retrieve metadata are the same in each case.

The following sections provide information about how to use the IMetadataRetrievalContract interface.

The IMetadataRetrievalContract Interface

The following table provides information about important classes that are used when you work with the IMetadataRetrievalContract interface.

Class or Interface | Description
IMetadataRetrievalContract interface (Microsoft.ServiceModel.Channels) | Defines the Browse, Search, and GetMetadata methods. You invoke these methods either by using an IMetadataRetrievalContract channel or a MetadataRetrievalClient to work with adapter metadata.
MetadataRetrievalClient class (Microsoft.ServiceModel.Channels) | Implements the IMetadataRetrievalContract interface. You can create an instance of this class and configure it for your SAP system by providing an SAPBinding and an EndpointAddress. Then you can invoke its methods to work with metadata.
MetadataRetrievalNode class (Microsoft.ServiceModel.Channels) | Represents a metadata node on the adapter. The Browse and Search methods return nodes of this type, and the GetMetadata method takes nodes of this type as a parameter.
ServiceDescription class (System.Web.Services.Description) | Provides a means of creating and formatting a valid WSDL document file. The GetMetadata method returns a ServiceDescription object.

For more information about the IMetadataRetrievalContract interface, the MetadataRetrievalClient class, and the MetadataRetrievalNode class; see the Microsoft.ServiceModel.Channels managed reference at http://go.microsoft.com/fwlink/?LinkId=105566.

Metadata Node IDs

The adapter organizes its metadata as a hierarchical tree of nodes. Within this tree structure there are two types of metadata nodes:

  • Operation nodes represent operations that the adapter surfaces on SAP artifacts. Operation nodes are the leaves of the tree.

  • Category nodes represent SAP artifacts and groupings of SAP artifacts that do not directly correspond to an operation on the adapter. Category nodes are the branches of the tree; they contain other category nodes and/or operation nodes. For example, RFC functional groups or SAP business objects are represented as category nodes.

Each metadata node surfaced by the adapter is identified by a unique node ID. For more information about the metadata node IDs surfaced by the adapter, see Metadata Node IDs. You use these node IDs to specify target SAP artifacts when you use the IMetadataRetrievalContract interface to browse, search, and retrieve metadata. You can use the constants defined in Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants and Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants to help you construct metadata node IDs.

Binding Properties

Whether you use an IMetadataRetrievalContract channel or an IMetadataRetrievalClient to work with metadata, you must specify an SAPBinding when you create the instance.

There are several binding properties that affect how the adapter generates metadata. These properties are:

  • GenerateFlatfileCompatibleIdocSchema

  • ReceiveIDocFormat

  • EnableSafeTyping

  • FlatFileSegmentIndicator

You should ensure that these binding properties are set to the values required for your application before you open the metadata retrieval object. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Browsing Metadata Nodes

You use the Browse method to return all the metadata nodes that are contained in a parent node. The following example browses for the first three RFC functional groups on the SAP system. In this example, client is an instance of MetadataRetrievalClient.

Copy Code
// The first parameter is the node ID.
// The second parameter is the start index.
// The third parameter is the maximum number of nodes to return.
IMetadataRetrievalNode[] nodes = client.Browse(Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, 0, 3);
Important
You can only browse category nodes; you cannot browse operation nodes.

Searching for Metadata Nodes

You use the Search method to perform a search for nodes contained by a parent node. You can specify the asterisk (*) wildcard character. This character matches zero or more characters. The following example shows a search for all RFCs that contain the string "BAPI". In this example, client is an instance of MetadataRetrievalClient.

Copy Code
// Search for all nodes that contain "BAPI" under the RFC node.
// The parameters are the parent node ID, the search expression, and
// the maximum number of nodes to return.
IMetadataRetrievalNode[] nodes = client.Search(Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, "*BAPI*", int.MaxValue);
Important
Searching is only supported on a limited set of nodes. For more information about the nodes on which search is supported and about the wildcard character supported in search expressions, see Metadata Node IDs.

Retrieving Metadata (WSDL) for Operations

You use the GetMetadata method to retrieve a service description (WSDL document) for a group of operation nodes. The following example retrieves a service description for the BAPI_TRANSACTION_COMMIT RFC. In this example, client is an instance of MetadataRetrievalClient. Note that the node ID for an operation node is equivalent to the message action for that operation.

Copy Code
// Get a WSDL document that specifies a contract that contains the
// BAPI_TRANSACTION_COMMIT operation.
MetadataRetrievalNode[] nodes = new MetadataRetrievalNode[1];
nodes[0] = new MetadataRetrievalNode();
nodes[0].NodeId = Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants.RfcActionPrefix + "BAPI_TRANSACTION_COMMIT";
nodes[0].IsOperation = true;

System.Web.Services.Description.ServiceDescription description = client.GetMetadata(nodes);
Important
You should only specify operation nodes in the GetMetadata method.

Using a MetadataRetrievalClient

Creating and using a MetadataRetrievalClient is much the same as any other WCF client. You create the client by specifying an endpoint and an instance of SAPBinding. You can do this either declaratively in configuration or imperatively in your code. You then invoke the methods of the MetadataRetrievalClient to browse, search, and retrieve metadata from the adapter.

The following example shows how to use a MetadataRetrievalClient to browse, search, and retrieve metadata from the SAP adapter.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using System.ServiceModel;
using Microsoft.Adapters.SAP;
using Microsoft.ServiceModel.Channels;

using System.Web.Services.Description;

namespace SapMetaDataBrowseClient
{
    class NodeWriter
    {
        // This method writes the value of a collection of metadata retrieval nodes
        // to the console.
        public void Write(string title, MetadataRetrievalNode[] nodes)
        {
            Console.WriteLine(title);
            Console.WriteLine();

            //Write all the nodes returned to the console.
            foreach (MetadataRetrievalNode node in nodes)
            {
                Console.WriteLine("NodeId = " + node.NodeId);
                Console.WriteLine("\tDirection   = " + node.Direction.ToString());
                Console.WriteLine("\tIsOperation = " + node.IsOperation.ToString());
                Console.WriteLine("\tDisplayName = " + node.DisplayName);
                Console.WriteLine("\tDescription = " + node.Description);
            }
            Console.WriteLine();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MetadataRetrievalClient browser = null;
            NodeWriter nodeWriter = new NodeWriter();

            try
            {
                // Create a binding
                SAPBinding binding = new SAPBinding();

                EndpointAddress address = new EndpointAddress("sap://Client=800;lang=EN@A/YourSAPHost/00");

                browser = new MetadataRetrievalClient(binding, address);
                browser.ClientCredentials.UserName.UserName = "YourUserName";
                browser.ClientCredentials.UserName.Password = "YourPassword";
                browser.Open();

                // Return the nodes directly under the root.
                // The parameters are the parent node ID, the start index, and the maximum number
                // of nodes to return.
                MetadataRetrievalNode[] nodes = browser.Browse(MetadataRetrievalNode.Root.NodeId, 0, int.MaxValue);
                nodeWriter.Write("Browse results for the root node:", nodes);

                // Return first 3 RFC group nodes.
                nodes = browser.Browse(Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, 0, 3);
                nodeWriter.Write(String.Format("Browse results for the first {1} nodes of {0}:", Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, nodes.Length), nodes);

                // Search for first 3 nodes that begin with "BAPI_TRANSACTION" under the RFC node.
                // The parameters are the parent node ID, the search expression, and the maximum number
                // of nodes to return.
                nodes = browser.Search(Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, "*BAPI_TRANSACTION*", 3);
                nodeWriter.Write(String.Format("Search results for \"*BAPI_TRANSACTION*\" under {0} node:", Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection), nodes);

                // Get a WSDL document that specifies a contract that contains the operations
                // found in the search and write it to a file.
                // You could explicitly specify operations as in the following:
                //    nodes[0] = new MetadataRetrievalNode();
                //    nodes[0].NodeId = Microsoft.Adapters.SAP.SAPAdapterConstants.ActionConstants.RfcActionPrefix + "BAPI_TRANSACTION_COMMIT";
                //    nodes[0].IsOperation = true;
                // Note that the operation NodeId is equivalent to the message action.
                System.Web.Services.Description.ServiceDescription description = browser.GetMetadata(nodes);
                description.Write("SampleContract.wsdl");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception is: " + ex.Message);
            }
            finally
            {
                if (browser != null)
                {
                    if (browser.State == CommunicationState.Opened)
                        browser.Close();
                    else
                        browser.Abort();
                }
            }
        }
    }
}

The following shows the output of this program on the console. You can see the structure of the metadata retrieval nodes returned for each method. The program also writes a WSDL document that describes a service contract consisting of the nodes returned by the search to a file. (For most SAP installations, the service description will contain the BAPI_TRANSACTION_COMMIT and BAPI_TRANSACTION_ROLLBACK operations.)

Copy Code
Browse results for the root node:

NodeId = http://Microsoft.LobServices.Sap/2007/03/BAPISECTION/000001
        Direction   = Outbound
        IsOperation = False
        DisplayName = BAPI
        Description = BAPI
NodeId = http://Microsoft.LobServices.Sap/2007/03/IDOCSECTION/
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = IDOC
        Description = IDOC
NodeId = http://Microsoft.LobServices.Sap/2007/03/RFCSECTION/
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = RFC
        Description = RFC
NodeId = http://Microsoft.LobServices.Sap/2007/03/TRFCSECTION/
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = TRFC
        Description = TRFC

Browse results for the first 3 nodes of http://Microsoft.LobServices.Sap/2007/03
/RFCSECTION/:

NodeId = http://Microsoft.LobServices.Sap/2007/03/RFCGROUP/A
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = Asset Accounting
        Description = Asset Accounting
NodeId = http://Microsoft.LobServices.Sap/2007/03/RFCGROUP/S
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = Basis
        Description = Basis
NodeId = http://Microsoft.LobServices.Sap/2007/03/RFCGROUP/B
        Direction   = Inbound, Outbound
        IsOperation = False
        DisplayName = Business Information Warehouse
        Description = Business Information Warehouse

Search results for "*BAPI_TRANSACTION*" under http://Microsoft.LobServices.Sap/2
007/03/RFCSECTION/ node:

NodeId = http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_TRANSACTION_COMMIT
        Direction   = Inbound, Outbound
        IsOperation = True
        DisplayName = BAPI_TRANSACTION_COMMIT
        Description = Execute external Commit when using BAPIs
NodeId = http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_TRANSACTION_ROLLBACK
        Direction   = Inbound, Outbound
        IsOperation = True
        DisplayName = BAPI_TRANSACTION_ROLLBACK
        Description = Execute external Rollback when using BAPIs

Using an IMetadataRetrievalContract Channel

You can also create an IMetadataRetrievalContract channel and then use this channel to browse, search, and retrieve metadata from the adapter. (The method signatures are the same as for the MetadataRetrievalClient class.) The following example shows how to do this.

Copy Code
…
//Create a binding and endpoint address.
SAPBinding binding = new SAPBinding();
EndpointAddress address = new EndpointAddress("sap://Client=800;lang=EN@A/YourSAPHost/00");

//Create and open a channel factory that will return an IMetadataRetrievalContract object, on which browse, search, and get can be performed.
ChannelFactory<IMetadataRetrievalContract> factory = new ChannelFactory<IMetadataRetrievalContract>(binding, address);
factory.Credentials.UserName.UserName = "YourUserName";
factory.Credentials.UserName.Password = "YourPassword";
factory.Open();

//Obtain an IMetadataRetrievalContract channel from the factory.
IMetadataRetrievalContract channel = factory.CreateChannel();

//Perform a search using the channel.
MetadataRetrievalNode[] nodes = channel.Search(Microsoft.Adapters.SAP.SAPAdapterConstants.MetadataConstants.RfcSection, "BAPI_TRANSACTION*", int.MaxValue);
…

See Also

Concepts

Retrieving Metadata Programmatically from SAP

© 2014 Microsoft Corporation. All rights reserved.


Using the .NET Framework Data Provider for mySAP Business Suite

This section provides instructions on using the .NET Framework Data Provider for mySAP Business Suite. For information about the custom RFC used by Data Provider for SAP and the limitations of the provider see About the .NET Framework Data Provider for mySAP Business Suite.

Note
Even if you chose to install the Data Provider for SAP as part of the BizTalk Adapter Pack installation, you must install some custom RFCs at the SAP system to use the Data Provider for SAP. For instructions on how to install the custom RFCs, see Installing Custom RFCs for the Data Provider for SAP.

In This Section

  • Extending ADO.NET Interfaces

  • The Data Provider for the SAP Connection String

  • Syntax for a SELECT Statement

  • Syntax for an EXEC Statement

  • Support for Executing SAP Queries

  • Invoking RFCs and BAPIs by Using the EXEC Command

  • Performing a Query by Using the SELECT Command

  • Executing an SAP Query Using the EXECQUERY Command

  • Using the Data Provider for SAP with the DDEX Plug-in

  • Using the Data Provider for SAP with SSIS

  • Using the Data Provider for SAP with SSRS

© 2014 Microsoft Corporation. All rights reserved.


Extending ADO.NET Interfaces

The .NET Framework Data Provider for mySAP Business Suite (Data Provider for SAP) extends various ADO.NET interfaces. The ADO.NET clients can use these to interface with the SAP system. This section provides more information about these interfaces.

In This Section

  • SAPConnection

  • SAPCommand

  • SAPDataReader

  • SAPParameter

  • SAPParameterCollection

  • SAPClientFactory

© 2014 Microsoft Corporation. All rights reserved.


SAPConnection

The following section lists the methods and properties for the SAPConnection class. This represents an ADO.NET connection to the SAP application server.

This is derived from System.Data.Common.DbConnection.

Supported Properties

Name Get/Set Description

ConnectionString

Get and Set

See The Data Provider for the SAP Connection String.

ConnectionTimeout

Get

Not supported. Returns 0.

Database

Get

SAP System ID.

DataSource

Get

This returns the name of the SAP application server host.

ServerVersion

Get

This shows the release number for the SAP instance and not the SAP Server version. For example, if the ADO.NET client is connecting to SAP Server version 4.6 with the instance release number 620, this property will display 620.

State

Get

Connection state. The supported states are:

  • [System.Data.ConnectionState]

  • Closed

  • Open

  • Connecting

Supported Methods

Name Description

ChangeDatabase(string)

Not supported.

Close()

Closes the connection to the SAP system.

CreateCommand()

Returns a new SAPCommand associated with this connection.

GetSchema()

Gets the list of discovered SAP tables. All discovered tables are available in an XML file SAPDiscoveredObjects.xml. The file is located at <installation drive>:\Program Files\Common Files\Microsoft Shared\Adapters\SAP.

GetSchema(string)

Gets schema based on collection name. Supports the collection name “Tables”.

GetSchema(string, string[])

Gets schema based on the collection name and restrictions. The table below represents the collection names and restrictions supported:

Collection Name | Restrictions | Description
Tables | - | List of discovered SAP Tables
Procedures | - | List of discovered RFCs
SearchRFCs | arr[0]: Search expr | List of matching RFCs
ImportParameters | arr[1]: RFC name | Import parameters of RFC
ImportParameterColumn | arr[1]: RFC name arr[2]: Param name | Import parameter schema
ExportParameters | arr[1]: RFC name | Export parameters of RFC
ExportParameterColumn | arr[1]: RFC name arr[2]: Param name | Export parameter schema
TableParameters | arr[1]: RFC name | Table parameters of RFC
TableParameterColumn | arr[1]: RFC name arr[2]: Param name | Table parameter schema
ChangingParameters | arr[1]: RFC name | Changing parameters of RFC
ChangingParameterColumn | arr[1]: RFC name arr[2]: Param name | Changing parameter schema
columns | arr[1]: Table name | SAP Table column schema

Open()

Opens an SAP connection based on the connection string.

Note
Except for Table, Procedure, and SearchRFCs collection entries, for all other collection entries you must specify a dummy value for arr[0].

Supported Constructors

Name | Description
SAPConnection() | Creates an SAPConnection object instance.
SAPConnection(string) | Accepts an SAP connection string. Throws an exception if the connection string is invalid.

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


SAPCommand

This command represents a SQL query to be executed on the SAP backend. The .NET Framework Data Provider for mySAP Business Suite currently supports SELECT and EXEC statements only. SELECT statements enable extraction of data from a single SAP table, and EXEC statements enable users to execute RFCs on the SAP server.

This is derived from System.Data.Common.DbCommand.

Supported Properties

Name | Get/Set | Description
CommandText | Get and Set | Supports SELECT and EXEC statements. For more information about the SELECT statement, see Syntax for a SELECT Statement. For more information about the EXEC statement, see Syntax for an EXEC Statement.
CommandTimeout | Get and Set | Not supported.
CommandType | Get and Set | CommandType.Text supported.
Connection | Get and Set | The underlying SAP connection on which the command will be executed.
DesignTimeVisible | Get | Not supported. Returns false.
Parameters | Get | Parameter collection used for this command.
UpdatedRowSource | - | Not supported.

Supported Methods

Name Description

Cancel()

Cancels the command while retrieving data in batches. Cancellation happens after a batch is retrieved.

ExecuteNonQuery()

Does not output any DataReader. However, values will be available via bound parameters.

ExecuteReader()

Outputs a DataReader with all complex type Export and Table parameters as resultsets. The values can also be obtained via bound parameters.

ExecuteReader(CommandBehavior)

CommandBehaviors supported are:

  • Default

  • SingleResult

  • SingleRow

  • SchemaOnly

ExecuteScalar()

Maps to:

  • CommandBehaviour.SingleRow for SELECT statements.

  • CommandBehaviour.SingleResult for EXEC statements.

Prepare()

  • EXEC supports bind parameters.

  • SELECT supports bind parameters.

Supported Constructors

Name | Description
SAPCommand() | Create a new instance of SAPCommand.
SAPCommand(string) | SAPCommand with command text.
SAPCommand(string, SAPConnection) | SAPCommand with command text and the SAPConnection object using which the command will be executed

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


SAPDataReader

The following section lists the methods and properties for the SAPDataReader class. This is derived from System.Data.Common.DbDataReader.

Supported Properties

Name | Get/Set | Description
Depth | Get | Not supported. Returns 0.
FieldCount | Get | Number of fields in the current record set
IsClosed | Get | Returns status of data reader
RecordsAffected | Get | Not supported. Returns -1

Supported Methods

Name | Description
Close() | Closes the DataReader
Get [methods]* where [methods] is the expected data type. E.g. GetInt32(int) | Gets column value based on the data type expected
IsDBNull(int) | Not supported. Returns false.

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


SAPParameter

The following section lists the methods and properties for the SAPParameter class. This is derived from System.Data.Common.DbParameter.

Supported Properties

Name | Get/Set | Description
DbType | Get | DbType if the parameter returned. Cannot be set.
Direction | Get and Set | ParameterDirection.ReturnValue not supported.
IsNullable | - | Not supported.
ParameterName | Get and Set | Name of the parameter.
Size | - | Not supported.
SourceColumn | - | Not supported.
SourceColumnNullMapping | - | Not supported.
SourceVersion | - | Not supported.
Value | Get and Set | Value of the parameter

Supported Methods

Name | Description
ResetDbType() | Not supported.

Supported Constructors

Name | Description
SAPParameter() | SAP parameter instance.
SAPParameter(string) | SAP parameter with SAP parameter name.
SAPParameter(string, DbType) | SAP parameter with SAP parameter name and DbType.
SAPParameter(string, object) | SAP parameter with SAP parameter name and value. Complex types have value of type DataTable and XML string.
SAPParameter(string, ParameterDirection) | SAP parameter with SAP parameter name and parameter direction.

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


SAPParameterCollection

The following section lists the methods and properties for the SAPParameterCollection class. This is derived from System.Data.Common.DbParameterCollection.

Supported Properties

Name | Get/Set | Description
Count | Get | Number of parameters in the collection.
IsFixedSize | Get | Not supported. Returns false.
IsReadOnly | Get | Not supported. Returns false.
IsSynchronized | Get | Not supported. Returns false.
SyncRoot | Get | Returns the lock object.

Supported Methods

Name | Description
Add(SAPParameter) | Parameter cannot belong to more than one ParameterCollection.
Add(object) | Object should be of SAPParameter type.
AddRange(System.Array) | Adds an array of SAPParameter instances.
Clear() | Clears the parameters in the collection.
Contains(object) | Checks based on parameter instance.
Contains(string) | Checks based on parameter name.
CopyTo(SAPParameter[], int) | Copies parameter list to an array of SAPParameter types.
CopyTo(System.Array, int) | Copies parameter list to an array.
GetEnumerator() | Gets an enumerator for the parameters in the collection.
IndexOf(object) | Index of parameter based on SAPParameter instance.
IndexOf(string) | Index of parameter based on SAPParameter name.
Insert(int, object) | Inserts an SAPParameter into the collection.
Remove(object) | Removes an SAPParameter into the collection based on instance.
RemoveAt(int) | Removes an SAPParameter into the collection at a given index.
RemoveAt(string) | Removes an SAPParameter into the collection based on name.

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


SAPClientFactory

The following section lists the methods and properties for the SAPClientFactory class. This is derived from System.Data.Common.DbProviderFactory.

Supported Properties

Name | Get/Set | Description
Instance | - | Singleton instance of SAPClientFactory

Supported Methods

Name | Description
CreateCommand() | Creates an instance of SAPCommand
CreateConnection() | Creates an instance of SAPConnection
CreateConnectionStringBuilder() | Creates an instance of SAPConnectionStringBuilder
CreateParameter() | Creates an instance of SAPParameter

See Also

Other Resources

Extending ADO.NET Interfaces

© 2014 Microsoft Corporation. All rights reserved.


The Data Provider for the SAP Connection String

To establish connectivity to an SAP system, ADO.NET clients must specify the SAP connection properties in the form of a connection string. The format for the SAP ADO connection string looks like:

Copy Code
[Property1]=[Value1];[Property2]=[Value2];....

The connection string to connect to an SAP system using the Data Provider for SAP can have the following types:

  • TYPE A: An application host–based connection in which the connection URI specifies an application server through which the Data Provider for SAP connects to the SAP system.

  • TYPE B: A load-balanced connection in which the connection URI specifies a message server through which the Data Provider for SAP connects to the SAP system.

  • TYPE D: A destination-based connection in which the connection URI specifies a destination in the saprfc.ini file that contains the connection parameters for the SAP system.

The following table describes how these connections are specified in the connection URI.

TYPE Property 1 Property 2 Description

A

ASHOST (Application Server Host)

SYSNR (SAP System Number)

Specifies an application host-based connection.

B

MSHOST (Message Server Host)

R3NAME (SAP R3 Name)

Specifies a load balancing connection through a message server. For a load balancing connection, an optional server group can be specified.

D

DEST (Destination that contains the connection parameters in the saprfc.ini file)

-

Specifies a destination-based connection. The SAP connection parameters are contained in the specified destination in the saprfc.ini file. Only TYPE A and TYPE B connections can be specified in the destination.

Note
If you specify connection values in the saprfc.ini file, make sure the file is located in the same folder as the .exe that accesses the file or at a standard location as required by the SAP system. For more information, see the SAP documentation.

Based on the type of connection, the connection string to connect to an SAP system using the Data Provider for SAP can contain the following properties.

Property | Used for TYPE | Description
Application Server Host (ASHOST) | A | Name of the SAP application server host.
System Number (SYSNR) | A | The SAP system number
Application Server Group Name (GROUP) | B | Name of the SAP server group. This is an optional group of application servers in a load balancing connection.
Message Server Host (MSHOST) | B | Name of the SAP message server host
Message Server Service (MSSERV) | B | Name of the SAP message server service as specified in the <system drive>:\WINDOWS\system32\drivers\etc\services file. If you do not specify a value, the Data Provider for SAP assumes this to be "sapms<R/3 system name>". For example, if the R/3 system name is DV1, the adapter assumes the message server service name to be "sapmsDV1". However, if the entry in the services file is different, you must specify that value.
R/3 System Name (R3NAME) | B | The SAP R/3 name.
Destination (DEST) | D | Picks the connection parameters from the saprfc.ini file.
Client (CLIENT) | A,B,D | The SAP client number
Language (Lang) | A,B,D | Language
Password (PASSWD) | A,B,D | The SAP user password
Username (USER) | A,B,D | The user name to connect to an SAP system
Enable SAP GUI debugging (AbapDebug) | A,B,D | Optional parameter that specifies whether ABAP debugging from Visual Studio is enabled and whether the adapter uses the SAP GUI for debugging. The value can be True or False; if True, ABAP debugging is enabled and the SAP GUI is opened. The default is False.
Trace RFC SDK(RfcSdkTrace) | A,B,D | Optional parameter that specifies whether RFC library tracing is enabled. The value can be True or False; if True, RFC Library tracing is enabled. The default is False.
Note
The values provided within parentheses in the Property column are the name of the connection properties that must be specified while providing the connection URI through a programming solution. However, if you are using the DDEX plug-in or SQL Server Import and Export wizard to use the ADO interface, the connection properties are listed as friendly names.

Example Connection String for TYPE A

An example connection string for TYPE A would look like:

Copy Code
TYPE=A; ASHOST=SAPSERVER; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;
Note
By default the Data Provider for SAP always considers the connection string to be of TYPE A.

Example Connection String for TYPE B

An example connection string for TYPE B would look like:

Copy Code
TYPE=B; R3NAME=NAME1; GROUP=ADAPTER; MSHOST=MSSERVER; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;

Example Connection String for TYPE D

An example connection string for TYPE D would look like:

Copy Code
TYPE=D; DEST=TESTSAPSRV; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;

A sample saprfc.ini file resembles:

Copy Code
DEST=TESTSAPSRV
TYPE=A
ASHOST=ADAPSAP47
SYSNR=00

For more information about the saprfc.ini file, see http://go.microsoft.com/fwlink/?LinkId=91457.

The password for all three connection types must not contain double quotation marks. However, if the password contains any other special characters, the password must be enclosed within double quotation marks. For example:

Copy Code
ASHOST=SAPSERVER; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=",@/:;_ \\";
Important
You must specify the connection parameters for only one connection TYPE A, B, or D. For example, if you specify the Application Server Host in the connection string, you must not specify a Message Server Host name or the R3NAME.

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Setting the Maximum Connection Limit to the SAP Server

The Data Provider for SAP enables adapter clients to control the maximum number of connections that can be opened by the provider internally. You can control this by setting the environment variable, CPIC_MAX_CONV.

For example, if CPIC_MAX_CONV is set to any numerical value, the number of RFC connections opened at any time will be less than or equal to that numerical value.

Note
The numerical value will be applicable for every server individually under the process/appdomain which sets this value.

For example, if an application using Data provider for SAP, has set its environment variable at process level to “x” and connects to two different servers A and B, then the maximum number of connections for both A and B will be “x” respectively.

© 2014 Microsoft Corporation. All rights reserved.


Syntax for a SELECT Statement

The following sections describe grammar specifications for implementing SELECT queries against the .NET Framework Data Provider for mySAP Business Suite. Notice that in several cases, the syntax is somewhat different from the base Transact-SQL syntax.

Copy Code
SELECT {TOP <const> }[0,1] <select_list>  {INTO FILE [‘file_name’ | “file_name”]
{DELIMITED}[0,1]}[0,1]  FROM table_name  {AS alias_name }[0,1]
{INNER JOIN table_name {AS alias_name}[0,1] ON  <Join_Condition>}[0,1]
{ WHERE <predicate> } [0,1] {;}[0,1]
[OPTION 'no_conversion' | 'batchsize <size>' | 'disabledatavalidation'

Where:

  • <select_list> = [ {table_name.}[0,1]column_name { AS alias_name } [0,1] } [ 1, …n ]

  • <Join_Condition> = [Alias_name.|table_name.]column_name <expr> [Alias_name.|table_name.]column_name

  • <predicate> = [ predicate [AND|OR] predicate [between|not between] predicate | NOT predicate | ‘(‘ predicate ‘)’ | condition ]

The supported conditions and expressions are:

  • <condition> = [ expr | expr [NOT | ] BETWEEN const AND const | expr [NOT | ] LIKE const ]

  • <expr> = [ const | column_name [= | ! = | > | > = | ! > | < | < = | ! < ] const | column_name | - const | const | column_name ]

Where <const> = integer | real | string | ? | NULL | xml_element.

Values for the OPTION Keyword

You can specify the options as OPTION '<option>', where <option> = 'no_conversion' | 'batchsize <size>' | 'disabledatavalidation'

  • The no_conversion option:

    • If the no_conversion option is used then the fields in the table are exposed using the equivalent .NET types. For information about the .NET equivalent of the SAP data types, see Basic SAP Data Types.

    • If the no_conversion option is not used, and if a field does not have a conversion exit defined then those fields in the table are exposed using the equivalent .NET types. For information about the .NET equivalent of the SAP data types, see Basic SAP Data Types.

    • When the no_conversion option is not used, and if a field has a conversion exit defined then those fields in the table are exposed as .NET String.

  • When set to batchsize <size>, the execution of the SELECT statement causes multiple calls to be made to the SAP system, and in each call, only <size> number of records are retrieved. For example, if you specify 'batchsize 100', the SELECT query retrieves 100 records only in each call to the SAP system. If batchsize <size> is not specified, the default value of 10,000 is assumed for the batch size. Note that you should specify an optimum value for the batch size based on the physical memory of the computer and the number of rows in the SAP system. Failure in specifying an optimum value for batch size may result in out of memory exceptions.

  • When set to disabledatavalidation, the Data Provider for SAP does not validate the values present in the DATS, TIMS, and NUMC columns but instead exposes them as string.

    This is useful in scenarios where ADO.NET clients fail to retrieve data from an SAP table having invalid data in DATS, TIMS, and NUMC columns. Because SAP allows invalid data to be present in DATS, TIMS, and NUMC columns, ADO.NET clients attempting to read the data will not be able to parse the invalid data and will throw an exception. If the disabledatavalidation option is set on the SELECT query, the Data Provider for SAP does not parse the invalid data but extracts them as strings.

Important
You must always provide the values for the OPTION keyword within single quotes, for example, 'disabledatavalidation'.

For example statements, see Examples for SELECT Statement.

Predicates Syntax

The following specifies the grammar for using predicates in a SELECT statement:

Predicate:

Copy Code
Predicates [AND | OR] Predicates [between|not between] Predicates | [NOT] Predicates | '(' Predicates ')' | Condition

Condition:

Copy Code
Expr | LExpr [NOT] BETWEEN RExpr AND RExpr | LExpr [NOT] LIKE Const

Expr:

Copy Code
LExpr [=|!=|>|>=|!>|<|<=|!<] RExpr>

LExpr:

Copy Code
ColumnName

RExpr:

Copy Code
Const | PlaceHolder

ColumnName:

Copy Code
Column | TableName.Column | '['Column']'

Tablename:

Copy Code
Table | '['Table']'

Considerations When Calling a SELECT Statement

This section lists the points that you must keep in mind when using the SELECT statement with Data Provider for SAP.

  • When specifying date-time values in parameters or queries, provide the values as a string. Provide date-time strings in the SAP date-time format.

    • SAP date format: YYYYMMDD

      For example, the date 2004 November 10 in a SAP query is expressed '20041110'.

      The date 2004 November 10 in a SAPParameter p1 is the string p1.Value='20041110'.

    • SAP time format: HHMMSS

      For example, the time 10:34:32 in a SAP query is expressed '103432'.

      The time 10:34:32 in a SAPParameter p2 is the string p2.Value='103432'.

    For a SELECT statement, the Data Provider for SAP returns DATE field values as .NET System.DateTime objects, and returns TIME field values as System.TimeSpan objects. If the value of the SAP DATE object is less than the minimum allowable SQL Server value (1/1/1753), the Data Provider for SAP returns this minimum value, 1/1/1753.

  • In the TOP clause of a SELECT query, when using the special characters "#", "^", "&", and "%" before or after an integer, the special characters are ignored, although no error message is raised. For example, the following are ignored in the TOP clause of a SELECT query:

    #5, 5^, %5%, or &5

    However, using these characters between integers, as in 5$5, does throw an error.

  • Column names returned in a schema for a table are returned as all uppercase characters. For example, a query result set on the field Last Name returns the column heading LAST NAME. To avoid uniqueness conflicts, using all uppercase in SELECT statements is recommended.

  • In the LIKE clause of a SELECT query, only the percent sign, "%" (for any string of zero or more characters), and underscore, "_" (for any single character), are allowable special characters. All other special characters are considered string values and are ignored.

  • The Data Provider for SAP uses the Z_EXTRACT_DATA_OO RFC to perform SELECT queries on the SAP system. The RFC supports reading data from tables that satisfy the following conditions:

    • TabClass for the table is TRANSP, CUSTER, or POOL.

    • TabClass is VIEW and ViewClass is either D or P.

    Make sure the SELECT statement reads data from tables that satisfy these conditions.

  • Values of data types that can take more than 255 characters, for example STRING, RAWSTRING, LRAW, VARC, and LCHAR cannot be used in a SELECT query. The Data Provider for SAP uses a custom RFC shipped with the SAP adapter, Z_EXTRACT_DATA_OO, to perform SELECT queries on the SAP system. This custom RFC does not support any data type that can take more than 255 characters.

  • The maximum number of columns or fields that are supported in a SELECT statement is 1000.

  • The maximum number of predicates supported in a WHERE clause is 100.

  • Selecting the same field multiple times in the same SELECT statement is not supported. The custom RFC (Z_EXTRACT_DATA_OO) used by the Data Provider for SAP removes the duplicate fields from the statement before executing. For example, this statement:

    SELECT BUKRS, BUKRS, BUKRS from T001

    executes as though written like this statement:

    SELECT BUKRS from T001

  • Data Provider for SAP does not support duplicate alias names in a SELECT statement. Therefore, the following SELECT statement throws an error:

    Copy Code
    SELECT KUNNR AS [MYKNA1], JMJAH AS MYKNA1 from KNA1 where KUNNR LIKE 'T-S62A08' AND JMJAH=1995
  • Data Provider for SAP does not support a SELECT statement with duplicate column names. Therefore, the following SELECT statement throws an error:

    Copy Code
    SELECT KUNNR AS [MYKNA1], KUNNR AS MYKNA2 from KNA1 where MYKNA2='T-S62A08'
  • SAP does not store NULL values in the tables. As a result, the Data Provider for SAP does not support an "IS NULL" value in a SELECT statement. Therefore, the following SELECT statement throws an error:

    Copy Code
    SELECT NAME1, PSTLZ  from KNA1 where CITY IS NULL AND NAME1 LIKE '%MODE%'
  • Data Provider for SAP does not support an ORDER BY clause in a SELECT statement. Therefore, the following SELECT statement throws an error:

    Copy Code
    SELECT NAME1  AS [MYNAME],  LAND1, KUNNR  from KNA1 where NAME1 LIKE '%MODE%'  ORDER BY NAME1  ASC
  • Data Provider for SAP does not support specifying an asterisk (*) to select all the fields in an SAP table. Therefore, the following SELECT statement throws an error:

    Copy Code
    SELECT spfli.* from spfli inner join sflight on spfli.carrid = sflight.carrid
    To select all the fields, you must specify the field names individually.

  • As part of the SELECT statement, you can specify a file to which the output of the SELECT statement will be written. However, if the output file is on a network share, make sure the SAP service account under which the SAP service is running has write permission to the network share. For example:

    Copy Code
    SELECT * into file '\\share\output.txt' from spfli inner join sflight on spfli.carrid = sflight.carrid
    In the preceding example, the SAP service account must have write permission to the network share with the name "share."

  • A SELECT statement using Data Provider for SAP supports parameter names for argument values in a SELECT query. However, make sure you follow these rules with respect to parameter names:

    • In the SELECT query, an "@" symbol must precede the parameter name.

    • The "@" symbol must be followed by an alphabetic character (A-Z or a-z).

    • The parameter name can contain alphanumeric characters (A-Z, a-z, or 0-9) and special characters. The only special characters that can be included in the parameter name are underscore "_" and hash "#".

  • When you run a SELECT query on a View, make sure that all the primary key columns of the base table are also present in the View. Also, as a practice, you must mark the columns as primary key columns in the View also.

    If the primary key columns are not present in the View, a SELECT query on the View will result in an exception.

  • When you run a SELECT query on a table to select fields of type LRAW, make sure you select the corresponding PREC field. Also, the PREC field must appear immediately before the LRAW field in the SELECT clause.

    Every LRAW field in a table has a corresponding PREC field that stores the length of data in the LRAW field. Specifying just the LRAW field in the SELECT clause without the PREC field may result in incorrect data being extracted.

  • In an SAP system, character comparisons are case sensitive. So, the following two queries may return different results.

    Copy Code
    SELECT * FROM KNA1 WHERE LAND1 LIKE 'D%'
    And

    Copy Code
    SELECT * FROM KNA1 WHERE LAND1 LIKE 'd%'
    Make sure you use the right cases when framing a select query. Also, in an SAP system, not all columns can contain lowercase or uppercase characters. You can use the SAP GUI to find out whether a column in a table stores lowercase or uppercase characters. For instructions on using the SAP GUI, see Determining Whether a Column Stores Lowercase or Uppercase Values.

  • The WHERE condition is supported only for comparison of a field value with some data value, and not with some other table field value. Because the Data Provider for SAP supports only one table SELECT query, table field queries in join conditions should use the join condition to support the same.

  • A join condition must contain a table name.

    The following is a correct SELECT statement

    Copy Code
    select A.x, B.y from A inner join B on A.m = B.n
    The following is an incorrect SELECT statement

    Copy Code
    select A.x, B.y from A inner join B on m = n
  • In a join condition, the left table in a join condition should be on the left side of the condition, and the right table of the join condition should be specified on the right side of the join condition.

    The following is the correct way of specifying a join condition:

    Copy Code
    select A.x, B.y from A inner join B on A.m = B.n
    The following is an incorrect way of specifying a join condition:

    Copy Code
    select A.x, B.y from A inner join B on B.n = A.m
  • A SELECT statement can only contain an “equal to” condition in a JOIN clause. For example:

    Copy Code
    select * from spfli inner join sflight on spfli.carrid = sflight.carrid
  • A SELECT statement does not retrieve columns of type STRING from the SAP system.

  • A SELECT statement must contain only a single JOIN. For example:

    Copy Code
    select * from spfli inner join sflight on spfli.carrid = sflight.carrid

See Also

Concepts

About the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Syntax for an EXEC Statement

The following section describes grammar specifications for implementing EXEC statements against the .NET Framework Data Provider for mySAP Business Suite. Notice that in several cases, the syntax is somewhat different from Transact-SQL syntax.

Copy Code
EXEC rfc_name {<argument_element>} [ , …n ]  {;}[0,1] [ OPTION <disabledatavalidation>, <firstresultset> ]

where:

  • rfc_name specifies the name of the function call to execute.

  • <argument_element> ::= @param_name = [0,1] <const> {[ INPUT | OUTPUT ]}[0,1]

    • param_name specifies the parameter name defined in the function interface.

    • <const> ::= integer | real | string | ? | NULL | xml_element

  • OPTION provides option on how you want to present the data. The available options are:

    • disabledatavalidation option sets the EnableSafeTyping binding property in the underlying SAP adapter. When safe typing is enabled the DATS, TIMS, and NUMC data types are represented as strings. For more information about this binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

    • firstresultset specifies the first result set that is returned by the Data Provider for SAP. When any statement is executed on an ADO Provider source, only the first result set returned is available. For RFC EXEC scenarios, usually multiple table parameters are returned but if only the first result set is available for the client program, which might not be of use. By specifying the “firstresultset” keyword as part of the OPTION clause, clients can specify the first table parameter that they want the Provider to return. For example:

      Copy Code
      EXEC Z_TEST_ALL_TYPES @P_IN='TestInput' OPTION 'disabledatavalidation', firstresultset TAB_ALLTYPES'
      In this example, the EXEC statement specifies that the first table parameter returned should be TAB_ALLTYPES.

    Important
    You must always provide the values for the OPTION keyword within single quotes, for example, 'disabledatavalidation'.

In the preceding syntax, xml_element can be used to provide input for complex types. The xml element structure will be different for structures and tables. The xml_element for structure resembles the following:

Copy Code
<PARAM_NAME>
    <FIELDNAME_1 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">value</FIELDNAME_1>
    <FIELDNAME_2 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">value</FIELDNAME_2>
    ...
    ...
</ PARAM_NAME>

The xml_element for table resembles the following:

Copy Code
<PARAM_NAME>
    <STRUCT_NAME  xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
        <FIELDNAME_1>value</FIELDNAME_1>
    <STRUCT_NAME/>
    <STRUCT_NAME  xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
        <FIELDNAME_1>value</FIELDNAME_1>
    <STRUCT_NAME/>
    ...
    ...
</ PARAM_NAME>

For example, the XML element for a structure type resembles the following:

Copy Code
<INOUT_STRUCT>
       <ACCPFIELD xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">2006</ACCPFIELD>
       <CHARFIELD xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">John</CHARFIELD>
</INOUT_STRUCT>

Similarly, the XML element for a table type resembles the following:

Copy Code
<TAB_ALLTYPES>
<ZZSTRUCTALLTYPES_RFC xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
       <ACCPFIELD>2006</ACCPFIELD>
       <CHARFIELD>John</CHARFIELD>
</ZZSTRUCTALLTYPES_RFC>
<ZZSTRUCTALLTYPES_RFC xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
       <ACCPFIELD>2007</ACCPFIELD>
       <CHARFIELD>James</CHARFIELD>
</ZZSTRUCTALLTYPES_RFC>
</TAB_ALLTYPES>

For example statements, see Examples for EXEC Statement.

Handling Named Parameters

The following are guidelines for specifying named parameters in EXEC queries:

  • You must specify parameters by naming them (for example, @param_name=value).

    Note
    Unnamed parameters are not supported

  • When a parameter is defined using a default value, you can execute the procedure without specifying a parameter.

  • EXEC queries do not support using parameters with the following properties:

    • Nested structures (structures that contain structures as their fields).

    • Nested tables.

    • A table containing a structure.

    • A structure containing a table.

    • A structure or table that has fields with composite string types, for example SSTRING or RAWSTRING.

    The following table lists logical mappings between RFC parameter types and parameter directions when executing an RFC.

    RFC Param Type Query Keyword Parameter Direction

    Import parameters

    Nothing

    Paramdirection.Input

    Export parameters

    Output

    Paramdirection.Output

    Table parameters

    Output/Nothing

    InputOutput

The following are general guidelines for handling parameters:

  • You can specify parameter values either as constants or by using placeholders in the query.

  • When using placeholders in the query, you must create a SAPParameter object and add it to the corresponding command object. You then pass the placeholder name to the constructor; the direction and value depend on the context.

    • For Input parameters, do not specify in the query a keyword for the parameter direction. The value field of the parameter object must be set, or the provider will throw an exception. You must not explicitly set the direction field of the parameter object, because the provider defaults to Input.

    • For other parameters, use the form @paramname=@placeholder and specify the Output keyword explicitly in the query. You must then add a SAPParameter that corresponds with the placeholder and explicitly set the parameter direction to either ParamDirection.Output or ParamDirection.InputOutput, depending on the parameter type.

  • Parameter names and placeholder names are not case-sensitive.

  • Parameter names cannot be repeated in a query unless they have different directions.

  • Placeholder names cannot be repeated in a query.

Considerations When Calling an EXEC Statement

This section lists the points that you must keep in mind when using the EXEC statement with Data Provider for SAP.

  • For an EXEC statement, the Data Provider for SAP returns TIMS field values as .NET System.DateTime objects.

    Note
    For a SELECT statement, the Data Provider for SAP returns TIMS field values as .NET System.TimeSpan objects. For more information about the SELECT statement, see Syntax for a SELECT Statement.

See Also

Concepts

About the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Support for Executing SAP Queries

The Data Provider for SAP enables clients to invoke SAP queries from ADO.NET applications by using the EXECQUERY command. This section provides information on the syntax of EXECQUERY command and how to use it. This section also provides information on how to frame EXECQUERY syntax by looking at the definition of the query in the SAP system.

In This Section

  • Syntax for an EXECQUERY Statement

  • How Do Parameters of an SAP Query Translate Into an EXECQUERY Command Syntax

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Syntax for an EXECQUERY Statement

You can use the SAP GUI to create queries by graphically selecting the tables you want to query, the columns and sort order you want included in the result set, etc. The Data Provider for SAP enables users to execute such queries from an ADO.NET application by providing an EXECQUERY operation that users can use to execute a query defined in the SAP system.

The Data Provider for SAP uses a custom RFC Z_EXECUTE_SAP_QUERY to execute the pre-defined queries in the SAP system. The custom RFC in turn executes the RSAQ_REMOTE_QUERY_CALL, which is a standard RFC defined in the SAP system. Hence, before you can use the EXECQUERY operation, you must install the custom RFC in the SAP system you will be running your queries against. For instructions on how to install the custom RFC, see Installing Custom RFCs for the Data Provider for SAP.

This topic provides information on the syntax of the EXECQUERY operation, and other useful information related to the EXECQUERY operation.

Syntax for an EXECQUERY Statement

The following section describes the grammar specifications for using the EXECQUERY operation against the Data Provider for SAP.

Copy Code
EXECQUERY <QueryName> @USERGROUP='usergroup' [, @WORKSPACE='X'] [, @VARIANT='variant']
[, @P1='<value 1>’] [, @P2='<value 2>'] ... [, @Pn = '<value n>'] [, @P1!='<value 3>'] [, @P1 > '<value 4>'] [, @P1 <= '<value 2>']
[, NOT @P1 = '<value 2>'] [, NOT @P1 != '<value 2>'] [, NOT @P1 > '<value 2>']
[, @P1 BETWEEN '<value 1>' AND '<value 2>'] [, NOT @P1 BETWEEN '<value 1>' AND '<value2>’]
[OPTION 'USEORIGINALCOLUMNNAMES']

where:

  • <QueryName> is the name of the query defined in the SAP system.

  • USERGROUP refers to the user group in which the query is defined. This is a mandatory parameter.

  • WORKSPACE refers to the workspace in which the query is defined. In SAP, there are two workspaces—Standard and Global. Provide an empty space to specify the Standard workspace. Provide X to specify the Global workspace. Default is empty space.

  • VARIANT refers to a saved set of selection criteria that you can specify while executing an SAP query. For example, you can use variants to specify default values for queries.

  • @Pn refers to the nth selection field in the SAP query definition.

  • USEORIGINALCOLUMNNAMES specifies whether the provider uses the original column names in the DataSet, as they exist in the SAP system. By default, the provider uses the friendly names defined in the SAP query. However, if the friendly names within the query are not unique, the ADO.NET client will throw an error while reading the data from the DataSet. In such scenarios, you must specify the USEORIGINALCOLUMNNAMES option, indicating that the provider uses the original column names in the DataSet.

    Important
    You must always provide the value for the OPTION keyword within single quotes, for example, 'USEORIGINALCOLUMNNAMES'.

Note
For information about how the parameters of an SAP Query translate into an EXECQUERY syntax, see How Do Parameters of an SAP Query Translate Into an EXECQUERY Command Syntax.

Framing an EXECQUERY Syntax

Framing syntax for an EXECQUERY operation to execute an SAP query depends on how the query is defined in the SAP system, including each parameter value defined in SAP. For information about how to frame EXECQUERY syntax to execute an SAP query, see How Do Parameters of an SAP Query Translate Into an EXECQUERY Command Syntax.

Additional Considerations While Using the EXECQUERY operation

This section lists the points that you must keep in mind when using the EXECQUERY statement with Data Provider for SAP.

  • The values specified for USERGROUP, WORKSPACE, and VARIANT are passed on as-is to the standard SAP RFC, RSAQ_REMOTE_QUERY_CALL. The Data Provider for SAP does not validate the values specified for these parameters.

  • All values returned by the EXECQUERY operation are of string type.

  • Keywords for query names, user group, workspace, and variants are not case sensitive. However, the parameter names must always be in upper case P such as @P1, @P2, etc. For example:

    Copy Code
    EXECQUERY xyz USERGROUP=’mygrp’, NOT @P1= 'somevalue'
    is the same as

    Copy Code
    EXECQUERY xyz uSERgROUP=’mygrp’, NOT @P1= 'somevalue'
  • The operators supported by the EXECQUERY are >, <, >=, <=, !=, NOT, and BETWEEN.

  • Wildcard characters are not supported by the EXECQUERY operation. For example, the following statement gives the expected output:

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024',  @P1 = '0000003262',@P2 = 'La Quinta Hotel & Towers'
    However, the same query when executed with a wildcard character gives an error. Notice the use of wildcard characters for @P2.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024',  @P1 = '0000003262',@P2 = '*&*'
    In this example, you might get an error stating that no data was found. This is because the query searches for '*&*' as a string and does not consider asterisk (*) as a wildcard character.

  • You must always specify a date values in YYYYMMDD format.

  • If you are executing a query that has a variant defined in the SAP system, you can specify the name of the variant as part of the command. For example:

    Copy Code
    EXECQUERY myquery @usergroup='mygroup',@variant = 'variant1'
    Note
    You do not need to specify a variant name if a default variant is defined for the query in the SAP system.

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


How Do Parameters of an SAP Query Translate Into an EXECQUERY Command Syntax

This topic, with the help of an example, explains how the parameters of a query translate into an EXECQUERY command text. This topic uses the example of a custom SAP query, ZQUERY_TST_NEW.

Opening the Query in SAP GUI

Perform the following steps to open the query in SAP. The steps provided here are for ZQUERY_TST_NEW query and are specific to SAP versions.

  1. Run the transaction SQ01.

  2. In the Query from User Group page, click Quick Viewer.

  3. In the Quick Viewer page, in the Quick View text box, type ZQUERY_TST_NEW, and then click Display.

  4. In the Quick Viewer page, click the Selection fields tab to list all the parameters in the query.

    The following figure shows all the parameters in the query definition.

    List of parameters for an SAP query
  5. Click Execute. The following page is displayed.

    Provide parameter values for an SAP query
  6. Click the yellow arrows to define each parameter. You can either define specific allowable/non-allowable values or you can define a range of allowable/non-allowable values. The EXECQUERY syntax must be specified based on the values configured in the SAP GUI for each parameter.

The next section provides an explanation about how the values are defined in the SAP GUI and how those values translate to EXECQUERY syntax.

Framing an EXECQUERY Syntax

Let’s look at what the EXECQUERY syntax looks like based on the parameter values defined in the query definition. To understand this, we’ll show examples of how the values configured for the first parameter, Two digit number, translate to the ZQUERY_TST_NEW query.

First, let’s assume the values in the Single vals tab (with a green dot) are defined as shown in the following screenshot:

List of parameter values that a query can take
Note
This dialog box appears after you click the yellow arrow against the Two digit number parameter.

In such a case, the EXECQUERY syntax looks like:

Copy Code
EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5'

For the same query, in addition to the values in the Single vals tab (with a green dot), you can also have the values in the Single vals tab (with a red dot) defined as following:

List of parameter values that a query cannot take

In such a case, EXECQUERY syntax looks like:

Copy Code
EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8'

Now, if you add values to the Ranges tab (with a green dot), like shown in the following screenshot:

Range of parameter values that a query can take

the EXECQUERY syntax looks like:

Copy Code
EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5'

Similarly, if you add values to the Ranges tab (with a red dot), like shown in the following screenshot:

Range of parameter values that a query cannot take

the EXECQUERY syntax looks like:

Copy Code
EXECQUERY ZQUERY_TST_NEW @USERGROUP='mygroup', @P1 = '2', @P1 = '3', @P1 = '5', NOT @P1 = '6', NOT @P1 = '8', @P1 BETWEEN '2' and '5', NOT @P1 BETWEEN '6' AND '8'

For simplicity and understanding, this topic only talks about the first parameter, Two digit number. You can use similar methods to determine how values defined for other parameters translate into an EXECQUERY syntax.

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Invoking RFCs and BAPIs by Using the EXEC Command

The .NET Framework Data Provider for mySAP Business Suite exposes the SAP system as an ADO.NET data source. By using .NET Framework Data Provider for mySAP Business Suite, you can invoke RFCs and BAPIs on the SAP system through an EXEC command.

How to Invoke RFCs and BAPIs on the SAP system

To invoke an RFC or BAPI using the Data Provider for SAP, perform the following steps:

To invoke an RFC or BAPI

  1. Include a reference (and a using statement in your code) to Microsoft.Data.SAPClient.

  2. Create a SAPConnection object by using a Data Provider for SAP connection string. For more information about the connection string, see The Data Provider for the SAP Connection String.

  3. Open a connection to the SAP system by invoking Open on the SAPConnection.

  4. Create a SAPCommand object from the SAPConnection.

  5. Specify the BAPI or RFC call in the CommandText property of the SAPCommand. If necessary, you can specify parameters using SAPParameter objects. For more information about how to specify a BAPI or RFC call using an EXEC statement, see Syntax for an EXEC Statement. For examples of how to specify a BAPI or RFC, see Examples for EXEC Statement.

  6. Execute the command to invoke the RFC or BAPI and obtain the results in a SAPDataReader.

  7. Read the results from the SAPDataReader.

  8. When you are finished using them, close (or dispose) the SAPConnection and the SAPDataReader.

The Data Provider for SAP also exposes a SAPClientFactory class, which you can use to create SAPConnection, SAPCommand and SAPConnection objects. For more information about the ADO.NET classes extended by the Data Provider for SAP, see Extending ADO.NET Interfaces.

Example

The following example invokes SD_RFC_CUSTOMER_GET to retrieve customer information for all customers whose names start with "AB". It then writes the customer records to the console.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Data.SAPClient;

namespace SapAdoExec
{
    class Program
    {
        static void Main(string[] args)
        {
            string connstr = "TYPE=A; ASHOST=YourSAPHost; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;";

            using (SAPConnection conn = new SAPConnection(connstr))
            {
                conn.Open();

                using (SAPCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "exec sd_rfc_customer_get @name1='AB*' ";
                    using (SAPDataReader dr = cmd.ExecuteReader())
                    {
                        do
                        {
                            int rows = 0;
                            while (dr.Read())
                            {
                                rows++;
                                StringBuilder b = new StringBuilder();
                                for (int i = 0; i < dr.FieldCount; i++)
                                {
                                    b.Append(dr[i].ToString() + " ");
                                }
                                Console.WriteLine("row {0}: {1} ", rows, b.ToString());
                            }
                            Console.WriteLine("Number of rows:{0}", rows);
                        } while (dr.NextResult());

                    }
                }
            }

        }
    }
}

See Also

Concepts

Samples

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Performing a Query by Using the SELECT Command

The .NET Framework Data Provider for mySAP Business Suite exposes the SAP system as an ADO.NET data source. With the .NET Framework Data Provider for mySAP Business Suite, you can query SAP artifacts by executing a SELECT statement.

How to Perform a Query by Using the SELECT Command

To query SAP artifacts using the Data Provider for SAP, perform the following steps:

To perform a query

  1. Include a reference (and a using statement in your code) to Microsoft.Data.SAPClient.

  2. Create a SAPConnection object by using a Data Provider for SAP connection string. For more information about the connection string, see The Data Provider for the SAP Connection String.

  3. Open a connection to the SAP system by invoking Open on the SAPConnection.

  4. Create a SAPCommand object from the SAPConnection.

  5. Specify the SELECT statement in the CommandText property of the SAPCommand. If necessary, you can specify parameters using SAPParameter objects. For more information about how to query SAP artifacts using a SELECT statement, see Syntax for a SELECT Statement. For examples of how to specify a BAPI or RFC, see Examples for SELECT Statement.

  6. Execute the command to perform the query and obtain the results in a SAPDataReader.

  7. Read the results from the SAPDataReader.

  8. When you are finished using them, close (or dispose) the SAPConnection and the SAPDataReader.

The Data Provider for SAP also exposes a SAPClientFactory class, which you can use to create SAPConnection, SAPCommand and SAPConnection objects. For more information about the ADO.NET classes extended by the Data Provider for SAP, see Extending ADO.NET Interfaces.

Example

The following example writes the results of a select on a parameterized inner join statement to the console.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Data.SAPClient;

namespace SapAdoSelect
{
    class Program
    {
        static void Main(string[] args)
        {
        /// <summary>
        /// select top 1 * from sflight inner join spfli on sflight.connid = spfli.connid where spfli.connid = @connid
        /// </summary>

        string connstr = "TYPE=A; ASHOST=YourSapHost; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;";

           using (SAPConnection conn = new SAPConnection(connstr))
            {
                conn.Open();
                using (SAPCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select top 1 * from sflight inner join spfli on sflight.connid = spfli.connid where spfli.connid = @connid";
                    cmd.Parameters.Add(new SAPParameter("@connid", 17));
                    using (SAPDataReader dr = cmd.ExecuteReader())
                    {
                        do
                        {
                            int rows = 0;
                            while (dr.Read())
                            {
                                rows++;
                                StringBuilder b = new StringBuilder();
                                for (int i = 0; i < dr.FieldCount; i++)
                                {
                                    b.Append(dr[i].ToString()+" ");
                                }
                                Console.WriteLine("row {0}: {1} ", rows, b.ToString());
                            }
                            Console.WriteLine("Number of rows:{0}", rows);

                        } while (dr.NextResult());
                    }
                }
            }
        }
    }
}

See Also

Concepts

Samples

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Executing an SAP Query Using the EXECQUERY Command

The .NET Framework Data Provider for mySAP Business Suite exposes the SAP system as an ADO.NET data source. With the Data Provider for SAP, you can execute pre-defined queries in the SAP system by executing an EXECQUERY statement.

How to Perform a Query by Using the EXECQUERY Command

To execute pre-defined SAP queries using the Data Provider for SAP, perform the following steps:

To perform a query

  1. Include a reference (and a using statement in your code) to Microsoft.Data.SAPClient.

  2. Create a SAPConnection object by using a Data Provider for SAP connection string. For more information about the connection string, see The Data Provider for the SAP Connection String.

  3. Open a connection to the SAP system by invoking Open on the SAPConnection.

  4. Create a SAPCommand object from the SAPConnection.

  5. Specify the EXECQUERY statement in the CommandText property of the SAPCommand. If necessary, you can specify parameters using SAPParameter objects. For more information about how to execute queries defined in an SAP system using an EXECQUERY statement, see Syntax for an EXECQUERY Statement.

  6. Execute the command to perform the query and obtain the results in a SAPDataReader.

  7. Read the results from the SAPDataReader.

  8. When you are finished using them, close (or dispose) the SAPConnection and the SAPDataReader.

The Data Provider for SAP also exposes a SAPClientFactory class, which you can use to create SAPConnection, SAPCommand and SAPConnection objects. For more information about the ADO.NET classes extended by the Data Provider for SAP, see Extending ADO.NET Interfaces.

Example

The following example writes the results of a query, ZTEST1, to the console.

Copy Code
using System;
using System.Collections.Generic;
using System.Text;

using Microsoft.Data.SAPClient;

namespace SapAdoExecQuery
{
    class Program
    {
        static void Main(string[] args)
        {
           string connstr = "TYPE=A; ASHOST=YourSapHost; SYSNR=00; CLIENT=800; LANG=EN; USER=YourUserName; PASSWD=YourPassword;";
           using (SAPConnection conn = new SAPConnection(connstr))
            {
                conn.Open();
                using (SAPCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "EXECQUERY ZTEST1 @userGRoup='SYSTQV000024',@P1='0000001390',@P2='0000080150'";
                    cmd.Parameters.Add(new SAPParameter("@connid", 17));
                    using (SAPDataReader dr = cmd.ExecuteReader())
                    {
                        do
                        {
                            int rows = 0;
                            while (dr.Read())
                            {
                                rows++;
                                StringBuilder b = new StringBuilder();
                                for (int i = 0; i < dr.FieldCount; i++)
                                {
                                    b.Append(dr[i].ToString()+" ");
                                }
                                Console.WriteLine("row {0}: {1} ", rows, b.ToString());
                            }
                            Console.WriteLine("Number of rows:{0}", rows);
                        } while (dr.NextResult());
                    }
                }
            }
        }
    }
}

See Also

Concepts

Samples

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Using the Data Provider for SAP with the DDEX Plug-in

If you chose to install the .NET Framework Data Provider for mySAP Business Suite along with the BizTalk Adapter Pack installation, the setup program installs a Visual Studio DDEX plug-in. You can use this plug-in to browse SAP objects using Visual Studio. This section provides information about using the DDEX plug-in.

You can use the plug-in to establish connectivity with the SAP system, add tables from the SAP system, and add function modules from the SAP system. After you have added the tables and function modules using the Visual Studio plug-in, the newly added tables and function modules are reflected in the SAPDiscoveredObjects.xml file. For more information about this file, see About the SAPDiscoveredObjects.xml File.

Prerequisites

Make sure you chose to install the Data Provider for SAP along with the BizTalk Adapter Pack installation.

To connect to an SAP system using the DDEX plug-in

  1. Start Microsoft Visual Studio.

  2. In Visual Studio, on the View menu, click Server Explorer.

  3. In the Server Explorer, right-click Data Connections, and select Add Connection.

  4. In the Change Data Source dialog box, from the Data source box, select <other>.

  5. From the Data provider drop-down list, select .NET Framework Data Provider for mySAP Business Suite and click OK. The Add Connection dialog box opens.

  6. The Add Connection dialog box lists the different connection parameters to connect to an SAP system. A typical connection string to connect to an SAP system using the Data Provider for SAP requires:

    • The connection parameters for a connection type. The Data Provider for SAP supports connection types A, B, and D. To connect to an SAP system you must provide connection parameters for any one of these connection types. For example, for connection type A, you must provide the name of the application server host and the system number.

    • The login information to connect to an SAP system such as username and password.

    For more information about the connection string to connect to an SAP system using the Data Provider for SAP, see The Data Provider for the SAP Connection String.

    In the Add Connection dialog box, specify:

    • The connection parameters for any one connection type.

    • The login information to connect to an SAP system.

    • Whether you want to enable SAP GUI debugging.

    • Whether you want to use RFC SDK tracing.

    Click OK. A new connection node is created under the Data Connections node with the server name you specified in the previous step.

  7. Expand the new connection node to view the Tables and Function Modules nodes.

    The following figure shows the Server Explorer after the connection is established.

    DDEX plug-in for SAP ADO.NET Provider

To add tables from an SAP system using the DDEX plug-in

  1. In the Server Explorer, right-click the Tables node and click Search and Add Tables.

  2. In the Search table name text box, specify a search string to search tables in the SAP system, and click Search.

    Note
    The Data Provider for SAP supports the use of only the asterisk (*) wildcard character for searching tables.

  3. The Search results box lists the table names that satisfy the search criteria.

    DDEX plug-in Search and Add Tables name dialog box

  4. Select the check box corresponding to the tables you want to add and click Add. To select all the tables, click Select All. To clear all the selections, click Clear All.

  5. A dialog box informs you that the added tables would be visible after you refresh the Tables node. Click OK.

  6. Right-click the Tables node and select Refresh. The selected tables appear under the Tables node. Click a table name to see the table properties in the Properties pane.

  7. Expand a table name to see the fields for the table. Click a field name to see the field properties in the Properties pane.

To add RFCs from an SAP system using the DDEX plug-in

  1. In the Server Explorer, right-click the Function Modules node and click Search and Add Function Modules.

  2. In the Search function module text box, specify a search string to search function modules in the SAP system, and click Search.

    Note
    The Data Provider for SAP supports the use of only the asterisk (*) wildcard character for searching functional modules.

  3. The Search results box lists the function modules that satisfy the search criteria.

    DDEX plug-in Search and Add Modules dialog box

  4. Select the check box corresponding to the function modules you want to add and click Add. To select all the modules, click Select All. To clear all the selections, click Clear All.

  5. A dialog box informs you that the added function modules would be visible after you refresh the Function Modules node. Click OK.

  6. Right-click the Function Modules node and select Refresh. The selected function modules appear under the Function Modules node. Click a function module name to see the properties in the Properties pane.

  7. Expand a function module name to see nodes for import, export, changing, and table parameters.

  8. Expand the Import node to list the import parameters for the function module. Similarly, expand the Export and Tables nodes to see the list of export and table parameters for the function module.

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Using the Data Provider for SAP with SSIS

You can use the .NET Framework Data Provider for mySAP Business Suite along with SQL Server Integration Service (SSIS) to import data from an SAP system into SQL Server database tables, flat files, or other compatible destination types. You can create an SSIS package that can be executed to import data from an SAP system.

You must use the SQL Server Import and Export wizard to import data into the SQL Server database. You must provide a query to specify data to be imported. You can specify a query using the SELECT statement or the EXECQUERY statement. The query must confirm to the semantics supported by the Data Provider for SAP. For more information about the grammar for a SELECT query for the Data Provider for SAP, see Syntax for a SELECT Statement. For more information about the grammar for an EXECQUERY statement for the Data Provider for SAP, see Syntax for an EXECQUERY Statement.

You can start the SQL Server Import Export wizard either from the SQL Server Management Studio or from an Integration Service project in Visual Studio. This section provides instructions on running the wizard from both the Management Studio and Visual Studio interfaces.

In This Section

  • Importing SAP Data Using SQL Server Management Studio

  • Importing SAP Data Using Visual Studio

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Importing SAP Data Using SQL Server Management Studio

This section provides information on how to use the SQL Server Management Studio to import data from an SAP system into a SQL Server database. This section provides instruction on how to create an SSIS package that you can execute to import data. This section also provides information on how to execute the SSIS package.

Prerequisites

Before performing the procedures provided in this topic, make sure:

  • Data Provider for SAP is installed on the computer.

  • SQL Server Business Intelligence Development Studio is installed on the computer.

To import data using SQL Server Management Studio

  1. Start the SQL Server Management Studio.

  2. In the Connect to Server dialog box, specify the values to connect to a SQL Server database and click Connect. The Microsoft SQL Server Management Studio opens.

  3. In the Object Explorer, expand the SQL Server name, expand Databases, and right-click the database into which you will be exporting the tables from the SAP system. From the context menu, point to Tasks, and click Import Data. This starts the SQL Server Import and Export Wizard.

  4. Read the information on the welcome screen and click Next.

  5. In the Choose a Data Source dialog box, from the Data Source drop-down list .NET Framework Data Provider for mySAP Business Suite. The dialog box lists the different connection parameters to connect to an SAP system. A typical connection string to connect to an SAP system using the Data Provider for SAP requires:

    • The connection parameters for a connection type. The Data Provider for SAP supports connection types A, B, and D. To connect to an SAP system you must provide connection parameters for any one of these connection types. For example, for connection type A, you must provide the name of the application server host and the system number.

    • The login information to connect to an SAP system such as username and password.

    For more information about the connection string to connect to an SAP system using the Data Provider for SAP, see The Data Provider for the SAP Connection String.

    In the Choose a Data Source dialog box, specify:

    • The connection parameters for any one connection type.

    • The login information to connect to an SAP system.

    • Whether you want to enable SAP GUI debugging.

    • Whether you want to use RFC SDK tracing.

    Click Next.

  6. In the Choose a Destination dialog box:

    1. From the Destination drop-down list, select SQL Native Client.

    2. From the Server name drop-down list, select a SQL server name.

    3. Select an authentication mode.

    4. From the Database drop-down list, select the database to which you want to import the SAP table.

    5. Click Next.

  7. In the Specify Table Copy or Query dialog box, choose the Write a query to specify the data to transfer option and click Next.

  8. In the Provide a Source Query dialog box, specify a SELECT query to filter the data to be imported into the SQL Server. For more information about the grammar for a SELECT query for the Data Provider for SAP, see Syntax for a SELECT Statement.

    Click the Parse button to validate the query and click OK in the pop-up dialog box. Click Next.

  9. In the Select Source Tables and Views dialog box, select the check box against the source and destination tables. The source is the query you specified to retrieve data from SAP. The destination is the table that will be created in the SQL Server database.

  10. The wizard creates a default mapping between the source and destination table fields. However, you can change the mappings according to your requirement. To change the field mappings, click Edit Mappings.

    Column mappings between SAP and SQL tables

  11. In the Column Mappings dialog box, you can:

    • Change the names of columns in the destination table.

    • Ignore certain columns in the destination table.

    • Change the data type for fields in destination table.

    • Change other field attributes such as nullable, size, precision, and scale.

    • Click OK.

  12. In the Select Source Tables and Views dialog box, click Next.

  13. In the Save and Execute Package dialog box,

    • Select the Execute immediately check box to execute the query.

    • Select the Save SSIS Package check box to save the query as a package and execute it later. If you chose to save the package, you must also specify whether you want to save the package in the SQL Server or the file system.

    • From the Package protection level drop-down list, select a protection level for the package and specify credentials where required.

    • Click Next.

    If you chose to save the package, proceed to next step. Otherwise, skip to step 15.

  14. In the Save SSIS Package dialog box, specify:

    • Name for the package

    • Description for the package

    • If you chose to save the package to a SQL server, select a SQL Server from the Server name drop-down list.

    • If you chose to save the package to the file system, specify the name and location of the file in the File name text box.

    • Click Next.

  15. In the Complete the Wizard dialog box, review the summary of actions that the wizard will perform, and click Finish.

  16. In the Performing Operations dialog box, the wizard starts executing tasks to import the information from SAP into a SQL Server database table. The status for each task is displayed in the wizard.

  17. After all the tasks are successfully executed, click Close. If a task fails, see the corresponding error message, fix the issue, and rerun the wizard.

Running the SSIS Package

If you chose to save the SSIS package, you can run it to retrieve the most recent information from the SAP system. This section provides information on how to run the package if you chose to save it to the file system.

To run the package from Windows Explorer

  1. From the Windows Explorer, navigate to the location where you saved the package, and double-click the package.

  2. On the Execute Package Utility dialog box, click Execute.

  3. The Package Execution Progress dialog box displays the progress of the different tasks.

  4. After all the tasks are successfully executed, click Close.

  5. On the Execute Package Utility dialog box, click Close.

For more information about running packages, see http://go.microsoft.com/fwlink/?LinkId=94972. For any other information related to SSIS packages, see http://go.microsoft.com/fwlink/?LinkId=94973.

Verifying the Results

After executing the package, you must verify the results by going to the SQL Server database to which the SAP data is imported. Executing the package should have created a table in destination database and populated with the values from the SAP table.

See Also

Other Resources

Using the Data Provider for SAP with SSIS

© 2014 Microsoft Corporation. All rights reserved.


Importing SAP Data Using Visual Studio

This section provides information on how to use Microsoft Visual Studio to import data from an SAP system into a SQL Server database. This section provides instruction on how to create an SSIS package that you can execute to import data. This section also provides information on how to execute the SSIS package.

Prerequisites

Before performing the procedures provided in this topic, make sure:

  • Data Provider for SAP is installed on the computer.

  • Visual Studio 2013 is installed on the computer.

To import data using Visual Studio

  1. Start Visual Studio and create an Integration Service project.

  2. From the Project menu, select SSIS Import and Export Wizard. This starts the SQL Server Import and Export Wizard.

  3. Read the information on the welcome screen and click Next.

  4. In the Choose a Data Source dialog box, from the Data Source drop-down list .NET Framework Data Provider for mySAP Business Suite. The dialog box lists the different connection parameters to connect to an SAP system. A typical connection string to connect to an SAP system using the Data Provider for SAP requires:

    • The connection parameters for a connection type. The Data Provider for SAP supports connection types A, B, and D. To connect to an SAP system you must provide connection parameters for any one of these connection types. For example, for connection type A, you must provide the name of the application server host and the system number.

    • The login information to connect to an SAP system such as username and password.

    For more information about the connection string to connect to an SAP system using the Data Provider for SAP, see The Data Provider for the SAP Connection String.

    In the Choose a Data Source dialog box, specify:

    • The connection parameters for any one connection type.

    • The login information to connect to an SAP system.

    • Whether you want to enable SAP GUI debugging.

    • Whether you want to use RFC SDK tracing.

    Click Next.

  5. In the Choose a Destination dialog box:

    1. From the Destination drop-down list, select SQL Native Client.

    2. From the Server name drop-down list, select a SQL server name.

    3. Select an authentication mode.

    4. From the Database drop-down list, select the database to which you want to import the SAP table.

    5. Click Next.

  6. In the Specify Table Copy or Query dialog box, choose the Write a query to specify the data to transfer option and click Next.

  7. In the Provide a Source Query dialog box, specify a SELECT query to filter the data to be imported into the SQL Server. For more information about the grammar for a SELECT query for the Data Provider for SAP, see Syntax for a SELECT Statement.

    Click the Parse button to validate the query and click OK in the pop-up dialog box. Click Next.

  8. In the Select Source Tables and Views dialog box, select the check box against the source and destination tables. The source is the query you specified to retrieve data from SAP. The destination is the table that will be created in the SQL Server database.

  9. The wizard creates a default mapping between the source and destination table fields. However, you can change the mappings according to your requirement. To change the field mappings, click Edit Mappings.

    Column mappings between SAP and SQL tables

  10. In the Column Mappings dialog box, you can:

    • Change the names of columns in the destination table.

    • Ignore certain columns in the destination table.

    • Change the data type for fields in destination table.

    • Change other field attributes such as nullable, size, precision, and scale.

    • Click OK.

  11. In the Select Source Tables and Views dialog box, click Next.

  12. In the Complete the Wizard dialog box, review the summary of actions that the wizard will perform, and click Finish.

  13. In the Performing Operation dialog box, the wizard starts executing tasks to import the information from SAP into a SQL Server database table. The status for each task is displayed in the wizard.

  14. After all the tasks are successfully executed, click Close. If a task fails, see the corresponding error message, fix the issue, and rerun the wizard.

  15. The wizard adds an SSIS package to your Integration Service project. Save the Integration Service project.

Running the SSIS Package

Once the package is created within an Integration Service project, you can execute it to import data from an SAP system into a SQL Server database. Perform the following steps to import SAP data by executing the package.

To run the package from Visual Studio

  1. Navigate to the SSIS package in the Solution Explorer.

  2. Right-click the package name and select Execute Package.

For more information about running packages, see http://go.microsoft.com/fwlink/?LinkId=94972. For any other information related to SSIS packages, see http://go.microsoft.com/fwlink/?LinkId=94973.

Verifying the Results

After executing the package, you must verify the results by logging on to the SQL Server and navigating to the database to which the SAP data is imported. Executing the package should have created a table in destination database and populated with the values from the SAP table.

See Also

Other Resources

Using the Data Provider for SAP with SSIS

© 2014 Microsoft Corporation. All rights reserved.


Using the Data Provider for SAP with SSRS

You can use the .NET Framework Data Provider for mySAP Business Suite along with SQL Server Reporting Services (SSRS) to create reports based on SAP data. For more information about SSRS, see http://go.microsoft.com/fwlink/?LinkId=125922.

To create reports based on SAP data, you must use Visual Studio to create a Report Server project and use the Data Provider for SAP to extract data from an SAP system.

The topics in this section provide information about how to create a Report Server project to generate reports based on SAP data.

In This Section

  • Using the Data Provider for SAP to Create a Report Server Project

  • Viewing the Reports

See Also

Other Resources

Using the .NET Framework Data Provider for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Using the Data Provider for SAP to Create a Report Server Project

You must create a Report Server project, using the Data Provider for SAP, to generate reports for the data available in an SAP system. This topic provides instructions on how to create a Report Server project.

Prerequisites

Before performing the procedures provided in this topic, make sure you installed the Data Provider for SAP while installing the SAP adapter as part of the BizTalk Adapter Pack installation. For more information about BizTalk Adapter Pack installation, refer to the installation guide available at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.

To create a Report Server project

  1. Start Visual Studio and create a Report Server project. To create a Report Server project, do the following:

    1. Click the File menu, click New, and then click Project.

    2. In the New Project dialog box, from the Project types list, select Business Intelligence Projects. From the Visual Studio installed templates list, select Report Server Project.

    3. Specify a name and location of the project and click OK. For this topic, specify the name of the project as SAP_ Report.

  2. Add a new data source:

    1. From the Solution Explorer, right-click Shared Data Sources, and click Add New Data Source.

    2. In the Shared Data Source dialog box, in the General tab, specify a name for the data source. For this topic, specify the name as SAPDataSource.

    3. From the Type list, select Data Provider for SAP.

    4. In the Connection String box, specify the connection string for the Data Provider for SAP. For information about the Data Provider for SAP connection string, see The Data Provider for the SAP Connection String.

      Create a data source

      Note
      You can choose to specify the credentials as part of the connection string or specify them as described in the next step.

    5. In the Credentials tab, choose one of the following, and then click OK:

      Use this To do this

      Use a specific user name and password

      Specify a user name and password to connect to the SAP system.

      Prompt for credentials

      Enter the credentials for the SAP system while the report is generated.

      Note
      The credentials you specify for this option will override the credentials, if specified, as part of the connection string.

      No credentials

      Choose this option if you are providing the user name and password as part of the connection string.

      Note
      The Windows Authentication mode is not supported for Report Server projects.

  3. Add a new report:

    1. From the Solution Explorer, right-click Reports, and then click Add New Report.

      This starts the Report Wizard.

    2. Read the information on the welcome screen, and then click Next.

    3. In the Select the Data Source dialog box, choose the Shared data source option, select the SAPDataSource you created in the previous step, and then click Next.

    4. If you chose the Prompt for credentials option to specify the user credentials while creating the data source, an Enter Data Source Credentials dialog box appears. Specify the user name and password to connect to the SAP system, and then click OK.

      If you chose any other option for specifying credentials, the wizard proceeds to the next step.

    5. In the Design the Query dialog box, specify a query string that is used to generate a report. For example:

      Copy Code
      SELECT TOP 2 KUNNR, NAME1 FROM KNA1 WHERE NAME1 LIKE @PARAM
      This query will retrieve the top two records from the KNA1 table where the NAME1 is the name that you will specify while generating the report.

      Click Next.

    6. In the subsequent dialog boxes you can design the format in which you want the report to appear. If you want to use the default format, click Finish >>| to directly go to the Finish dialog box.

    7. In the Completing the Wizard dialog box, specify a name for the report, review the summary, and then click Finish. For this topic, specify the name of the report as SAPReport.

    You can now view the report. For instructions about how to view the report, see Viewing the Reports.

See Also

Other Resources

Using the Data Provider for SAP with SSRS

© 2014 Microsoft Corporation. All rights reserved.


Viewing the Reports

After you have created the report, you can view it either using Visual Studio or host it on the Report Server on Internet Information Services (IIS) and access over the network. This topic provides instructions on how to view reports both in Visual Studio and using IIS.

Prerequisites

Before performing the procedures provided in this topic, you must have generated a report as described in Using the Data Provider for SAP to Create a Report Server Project.

To view the reports in Visual Studio

  1. In Visual Studio, right-click the project name in the Solution Explorer, and then click Properties.

  2. In the report property pages dialog box, click Configuration Manager, and clear the check box under the Deploy column. Click Close.

  3. In the report property pages dialog box, for the StartItem property, select the name of the report, and then click OK.

    Specify properties for the Report Server project

  4. Right-click the project name in the Solution Explorer, and then click Build.

  5. Press F5 to run the project to generate the report.

    Important
    In Visual Studio 2013, you can see the report by clicking the Preview tab. In such a case, the subsequent dialog boxes will open within the preview tab.

  6. A dialog box with the same name as you specified for the report opens up. While creating the data source, if you chose the Prompt for credentials option, enter the user name and password for the SAP system, and then click View Report.

    Specify SAP credentials to generate a report

  7. If the query you specified while creating the Report Server project requires a parameter, you must enter the value of the parameter. For example, for the query you specified in the Using the Data Provider for SAP to Create a Report Server Project topic, requires you to specify a value for the parameter, PARAM.

    Specify the value of the parameter, if required, and click View Report.

    Specify parameters to generate a report

To host the reports on Report Server

  1. In Visual Studio, right-click the project name in the Solution Explorer, and then click Properties.

  2. In the report property pages dialog box, click Configuration Manager, and select the check box under the Deploy column. Click Close.

  3. In the report property pages dialog box, for the StartItem property, select the name of the report.

  4. In the report property pages dialog box, for the TargetServerURL property, specify a URL for the Report Server, and then click OK. For example:

    Copy Code
    http://localhost/reportserver
    Specify URL for the Report Server

  5. Right-click the project name in the Solution Explorer, and then click Build.

  6. Right-click the project name in the Solution Explorer, and then click Deploy.

  7. Start IIS. Click Start, click Run, type inetmgr, and press Enter.

  8. In the Internet Information Services (IIS) Manager snap-in, expand the computer name, expand Web Sites, expand Default Web Site, right-click ReportServer, and then click Browse.

  9. In the right pane, click the name of the project, and then click on the name of the report.

  10. While creating the data source, if you chose the Prompt for credentials option, enter the user name and password for the SAP system and click View Report.

  11. If the query you specified while creating the Report Server project requires a parameter, you must enter the value of the parameter. For example, for the query you specified in the Using the Data Provider for SAP to Create a Report Server Project topic, requires you to specify a value for the parameter, PARAM.

    Specify the value of the parameter, if required, and click View Report.

    Specify parameters to generate a report

    Tip
    You can also view directly from the web browser by giving the URL for the report. A typical URL for the report is http://localhohost/reportserver/<report_name>.

See Also

Other Resources

Using the Data Provider for SAP with SSRS

© 2014 Microsoft Corporation. All rights reserved.


Using the SAP Adapter with Microsoft Office SharePoint Server

Most line-of-business (LOB) applications have proprietary interfaces that are accessible to relatively few people with the required subject matter expertise. However, because information workers need relevant information at all levels in an organization, the subject matter experts have to export required data into more familiar applications, like Microsoft Excel, for information workers to consume the information.

The new collection of Microsoft Office client applications and features bridges this gap by bringing backend business data into the most common interface for information workers, Microsoft Office. Microsoft Office client applications seamlessly present data from LOB applications through interfaces familiar to information workers. One example is the Business Data Catalog in Microsoft Office SharePoint Server.

In This Section

  • About Business Data Catalog

  • Using the SAP Adapter to Integrate the SAP System with the Business Data Catalog and Microsoft Office SharePoint Server

  • Considerations While Using the SAP Adapter with Microsoft Office SharePoint Server

  • How Do I Use a Custom Web Part?

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


About Business Data Catalog

The Business Data Catalog is a new integration component in Microsoft Office SharePoint Server 2007 and later. The Business Data Catalog is a shared service and surfaces business data from backend applications via databases and Web services, without the need for writing any code. It is a metadata repository that defines business entities like customers, invoices, and purchase orders. Once defined, clients can use these entities.

The Business Data Catalog provides a Business Data Catalog Definition Editor to help you author application definition files for the Business Data Catalog in Microsoft Office SharePoint Server 2007 and later. Using the Business Data Catalog Definition Editor, you can create and edit metadata for business applications.

For more information about the Business Data Catalog, see "Business Data Catalog" at http://go.microsoft.com/fwlink/?LinkId=103882.

See Also

Other Resources

Using the SAP Adapter with Microsoft Office SharePoint Server

© 2014 Microsoft Corporation. All rights reserved.


Using the SAP Adapter to Integrate the SAP System with the Business Data Catalog and Microsoft Office SharePoint Server

The Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK includes the WCF LOB Adapter Service Development Wizard, which generates a WCF service for specific LOB artifacts. This WCF service is hosted in a hosting environment such as Microsoft Internet Information Services (IIS). The Business Data Catalog Definition Editor uses the URL where the WCF service is hosted to get the Web Services Description Language (WSDL) for the WCF service. Using the WSDL, the Business Data Catalog Definition Editor extracts the methods available to the WCF service. These methods can be used to establish entities and the association between the entities.

The Business Data Catalog Definition Editor helps you create an application definition file (an XML file) that Microsoft Office SharePoint Server can consume. Once the application definition file is imported to Microsoft Office SharePoint Server, you can create Web Parts to present the information from enterprise applications. For more information, see “Creating Web Parts” in Step 3: Create a SharePoint Application to Retrieve Data from SAP in Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

Tutorial

To demonstrate how to use the SAP adapter with Microsoft Office SharePoint Server, the BizTalk Adapter Pack includes a tutorial that provides step-by-step instructions to present data from an SAP system on a SharePoint site. See Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

See Also

Other Resources

Using the SAP Adapter with Microsoft Office SharePoint Server

© 2014 Microsoft Corporation. All rights reserved.


Considerations While Using the SAP Adapter with Microsoft Office SharePoint Server

This topic contains information about the issues you might encounter while using the Microsoft BizTalk Adapter for mySAP Business Suite with Microsoft Office SharePoint Server, along with resolutions. The issues are divided into two categories:

  • General issues

  • Issues involving custom Web Parts

General Issues

This section contains issues that either have no resolution or requires you to modify the application definition file for the resolution.

Issue 1: The simple type data returned by the WCF service is not displayed

Explanation: Microsoft Office SharePoint Server expects the data returned by the WCF service to be of DataSet or Collection type only. If the data returned by the WCF service is of simple type, Microsoft Office SharePoint Server does not display the data.

Resolution: No resolution. It is a known limitation with Microsoft Office SharePoint Server.

Issue 2: An error message is displayed if the data returned by the WCF service is NULL

Explanation: If the data returned by the WCF service is a NULL value, Microsoft Office SharePoint Server displays an error message. For example, suppose you are using the Business Data List Web Part for the Finder method instance, and are searching for customers in the SAP system based on a search expression. The search expression that you specified fetches a NULL value. In this case, Microsoft Office SharePoint Server will display an error message.

Resolution: No resolution. It is a known limitation with Microsoft Office SharePoint Server.

Issue 3: An array of simple type returned by the WCF service is not displayed

Explanation: If the data returned by the WCF service is an array of simple type, Microsoft Office SharePoint Server does not display the data. Moreover, when you execute a method instance in Business Data Catalog Definition Editor that returns an array of simple type, the following error message is displayed: “Backend system adapter returned a structure incompatible with the corresponding metadata (MethodInstance, Parameter or TypeDescriptor).”

Resolution: No resolution. It is a known limitation with Microsoft Office SharePoint Server and Business Data Catalog Definition Editor.

Issue 4: Cannot import an application definition file that contains a complex type parameter having more than 300 fields

Explanation: Microsoft Office SharePoint Server cannot import an application definition file that has more than 300 fields in the complex type parameter returned by the WCF service, and displays an error message if you try to do so. This is due to the limitation of Microsoft Office SharePoint Server of not being able to display more than 300 fields of a complex type parameter.

Resolution: Use the Business Data Catalog Definition Editor to limit the number of fields of the complex type parameter to less than or equal to 300. Depending on your requirement, you can delete the fields of the complex type parameter in the Business Data Catalog Definition Editor that you do not require to be displayed in Microsoft Office SharePoint Server. Alternatively, you can also export the application definition file from Business Data Catalog Definition Editor with all the fields, and then modify the application definition file in a notepad or any XML authoring application to delete the fields that are not required in order to limit the number of fields to 300.

Issues Involving Custom Web Parts

This section contains issues that require the use of custom Web Part for a resolution. For detailed information about using a custom Web Part to resolve issues that might come up while working with SAP adapter and Microsoft Office SharePoint Server, see How Do I Use a Custom Web Part?.

Issue 1: Limitation with displaying a single record in Microsoft Office SharePoint Server based on multiple values

Explanation: If you want to display a single record in Microsoft Office SharePoint Server based on multiple values (input parameters) from an SAP system, you cannot use any of the three Web Parts (Business Data List, Business Data Item, and Business Data Related List) specified in Step 3: Create a SharePoint Application to Retrieve Data from SAP in Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

Resolution: You must use a custom Web Part to do this. For information about using a custom Web Part, see How Do I Use a Custom Web Part?. In “Step 1: Create a Custom Web Part” of that topic, you can use the following code sample in step 5. The following code sample takes BankCountry and BankKey as the input parameters, and then displays them as a single record in Microsoft Office SharePoint Server.

Copy Code
namespace CustomWebPart
{
    public class CustomWebPart : WebPart
    {
        private string displayText = "Hello World!";

        [WebBrowsable(true), Personalizable(true)]
        public string DisplayText
        {
            get { return displayText; }
            set { displayText = value; }
        }
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            string BankCountry = "US";
            string BankKey = "134329042";

/***Step 1: Get the required entity and method.***/

            LobSystem newSystem = ApplicationRegistry.GetLobSystems()["BAPI_BANK_GETDETAIL"]; // Name specified in application definition file
            LobSystemInstance newSystemInstance = newSystem.GetLobSystemInstances()["BAPI_BANK_GETDETAIL_Instance"]; // Name specified in application definition file
            Entity CategoryEntity = newSystem.GetEntities()["Entity"]; // Name specified in application definition file
            Method newMethod = CategoryEntity.GetMethods()["BAPI_BANK_GETDETAIL"]; // Name specified in application definition file
            MethodInstance methodInstance = newMethod.GetMethodInstances()["MethodInstance"]; // Name specified in application definition file

/***Step 2: Get the list of input parameters.***/

            Object[] args = methodInstance.GetMethod().CreateDefaultParameterInstances(methodInstance); //Get the default values of the input parameters.
            Object[] ArgsInput = new Object[args.Length];

/***Step 3: Assign them required values.***/

            Type t = null;
            char[] myString = BankCountry.ToCharArray();
            String s = new String(myString);
            t = s.GetType();
            ArgsInput[0] = Activator.CreateInstance(t, myString);

            myString = BankKey.ToCharArray();
            s = new String(myString);
            t = s.GetType();
            ArgsInput[1] = Activator.CreateInstance(t, myString);

/***Step 4: Execute the particular method instance using the required value.***/

            IEntityInstance IE = (IEntityInstance)CategoryEntity.Execute(methodInstance, newSystemInstance, ref ArgsInput); //Method instance of type Specific Finder is being used here.

/***Step 5: Display the output on the custom Web Part in Microsoft Office SharePoint Server.***/

            writer.Write("<table>");
            writer.Write("<tr>");
            foreach (Field f in CategoryEntity.GetFinderView().Fields)
            {
                writer.Write("<td>");
                writer.Write(IE[f]);
                writer.Write("</td>");
            }
            writer.Write("</tr>");
            writer.Write("</table>");
        }
    }
Note
The application definition file must contain the Specific Finder method instance. A Specific Finder method finds a specific record based on an identifier. For information about creating a Specific Finder method instance, see “Requirement 2: Retrieve Details for a Specific Customer from the List of Customers” in Step 2: Create an Application Definition File for the SAP Artifacts in Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

Issue 2: Cannot specify values to array elements

Explanation: If the input parameter of the WCF service is an array, you cannot specify values to the array elements using filters that are defined in the application definition file created using the Business Data Catalog Definition Editor. It implies that you cannot use the Business Data List or Business Data Item Web Part in Microsoft Office SharePoint Server to specify values for these input parameters (elements of array) to the WCF service. This is because of the way arrays are defined in the application definition file.

Resolution: Use a custom Web Part to assign values to array elements. For information about using a custom Web Part, see How Do I Use a Custom Web Part?. For example, you can use the following code sample in step 3 in “Issue 1: Limitation with displaying a single record in Microsoft Office SharePoint Server based on multiple values” to assign values to array elements.

Copy Code
/***Assign required values to parameters of type array.***/
/***Assumption is that the ith parameter of Method is of type Array and all the simple type elements in the array are of string type.***/

            Type t = asm.GetType(args[i].GetType().ToString()); // Get type of the parameter
            Type TElement = t.GetElementType(); // Getting type of element of array
            int index = 5; //Size of Array
            Array ElementArray = Array.CreateInstance(TElement, index); //Creating an array of length: index

            for (int ind = 0; ind < index; ind++)
            {
                //Creating an instance of an element of array
                object ElementType = Activator.CreateInstance(TElement);
                FieldInfo[] FI = ElementType.GetType().GetFields();
                for (int f = 0; f < FI.Length; f++)
                {
                    ElementType.GetType().GetFields()[f].SetValue(ElementType, (Object)"ElementValue");
                }
                ElementArray.SetValue(ElementType, ind);
            }

            ArgsInput[i] = (object)ElementArray; // As shown in sample, ArgsInput is fed as input while executing Method Instance

Issue 3: Limitation with specifying NULL values to complex type parameters

Explanation: If you do not specify any value for a complex type parameter from a Web Part in Microsoft Office SharePoint Server, NULL should be passed on as the value for the complex type parameter to the WCF service. However, a non-NULL value is passed for the complex type parameter, and NULL is passed for its children elements (of simple type). This causes a mismatch between the expected message schema and the message schema that is passed on to the WCF service. As a result, the SAP adapter might display an error message.

Note
To find out the default value of a complex type parameter when no value is passed from a Web Part in Microsoft Office SharePoint Server, use step 2 in the code sample mentioned in “Issue 1: Limitation with displaying a single record in Microsoft Office SharePoint Server based on multiple values.”

Resolution: Use a custom Web Part to assign a NULL value to the complex type parameter. For information about using a custom Web Part, see How Do I Use a Custom Web Part?.

See Also

Other Resources

Using the SAP Adapter with Microsoft Office SharePoint Server

© 2014 Microsoft Corporation. All rights reserved.


How Do I Use a Custom Web Part?

This section provides information about using a custom Web Part with Microsoft Office SharePoint Server. To use a custom Web Part, you must do the following:

  1. Create a custom Web Part

  2. Deploy the custom Web Part to a SharePoint portal

  3. Configure the SharePoint portal to use the custom Web Part

Before You Begin

Before you create a custom Web Part:

  • Publish the SAP artifacts as a WCF service. For more information, see Step 1: Publish the SAP Artifacts as a WCF Service in Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

  • Create an application definition file for the SAP artifacts using the Business Data Catalog in Microsoft Office SharePoint Server. For more information, see Step 2: Create an Application Definition File for the SAP Artifacts in Tutorial 1: Presenting Data from an SAP System on a SharePoint Site.

Step 1: Create a custom Web Part

To create a custom Web Part using Visual Studio, do the following:

  1. Start Visual Studio, and then create a project.

  2. In the New Project dialog box, from the Project types pane, select Visual C#. From the Templates pane, select Class Library.

  3. Specify a name and location for the solution. For this topic, specify CustomWebPart in the Name and Solution Name boxes. Specify a location, and then click OK.

  4. Add a reference to the System.Web component into the project. Right-click the project name in Solution Explorer, and then click Add Reference. In the Add Reference dialog box, select System.Web in the .NET tab, and then click OK. The System.Web component contains the required namespace of System.Web.UI.WebControls.WebParts.

  5. Add the required code based on your issue in the project. For the code sample that is relevant to a certain issue, see “Issues Involving Custom Web Parts” in Considerations While Using the SAP Adapter with Microsoft Office SharePoint Server.

  6. Build the project. On successful build of the project, a .dll file, CustomWebPart.dll, will be generated in the <project folder>/bin/Debug folder.

  7. Only for 64-bit computer: Sign the CustomWebPart.dll file with a strong name before performing the following steps. Otherwise, you will not be able to import, and hence use the CustomWebPart.dll in the SharePoint portal in “Step 3: Configure the SharePoint Portal to use the custom Web Part.” For information about how to sign an assembly with a strong name, see http://go.microsoft.com/fwlink/?LinkId=197171.

Step 2: Deploy the custom Web Part to a SharePoint Portal

You must do the following to make the CustomWebPart.dll file (custom Web Part) that is created in “Step 1: Create a custom Web Part” of this topic usable on the SharePoint portal:

  • Copy the CustomWebPart.dll file to the bin folder of the SharePoint Portal: Microsoft Office SharePoint Server creates portals under the <root drive>:\Inetpub\wwwroot\wss\VirtualDirectories folder. A folder is created for each portal, and can be identified with the port number. You must copy the CustomWebPart.dll file created in “Step 1: Create a custom Web Part” of this topic to the <root drive>:\Inetpub\wwwroot\wss\VirtualDirectories\<Port_Number>\bin folder. For example, if the port number of your SharePoint portal is 13614, you must copy the CustomWebPart.dll file to the <root drive>:\Inetpub\wwwroot\wss\VirtualDirectories\13614\bin folder.

    Tip
    Another way to find the folder location of your SharePoint portal is by using the Internet Information Services (IIS) Manager window (Start > Run > inetmgr). Locate your SharePoint portal in the Internet Information Services (IIS) Manager window ([computer_name] > Web Sites > [Portal-Name]), right-click, and then click Properties in the shortcut menu. In the properties dialog box of the SharePoint portal, click the Home Directory tab, and then select the Local path box.

  • Add the Safe Control Entry in the web.config File: Because the CustomWebPart.dll file will be used on different computers and by multiple users, you must declare the file as “safe.” To do so, open the web.config file located in the SharePoint portal folder at <root drive>:\Inetpub\wwwroot\wss\VirtualDirectories\<Port_Number>. Under the <SafeControls> section of the web.config file, add the following safe control entry:

    • On 32-bit computer:

      Copy Code
      <SafeControl Assembly="CustomWebPart" Namespace="CustomWebPart" TypeName="*" Safe="True" />
    • On 64-bit computer:

      Copy Code
      <SafeControl Assembly="CustomWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=<PUBLICKKEYTOKEN_OF_CustomWebPart.dll>" Namespace="CustomWebPart" TypeName="*" Safe="True" />
    Save the web.config file, and then close it.

Step 3: Configure the SharePoint portal to use the custom Web Part

You need to add the custom Web Part to the Microsoft Office SharePoint Server Web Part Gallery, so that you can use it on your SharePoint portal. To do so:

  1. Start SharePoint 3.0 Central Administration. Click Start, point to All Programs, point to Microsoft Office Server, and then click SharePoint 3.0 Central Administration.

  2. In the left navigation pane, click the name of the Shared Service Provider (SSP) to which you want to add the custom Web Part.

  3. On the Shared Services Administration page, in the upper-right corner, click Site Actions, and then click Create.

  4. On the Site Settings page, click Web Parts under the Galleries column.

  5. On the Web Part Gallery page, to add the custom Web Part to the gallery, click New. At this point the custom Web Part is not available in the Web Part Gallery page.

  6. On the New Web Parts page, locate CustomWebPart (name of the custom Web Part) in the list, select the check box on the left, and then click Populate Gallery on the top of the page. This will add the CustomWebPart entry in the Web Part Gallery page.

Now you can use the custom Web Part (CustomWebPart) to create Web Parts in your SharePoint portal. The custom Web Part (CustomWebPart) will appear under the Miscellaneous section in the Add Web Parts page.

See Also

Other Resources

Using the SAP Adapter with Microsoft Office SharePoint Server

© 2014 Microsoft Corporation. All rights reserved.


Samples

Samples for Microsoft BizTalk Adapter for mySAP Business Suite are categorized into:

  • BizTalk Server samples

  • WCF service model samples

  • WCF channel model samples

  • Data Provider for SAP samples

  • Migration samples

The samples are available at http://go.microsoft.com/fwlink/?LinkID=196854.

The following list contains the names and descriptions of the samples for the SAP adapter.

BizTalk Server Samples

Sample Directory Name | Description
IDOCSend | Demonstrates how to send an IDOC to an SAP system.
ReceiveIDOC | Demonstrates how to receive an IDOC from an SAP system.
ReceiveIDOC_SYSREL | Demonstrates how to receive an IDOC from an SAP system. The IDOC being received has the version number less than the SAP SYSREL.
RFCServer | Demonstrates how to receive an RFC server call from the SAP system.
SAPTransaction | Demonstrates how to perform transactions in an SAP system using.
tRFCClient | Demonstrates how to make tRFC client calls on an SAP system.

WCF Service Model Samples

Sample Directory Name | Description
SapIdocStringClientSM | Demonstrates how to send an IDOC to an SAP system by invoking the SendIdoc operation.
SapRfcServerSM | Demonstrates how to receive an RFC server call from an SAP system.
SapBapiTxClientSM | Demonstrates how to invoke BAPIs inside a transaction on an SAP system.
SapTrfcClientSM | Demonstrates how to invoke tRFC client calls on an SAP system.

WCF Channel Model Samples

Sample Directory Name | Description
SapIdocReceiveCM | Demonstrates how to receive IDOCs from an SAP system
SapRfcServerCM | Demonstrates how to receive an RFC server call from the SAP system.

Data Provider for SAP Samples

Sample Directory Name | Description
sap ado | Demonstrates how to use the .NET Framework Data Provider for mySAP Business Suite.

Migration Samples

Sample Directory Name | Description
SAP_RFC_Migration | Demonstrates how to use a BizTalk project created using the previous version of the SAP adapter and make it work with the WCF-based SAP adapter. The BizTalk project contains an orchestration to invoke the SD_RFC_CUSTOMER_GET RFC.
SendIDOC_Migration | Demonstrates how to use a BizTalk project created using the previous version of the SAP adapter and make it work with the WCF-based SAP adapter. The BizTalk project contains an orchestration to send an IDOC to an SAP system.
ReceiveIDOC_Migration | Demonstrates how to use a BizTalk project created using the previous version of the SAP adapter and make it work with the WCF-based SAP adapter. The BizTalk project contains an orchestration to invoke the receive an IDOC from an SAP system.

See Also

Other Resources

Development

© 2014 Microsoft Corporation. All rights reserved.


Deployment

This section provides information about deploying the Microsoft BizTalk Adapter Pack. It also provides some frequently asked questions and a link to information about troubleshooting common installation issues.

In This Section

  • Installing the BizTalk Adapter Pack

  • Installing Custom RFCs for the Data Provider for SAP

  • Removing Custom RFCs for the Data Provider for SAP

  • Troubleshooting Your Installation

  • Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Installing the BizTalk Adapter Pack

The following table contains links to information about how to install the Microsoft BizTalk Adapter Pack.

Content | Description
Installation Guide | This document provides installation prerequisites and complete installation instructions for installing the BizTalk Adapter Pack. This document is installed on your computer, typically at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Documents.
Installing Custom RFCs for the Data Provider for SAP | You must perform this step if you want to use the .NET Framework Data Provider for mySAP Business Suite to access the SAP system.

See Also

Tasks

Troubleshooting Your Installation

Concepts

Deployment

© 2014 Microsoft Corporation. All rights reserved.


Installing Custom RFCs for the Data Provider for SAP

The Data Provider for SAP requires custom RFCs to perform some operations on the SAP system.

  • To perform the SELECT operation, the Data Provider for SAP requires Z_EXTRACT_DATA_OO RFC.

  • To perform the EXECQUERY operation, the Data Provider for SAP requires Z_EXECUTE_SAP_QUERY RFC.

So, before you can use the Data Provider for SAP to perform these operations on the SAP system, you must install these custom RFCs on the SAP system. If you chose to install the Data Provider for SAP along with the SAP adapter, the Setup program copies the RFC transport for the Data Provider for SAP as a compressed file (customRFC.zip) on the system where you install the adapter. The zip file is typically installed at <installation drive>:\Program Files\Microsoft BizTalk Adapter Pack\Microsoft .NET Framework Data Provider for mySAP Business Suite.

Important
If you are using an older version of the custom RFC provided with the BizTalk Adapter Pack 1.0 release, you must upgrade it to the RFC provided with this release. You must do so by removing the earlier RFC and instead installing the RFC shipped with this release.

After extracting the zip file, you will find four data files, two following the naming pattern K9*.BI1 (for example, similar to K900534.BI1), and the other two following the pattern R9*.BI1 (for example, similar to R900534.BI1).

Installing the RFC

Follow these steps to install the custom RFC

To install the RFC

  1. Copy the extracted files from the computer running the adapters to the SAP application server.

    1. Log in as the SAP R/3 system administrator to the SAP application server of your development system.

    2. Copy the two transport files with the naming pattern K9*.BI1 from the installation directory on the computer running the adapters to the following directory on the SAP application server:

      <drive>:\usr\sap\trans\cofiles

    3. Copy the two transport files with the naming pattern R9*.BI1 from the installation directory on the computer running the adapters to the following directory on the SAP application server:

      <drive>:\usr\sap\trans\data

  2. Load the transport into the transport buffer on the SAP application server.

    1. At the command prompt, navigate to the transport program directory on the SAP application server:

      <drive>:\usr\sap\trans\bin

    2. To load the transport into the transport buffer, execute the following command at the \usr\sap\trans\bin directory and replace sysid with the system ID of your development system:

      Copy Code
      tp addtobuffer <TransportNumber> <sysid> pf=TP_DOMAIN_<sysid>.PFL
      where, TransportNumber is the actual transport number (for example BI1K900534).

    3. After the tp command finishes, you will see a report similar to the following:

      Copy Code
      This is tp version 320.56.66 (release 620)
      Addtobuffer successful for TransportNumber
      tp finished with return code: 0
      Return code "0" means that the operation succeeded.

      A return code of 0 or 4 is acceptable. Contact Microsoft Customer Service and Support, if you receive a return code of 8 or above.

      Important
      Repeat steps (b) and (c) for the second set of transport files.

      Note
      You can easily derive the actual transport number from the cofile file name. For example, a cofile named K900534.BI1 provides a transport number of BI1K900534.

  3. Import the transport into SAP.

    1. Execute the following command at the command prompt:

      Copy Code
      tp import <TransportNumber> <sysid> client=<clientnumber> pf=TP_DOMAIN_<sysid>.PFL
      Replace sysid with the system ID of your development system. Replace clientnumber with the client number of your development system.

      You can use the U2 parameter to overwrite previously installed objects, as follows:

      Copy Code
      tp import <TransportNumber> <sysid> client=<clientnumber> U2
      or

      Copy Code
      tp import <TransportNumber> <sysid> client=<clientnumber> pf=TP_DOMAIN_<sysid>.PFL U2
      Note
      You can easily derive the actual transport number from the cofile file name. For example, a cofile named K900534.BI1 provides a transport number of BI1K900534.

    2. After the tp command finishes, you will see a report similar to the following:

      Copy Code
      This is tp version 320.56.66 (release 620)
      This is R3trans.exe version 6.08 (release 620 - 04.02.03 - 14:54:00).
      R3trans.exe finished (0000).
      This is R3trans.exe version 6.08 (release 620 - 04.02.03 - 14:54:00).
      R3trans.exe finished (0000).
      tp finished with return code: 0
      Return code "0" means that the operation succeeded.

      A return code of 0 or 4 is acceptable. Contact Microsoft Customer Service and Support if you receive a return code of 8 or above.

      Important
      Repeat steps (a) and (b) for the second set of transport files.

  4. Check the transport log.

  5. Check the transport log in SAP GUI Transport Organizer using transaction SE09 to verify that there are no errors.

Setting User Authorization

The Z_EXTRACT_DATA_OO RFC requires user IDs with specific authorization objects. Use the SAP GUI authorization administration tools to set the minimum restrictions on the execution of the RFC:

Note
You do not need to set the authorization for the Z_EXECUTE_SAP_QUERY RFC.

  • Z_EXTRACT_DATA_OO requires both S_TABU_DIS and Z_EIP_TABL. The following values provide the minimum restrictions for S_TABU_DIS, which allow users to view metadata for any table in the system.

    • ACTVT: 03

    • DICBERCLS: *

    You can use DICBERCLS to restrict authorization to tables by authorization class.

    You can use the TDDAT table to view the authorization class for tables.

    Note
    To prevent changes to tables by table maintenance transactions, you should only grant display privileges in a production environment (ACTVT: 03 sets the permissible activity to display).

    The minimum values for Z_EIP_TABL are:

    • ACTVT: 03

    • TABLE: *

    You can use TABLE to explicitly define the authorized tables. Note, too, that S_TABU_DIS is also used in other transactions.

To set user authorization

  1. Start the SAP GUI. Go to T-code, type pfcg, and press ENTER.

  2. In the Role text box, enter a role name you want to create, for example, ZTEST, and then click Role.

  3. In the Create Role page, click the Authorizations tab.

    If prompted to save the role, click Yes.

  4. In the Change Roles page, click the Change Authorization Data button.

  5. If you are prompted to select a template from the Choose Template dialog box, click Do not select templates.

  6. In the Change role: Authorizations page, click the Manually button.

  7. In the Manual selection of authorizations box, enter the name of the authorization object Z_EIP_TABL and press ENTER.

  8. In the Change role: Authorizations page, expand the nodes until you see the text boxes for Activity and Table Name. For the Activity text box, enter the value 03. For the Table Name text box, enter the value *.

  9. Click the Save button to generate the profile.

  10. Go back to the Change Roles page and click the User tab.

  11. In the User tab, assign a user ID for the role by entering the user name in the User ID column, and click the User comparison button.

  12. In the Compare Role User Master Record, click Complete comparison to update the master record. When prompted to save the role, click Yes.

  13. Save and exit.

Verifying Custom RFC Installation

After you install the custom RFCs, you can verify whether the RFCs installed correctly.

  • For Z_EXECUTE_SAP_QUERY RFC, you can do so by executing a pre-defined query in SAP system using the Data Provider for SAP.

  • For Z_EXTRACT_DATA_OO RFC, you can do so by performing the following tests to confirm that the RFC operates and is ready for use in your system.

To test the installation of Z_EXTRACT_DATA_OO

  1. In the SAP GUI authorization administration tools, execute SE37, function module Z_EXTRACT_DATA_OO, and then run the RFC in test mode by pressing F8. Populate the parameters as follows.

    IN_METADATA_ONLY

    IN_METADATA_LANGUAGE

    EN

    IN_FROM_TABLE

    T000

    IN_OUTPUT_MODE

    S

    IN_OUTPUT_FILENAME

    IN_USE_FIELD_EXITS

    X

    IN_SET_ROWCOUNT

    0

    IN_DELIMITER

    IN_PACKET_SIZE

    50,000

    IN_MAX_WRITE_ATTEMPTS

    4

    IN_RETRY_DELAY

    30

    IN_SQL_DATES_ON

  2. Click Execute or press F8.

  3. In the results pane, check the following.

    OUT_TABLEHEADER

    <T000 general metadata>

    OUT_TECHNICALSETTINGS

    <T000 technical database level metadata>

    OUT_RECORDLENGTH

    <depends on SAP version>

    OUT_RECORDCOUNT

    <confirm the number of clients in your system with SE16 on T000>

    OUT_ZDATATABLE

    <confirm this result with the source data using SE 16 on T000>

    OUT_RETURN_TAB

    S 001 Success

See Also

Concepts

Deployment

© 2014 Microsoft Corporation. All rights reserved.


Removing Custom RFCs for the Data Provider for SAP

This section provides instructions to remove the custom RFC installed for the Data Provider for SAP. Uninstalling the RFC includes removing the Z_EXTRACT_DATA_OO RFC from the computer running SAP R/3.

To remove the RFC for the Data Provider for SAP

  1. In the SAP GUI Object Navigator (SE80), find all the objects with the ZMSBI development class.

  2. Delete all objects with the ZMSBI development class from the following Dictionary Objects folders:

    • Structures

    • Function Groups

    • Authorized Object

  3. Raise a transport, and migrate it through each system where you installed an RFC (development, test, and production systems, for example).

    For further assistance, contact your SAP Basis Administrator.

See Also

Concepts

Deployment

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting Your Installation

The Microsoft BizTalk Adapter Pack installation copies the product binaries on a computer and registers the bindings for each adapter. For information about troubleshooting BizTalk Adapter Pack installation issues, see Troubleshooting Installation Issues.

See Also

Concepts

Deployment

© 2014 Microsoft Corporation. All rights reserved.


Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

The previous version of the SAP adapter shipped with Microsoft BizTalk Server differs from Microsoft BizTalk Adapter for mySAP Business Suite in many aspects, including:

  • The design-time experience of creating a BizTalk project.

  • The metadata retrieval experience.

  • Schemas.

  • Data type mappings.

  • The operations that can be performed using the adapter.

  • Physical port configuration in the BizTalk Server Administration console.

This section discusses the differences between the versions.

Note
The SAP adapter is a WCF-based adapter and can be used with BizTalk Server, the WCF service model, or the WCF channel model. The earlier version of the adapter, however, can be used only with BizTalk Server.

Therefore, this section talks about version differences in terms of using the adapter with BizTalk Server. For information about how to use the adapter with the WCF service model or WCF channel model, see Overview of BizTalk Adapter for mySAP Business Suite.

In This Section

  • Differences in the Design-time Experience

  • Differences in Metadata Retrieval Experience

  • Differences in the Schema File Name and Namespace

  • Differences in Data Type Mapping

  • Differences in Operations Surfaced for the SAP Artifacts

  • Differences in Physical Port Configuration in the BizTalk Server Administration Console

  • Migration Tutorials and Sample

See Also

Concepts

Deployment

© 2014 Microsoft Corporation. All rights reserved.


Differences in the Design-time Experience

The design-time experience for using the adapters includes creating a BizTalk project in Visual Studio and then generating metadata for the operations you want to perform on the SAP system using the adapter. This section discusses how the design-time experience differs between the two adapter versions.

Design-time Experience for Previous Version of the Adapter

Design-time experience using the previous version of the adapter involves the following steps:

  1. Add the SAP adapter to the BizTalk Server Administration console. Installing the adapter does not add the adapter to the console. You must add the adapter in the BizTalk Server Administration console under BizTalk Server Administration > BizTalk Group > Platform Settings > Adapters.

    Add an adapter Add SAP adapter to BizTalk
  2. Add a physical send port. To retrieve metadata from an SAP system, the previous version of the adapter requires you to configure a physical send port in BizTalk Server Administration console, before you create a BizTalk project.

    You can configure a send port under BizTalk Server Administration > BizTalk Group > BizTalk Applications > [Your Application] > Send Ports. For the send port, you must specify the connection properties to connect to the SAP system.

    The key connection properties to connect to an SAP system using the previous version of the adapter are:

    • Without Enterprise SSO: Username, Password, Client, Language, System (if Application Server configuration is used) or Message Server (if Message Server configuration is used), System ID, SSO Affiliate (set to none).

    • With Enterprise SSO: ESSO affiliate application configured in the SSO Administration console, all other parameters mentioned above (except username and password).

    Add port for SAP adapter
  3. Generate metadata. Create a BizTalk project in Visual Studio. Right-click the BizTalk project and select Add > Add Generated Items > Add Adapter Metadata.

    Add Adapter Metadata dialog box Add Adapter Wizard

Design-time Experience for the new WCF-based Adapter

Design-time experience using the WCF-based SAP adapter involves the following steps:

  1. Create a BizTalk project. Create a BizTalk project in Visual Studio. Right-click the BizTalk project and select Add > Add Generated Items > Consume Adapter Service.

    Launch Consume Adapter Service
    Note
    Note that WCF-based SAP adapter does not require you to configure a physical BizTalk port for the design-time experience.

  2. Connect to the SAP system. In the Consume Adapter Service BizTalk Project Add-in, select the binding for SAP (sapBinding) and click Configure to start the Configure Adapter dialog box. You must specify the different connection properties in this dialog box to connect to the SAP system.

    Specify credentials for Oracle database The key connection properties to connect to an SAP system using the WCF-based SAP adapter are:

    • Application Server related parameters, required if application server host (ASHOST) based connection is required.

    • Message Server related parameters, required if message server host (MSHOST) based connection is required.

    • Destination based parameters, required if destination (DEST) based connectivity is required.

    • Login Information related parameters, such as client number and language.

    • SNC based parameters, required for secure connectivity.

    • Misc (Miscellaneous) parameters, such as the connection type.

    Connection URI properties for SAP adapter For more information about the connection properties, see The SAP System Connection URI.

  3. Specify binding properties. The WCF-based SAP adapter is essentially a custom WCF binding that includes different binding properties. These binding properties govern the behavior of the adapter. These properties can be set both at design-time (when generating the metadata) and at run-time (when sending messages to the SAP system).

    Binding properties for the SAP adapter The key binding properties that must be set at design time fall under the Metadata category. The properties under the Metadata category control the metadata of the IDOC schemas generated.

    For more information about the binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Key Differences for Design-time Experience

The following table lists the key differences in the design-time experience for the two versions of the adapter.

Previous version of the SAP adapter | WCF-based SAP adapter
Add the adapter to the BizTalk Server Administration console under Platform Settings > Adapters. | The WCF-based SAP adapter is a WCF custom binding and is configured as specific binding type of the WCF-Custom adapter. The BizTalk Server Administration console already contains the WCF-Custom adapter under Platform Settings > Adapters.
Create a physical send port to connect to the SAP system at design time. | There is no need to configure a send port.
Use the Add Adapter Metadata option to connect to the SAP system and retrieve metadata. | Use the Consume Adapter Service option to connect to the SAP system and retrieve metadata.
There is no option to configure the adapter behavior during design time (using binding properties) to control metadata generation. | Set binding properties to configure the adapter behavior during design time to control metadata generation.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Differences in Metadata Retrieval Experience

Once you have connected to the SAP system from the BizTalk project in Visual Studio, you can generate metadata to perform operations on the SAP system, such as invoking an RFC. The steps involved in generating the metadata in the previous version of the SAP adapter differ from those in the WCF-based SAP adapter. This section discusses the differences.

Metadata Retrieval Experience for the Previous Version of the Adapter

  • Metadata categories. The previous version of the adapter surfaces three categories: RFCs, BAPIs, and IDOCs. During design time, the adapter does not list all these artifacts in the SAP system. Instead, the wizard allows you to search for the artifact for which you want to generate metadata. So, you cannot browse the SAP artifacts. You can only search for specific SAP artifacts.

    For example, if you want to generate metadata for the MATMAS IDOC, you must search for the IDOC and then the wizard lists the different versions available in the SAP system. The following figure illustrates an IDOC search operation in the previous version of the adapter.

    Generate metadata for IDOC After selecting the IDOC for which to generate metadata, select the version and release number for the IDOC, and follow the wizard instructions to generate the schema.

  • Searching for SAP artifacts. The previous version of the adapter requires you to search for specific SAP artifacts before generating the metadata for those artifacts. So, while this demonstrates the search capabilities of the adapter, it also restricts the user from browsing the SAP metadata from within a BizTalk project. Also, to search for BAPIs, you must have installed the custom RFCs shipped with the previous version of the adapter. If the custom RFC is not installed, the BAPI check box in the preceding screenshot will be disabled.

Metadata Retrieval Experience for the WCF-based Adapter

  • Contract type. Based on whether you will be performing outbound operations (messages sent from a client to the SAP system) or inbound operations (messages sent from SAP system to a client) using the adapter, you can specify the contract type.

    • For outbound operations, the contract type is Client. This contract surfaces operations whose messages flow from BizTalk to the adapter via a send port.

    • For inbound operations, the contract type is Service. This contract surfaces operations whose messages flow from the adapter to BizTalk via a receive port.

  • Metadata categories. The WCF-based SAP adapter surfaces the RFC, BAPI, IDOC, and TRFC categories. Note that the WCF-based SAP adapter does not require any custom RFC to surface the BAPIs.

    SAP metadata categories surfaced by the adapter The WCF-based SAP adapter surfaces the RFCs and BAPIs as operations that you can invoke on the SAP system. However, for IDOCs, the SAP adapter surfaces specific operations. For sending IDOCs to an SAP system, the adapter surfaces Send and SendIdoc operations. For receiving IDOCs from an SAP system, the adapter surfaces Receive and ReceiveIdoc operations.

    Note
    To view the IDOC receive operations the contract type must be set to Service (Inbound Operations) in the Consume Adapter Service Add-in.

    The Send and Receive operations are specific to the combination of an IDOC type, IDOC version, and IDOC release number and hence the adapter surfaces a strongly typed structure for this operation. The SendIdoc and ReceiveIdoc operations are used to send and receive IDOCs as flat-files and hence are not specific to an IDOC type. Hence they are surfaced directly under the IDOC category node in the browse tree.

    For more information about how the WCF-based SAP adapter supports sending and receiving IDOCs, see Operations on IDOCs.

  • Special operations. The WCF-based SAP adapter surfaces two special operations:

    • RfcGetAttributes. The SAP adapter uses this operation to get information about the RFC connection parameters such as system ID, partner code page, and language. This operation is available under the RFC node in the browse tree while using the Consume Adapter Service Add-in.

    • RfcConfirmTransID. This operation is used to commit a TRFC call into the SAP system. This operation is available under the TRFC node in the browse tree while using the Consume Adapter Service Add-in.

  • Searching for SAP artifacts. While the previous version of the adapter only provides search capabilities when generating metadata, the WCF-based SAP adapter enables you to both browse and search for the SAP artifact for which you want to generate metadata. To search for specific SAP artifacts you must select a relevant metadata category (RFC, BAPI, IDOC, TRFC) and specify a search expression using valid wildcard characters, such as asterisk (*).

    Search SAP metadata For more information about searching SAP metadata using the WCF-based SAP adapter, see How Does the Adapter Surface SAP Metadata?

  • BizTalk port binding file. Generating schema for the WCF-based SAP adapter using the Consume Adapter Service BizTalk Project Add-in also creates a BizTalk port binding file. You can import this file into a BizTalk application to configure a WCF-Custom port. The file essentially contains the physical port configuration including the binding configuration, the binding type, the endpoint URI, and the port action based on the operations for which metadata was generated. This makes it significantly easier to create physical WCF-Custom ports for the project. For more information, see Configuring a Physical Port Binding Using a Port Binding File.

Key Differences for Metadata Retrieval Experience

The following table lists the key differences in the metadata retrieval experience for the two versions of the adapter.

Previous version of the SAP adapter | WCF-based SAP adapter
Only RFC, BAPI, and IDOC categories are surfaced | RFC, BAPI, IDOC, and TRFC categories are surfaced
Custom RFC required to surface the BAPI category | No custom RFC required to surface BAPI category
No specific operations surfaced for IDOCs | Specific send and receive operations surfaced for IDOCs
Only search is supported. | Both browse and search are supported.
No differentiation between inbound and outbound operations | Inbound operations are surfaced under the Service (Inbound Operations) category while outbound operations are surfaced under the Client (Outbound Operations) category.
No special operations surfaced | RfcGetAttributes and RfcConfirmTransID operations surfaced for RFCs and TRFCs respectively.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Differences in the Schema File Name and Namespace

The previous version of the adapter generates metadata for SAP artifacts differently than the current version. This section discusses these differences including:

  • File naming convention.

  • Target namespace.

Schema File Name and Namespace for the Previous Version of the Adapter

  • File naming convention. The previous version of the adapter generates schema files with names containing the name of the SAP artifact. For example, generating the metadata for the SD_RFC_CUSTOMER_GET table creates a file with the name SD_RFC_CUSTOMER_GET__x32003.xsd.

  • Target namespace of the schema. The following table lists the target namespace of the schemas generated by the previous version of the adapter.

    SAP artifact Target namespace

    RFC/BAPI

    http://schemas.microsoft.com/BizTalk/2003

    IDOC

    http://{IDocType_Name}.{Version}

    For example, http://MATMAS01.V3

    In the preceding table, the text in parentheses { } are placeholders to present the convention for the namespace. The actual namespace contains the appropriate values.

Schema File Name and Namespace for the WCF-based Adapter

  • File naming convention. By default, the WCF-based SAP adapter generates schema files with names containing the name of the binding, for example, SapBindingSchema1.xsd. However, the Consume Adapter Service BizTalk Project Add-in provides the option of specifying a custom file name while generating the schema. For more information about how to retrieve the schema, see Retrieving Metadata for SAP Operations in Visual Studio.

  • Target namespace of the schema. The following table lists the target namespace of the schemas generated by the WCF-based SAP adapter.

    SAP artifact Target namespace

    RFC/BAPI

    http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/

    Business Objects

    http://Microsoft.LobServices.Sap/2007/03/Bapi/{BusinessObject_Id}/

    For example, http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/

    IDOC (Send/Receive)

    http://Microsoft.LobServices.Sap/2007/03/IDOC/{Version_No}/{IDocType_Name}/{CimType}/{Release_No}/{Operation}

    For example, http://Microsoft.LobServices.Sap/2007/03/IDOC/3/MATMAS05//620/Receive

    IDOC SendIdoc/ReceiveIdoc

    http://Microsoft.LobServices.Sap/2007/03/Idoc/

    In the preceding table, the text in parentheses { } are placeholders to present the convention for the namespace. The actual namespace contains the appropriate values.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Differences in Data Type Mapping

The two versions of the adapter differ in how the SAP data type maps to the XSD date type. This section lists the data type mapping between the two versions of the adapter.

Data Type Mapping for SAP Artifacts

The following table lists the mapping between the SAP data types and XSD data types for SAP artifacts for both the adapter versions. For more information about data type mapping for WCF-based SAP adapter, see Basic SAP Data Types.

Note
The mapping presented in the table is applicable only for RFCs and BAPIs. The IDOCs are always represented as strings.

In the WCF-based SAP adapter, how an SAP data type is mapped to an XSD type depends on whether the EnableSafeTyping binding property is set to True while generating the schema. The following table provides data type mapping for both scenarios, where the binding property is set to true and otherwise. For more information about the binding property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

SAP data type | XSD mapping for previous version of the adapter | XSD mapping for WCF-based adapter (for Beta 2 release) | XSD mapping for WCF-based adapter with EnableSafeTyping = False (for Nov CTP release) | XSD mapping for WCF-based adapter with EnableSafeTyping = True (for Nov CTP release)
ACCP | xsd:string with digit pattern | xsd:int | xsd:int | xsd:string
CHAR | xsd:string | xsd:string | xsd:string | xsd:string
CLNT | xsd:string | xsd:string | xsd:string | xsd:string
CUKY | xsd:string | xsd:string | xsd:string | xsd:string
CURR | xsd:decimal | xsd:decimal | xsd:decimal | xsd:decimal
DATS | xsd:string with date pattern | xsd:dateTime, time = 00:00:00 | xsd:dateTime, time = 00:00:00 If time zone is present, adapter throws an exception | xsd:string String format is YYYYMMDD
DEC | xsd:decimal | xsd:decimal | xsd:decimal | xsd:decimal
FLTP | xsd:double | xsd:double | xsd:double | xsd:double
INT1 | xsd:unsignedByte | xsd:unsignedByte | xsd:unsignedByte | xsd:unsignedByte
INT2 | xsd:short | xsd:short | xsd:short | xsd:short
INT4 | xsd:int | xsd:int | xsd:int | xsd:int
LANG | xsd:string | xsd:string | xsd:string | xsd:string
LCHR | xsd:string | xsd:string | xsd:string | xsd:string
LRAW | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary
NUMC | xsd:string | xsd:int if len <= 9 xsd:long if len > 9 & <= 19 xsd:string if len > 19 | xsd:int if len <= 9 xsd:long if len > 9 & <= 19 xsd:string if len > 19 | xsd:int if len <= 9 xsd:long if len > 9 & <= 19 xsd:string if len > 19
PREC | xsd:short | xsd:short | xsd:short | xsd:short
QUAN | xsd:decimal | xsd:decimal | xsd:decimal | xsd:decimal
RAW | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary
RSTR | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary | xsd:base64Binary
SSTR | xsd:string | xsd:string | xsd:string | xsd:string
STRG | xsd:string | xsd:string | xsd:string | xsd:string
TIMS | xsd:string with time pattern | xsd:dateTime, date =0001-01-01 | xsd:dateTime, date =0001-01-01 If time zone is present, adapter throws an exception | xsd:string String format is HHMMSS
UNIT | xsd:string | xsd:string | xsd:string | xsd:string
Note
After the November CTP, no changes are made to the data type mapping for the SAP artifacts. The Release Candidate (RC) and the RTM version of the SAP adapter uses the same data type mapping.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Differences in Operations Surfaced for the SAP Artifacts

The two versions of the adapter differ in the operations they expose for the SAP system. This section lists the differences in:

  • Operations surfaced for standard SAP artifacts (such as RFCs and BAPIs).

  • Special operations.

For more information about the operations supported by the WCF-based SAP adapter, see What Operations Can be Performed Using the Adapter?

Operations Surfaced for Standard SAP Artifacts

The following table lists the operations surfaced for tables by both versions of the adapter.

Operation for previous version of the adapter Description Operation for WCF-based adapter Description

[RFC] or [BAPI]

Surfaces the RFCs or BAPIs as operation names. For example, BAPI_SALESORDER_GETLIST

[RFC] or [BAPI]

Surfaces the RFCs or BAPIs as operation names. For example, BAPI_SALESORDER_GETLIST

[Business Object Method]

Surfaces a BAPI exposed as business object method. For example, CREATEFROMDAT2 method of the SalesOrder business object.

[IDOC Type]

Single operation to send or receive IDOCs belonging to a particular IDOC type.

  • Send/SendIdoc

  • Receive/ReceiveIdoc

  • The Send operation sends strongly typed IDOCs belonging to a particular IDOC type.

  • The SendIdoc operation sends a flat-file IDOC belonging to any IDOC type.

  • The Receive operation receives strongly typed IDOCs belonging to a particular IDOC type

  • The ReceiveIdoc operation receives a flat-file IDOC belonging to any IDOC type.

Special Operations Surfaced by the Adapters

The previous version of the SAP adapter does not surface any special operations to be performed on the SAP system. The following table lists the special operations surfaced by the WCF-based SAP adapter.

Operation for WCF-based adapter | Description
RfcGetAttributes | Surfaced under the RFC node in the Add Adapter Service Reference Visual Studio Plug-in or Consume Adapter Service BizTalk Project Add-in. This operation provides the system ID, partner code page, and language of the RFC connection.
RfcConfirmTransID | Surfaced under the TRFC node in the Add Adapter Service Reference Visual Studio Plug-in or Consume Adapter Service BizTalk Project Add-in. This operation is used to confirm the tRFC transaction.
ConvertGuidToTid | This operation exposed as a public method in the SAP adapter assembly. This operation returns the SAP transaction ID mapped to a specific GUID.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Differences in Physical Port Configuration in the BizTalk Server Administration Console

To use the previous version of the SAP adapter or the WCF-based SAP adapter with BizTalk Server, you need to configure physical ports in the BizTalk Server Administration console. This section lists the differences in configuring a physical port for both versions of the adapter.

Configuring a Physical Port for the Previous Version of the SAP Adapter

You can configure a send port to send messages to the SAP system using the previous version of the adapter, or a receive port to receive messages from the SAP system using the previous version of the adapter. The configuration properties displayed for the send and receive ports are different. For example, while configuring a receive port for the previous version of the SAP adapter, the property related to program ID is available. However, this property is not available while configuring a send port.

Note
You cannot create a two-way receive port for the previous version of the SAP adapter. You must always create a one-way receive port.

Configuring a Physical Port for the WCF-based SAP Adapter

For the WCF-based SAP adapter, you do not necessarily have to create a port manually. You have the option of configuring a physical port automatically by importing a port binding file that is generated while you generate metadata for any operation using the Consume Adapter Service BizTalk Project Add-in. The file essentially contains the physical port configuration including the binding configuration, the binding type, the endpoint URI, and the port action based on the operations for which metadata was generated. For more information, see Configuring a Physical Port Binding Using a Port Binding File.

Several other considerations that make a physical port configuration for WCF-based SAP adapter different from the previous version of the SAP adapter are:

  • The port type for WCF-based SAP adapter is "WCF-Custom". So, with respect to BizTalk Server, this port uses custom WCF configurations and primarily, a custom WCF binding. Because WCF-based SAP adapter is essentially a custom WCF binding, it can be used in BizTalk via the WCF-Custom port.

  • A BizTalk WCF-Custom send port requires an "Action" to be specified in the port. This is the WCF action that is sent on the message by BizTalk before it gets to the binding. The WCF action conveys to the adapter:

    • The operation the adapter client wants to perform.

    • The SAP artifact on which the user wants to perform the operation.

    Adapter clients can specify this action in various ways. For more information on specifying an action, see Specifying SOAP Action.

  • BizTalk WCF-Custom send or receive ports includes binding information that, in turn, includes a binding type and binding properties for that binding type. This is a key configuration that ties the WCF-Custom port to a WCF-based SAP adapter. For the WCF-based SAP adapter, binding type is sapBinding.

  • The binding configuration properties that govern how an adapter behaves while generating metadata or while sending messages to the SAP system. Unlike the previous version of the SAP adapter, the available binding properties do not change depending on whether you are configuring a send or a receive port. However, adapter users must be aware of which binding property to set for a specific operation performed by the adapter. For more information about the binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

  • The configurations under the Messages tab in the WCF-Custom Transport Properties dialog box enable adapter users to alter the message that is sent or received using the WCF-Custom port. While sending messages (from BizTalk to the adapter), users can choose to send the message body or use a template to transform the XML message to a different message structure before sending it to the adapter (the WCF custom binding). While receiving messages (from the adapter to BizTalk), users can choose to get the entire SOAP envelope, the body contents of the SOAP message, or a specific node value in the incoming message referenced by an XPath query expression.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Migration Tutorials and Sample

The Microsoft BizTalk Adapter Pack includes migration tutorials that demonstrate how to migrate BizTalk projects created using the previous version of the SAP adapter to use the WCF-based SAP adapter. For more information, see SAP Adapter Tutorials.

The BizTalk Adapter Pack also includes samples that demonstrate how to modify a BizTalk project created using the previous version of the SAP adapter to send and receive messages using the WCF-based SAP adapter. For more information, see Samples.

See Also

Other Resources

Migrating BizTalk Projects Created Using the Previous Version of the SAP Adapter

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting

The BizTalk Adapter Pack uses or depends on several Microsoft technologies, including but not limited to the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK, Microsoft Visual Studio, and the Microsoft .NET Framework 4.5 or .NET Framework 4.5.1. The BizTalk Adapter Pack is built on top of the WCF LOB Adapter SDK, which in turn requires the .NET Framework 4.5 or .NET Framework 4.5.1. The adapters can be consumed either by writing applications using Visual Studio or by creating BizTalk applications. For issues related to each of these technologies and products, see the respective documentation.

This section provides information about troubleshooting the BizTalk Adapter Pack, including:

  • Enabling tracing to diagnose issues with the adapters.

  • Handling installation and operational issues that you might encounter when working with the adapters, including probable cause, and a resolution.

  • Using performance counters to gauge adapter performance.

  • Handling exceptions and errors, including probable cause, and a resolution.

In This Section

  • Diagnostic Tracing and Message Logging

  • Troubleshooting Installation Issues

  • Troubleshooting Operational Issues

  • Troubleshooting Performance Issues

  • Troubleshooting Issues with the Data Provider for SAP

  • Using Performance Counters

  • Exceptions and Error Handling

© 2014 Microsoft Corporation. All rights reserved.


Diagnostic Tracing and Message Logging

Diagnostic tracing helps to effectively diagnose problems that you might encounter when using the adapters. Adapter clients can activate diagnostic tracing at three levels:

  • Between the adapter client and the adapter

  • Within the adapter

  • Between the adapter and the line-of-business (LOB) application

This section provides information about activating tracing at these levels.

Tracing Between the Adapter Client and the Adapter

Adapter clients can enable WCF tracing to trace issues between the adapter client and the adapter. WCF tracing is used to trace the input XML that comes from the adapter client by using the WCF service model and is useful in diagnosing serialization issues. WCF tracing is not used for the WCF channel model or for output messages from the adapter to the adapter client. You can activate WCF tracing for BizTalk applications and WCF service model applications by adding an excerpt to the respective configuration files. Also, you can enable tracing both at design-time and run-time.

  • Tracing at design-time. For the design-time experience, you may use the Add Adapter Service Reference Plug-in, Consume Adapter Service Add-in, or the Add Adapter Metadata Wizard. All these tools can be used from Visual Studio. So, to enable tracing for the design-time experience, you must add the excerpt to the devenv.exe.config file located in <installation drive>:\Program Files\Microsoft Visual Studio <version>\Common7\IDE.

  • Tracing at run-time. For run-time tracing, you must add the excerpt depending on the application you are using.

    • For a BizTalk Server applications, you must add the excerpt to the BizTalk configuration file, typically BTSNTSvc.exe.config. For BizTalk Server 2013 R2, this file is available typically under <installation drive>:\Program Files\Microsoft BizTalk Server 2013 R2.

    • For a WCF service model .NET application, you must add the excerpt to the app.config file of your project.

To enable WCF tracing, add the following excerpt within the <configuration> tag.

Copy Code
<system.diagnostics>
    <sources>
      <source name ="System.ServiceModel" switchValue="Verbose">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name ="System.ServiceModel.MessageLogging"
              switchValue="Verbose, ActivityTracing">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name ="System.Runtime.Serialization" switchValue="Verbose">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
   </sources>
   <sharedListeners>
      <add name="xml" type="System.Diagnostics.XmlWriterTraceListener"
           traceOutputOptions="LogicalOperationStack"
           initializeData="C:\log\WCFTrace.svclog" />
   </sharedListeners>
   <trace autoflush="true" />
  </system.diagnostics>
  <system.serviceModel>
    <diagnostics>
      <messageLogging
           logEntireMessage="true"
           logMalformedMessages="false"
           logMessagesAtServiceLevel="true"
           logMessagesAtTransportLevel="false"/>
    </diagnostics>
  </system.serviceModel>

This saves the WCF traces to C:\log\WCFTrace.svclog. For more information about WCF tracing, see "Tracing" at http://go.microsoft.com/fwlink/?LinkId=91242.

Important
Make sure you mitigate potential security threats of exposing sensitive business data by enabling tracing. For recommendations see Best Practices.

Tracing Within the Adapter

The adapters log different categories of useful information to the trace file such as errors, warnings, and information messages. Such information is useful in understanding the process flow within the adapter and diagnosing issues with the adapter. You can activate the WCF LOB Adapter SDK and adapter tracing for BizTalk applications and WCF service model applications by adding an excerpt to the respective configuration files. Also, you can enable tracing both at design-time and run-time.

  • Tracing at design-time. For the design-time experience, you may use the Add Adapter Service Reference Plug-in, Consume Adapter Service Add-in, or the Add Adapter Metadata Wizard. All these tools can be used from Visual Studio. So, to enable tracing for the design-time experience, you must add the excerpt to the devenv.exe.config file located in <installation drive>:\Program Files\Microsoft Visual Studio <version>\Common7\IDE.

  • Tracing at run-time. For run-time tracing, you must add the excerpt depending on the application you are using.

    • For a BizTalk Server applications, you must add the excerpt to the BizTalk configuration file, typically BTSNTSvc.exe.config. For BizTalk Server 2013 R2, this file is available typically under <installation drive>:\Program Files\Microsoft BizTalk Server 2013 R2.

    • For a WCF service model .NET application, you must add the excerpt to the app.config file of your project.

To enable WCF LOB Adapter SDK and adapter tracing, add the following excerpt within the <configuration> tag.

Copy Code
<system.diagnostics>
    <sources>
      <source name="Microsoft.ServiceModel.Channels" switchValue="Error">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="Microsoft.Adapters.SAP" switchValue="Information">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="xml" type="System.Diagnostics.XmlWriterTraceListener"
   traceOutputOptions="LogicalOperationStack"
          initializeData="C:\log\AdapterTrace.svclog" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

This saves the WCF traces to C:\log\AdapterTrace.svclog.

Tracing Between the Adapter and the LOB Application

To diagnose issues that you suspect are related to the LOB application, you must enable tracing for communication between the adapter and the LOB application. Adapters also depend on LOB tracing (client/server side) to access this information. The SAP adapter enables adapter clients to turn on tracing within the SAP system by specifying the "RfcSdkTrace" parameter in the connection URI. You must specify this parameter to enable the RFC SDK to trace information flow within the SAP system. For more information about the connection URI, see The SAP System Connection URI.

Additionally, you can also create an RFC_TRACE environment variable that sets the level of tracing for the RFC SDK. RFC_TRACE is an environment variable defined by SAP and is used by the RFC SDK. If this variable is not defined or is set to 0, the RFC SDK tracing level is bare minimum. If the variable is set to 1 or 2, the tracing level is more detailed.

Note
Irrespective of whether the RFC_TRACE environment variable is set, the RFC SDK tracing is enabled only if the "RfcSdkTrace" parameter is set to true in the connection URI. The value of this environment variable solely governs the level of RFC SDK tracing. If RfcSdkTrace is set to true, the message traces between the adapter and the SAP system are copied to the “system32” folder on your computer. To save the RFC SDK traces to some other location, you can set the RFC_TRACE_DIR environment variable. For more information about these environment variables refer to the SAP documentation.

Viewing the Traces

You can use the Windows Communication Foundation (WCF) Service Trace Viewer tool to view the traces. For more information about the tool, see "Using Service Trace Viewer for Viewing Correlated Traces and Troubles" at http://go.microsoft.com/fwlink/?LinkId=91243.

Configuring Tracking for BizTalk Applications

The BizTalk Server Administration console lets you configure various tracking options for items such as send ports and receive ports. The tracking configuration settings enable you to track inbound and outbound event data, message properties, message bodies, and orchestrations. For more information about configuring tracking for BizTalk applications, see the "Configuring Tracking Using the BizTalk Server Administration Console" at http://go.microsoft.com/fwlink/?LinkId=106851.

You can also use Health and Activity Tracking (HAT) to view historical or tracked data. For more information, see "Viewing Historical or Tracked Data Using HAT" at http://go.microsoft.com/fwlink/?LinkId=106852.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting Installation Issues

This topic was last updated on: June 05, 2009

Installation of the Microsoft BizTalk Adapter Pack copies the product binaries on the computer and registers the bindings for each adapter. This section discusses troubleshooting techniques to resolve installation errors.

Logging Messages for Setup Actions

The BizTalk Adapter Pack setup program performs the standard task of installing the BizTalk Adapter Pack. Additionally, the setup also performs certain custom actions such as registering the adapter bindings. You can log messages for both the standard as well as custom actions that the setup performs.

  • The BizTalk Adapter Pack setup installs the adapter specific files using an MSI. Hence, the logging for the setup is the standard MSI logging.

  • Logs for the custom actions that the setup program performs are available at %TEMP%\adaptersetup.log. If the tracing to the log file fails, the traces are also available in the event log.

Known Issues

The following are the most common errors you might encounter when installing the BizTalk Adapter Pack, along with their probable cause and resolution.

  • Setup fails to register adapter bindings or data providers

  • Error while using the Consume Adapter Service add-in or Add Adapter Service Reference plug-in on a 64-bit installation

  • Invalid binding error while configuring SAP adapter ports in BizTalk Server Administration Console on a 64-bit installation

Setup fails to register adapter bindings or data providers

Problem

The Microsoft BizTalk Adapter Pack setup wizard fails to register the adapter bindings or the .NET Framework Data Provider for mySAP Business Suite, but proceeds with the adapter installation.

Cause

This might result due to problems with Windows Communication Foundation (WCF) installation, Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK installation, or the machine.config file being corrupt. The adapter bindings are written to the machine.config file.

Resolution

You should manually register the SAP adapter binding or the Data Provider for SAP.

To register the adapter bindings or the data provider

  1. Navigate to the machine.config file on the computer. For example, on a 32-bit platform, the machine.config is available under <system drive>:\WINDOWS\Microsoft.NET\Framework\<version>\CONFIG.

    In this path, <version> is the version of the .NET Framework.

  2. Open the file using a text editor.

  3. To register the SAP adapter binding:

    1. Search for the element "system.serviceModel" and add the following under it:

      Copy Code
      <client>
  <endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" />
</client>
    2. Search for the element "bindingElementExtensions" under system.serviceModel\extensions.

    3. Look for the missing SAP adapter binding. Add the following section under the "bindingElementExtensions" node.

      For SAP adapter, add:

      Copy Code
      <add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
    4. Search for the element "bindingExtensions" under system.serviceModel\extensions.

    5. Look for the missing SAP adapter binding. Add the following section under the "bindingExtensions" node.

      For SAP adapter, add:

      Copy Code
      <add name="sapBinding" type="Microsoft.Adapters.SAP.SAPAdapterBindingSection,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
      Note
      For information about how to determine the public key, see Determining the Public Key and Version.

  4. To register the Data Provider for SAP:

    1. Search for the element "DbProviderFactories" under the "system.data" node.

    2. Look for the missing Data Provider for SAP. Add the following section under the "DbProviderFactories" node.

      For Data Provider for SAP, add:

      Copy Code
      <add name="SAPClient Data Provider" invariant="Microsoft.Data.SAPClient" description=".NET Framework Data Provider for mySAP Business Suite" type="Microsoft.Data.SAPClient.SAPClientFactory,Microsoft.Data.SAPClient, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />

  5. Save and close the machine.config file.

Determining the Public Key and Version

Perform the following steps to determine the public key for SAP adapter or Data Provider for SAP.

To determine the public key

  1. Navigate to the Windows directory, typically C:\WINDOWS\assembly.

  2. Right-click the DLL for which you want the public key, and then select Properties. The following table lists the name of the DLLs for SAP adapter and Data Provider for SAP.

    Adapter/Data Provider Name of the DLL

    SAP adapter

    Microsoft.Adapters.SAP

    Data Provider for SAP

    Microsoft.Data.SAPClient

  3. On the General tab, the value against the Public Key Token label specifies the public key for the DLL. Similarly, value against the Version label specifies the version number for the DLL.

  4. Copy the public key, and then click Cancel.

Error while using the Consume Adapter Service add-in or Add Adapter Service Reference plug-in on a 64-bit installation

Problem

Using the Add Adapter Service Reference Visual Studio Plug-in or the Consume Adapter Service BizTalk Project Add-in from Visual Studio on a 64-bit computer running 64-bit version of the BizTalk Adapter Pack results in the following error:

Copy Code
No valid adapters are installed on this machine

Cause

The SAP adapter is a WCF custom binding, which is registered under System.ServiceModel in the machine.config file. A 64-bit platform has two machine.config files, one used by the 32-bit applications and the other used by the 64-bit applications. So, when you install the 64-bit version of the BizTalk Adapter Pack, the setup wizard registers the bindings in the 64-bit version of the machine.config file. However, Visual Studio runs as a 32-bit process and hence when you launch the Consume Adapter Service Add-in from Visual Studio, the plug-in checks for the bindings in the 32-bit version of the machine.config file and fails giving an error.

Resolution

  • Install both the 32-bit and 64-bit versions of the BizTalk Adapter Pack on a 64-bit WCF LOB Adapter SDK installation.

    Important
    You must only have a 64-bit WCF LOB Adapter SDK installation. Side-by-side installation of 32-bit and 64-bit WCF LOB Adapter SDK on a single computer is not supported.

  • Add both the 32-bit and 64-bit versions of the client DLLs for the SAP adapter (such as librfc32u.dll) to the PATH variable. The 32-bit version of the DLLs must be added to C:\Windows\SysWow64 folder. The 64-bit version of the DLLs must be added to C:\Windows\System32 folder.

    Important
    If the adapter (32 or 64-bit) is running on a computer that has a 64-bit operating system, and you are using the adapter to write an application, you should mark the application to the same type (32 or 64-bit) as the adapter. Also, the version of the RFC SDK (32 or 64-bit) must be same as the version of the adapter (32 or 64-bit).

    For example, if a 32-bit adapter is running on a computer with a 64-bit operating system, the adapter client application must be marked as 32-bit.

    For more information about the SAP client DLLs, refer to “What client libraries must be present on the system where the SAP adapter is installed?” in the Frequently Asked Questions.

Invalid binding error while configuring SAP adapter ports in BizTalk Server Administration Console on a 64-bit installation

Problem

When you try to configure a port for the adapter in BizTalk Server Administration console, you get the following error:

Copy Code
"Unable to create binding configuration element for editing. Check the values of the BindingType and BindingConfiguration properties.
(Microsoft.Biztalk.Adapter.Wcf.Converters.CreateBindingException) Unable to get binding type for binding extension "sapBinding".
Verify the binding extension is registered in machine.config."

Cause

The SAP adapter is a WCF custom binding, which is registered under System.ServiceModel in the machine.config file. A 64-bit platform has two machine.config files, one used by the 32-bit applications and the other used by the 64-bit applications. So, when you install the 64-bit version of the BizTalk Adapter Pack, the setup wizard registers the bindings in the 64-bit version of the machine.config file. However, BizTalk Server Administration console runs as a 32-bit process and hence when you configure a port for the adapter, it checks for the bindings in the 32-bit version of the machine.config file and fails giving an error.

Resolution

  • Install both the 32-bit and 64-bit versions of the BizTalk Adapter Pack on a 64-bit WCF LOB Adapter SDK installation.

    Important
    You must only have a 64-bit WCF LOB Adapter SDK installation. Side-by-side installation of 32-bit and 64-bit WCF LOB Adapter SDK on a single computer is not supported.

  • Add both the 32-bit and 64-bit versions of the client DLLs for the SAP adapter (such as librfc32u.dll) to the PATH variable. The 32-bit version of the DLLs must be added to C:\Windows\SysWow64 folder. The 64-bit version of the DLLs must be added to C:\Windows\System32 folder.

    Important
    If the adapter (32 or 64-bit) is running on a computer that has a 64-bit operating system, and you are using the adapter to write an application, you should mark the application to the same type (32 or 64-bit) as the adapter. Also, the version of the RFC SDK (32 or 64-bit) must be same as the version of the adapter (32 or 64-bit).

    For example, if a 32-bit adapter is running on a computer with a 64-bit operating system, the adapter client application must be marked as 32-bit.

    For more information about the SAP client DLLs, refer to “What client libraries must be present on the system where the SAP adapter is installed?” in the Frequently Asked Questions.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting Operational Issues

This topic was last updated on: June 05, 2009

This section discusses using troubleshooting techniques to resolve operational errors that you might encounter when using Microsoft BizTalk Adapter for mySAP Business Suite.

Enabling Tracing

For information about tracing support in the SAP adapter, see Diagnostic Tracing and Message Logging.

Known Issues

The following are the most common errors you might encounter when using the SAP adapter, along with their probable cause and resolution.

  • Error in loading the adapter bindings

  • The SAP adapter does not display in the list of adapters in BizTalk Server Administration console

  • Error while opening a connection to the SAP system

  • Error while retrieving XML with more than 65,536 nodes

  • Error while specifying a connection URI for a WCF-Custom port in BizTalk Server

  • Error while performing operation on the SAP system

  • XmlReaderParsingException due to incorrect operation name in the specified action

  • Error while opening more than 100 connections to the SAP system

  • Error while generating or retrieving metadata for IDOCs

  • Error while sending or receiving IDOCs that have unreleased segments

  • Error while sending flat-file IDOCs to SAP that were received using the SAP FilePort

  • Error while receiving IDOCs from SAP if EnableBizTalkCompatibilityMode property is set to true

  • Error in validation while receiving IDOCs from an SAP system

  • Flat-file IDOCs, before and after converting to XML, are not identical

  • The adapter does not recognize the action on the physical port even though you use the binding file generated by the Consume Adapter Service add-in to create the ports

  • The response message for an operation performed on the SAP system does not contain any table parameters

  • Adapter Clients do not receive the response from an SAP system even after fixing incorrect credentials in the WCF-Custom send port

  • Connectivity issues while receiving an inbound message from the SAP server

  • Error with RootNode TypeName in BizTalk Projects

  • Invalid binding warning when using the adapter in Visual Studio

  • BizTalk Server throws an exception if you use more than one schema of a generic operation in the same application or use the schema across multiple applications on the same host

Error in loading the adapter bindings

Problem

When you try to start the Add Adapter Service Reference Visual Studio Plug-inor the Consume Adapter Service BizTalk Project Add-in, the GUI gives the following error:

Copy Code
There was an error loading the binding, <binding name>, from your system configuration.
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.

Cause

When you start the Add Adapter Service Reference Plug-in or the Consume Adapter Service Add-in, Windows Communication Foundation (WCF) loads the adapter bindings for all the installed adapters. In turn, the adapter bindings are dependent on the specific client software for the enterprise application. You might face this issue for one or both of the following reasons:

  • The required LOB client software is not installed on the computer where you installed the adapter.

  • You did a Typical or Complete installation of the adapter, which installs all the adapters contained in the BizTalk Adapter Pack. However, the LOB client libraries might be installed for only one enterprise application. As a result, the GUI fails to load the bindings for the other adapters.

Resolution

  • Make sure you do a Custom installation of the adapters to install only the adapter you need.

  • Make sure the required LOB client versions are installed on the computer where you installed the BizTalk Adapter Pack. The BizTalk Adapter Pack supports SAP RFC SDK 6.4 UNICODE, SAP RFC SDK 7.0 UNICODE, and SAP RFC SDK 7.1 UNICODE. The BizTalk Adapter Pack also requires certain DLLs to interface with the SAP system. For more information about the DLLs required by the adapter, see “What client libraries must be present on the system where the SAP adapter is installed?” section in the Frequently Asked Questions.

The SAP adapter does not display in the list of adapters in BizTalk Server Administration console

Problem

Unlike the earlier version of the adapters shipped with BizTalk Server, the SAP adapter shipped with BizTalk Adapter Pack does not show up in the list of adapters in the BizTalk Server Administration console.

Cause

The latest SAP adapter is a WCF custom binding. So, although the BizTalk Server Administration console displays the WCF-Custom adapter, it does not display the WCF custom bindings and hence, does not display the WCF-based SAP adapter.

Resolution

You can explicitly add the SAP adapter to the BizTalk Server Administration console by following the steps mentioned in Adding the SAP Adapter to BizTalk Server Administration Console.

Error while opening a connection to the SAP system

Problem

When you try to open a connection to the SAP system using the SAP adapter, a dialog box appears in the SAP system, informing that some DLLs are missing.

Cause

The SAP adapter uses librfc32u.dll to establish a connection with the SAP system. The librfc32u.dll, in turn, requires a set of DLLs to function. You get this error if these supporting DLLs are not added to the PATH variable on the computer where the SAP adapter is installed.

Resolution

Refer to the table provided as a resolution to the Error in loading the adapter bindings issue. The table lists the supporting DLLs required to interface with the SAP system using the SAP adapter.

Error while retrieving XML with more than 65,536 nodes

Problem

The adapter gives the following error while retrieving XML output that has more than 65,536 nodes.

Copy Code
Maximum number of items that can be serialized or deserialized in an object graph is '65536'.
Change the object graph or increase the MaxItemsInObjectGraph quota.

Cause

The adapter cannot serialize and deserialize an object with more than 65,536 items.

Resolution

You can fix this issue by setting the maxItemsInObjectGraph parameter in either of the following two ways:

  • Set this parameter by changing the maxItemsInObjectGraph parameter in the ServiceBehavior attribute on your service class.

  • Add the following to your application's app.config file.

    Copy Code
    <behaviors>
  <endpointBehaviors>
    <behavior name="NewBehavior">
      <dataContractSerializer maxItemsInObjectGraph="65536000" />
    </behavior>
  </endpointBehaviors>
</behaviors>

A sample app.config will look like the following.

Copy Code
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="NewBehavior">
         <dataContractSerializer maxItemsInObjectGraph="65536000" />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <client>
      <endpoint   behaviorConfiguration="NewBehavior" binding="sapBinding"
       contract="IOutboundContract" name="sap_ICalculator" />
    </client>
  </system.serviceModel>
</configuration>

Error while specifying a connection URI for a WCF-Custom port in BizTalk Server

Problem

BizTalk Server gives the following error when you specify a connection URI to connect to the SAP system.

Copy Code
Error saving properties.
(System.ArgumentException) The specified address is invalid.
(System.ArgumentException) Invalid address;
"<connection URI>" is not a well-formed absolute uri.

Cause

The connection URI does not adhere to the standard encoding format. For example, the value for a parameter might contain a space.

Resolution

Make sure the connection URI you specify adheres to the standard encoding format. For example, a blank space must be replaced by "%20".

Error while performing operation on the SAP system

Problem

The adapter gives the following error when performing any operation on the SAP system using BizTalk Server.

  • For BizTalk Server 2013 R2

    Copy Code
    System.ArgumentNullException: Value cannot be null.

Cause

The WCF action for the message is not specified. WCF requires a SOAP action to be specified for every operation, which informs the adapter about the operation to be performed on the LOB application.

Resolution

Specify the SOAP action in the send port or as a message context property in a BizTalk orchestration. For instructions, see Specifying SOAP Action. See Technical Reference to see a list of actions for each operation.

XmlReaderParsingException due to incorrect operation name in the specified action

Problem

The BizTalk Server Administration Console gives the following error when sending messages to an SAP system:

Copy Code
Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Invalid argument:
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Operation Name="<operation_name>" Action="<action>" />
</BtsActionMapping>

Cause

If you configure a WCF-Custom port by importing the port binding file created by the Consume Adapter Service BizTalk Project Add-in, the action in the port is specified in the following format:

Copy Code
<BtsActionMapping>
  <Operation Name="Op1" Action="http://MyService/Svc/Op1" />
</BtsActionMapping>

In the above format, the operation name is governed by the operation you chose while generating the schema. For example, if you generated schema for RFC_CUSTOMER_GET, the operation name in the action will be "RFC_CUSTOMER_GET". However, the operation name in the logical port created in the BizTalk orchestration in Visual Studio might be different.

Resolution

Make sure the operation names in both the logical port (in the BizTalk orchestration in Visual Studio) and the physical port (in BizTalk Server Administration Console) are same.

Error while opening more than 100 connections to the SAP system

Problem

The adapter throws the following exception when opening more than 100 connections to the SAP system.

Copy Code
Microsoft.ServiceModel.Channels.Common.ConnectionException: ErrorCode=RFC_OK. ErrorGroup=RFC_ERROR_COMMUNICATION. SapErrorMessage=Connect to SAP gateway failed
Connect_PM  GWHOST=<gw_host>, GWSERV=<gw_serv>, SYSNR=<sys_number>
LOCATION    CPIC (TCP/IP) on local host with Unicode
ERROR       max no of 100 conversations exceeded

Cause

By default, SAP does not enable more than 100 connections into the system.

Resolution

To increase the maximum number of connections, you must create an environment variable on the computer that has the SAP client libraries installed and set it to a numeric value. The value you specify for this environment variable is the maximum number of connections that can be made into the SAP system. Create the environment variable with the following details:

  • Variable name: CPIC_MAX_CONV

  • Variable value: any positive numeric value. For example, to enable 200 connections into the SAP system, specify the value as 200.

For instructions on creating an environment variable, see "How To Create System Variables in Windows 2000" at http://go.microsoft.com/fwlink/?LinkId=95020.

Error while generating or retrieving metadata for IDOCs

Problem

While generating metadata for the Receive operation for an IDOC in an SAP system, the SAP adapter gives the following error.

Copy Code
Error while retrieving or generating the WSDL.
Adapter message: Details: ErrorCode=RFC_EXCEPTION.
ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage= OBJECT_UNKNOWN.
AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: IDOCTYPE_READ_COMPLETE.

Cause

The SAP adapter uses the IDOCTYPE_READ_COMPLETE RFC to retrieve the metadata for the Receive operation for an IDOC. Invoking this RFC requires specific user permissions in the SAP system. To generate metadata, if you have connected to the SAP system using a credential that does not have permission to invoke the IDOCTYPE_READ_COMPLETE RFC, the SAP adapter gives an error.

Resolution

Log in to the SAP GUI using the same credentials you had used for the adapter. Navigate to transaction SE37, and enter the name of the RFC to execute as IDOCTYPE_READ_COMPLETE.

For the input parameters PI_IDOCTYP and PI_CIMTYP, enter the values corresponding to the custom IDoc. For the parameters PI_VERSION and PI_RELEASE, enter the same values as being chosen in the Adapter Metadata UI. And, press F8 to execute.

You should get the same exception as what the adapter receives, with more information about the issue.

If you are still not able to resolve the issue, generate a schema for the ReceiveIdoc operation instead of the Receive operation. In this case, the SAP adapter does not use IDOCTYPE_READ_COMPLETE, and does not throw any error.

Error while sending or receiving IDOCs that have unreleased segments

Problem

The SAP adapter gives an XmlReaderParsingException while sending IDOCs (using Send operation) or receiving IDOCs (using Receive operation) that have unreleased segments.

Cause

IDOCs are constituted of segments. While generating metadata, the SAP adapter retrieves all the released segments that are present in the SAP system. However, when the adapter client uses the metadata to perform an operation such as receiving an IDOC, the SAP adapter gives an XmlReaderParsingException. This occurs because when the IDOC is received, the SAP system might have sent some unreleased segments as well, the metadata for which was not generated by the adapter.

Resolution

Do any of the following:

  • Upgrade your SAP system by applying appropriate patches for the unreleased segments.

  • Use SendIdoc or ReceiveIdoc operations to send and receive IDOCs respectively. For more information about these operations, see Operations on IDOCs.

Error while sending flat-file IDOCs to SAP that were received using the SAP FilePort

Problem

If you try to send (using Send operation) a flat-file IDOC to an SAP system that was generated using an SAP FilePort, the flat-file parser in the BizTalk orchestration fails to convert the flatf-file to an XML format, thereby failing the IDOD Send operation.

Cause

When the SAP system generates an IDOC using a FilePort, it trims off all the empty spaces at the end of a segment. However, the flat-file parser expects the data of the last field in the segment to be present to successfully convert the flat-file to XML. Because the empty spaces are not present in the segment, the flat-file parser fails to parse the flat-file to XML.

Resolution

For such flat-file IDOCs generated using the SAP FilePort, use the SendIdoc operation instead. For more information about this operation, see Operations on IDOCs.

Error while receiving IDOCs from SAP if EnableBizTalkCompatibilityMode property is set to true

Problem

The following exception is encountered while receiving an IDOC with the EnableBizTalkCompatibilityMode binding property set to true:

Copy Code
System.Exception: Loading property information list by namespace failed or property not found in the list. Verify that the schema is deployed properly.

Cause

If the binding property EnableBizTalkCompatibilityMode is set to true, you must add the BizTalk property schema DLL for the SAP adapter as a resource in your BizTalk application, that is, the application in which your project is deployed.

Resolution

The name for the BizTalk property schema for the SAP adapter is Microsoft.Adapters.SAP.BiztalkPropertySchema.dll. This is installed by the BizTalk Adapter Pack setup under <installation drive>:\ Program Files\Microsoft BizTalk Adapter Pack\bin. Perform the following tasks to add this assembly as a resource in your BizTalk application.

To add an assembly as a resource in BizTalk application

  1. Start the BizTalk Server Administration console.

  2. In the console tree, expand BizTalk Group, expand Applications, and then the application to which you want to add a BizTalk assembly.

  3. Expand Applications and the application to which you want to add a BizTalk assembly.

  4. Right-click Resources, point to Add, and then click BizTalk Assemblies.

  5. Click Add, navigate to the folder containing the BizTalk assembly file, select the BizTalk assembly file, and then click Open.

  6. In Options, specify the options for installing the BizTalk assembly to the GAC, and then click OK.

Error in validation while receiving IDOCs from an SAP system

Problem

An IDOC received from an SAP system fails validation with an error similar to the following:

Copy Code
There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=<token>"
Source: "Pipeline " Receive Port: "ReceiveIdoc" URI: "<connection uri>"
Reason: The document failed to validate because of the following error:
"The 'http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/3/CREMAS03//620:TAXBS' element has an invalid value according to its data type."

Cause

The metadata generated for receiving an IDOC contains the permissible values that can be received for a particular column as part of the receive operation. These values are exposed as enumeration in the generated metadata. However, when the IDOC is actually received, the value received could be different from the enumerated values. Hence the receive operation fails while validating the values. For example, in the above error message validation fails for the TAXBS column.

Resolution

You must manually edit the enumeration in schema (for BizTalk projects) or the client proxy (for .NET projects using WCF service model) to include the value received from the SAP system.

Flat-file IDOCs, before and after converting to XML, are not identical

Problem

If you use a flat file parser to convert a flat-file IDOC to an XML using the schema, and then convert the XML back to a flat-file IDOC through a pipeline using the schema, the two flat-file IDOCs are not identical.

Cause

When generating the XML from a flat-file IDOC, the flat file parser does not generate the XML nodes with blank values. When this XML is converted back to a flat-file, the nodes missing from the XML are not reflected in the flat-file IDOC. Hence the flat-file IDOCs are not identical.

Resolution

In the schema used to convert the flat-file to XML and vice-versa, within the "Send" or "Receive" node definition, do the following:

  1. Set the suppress_empty_nodes property to false and set the generate_empty_nodes property to true. By default, the suppress_empty_nodes property is set to true and the generate_empty_nodes property is set to false, and hence all empty nodes are not reflected in the XML.

  2. The flat-file may contain an extra carriage return at the end. You can set the suppress_trailing_delimiters property to Yes to avoid this extra carriage return. This property is also exposed as the Suppress Trailing Delimiters property if you open the schema in Visual Studio.

The adapter does not recognize the action on the physical port even though you use the binding file generated by the Consume Adapter Service add-in to create the ports

Problem

After you use the Consume Adapter Service Add-in to generate schema for a specific operation on the SAP system, the add-in also creates a port binding file. You can import this binding file using the BizTalk Server Administration console to create physical ports in BizTalk Server. However, when you send messages to the SAP system using such ports, the adapter fails to understand the action specified on the port and gives an error similar to the following:

Copy Code
Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Operation Name="<op_name>" Action="<action>" />
</BtsActionMapping>. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.

Cause

When you create logical ports in a BizTalk orchestration, you specify certain names for the operations on those ports or you just use the default names like Operation_1, Operation_2, etc. However, in the binding file generated by the Consume Adapter Service Add-in, the operation name is same as the name of the operation for which you generate metadata. For example, if you generate metadata for RFC_CUSTOMER_GET, the action will be set to the following:

Copy Code
<Operation Name="RFC_CUSTOMER_GET" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET" />

When you import the binding file, the same action is set on physical port. So, the operation names on the logical port (Operation_1, Operation_2, etc.) do not match the operation names specified in the action on the physical port, resulting in an error.

Resolution

Make sure the operation name in the logical port is the same as the operation name specified as part of the action in the physical port. Do one of the following:

  • Change the operation name in the logical port in BizTalk orchestration from Operation_1, etc. to the operation for which you generate metadata, for example RFC_CUSTOMER_GET.

  • Change the operation name in the action on the physical port to the operation name in the logical port. For example, you could change the action in the physical port to resemble the following:

    Copy Code
    <Operation Name="Operation_1" Action="http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET" />

The response message for an operation performed on the SAP system does not contain any table parameters

Cause

If you use the SAP adapter to execute an operation on the SAP system that returns a large number of tables, and each table has a large number of records, that will amount to a large dataset being returned as part of the response message from the SAP system. So, by default, the SAP adapter does not return any table parameters as part of the response message.

Resolution

You can request the tables that you want SAP adapter to return as part of the response. You can do so by providing an empty table parameter as part of the request message that you send to the SAP system. For example, <table_parameter_name />.

Adapter Clients do not receive the response from an SAP system even after fixing incorrect credentials in the WCF-Custom send port

Problem

When using the adapters with BizTalk Server, if the credentials on the WCF-custom send port are incorrect, the request messages are not processed. After you specify the correct credentials, the message is sent to the SAP system and a response is received. However, the response message is not available to the out port.

Resolution

Restart the BizTalk host instance.

Connectivity issues while receiving an inbound message from the SAP server

Problem

You get the following error only while receiving an inbound message from the SAP server using a WCF-Custom receive port for the SAP adapter.

Copy Code
The Messaging Engine failed to add a receive location "<location_name>" with URL "<connection URI>" to the adapter "WCF-Custom".
Reason: "Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_OK. ErrorGroup=RFC_ERROR_COMMUNICATION. SapErrorMessage=Connect to SAP gateway failed
Connect_PM  TPNAME=<name>, GWHOST=<host>, GWSERV=<server>

However, you are successfully able to send messages to the SAP system using a WCF-Custom send port.

Resolution

Install the SAP GUI on the same computer where you are running the adapter client and try receiving the inbound message again. For more information about how to install the SAP GUI, refer to SAP documentation.

Error with RootNode TypeName in BizTalk Projects

Problem

In a BizTalk project in Visual Studio, if the schemas generated from the Consume Adapter Service Add-in contains invalid characters or reserved words for the RootNode TypeName property, the following error will occur while compiling the project:

Copy Code
Node <node reference> - Specify a valid .NET type name for this root node.
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).

Resolution

  1. Right-click the rood node referenced in the error and select Properties.

  2. For the RootNode TypeName property, remove any illegal characters or reserved words, for example, dot (.).

Invalid binding warning when using the adapter in Visual Studio

Problem

When you use the adapter to create an application in Visual Studio 2013 and you open the configuration file (app.config) generated by the adapter, you see a warning similar to the following:

Copy Code
The element 'bindings' has invalid child element 'sapBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...

Cause

This warning appears because the SAP adapter binding, sapBinding, is not a standard binding shipped with the Windows Communication Foundation (WCF).

Resolution

You can safely ignore this warning.

BizTalk Server throws an exception if you use more than one schema of a generic operation in the same application or use the schema across multiple applications on the same host

Problem

BizTalk Server throws an XLANG exception or an exception stating that the application cannot locate the document specification because multiple schemas matched the message type.

Cause

This happens because of either of the following:

  • You have generated more than one schema of a generic operation (such as SendIdoc and ReceiveIdoc) in a BizTalk Server project, deployed it to a BizTalk Server application, and then ran the application to perform respective operations on an SAP system. Because the schemas are common, there is a conflict between the schemas that are deployed in the BizTalk Server application.

  • In case of multiple projects, you have generated a generic operation schema for each of the BizTalk Server projects, deployed each project to a separate BizTalk Server application on the same host, and then ran an application or applications to perform respective operations on an SAP system. Because the schemas and assemblies are accessible across the applications in BizTalk Server, there is a conflict between the common schemas deployed under various BizTalk Server applications and assemblies.

Resolution

Use a single generic operation schema file for a BizTalk Server application. If you need to use a generic operation schema in multiple BizTalk Server applications on the same host, create an application containing a single generic operation schema, and then use the generic operation schema from all other applications in BizTalk Server.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting Performance Issues

This topic was last updated on: June 05, 2009

This section discusses using troubleshooting techniques to resolve performance issues that you might encounter when using Microsoft BizTalk Adapter for mySAP Business Suite.

Known Issues

The following are the most common performance issues you might encounter when using the SAP adapter, along with their probable cause and resolution.

  • Slowdown or stall in throughput when using the adapter with BizTalk Server

  • Possible Memory Leak when specifying NULL values for parameters

Slowdown or stall in throughput when using the adapter with BizTalk Server

Problem

When using the SAP adapter with BizTalk Server, the number of messages sent or received by the adapter slows down or comes to a stall.

Cause

The EnableBizTalkCompatibilityMode binding property is not set on the WCF-Custom send or receive port in BizTalk Server Administration Console.

Resolution

Set the EnableBizTalkCompatibilityMode binding property to True. For more information about this property, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties. For instructions on how to set a binding property, see Specifying Binding Properties.

Possible Memory Leak when specifying NULL values for parameters

Problem

You may observe memory leak if you do not specify values for input or table parameters while invoking artifacts in the SAP system.

Resolution

Make sure you specify values for all the input and table parameters while invoking an artifact in the SAP system.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Troubleshooting Issues with the Data Provider for SAP

This topic was last updated on: June 05, 2009

This section discusses using troubleshooting techniques to resolve operational errors that you might encounter when using .NET Framework Data Provider for mySAP Business Suite.

Known Issues

The following are the most common errors you might encounter when using the Data Provider for SAP, along with their probable cause and resolution.

  • Unknown Parameter error while using the Data Provider for SAP

  • Out of memory exceptions when selecting data from an SAP table

  • Exception while executing a query that takes parameters with date values

  • NO_VARIANT exception while executing queries using the EXECQUERY command

Unknown Parameter error while using the Data Provider for SAP

Problem

The Data Provider for SAP gives the following error:

Copy Code
Microsoft.Data.SAPClient.SAPException: Failed to retrieve data from SAP server --- > Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Unknown Parameter OUT_ZDATATABLE.

Cause

The custom RFC, Z_EXTRACT_DATA_OO, installed in your SAP system is not the latest. The Data Provider for SAP uses a custom RFC, Z_EXTRACT_DATA_OO, to perform SELECT operations on the SAP table.

Resolution

You must update the custom RFC to the latest available version. This RFC, Z_EXTRACT_DATA_OO, is available with the adapterpacknoversion. For more information about how to install and uninstall the custom RFC, see Deployment.

Out of memory exceptions when selecting data from an SAP table

Problem

The Data Provider for SAP throws an out of memory exception when selecting data from an SAP system.

Cause

By default, the Data Provider for SAP retrieves 10,000 rows at a time. Also, each batch of rows retrieved from the SAP system is stored in the memory. So,

  • If the table from which data is being retrieved contains a large number of rows, or

  • If the table contains columns of data types that consume a significant amount of memory,

The memory consumption by the Data Provider for SAP increases significantly and may result in an out of memory exception.

Resolution

You can change the maximum number of rows retrieved from the SAP system. You can do so by specifying a 'batchsize' option with the SELECT statement. For example:

Copy Code
SELECT * FROM <tablename> OPTION 'batchsize 1000'

The Data Provider for SAP now retrieves only 1000 rows at a time and hence does not consume large amount of memory.

Exception while executing a query that takes parameters with date values

Problem

You get the following exception when you execute a query using the EXECQUERY command that has a parameter which takes a date value:

Copy Code
ErrorCode=RFC_SYS_EXCEPTION. ErrorGroup=RFC_ERROR_SYSTEM_FAILURE.
SapErrorMessage=Enter date in the format __.__.____.

Cause

When executing queries using the EXECQUERY command, you must always specify date values in YYYYMMDD format.

Resolution

Make sure you specify date values in YYYYMMDD format. For example:

Copy Code
EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1='20080606'

NO_VARIANT exception while executing queries using the EXECQUERY command

Problem

You get the following exception when you execute a query using the EXECQUERY command:

Copy Code
Exception: Details: ErrorCode=RFC_EXCEPTION. ErrorGroup=RFC_ERROR_APPLICATION_EXCEPTION. SapErrorMessage=NO_VARIANT.
AdapterErrorMessage=Error returned by RfcCallReceiveEx while calling RFC: <RFC name>

Cause

There can be two probable causes for this exception:

  1. The query you are trying to execute has variants defined in the SAP system. Variants refer to a saved set of selection criteria that you can specify while executing an SAP query. For example, you can use variants to specify default values for queries.

  2. The query you are trying to execute neither has a variant defined nor it expects a parameter value to be passed.

Resolution

  1. For reason 1, make sure you specify the name of the variant associated with the query. For example:

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @variant =  ‘variant1’
  2. For reason 2, make sure you provide a dummy parameter name and value while specifying the query command. For example, if “myquery” query does not require any parameter to execute, the EXECQUERY command must be specified as:

    Copy Code
    EXECQUERY myquery @usergroup='mygroup',@P1 = 'dummy_value'

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Using Performance Counters

Microsoft BizTalk Adapter Pack clients can use performance counters to gauge the performance of the adapters. The BizTalk Adapter Pack setup program creates the performance counter category "Microsoft BizTalk Adapter for mySAP Business Suite" along installing the BizTalk Adapter Pack.

The LOB Time (Cumulative) Performance Counter

The BizTalk .NET Adapter for SAP category has one performance counter called the "LOB Time (Cumulative)". This performance counter denotes the time, in milliseconds, that the LOB client library takes to complete an action that the adapter initiates. The SAP adapter creates an instance of the performance counter in the following pattern:

Copy Code
<process id>:<app domain id>:<endpoint id>:<action id>

The endpoint ID could be:

  • For calls from the adapter to the SAP system (outbound)

    • A,<application server host>,<system number>

    • B,<message server host>,<R3NAME>

    • D,<destination>

  • For calls from the SAP system to the adapter (inbound)

    • I,<gateway host>,<gateway server>

    • ID,<destination>

The action ID could be:

  • <RFC name> (for an RFC call)

  • T,<RFC name> (for a tRFC call)

The performance counter is initialized only after the adapter makes the first call to the SAP system. Also, the InstanceLifetime property of the performance counter is set to 'Process', which means that the performance counter ceases to exist as soon as the program that creates the counter terminates. For more information about the InstancLifetime property, see http://go.microsoft.com/fwlink/?LinkId=104181.

Note
The precision of the LOB Time (Cumulative) performance counter is 16 milliseconds.

Enabling Performance Counters

The performance counters can be enabled or disabled by setting the binding property EnablePerformanceCounters. To enable performance counters, set the EnablePerformanceCounters binding property to True. To disable performance counters, set EnablePerformanceCounters to False. By default, EnablePerformanceCounters is set to False.

Performance Counters and the WCF LOB Adapter SDK

Changing the value of the EnablePerformanceCounters binding property also changes the value of the corresponding performance counter for the WCF LOB Adapter SDK. Also, the binding property for the WCF LOB Adapter SDK is static, whereas that for the BizTalk Adapter Pack is dynamic. Hence, if there are two instances of the SAP adapter binding in the AppDomain, and the EnablePerformanceCounters binding property is set to True in one and False in the other, the adapter-specific performance counter will be enabled in one and disabled in the other. However, because the binding property for WCF LOB Adapter SDK is static, it will either be set to True or False depending on what value was specified last.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Exceptions and Error Handling

This section lists the exceptions that the Microsoft BizTalk Adapter for mySAP Business Suite throws. These can contain:

  • An inner exception, which is a system exception that the .NET Framework throws

  • An LOB exception that the LOB client library throws.

For more information about the inner exception, see the respective .NET Framework or SAP documentation. Exceptions also contain a detailed error message that helps in resolving the problem.

Exception | Possible Cause/Description
ObjectDisposedException | The adapter throws this exception when the adapter client is trying to access the response XMLReader after it has been disposed.
XmlReaderGenerationException | The adapter throws this exception when it is unable to generate an XmlReader from the output message. This could also be due to some problems with the data received from the SAP system. Look for the inner exception and the error message for more information.
InvalidUriException | This exception is thrown when the connection URI does not have the required components for the connection string.
ConnectionException | This exception is thrown when there is a problem connecting to the SAP system or if an underlying connection becomes invalid, either due to an error on the SAP system or due to a network problem.
TimeoutException | This exception is thrown when the timeout specified for an operation is lapsed. The inner exception contains the specifics of why the specified timeout was not sufficient.
XmlReaderParsingException | The adapter throws this exception if it does not support the specified type, or if an incorrect value is specified for the type. Also, the input XML could be incorrect. An incorrect value includes cases where the maximum amount of text or maximum digits is exceeded. The input XML might be incorrect if the operation name or namespace is incorrect.
RFCException (derived from AdapterException) | The adapter throws this exception if there is an error received from the SAP system. The inner exception is the actual exception received from the SAP system.
UnsupportedOperationException | The adapter throws this exception when the adapter client specifies an invalid action.
MetadataException | The adapter throws this exception if there is an error during metadata retrieval, browse, or search.

See Also

Other Resources

Troubleshooting

© 2014 Microsoft Corporation. All rights reserved.


Technical Reference

This section covers technical reference information about Microsoft BizTalk Adapter for mySAP Business Suite.

In This Section

  • Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

  • Metadata Node IDs

  • Grammar Examples for Statements Supported with the Data Provider for SAP

  • Using the ServiceModel Metadata Utility Tool with the BizTalk Adapter for mySAP Business Suite

  • Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

  • Glossary

© 2014 Microsoft Corporation. All rights reserved.


Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

The Microsoft BizTalk Adapter for mySAP Business Suite is a Windows Communication Foundation (WCF) custom binding. It exposes operations that applications can invoke on it and that it can, in turn, invoke on applications. These operations are invoked by sending SOAP messages over a channel. If a response is required, it is returned in a SOAP message over the same channel.

As a WCF service, the SAP adapter exposes metadata for its operations and data types by using standard WCF mechanisms. The sections in this topic describe the XML structure of the messages and data types that the SAP adapter uses.

In This Section

  • Basic SAP Data Types

  • Data Type Mapping for Custom RFCs

  • Message Schemas for IDOC Operations

  • Message Context Properties for Receiving IDOCs

  • Message Schemas for RFC Operations

  • Message Schemas for tRFC Operations

  • Message Schemas for BAPI Operations

  • Special Operations

  • Message Versioning Support

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Basic SAP Data Types

The parameter types that the Microsoft BizTalk Adapter for mySAP Business Suite supports are governed by the:

  • ABAP data types that SAP supports

  • Database data types that SAP supports

This section presents a mapping between the ABAP and database data types, and their corresponding .NET and XML schema types.

Note
The information in this section applies to RFCs, tRFCs, and BAPIs. SAP data types are always represented as strings (xsd:string) in IDOCs. This is to support the BizTalk Server flat file parser.

Supported ABAP Data Types

The Microsoft BizTalk Adapter for mySAP Business Suite supports safe typing for some ABAP data types. When safe typing is enabled, these data types are represented as strings. You configure safe typing by setting the EnableSafeTyping binding property. Safe typing is disabled by default. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

The following table shows how the ABAP data types are surfaced when safe typing is not enabled. (EnableSafeTyping is false). Data types that are surfaced differently when safe typing is enabled are marked with an asterisk (*).

ABAP Data Type RFC Type XSD type .NET type Format string

I (Integer)

RFC_INT

xsd:int

Int32

-

Internal (RFC_INT1)

RFC_INT1

xsd:unsignedByte

Byte

-

Internal (RFC_INT2)

RFC_INT2

xsd:short

Int16

-

F (Float)

RFC_FLOAT

xsd:double

Double

-

P (BCD number)

RFC_BCD

xsd:decimal if length <= 28
xsd:string if length > 28

Decimal
String

Decimal number. with 0 decimal places
Decimal number. with >0 decimal places

C (Character)

RFC_CHAR

xsd:string

String

-

D (Date: YYYYMMDD)*

RFC_DATE

xsd:dateTime

DateTime

Internally, the adapter deserializes the value into a DateTime object. It then invokes the DateTime.ToUniversalTime method to convert the value of this object to UTC. Finally the date component (DateTime.Date) is used to create the value that is sent to the SAP system. The SAP system treats this date value as local time.

You should specify date values as UTC to avoid conversion.

  • For xsd:dateTime, the following pattern is recommended: "(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)Z".

  • For DateTime objects set DateTime.Kind to DateTimeKind.Utc.

T (Time: HHMMSS)*

RFC_TIME

xsd:dateTime

DateTime

Internally, the adapter deserializes the value into a DateTime object. It then invokes the DateTime.ToUniversalTime method to convert the value of this object to UTC. Finally the time component (DateTime.Time) is used to create the value that is sent to the SAP system. The SAP system treats this time value as local time.

You should specify time values as UTC to avoid conversion.

  • For xsd:dateTime, the following pattern is recommended: "(0001-01-01)T(\d\d:\d\d:\d\d)(.*)".

  • For DateTime objects set DateTime.Kind to DateTimeKind.Utc.

For example, if your local time is 9:15 am, express this as "(001-01-01)T(09:15:00)Z"

N (Numeric string)*

RFC_NUM

xsd:int if lenrth <= 9
xsd:long if length > 9 and <= 19
xsd:string if length > 19

Int32
long
String

-

X (Byte)

RFC_BYTE

xsd:base64Binary

Byte[]

-

STRING

RFC_STRING

xsd:string

String

-

XSTRING

RFC_BYTE

xsd:base64Binary

Byte[]

-

*Indicates that the data type is surfaced differently when safe typing is enabled.

Safe Typing Enabled

The following table shows the ABAP data types that are surfaced differently when safe typing is enabled (the EnableSafeTyping binding property is true).

ABAP Data Type | RFC Type | XSD type | .NET type | Format string
D (Date: YYYYMMDD) | RFC_DATE | xsd:string | String | SAP date format: YYYYMMDD. Characters are allowed for date digits, so the value is essentially an eight character string
T (Time: HHMMSS) | RFC_TIME | xsd:string | String | SAP time format: HHMMSS. Characters are allowed for time digits, so the value is essentially a six character string
N (Numeric string) | RFC_NUM | xsd:string | String | An n character string; where n = length of the numc field.

ABAP data types that are not in this table are surfaced in the same way as when safe typing is not enabled.

Support for Date and Time Fields

When safe typing is not enabled, ABAP Date (D) and Time (T) types are surfaced as xsd:dateTime; however, the pattern facet surfaced for the Date and Time types is different.

  • The pattern facet for Date is: (\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)

    For example, July 7, 2007 (2007-07-07) is represented as:

    (2007-07-07)T(00:00:00).

  • The pattern facet for Time is: (0001-01-01)T(\d\d:\d\d:\d\d)(.*)

    For example, 18:30:30 (6:30 pm and 30 seconds) is represented as:

    (0001-01-01)T(18:30:30).

How does the Adapter Represent Minimum and Maximum Time Values on Inbound Messages (from SAP)?

The SAP adapter uses the following guidelines when it receives time values from the SAP system:

  • The adapter treats 000000 (hhmmss) and 240000 (hhmmss) as 0 hours, 0 mins, and 0 seconds.

Supported Database Data Types

The way in which the Microsoft BizTalk Adapter for mySAP Business Suite surfaces database data types also depends on whether safe typing is enabled. The following table shows how the adapter surfaces database data types when safe typing is not enabled (the EnableSafeTyping binding property is false). Data types that are surfaced differently when safe typing is enabled are marked with an asterisk (*).

Database Data Type RFC Type XSD .NET Type

ACCP (Posting Period)*

RFC_NUM

xsd:int

Int32

CHAR

RFC_CHAR

xsd:string

String

CLNT (Client)

RFC_CHAR

xsd:string

String

CURR (Currency field)

RFC_BCD

xsd:decimal

Note
The SAP adapter rounds off the decimal values based on the definition of the DECIMAL parameter. For example, if a DECIMAL parameter can accept up to five digits after the decimal point, a value such as 4.000028 is rounded off to 4.00003.

Decimal

CUKY (Currency Key)

RFC_CHAR

xsd:string

String

DATS (Date field)*

RFC_DATE

xsd:dateTime

Internally, the adapter deserializes the value into a DateTime object. It then invokes the DateTime.ToUniversalTime method to convert the value of this object to UTC. Finally the date component (DateTime.Date) is used to create the value that is sent to the SAP system. The SAP system treats this date value as local time.

You should specify date values as UTC to avoid conversion. The following pattern is recommended: "(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)Z".

DateTime

You should specify date values as UTC (DateTime.Kind = DateTimeKind.Utc) to avoid conversion.

DEC (Amount)

RFC_BCD

xsd:decimal

Note
The SAP adapter rounds off the decimal values based on the definition of the DECIMAL parameter. For example, if a DECIMAL parameter can accept up to five digits after the decimal point, a value such as 4.000028 is rounded off to 4.00003.

Decimal

FLTP (Floating point)

RFC_FLOAT

xsd:double

Double

INT1

RFC_INT1

xsd:unsignedbyte

Byte

INT2

RFC_INT2

xsd:short

Int16

INT4

RFC_INT

xsd:int

Int32

LANG (Language Key)

RFC_CHAR

xsd:string

String

LCHR

RFC_STRING

xsd:string

String

LRAW (long byte seq)

RFC_BYTE

xsd:base64binary

Byte[]

NUMC*

RFC_NUM

xsd:int
xsd:long
xsd:string

Int32 if length <=9
Int64 if length >9 and <=19
String if length > 19

PREC (Accuracy)

RFC_INT2

xsd:short

Int16

QUAN (Quantity)

RFC_BCD

xsd:decimal

Note
The SAP adapter rounds off the decimal values based on the definition of the DECIMAL parameter. For example, if a DECIMAL parameter can accept up to five digits after the decimal point, a value such as 4.000028 is rounded off to 4.00003.

Decimal

RAW (byte sequence)

RFC_BYTE

xsd:base64binary

Byte[]

RAWSTRING (variable length)

RFC_BYTE

xsd:base64binary

Byte[]

STRING (variable length)

RFC_STRING

xsd:string

String

TIMS (Time field)*

RFC_TIME

xsd:datetime

Internally, the adapter deserializes the value into a DateTime object. It then invokes the DateTime.ToUniversalTime method to convert the value of this object to UTC. Finally the time component (DateTime.Time) is used to create the value that is sent to the SAP system. The SAP system treats this time value as local time.

You should specify time values as UTC to avoid conversion. The following pattern is recommended: "(0001-01-01)T(\d\d:\d\d:\d\d)(.*)Z".

For example, if your local time is 9:15 am, express this as "(001-01-01)T(09:15:00)Z"

DateTime

You should specify time values as UTC (DateTime.Kind = DateTimeKind.Utc) to avoid conversion.

UNIT (Unit for Qty)

RFC_CHAR

xsd:string

String

[Unsupported]

--

--

String

*Indicates that the adapter surfaces the data type differently when safe typing is enabled.

Safe Typing Enabled

The following table shows the database data types that are surfaced differently when safe typing is enabled (the EnableSafeTyping binding property is true).

Database Data Type | RFC Type | XSD | .NET type | String Value Format
ACCP (Posting Period) | RFC_NUM | xsd:string | String | Character string
NUMC | RFC_NUM | xsd:string | String | Character string
DATS (Date field) | RFC_DATE | xsd:string | String | YYYYMMDD
TIMS (Time field) | RFC_TIME | xsd:string | String | HHMMSS

Data types that are not in this table are surfaced in the same way as when safe typing is not enabled.

Supported XSD Facets

The SAP adapter supports the following XSD facets.

RFC Type | XSD Facet (EnableSafeTyping = false) | XSD Facet (EnableSafeTyping = true)
RFC_BCD | XSD pattern facet Zero decimal places:"([\\-]{0,1})(([0-9]{1,"+ digitsBeforeDecimal +"}))" One or more decimal places:"([\\-]{0,1})(([0-9]{0," + digitsBeforeDecimal +"}\\.[0-9]{0,"+ digitsAfterDecimal +"})|([0-9]{1,"+ digitsBeforeDecimal +"}))" | same
RFC_NUM | XSD totalDigits facet if length <=19 XSD pattern facet if length > 19 | XSD maxLength facet (depends on the length of the value on SAP)
RFC_DATE | XSD pattern facet "(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)" Pattern contains time 00:00:00 to be compatible with xsd:datetime | XSD maxLength facet = 8
RFC_TIME | XSD pattern facet "(0001-01-01)T(\d\d:\d\d:\d\d)(.*)" Pattern contains date 0001-01-01 to be compatible with xsd:datetime | XSD maxLength facet = 6
RFC_CHAR | XSD maxLength facet | same

Unsupported Data Types

The SAP adapter does not support the following data type:

  • ITAB II (hierarchical) table types

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Data Type Mapping for Custom RFCs

The following table provides information about SAP data types and how they are mapped to .NET data types for the Z_EXTRACT_DATA_OO RFC. This custom RFC is used by the Data Provider for SAP.

Note
For the Z_EXECUTE_SAP_QUERY, which is used by the Data Provider for SAP to execute the EXECQUERY command, all SAP data types are converted to .NET string types.

SAP Data Type .NET Data Type

ACCP

  • Int32

  • String, if disabledatavalidation option is set in the SELECT or EXEC statement.

CHAR

String

CLNT

String

CUKY

String

CURR

Decimal, if precision less than or equal to 28

String, if precision greater than 28

DATS

  • DateTime

  • String, if disabledatavalidation option is set in the SELECT or EXEC statement.

DEC

Decimal

FLTP

Double

INT1

Byte

INT2

Int16

INT4

Int32

LANG

String

NUMC

  • Int32, if field length less than or equal to 9

  • Int64, if field length greater than 9 and less than or equal to 19

  • String, if greater than 19

  • String, if disabledatavalidation option is set in the SELECT or EXEC statement.

PREC

Int16

QUAN

Decimal

RAW

Byte []

RSTR

Byte []

SSTR

String

STRG

String

TIMS

  • TimeSpan

  • String, if disabledatavalidation option is set in the SELECT or EXEC statement.

UNIT

String

LCHR

String

LRAW

Byte []

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Message Schemas for IDOC Operations

Intermediate documents (IDOCS) are standardized EDI-like documents supported by SAP for asynchronously communicating with both SAP and non-SAP systems. IDOCS are used to send and receive business documents like sales orders to or from a trading partner’s SAP system or external program.

Although the SAP system supports a number of port types to send and receive IDOCS (for example, a file port or a CPIC port), the Microsoft BizTalk Adapter for mySAP Business Suite supports sending and receiving IDOCS by using a tRFC port.

  • For an outbound IDOC, the SAP adapter acts as a tRFC client and invokes an RFC to send the IDOC to SAP.

  • For an inbound IDOC, the SAP adapter acts as a tRFC server and accepts a tRFC client call from SAP to receive the IDOC.

The SAP adapter surfaces four operations under the IDOC node that you can use to send and receive IDOCS with an SAP system.

  • SendIdoc. Sends an IDOC to the adapter as string data. This operation is surfaced directly under the IDOC root node. The same operation is used for all IDOCs.

  • Send. Sends an IDOC to the adapter as strongly-typed data. This operation is surfaced under a node specific to each IDOC.

  • ReceiveIdoc. Receives an IDOC from the adapter as string data. This operation is surfaced directly under the IDOC root node. The same operation is used for all IDOCs.

  • Receive. Receives an IDOC from the adapter as strongly-typed data. This operation is surfaced under a node specific to each IDOC.

Note
These four operations provide different ways of exchanging IDOCs between your program and the SAP adapter. The adapter always uses an RFC (as discussed in the next section) to send or receive IDOCs with the SAP system.

In addition to using one of the four IDOC operations, you can also send or receive an IDOC by using one of the RFCs that are used internally by the SAP adapter to exchange IDOCs with the SAP system. For an overview of how the SAP adapter supports IDOCs, see Operations on IDOCs.

This topic contains information about the message schemas and message actions used for IDOC operations.

RFCs Used by the SAP Adapter to Send and Receive IDOCs

The SAP adapter uses the following remote function calls (RFCs) internally to exchange IDOCS with the SAP system. On the outbound side (adapter to the SAP system), the adapter acts as a tRFC client to invoke the RFC. On the inbound side (SAP to adapter), SAP invokes the RFC on the adapter, which acts as a tRFC server.

RFC Description

IDOC_INBOUND_ASYNCHRONOUS

This function module is used from release 4.0 and later. It processes IDOCS in record types that are valid for 4.x releases. This ensures that longer IDOC segment names are supported.

The parameters to this RFC include:

  • idoc_control_rec_40 (SAP structure is EDI_DC40)

  • idoc_data_rec_40 (SAP structure is EDI_DD40)

The IDOC control record consists of the following fields:

  • Mestyp. The logical message type. Conveys the business meaning of the message. This is a mandatory field.

  • Idoctyp. The basic structure of the IDOC. This field identifies the layout set that uses this message. This is a mandatory field.

  • Cimtyp. The structure of customer extension. If an SAP basic structure is extended, the customer must give a name to the structure of the extension. This is a mandatory field if a customer has made an enhancement; otherwise initial.

  • Partner fields. These are send side and receive side partner parameters such as partner type, partner number, partner function.

The IDOC data record consists of the following fields:

  • Header fields. Segment header fields like table name, segment number, segment type. These are mandatory fields.

  • Sdata. 1000-byte character field for the data used by the IDOC .This is a mandatory field.

INBOUND_IDOC_PROCESS

This function module is used for releases up to 4.0. It processes IDOCS in record types that are valid for 3.x releases. It is also possible to use this function module in 4.x.

The parameters to this RFC include:

  • idoc_control (SAP structure is EDI_DC)

  • idoc_data (SAP structure is EDI_DD)

Operations to Send IDOCs

The SAP adapter exposes the Send and SendIdoc operations for clients to send IDOCs to an SAP system. For the Send operation, the IDOC is represented as strongly-typed data; for the SendIdoc operation, the IDOC is represented as string data. These operations determine how the IDOC data is represented between the adapter and your application. The adapter always sends IDOCs to SAP by using either the IDOC_INBOUND_ASYNCHRONOUS or the IDOC_INBOUND_PROCESS (t)RFC. To send an IDOC to your SAP system, you can either use the Send or SendIdoc operation, or you can directly invoke the appropriate RFC.

Message Structures for IDOC Client Operations

The following table shows the message structures for the Send and SendIdoc operations.

Operation XML Structure Description

Send

Copy Code
<Send xmlns="[MSG_VERSION]/Idoc/[VERSION]/[IDOCTYP]/
                   [CIMTYP]/[RELNO]/Send">
  <idocData>
    <[EDI_DC40/EDI_DC] xmlns="/Types/Idoc/
     [VERSION]/[IDOCTYP]/[CIMTYP]/[RELNO]">
      <EDIDC_FIELD1>value1</ EDIDC_FIELD1>
      <EDIDC_FIELD2>value2</ EDIDC_FIELD2>
      …
    </EDI_DC40>
    <[SEGMENT_DEFN]_1>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
        header_value_1
      </[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
        header_value_2
      </[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
      …
      <SEG_FIELD1>value1</SEG_FIELD1>
      <SEG_FIELD2>value2</SEG_FIELD2>
      …
    </[SEGMENT_DEFN]_1>
    <[SEGMENT_DEFN]_2>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
        header_value_1
      </[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
        header_value_2
      </[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
      …
      <SEG_FIELD1>value1</SEG_FIELD1>
      <SEG_FIELD2>value2</SEG_FIELD2>
      …
    </[SEGMENT_DEFN]_2>
    …
    </[EDI_DC40/EDI_DC]>
  </idocData>
  <guid>guid</guid>
</Send>

Sends a strongly-typed IDOC to SAP

  • IDOC schema is strongly-typed.

  • Exposes control record fields.

  • Exposes data record fields including segment headers and segment fields.

The SAP adapter associates a GUID with the SAP transaction ID (TID) that it uses to send the IDOC. You can choose whether to specify a GUID in the request message. If a GUID is not included in the request message, the SAP adapter generates one. The GUID is returned in the response message.

Send Response

Copy Code
<SendResponse xmlns="[MSG_VERSION]/Idoc/[VERSION]/
        [IDOCTYP]/[CIMTYP]/[RELNO]/Send">
  <guid>guid</guid>
</SendResponse>

Indicates that the IDOC has been sent to the SAP system.

If the AutoConfirmSentIdocs binding property is true, the SAP adapter automatically confirms the transaction on the SAP system, and you can ignore the GUID returned in the response. If the AutoConfirmSentIdocs binding property is false, you must invoke the RfcConfirmTransID operation with the GUID returned by the SAP adapter to complete the transaction on the SAP system.

You can invoke the SapAdapterUtilities.ConvertGuidToTid method to obtain the TID associated with the logical unit of work (LUW).

SendIdoc

Copy Code
<SendIdoc xmlns="[MSG_VERSION]/Idoc">
  <idocData>docDataString</idocData>
  <guid>guid</guid>
</SendIdoc>

Sends a weakly-typed IDOC to SAP.

  • IDOC schema is weakly-typed.

  • Exposes the IDOC as a single string field that consists of the control record and data record.

The SAP adapter associates a GUID with the SAP TID that it uses to send the IDOC. You can choose whether to specify a GUID in the request message. If a GUID is not included in the request message, the SAP adapter will generate one. The GUID is returned in the response message

SendIdoc Response

Copy Code
<SendIdocResponse xmlns="[MSG_VERSION]/Idoc">
  <guid>guid</guid>
</SendIdocResponse>

Indicates that the IDOC has been sent to the SAP system.

If the AutoConfirmSentIdocs binding property is true, the SAP adapter automatically confirms the transaction on the SAP system, and you can ignore the GUID returned in the response. If the AutoConfirmSentIdocs binding property is false, you must invoke the RfcConfirmTransID operation with the GUID returned by the SAP adapter to complete the transaction on the SAP system.

You can invoke the SapAdapterUtilities.ConvertGuidToTid method to obtain the TID associated with the LUW.

[MSG_VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[VERSION] = IDOC release version (2 or 3).

[IDOCTYP] = IDOC type; for example, ORDERS05.

[CIMTYP] = Cimtype of the customized IDOC.

[RELNO] = Release number; for example, 620.

[EDI_DC40/EDI_DC] = EDI_DC40 for release version 3 IDOCs and EDI_DC for release version2 IDOCs.

[EDIDC_FIELD] = Field constituting the EDI_DC40/EDI_DC control record structure.

[SEGMENT_DEFN] = Segment definition name (NOT segment type name); for example, E2EDK01005. Note that the segment definition node could also appear under a segment group node, based on the structure of the IDOC.

[DATAHEADERCOLUMN_(SEGHDR_FLD)] = Each segment has a segment header that consists of a standard set of header fields followed by the segment data. The segment data consists of all segment fields and data. This node represents the segment header fields; for example, DATAHEADERCOLUMN_SEGNAM.

[SEG_FIELD] = Segment field name constituting a particular segment definition [SEGMENT_DEFN].

[guid] = GUID parameter.

Message Actions for IDOC Client Operations

The following table shows the message actions for the Send and SendIdoc operations.

Operation | Action | Example
Send | [MESSAGE_VERSION]/Idoc/[VERSION] /[IDOCTYP]/[CIMTYP]/[RELNO]/Send | http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Send
Send Response | [MESSAGE_VERSION]/Idoc/[VERSION] /[IDOCTYP]/[CIMTYP]/[RELNO]/Send/response | http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Send/response
SendIdoc | [MESSAGE_VERSION]/Idoc/SendIdoc | http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc
SendIdoc Response | [MESSAGE_VERSION]/Idoc/SendIdoc/response | http://Microsoft.LobServices.Sap/2007/03/Idoc/SendIdoc/response

[MESSAGE_VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[VERSION] = IDOC release version (2 or 3).

[IDOCTYP] = IDOC type; for example, ORDERS05.

[CIMTYP] = Cimtype of the customized IDOC.

[RELNO] = Release number; for example, 620.

Operations to Receive IDOCs

The SAP adapter exposes the Receive and ReceiveIdoc operations for applications to receive IDOCs from an SAP system. For the Receive operation, the IDOC is represented as strongly-typed data; for the ReceiveIdoc operation, the IDOC is represented as string data.

These operations determine how the IDOC data is emitted by the adapter to your application. The adapter always receives IDOCs from the SAP system as either an IDOC_INBOUND_ASYNCHRONOUS or IDOC_INBOUND_PROCESS tRFC. You can either use the Receive or ReceiveIdoc operation, or you can receive IDOC data in RFC format. You set the ReceiveIdocFormat binding property to specify the format in which the adapter emits the IDOC data to your application. For more information about the SAP adapter binding properties, see Working with BizTalk Adapter for mySAP Business Suite Binding Properties.

Message Structures for IDOC Receive Operations

The following table shows the message structures for the Receive and ReceiveIdoc operations.

Operation XML Structure Description

Receive

Copy Code
<Receive xmlns="[MSG_VERSION]/Idoc/[VERSION]/[IDOCTYP]/
                [CIMTYP]/[RELNO]/Receive">
  <idocData>
    <[EDI_DC40/EDI_DC] xmlns="/Types/Idoc/
     [VERSION]/[IDOCTYP]/[CIMTYP]/[RELNO]">
      <EDIDC_FIELD1>value1</ EDIDC_FIELD1>
      <EDIDC_FIELD2>value2</ EDIDC_FIELD2>
      …
    </EDI_DC40>
    <[SEGMENT_DEFN]_1>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
        header_value_1
      </[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
        header_value_2
      </[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
      …
      <SEG_FIELD1>value1</SEG_FIELD1>
      <SEG_FIELD2>value2</SEG_FIELD2>
      …
    </[SEGMENT_DEFN]_1>
    <[SEGMENT_DEFN]_2>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
        header_value_1
      </[DATAHEADERCOLUMN_[SEGHDR_FLD1]>
      <[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
        header_value_2
      </[DATAHEADERCOLUMN_[SEGHDR_FLD2]>
      …
      <SEG_FIELD1>value1</SEG_FIELD1>
      <SEG_FIELD2>value2</SEG_FIELD2>
      …
    </[SEGMENT_DEFN]_2>
    …
    </[EDI_DC40/EDI_DC]>
  </idocData>
</Receive>

Receives a strongly-typed IDOC from SAP

  • IDOC schema is strongly-typed.

  • Exposes control record fields.

  • Exposes data record fields including segment headers and segment fields.

Receive Response

Copy Code
<ReceiveResponse xmlns="[MSG_VERSION]/Idoc/[VERSION]/[IDOCTYP]/
        [CIMTYP]/[RELNO]/Receive">
</ReceiveResponse>

Indicates that the IDOC has been received from the SAP system.

ReceiveIdoc

Copy Code
<ReceiveIdoc xmlns="[MSG_VERSION]/Idoc">
  <idocData>docDataString</idocData>
</ReceiveIdoc>

Receives a weakly-typed IDOC from SAP.

  • IDOC schema is weakly-typed.

  • Exposes the IDOC as a single string field that consists of the control record and data record.

ReceiveIdoc Response

Copy Code
<ReceiveIdocResponse xmlns="[MSG_VERSION]/Idoc">
</ReceiveIdocResponse>

Indicates that the IDOC has been received from the SAP system.

[MSG_VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[VERSION] = IDOC release version (2 or 3).

[IDOCTYP] = IDOC type; for example, ORDERS05.

[CIMTYP] = Cimtype of the customized IDOC.

[RELNO] = Release number; for example, 620.

[EDI_DC40/EDI_DC] = EDI_DC40 for release version 3 IDOCs and EDI_DC for release version 2 IDOCs.

[EDIDC_FIELD] = Field constituting the EDI_DC40/EDI_DC control record structure.

[SEGMENT_DEFN] = Segment definition name (NOT segment type name); for example, E2EDK01005. The segment definition node can also appear under a segment group node, based on the structure of the IDOC.

[DATAHEADERCOLUMN_(SEGHDR_FLD)] = Each segment has a segment header that consists of a standard set of header fields followed by the segment data. The segment data consists of all segment fields and data. This node represents the segment header fields; for example, DATAHEADERCOLUMN_SEGNAM.

[SEG_FIELD] = Segment field name constituting a particular segment definition [SEGMENT_DEFN].

Receiving an IDOC in RFC Format

You can also receive IDocs in RFC format. The RFCs used to receive IDOCs from SAP are:

  • IDOC_INBOUND_ASYNCHRONOUS for version 3 IDOCs.

  • INBOUND_IDOC_PROCESS for version 2 IDOCs.

The following code shows the structure of an IDOC received as an IDOC_INBOUND_ASYNCHRONOUS operation.

Copy Code
<IDOC_INBOUND_ASYNCHRONOUS xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <IDOC_CONTROL_REC_40>
    <EDI_DC40 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <EDIDC_FIELD1>field1</EDIDC_FIELD1>
      <EDIDC_FIELD2>field2</EDIDC_FIELD2>
      …
    </EDI_DC40>
  <IDOC_DATA_REC_40>
    <EDI_DD40 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <[SEG_HEADER_FIELD1]>value1</[SEG_HEADER_FIELD1]>
      <[SEG_HEADER_FIELD2]>value2</[SEG_HEADER_FIELD2]>
      …
      <SDATA>segment value</SDATA>
    </EDI_DD40>
    …
  </IDOC_DATA_REC_40>
</IDOC_INBOUND_ASYNCHRONOUS>

[EDIDC_FIELD] = Field constituting the EDI_DC40/EDI_DC control record structure

[SEG_HEADER_FIELD] = Each segment has a segment header that consists of a standard set of header fields followed by the segment data. The segment data consists of all segment fields and data. This node represents the segment header fields; for example, SEGNAM, MANDT, and DOCNUM.

For more information about the format of tRFC operations, see Message Schemas for tRFC Operations.

Message Actions for IDOC Receive Operations

The following table shows the message actions for the Receive and ReceiveIdoc operations.

Operation | Action | Example
Receive | [MESSAGE_VERSION]/Idoc/[VERSION] /[IDOCTYP]/[CIMTYP]/[RELNO]/Receive | http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Receive
Receive Response | [MESSAGE_VERSION]/Idoc/[VERSION] /[IDOCTYP]/[CIMTYP]/[RELNO]/Receive/response | http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Receive/response
ReceiveIdoc | [MESSAGE_VERSION]/Idoc/ReceiveIdoc | http://Microsoft.LobServices.Sap/2007/03/Idoc/ReceiveIdoc
ReceiveIdoc Response | [MESSAGE_VERSION]/Idoc/ReceiveIdoc/response | http://Microsoft.LobServices.Sap/2007/03/Idoc/ReceiveIdoc/response

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Message Context Properties for Receiving IDOCs

For receiving an IDOC using Microsoft BizTalk Server, the SAP adapter supports the following message context properties.

IDOC Control Record properties.

  • TABNAM - Name of table structure

  • MANDT - Client

  • DOCNUM - IDOC number

  • DOCREL - SAP Release for IDOC

  • STATUS - Status of IDOC

  • DIRECT - Direction

  • OUTMOD - Output mode

  • EXPRSS - Overriding in inbound processing

  • TEST - Test flag

  • IDOCTYP - Name of basic type

  • CIMTYP - Extension (defined by customer)

  • MESTYP - Message type

  • MESCOD - Message code

  • MESFCT - Message function

  • STD - EDI standard, flag

  • STDVRS - EDI standard, version and release

  • STDMES - EDI message type

  • SNDPOR - Sender port (SAP System, external subsystem)

  • SNDPRT - Partner type of sender

  • SNDPFC - Partner Function of Sender

  • SNDPRN - Partner Number of Sender

  • SNDSAD - Sender address (SADR)

  • SNDLAD - Logical address of sender

  • RCVPOR - Receiver port

  • RCVPRT - Partner Type of receiver

  • RCVPFC - Partner function of recipient

  • RCVPRN - Partner number of recipient

  • RCVSAD - Recipient address (SADR)

  • RCVLAD - Logical address of recipient

  • CREDAT - Created on

  • CRETIM - Time Created

  • REFINT - Transmission file (EDI Interchange)

  • REFGRP - Message group (EDI Message Group)

  • REFMES - Message (EDI Message)

  • ARCKEY - Key for external message archive

  • SERIAL - Serialization

  • DOCTYP - IDOC type (This is available in EDI_DC only. Should be present in the context property but should be promoted for Version 2 IDOCs only)

TID – Represents the TID sent by the SAP system for the incoming TRFC call.

GUID – Represents the GUID which the SAP adapter uses internally. This has a one-to-one mapping with the TID which was received from the SAP system.

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Message Schemas for RFC Operations

The Microsoft BizTalk Adapter for mySAP Business Suite surfaces SAP Remote Function Calls (RFC) as operations. This topic contains information about the message schemas and message actions used for RFC operations. The message structure is the same for inbound and outbound RFC operations. For an overview of the RFC operations that the adapter supports, see Operations on RFCs.

You can also invoke BAPIs as RFC operations on the adapter. An example of the message structure for such an invocation is included in this topic.

Message Structure for RFC Operations

The following table shows the RFC message schemas. Each RFC operation consists of a request message and a reply (response) message.

Message XML Message Structure Description

RFC

([RFC_NAME])

Copy Code
<[RFC_NAME] xmlns="[VERSION]/Rfc/">
  <IN1_PARAM_NAME>v1</IN1_PARAM_NAME>
  <IN2_PARAM_NAME>v2</IN2_PARAM_NAME>
  …
  <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME>
  <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME>
  …
  <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Rfc/">
    <STRUCT1_PARAM_NAME>
      <[FIELD1_NAME]>value1</[FIELD1_NAME]>
      <[FIELD2_NAME]>value2</[FIELD2_NAME]>
      …
    </STRUCT1_PARAM_NAME>
    …
  </TABLE1_PARAM_NAME>
  …
</[RFC_NAME]>

Invoke an RFC on the SAP system.

  • Import, changing, and table parameters are supported.

  • Import and changing parameters can be of SAP STRUCTURE TYPES, SAP TABLE TYPES or SAP simple data types.

RFC Response ([RFC_NAME]Response)

Copy Code
<[RFC_NAME]Response xmlns="[VERSION]/Rfc/">
  <OUT1_PARAM_NAME>v1</OUT1_PARAM_NAME>
  <OUT2_PARAM_NAME>v2</OUT2_PARAM_NAME>
  …
  <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME>
  <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME>
  …
  <TABLE1_PARAM_NAME>
    <STRUCT1_PARAM_NAME>
      <[FIELD1_NAME]>value1</[FIELD1_NAME]>
      <[FIELD2_NAME]>value2</[FIELD2_NAME]>
      …
    </STRUCT1_PARAM_NAME>
    …
  </TABLE1_PARAM_NAME>
  …
</[RFC_NAME]Response>

RFC return.

  • Export, changing, and table parameters are supported.

    Note
    By default, table parameters are not surfaced in the response message. If you require table parameters in response message, you must pass empty table parameters in the request message.

  • Import and changing parameters can be of SAP STRUCTURE TYPES, SAP TABLE TYPES or SAP simple data types.

RfcGetAttributes

(RfcGetAttributes)

Copy Code
<RfcGetAttributes>
</RfcGetAttributes>

RfcGetAttributes is an RFC SDK API operation that is surfaced by the SAP adapter. The RfcGetAttributes operation enables a client program to retrieve the language, the system ID, and the partner code page that are associated with the RFC connection.

RfcGetAttributes Response

(RfcGetAttributesResponse)

Copy Code
<RfcGetAttributesResponse>
  <Language>lang</Language>
  <SysId>id</SysId>
  <PartnerCodePage>pnrcp</PartnerCodePage>
</RfcGetAttributesResponse>

The response to the RfcGetAttributes operation returns the language, the system ID, and the partner code page that are associated with the RFC connection.

[VERSION] = The message version string; for example, http://Microsoft.LobServices.SAP/2007/03.

[RFC_NAME] = Name of the RFC; for example, RFC_CUSTOMER_GET.

[IN_PARAM_NAME] = The name of an RFC Import parameter.

[OUT_PARAM_NAME] = The name of an RFC Export parameter.

[INOUT_PARAM_NAME] = The name of an RFC Changing parameter.

[TABLE_PARAM_NAME] = The name of an RFC Table parameter.

[STRUCT_PARAM_NAME] = The name of an RFC Structure parameter.

Message Actions for RFC Operations

The following table shows the message actions for RFC operations.

Operation | Message Action | Example
[RFC_NAME] | [VERSION]/Rfc/[RFC_NAME] | http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET
[RFC_NAME] Response | [VERSION]/Rfc/[RFC_NAME]/response | http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CUSTOMER_GET/response
RfcGetAttributes | [VERSION]/RfcGetAttributes | http://Microsoft.LobServices.Sap/2007/03/RfcGetAttributes
RfcGetAttributes Response | [VERSION/RfcGetAttributes/response | http://Microsoft.LobServices.Sap/2007/03/RfcGetAttributes/response

[VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[RFC_NAME] = The name of the RFC to be invoked; for example, RFC_CUSTOMER_GET.

Invoking a BAPI as an RFC Operation

The SAP adapter surfaces BAPIs both as RFC operations and as methods of business objects. As RFC operations, BAPIs are surfaced by name. For more information about invoking BAPIs by using the business object interface, see Operations on BAPIs.

The following XML shows the message structure for a BAPI (BAPI_CUSTOMER_GETDETAIL2) that is invoked as an RFC. The message action for this operation is: http://Microsoft.LobServices.Sap/2007/03/Rfc/BAPI_CUSTOMER_GETDETAIL2.

Copy Code
<BAPI_CUSTOMER_GETDETAIL2 xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
  <COMPANYCODE>1001</COMPANYCODE>
  <CUSTOMERNO>0000001001</CUSTOMERNO>
  <CUSTOMERBANKDETAIL>
    <BAPICUSTOMER_02 xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
      <CUSTOMER />
      <BANK_CTRY />
      <BANK_KEY />
      <BANK_ACCT />
      <CTRL_KEY />
      <PARTNER_BK />
      <COLL_AUTH />
      <BANK_REF />
    </BAPICUSTOMER_02>
  </CUSTOMERBANKDETAIL>
</BAPI_CUSTOMER_GETDETAIL2>

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Message Schemas for tRFC Operations

Transactiostructnal Remote Function Calls (tRFCs) are used to execute RFC calls in a logical unit of work (LUW). The SAP adapter supports multiple tRFCs per LUW for inbound tRFC calls. For outbound (client) tRFC calls, the adapter can support only a single tRFC in an LUW; it therefore for creates an LUW on SAP for each client tRFC call. For more information about how the SAP adapter supports tRFC operations, see Operations on tRFCs. This section describes the message schemas and actions for tRFC operations.

Message Structure for tRFC Operations

Each tRFC operation consists of a request message and a reply (response) message. The SAP adapter associates a GUID with the SAP system transaction ID (TID) that identifies the LUW on the SAP system. This GUID can be present in both the tRFC request and response messages in the <TransactionalRfcOperationIdentifier> element.

  • For outbound tRFC calls, you can pass a GUID to the adapter in the tRFC request message. If you do not supply a GUID, the adapter generates one for you. The adapter always returns the GUID in the tRFC response message. You pass this GUID in the RfcConfirmTransID operation to confirm the TID on the SAP system.

  • For inbound tRFC calls, the adapter passes a GUID that it has generated and mapped to the SAP TID in the tRFC request message. You can optionally return this GUID in the response message.

Important
In some scenarios, for example to troubleshoot an issue on the SAP system, you may need the actual value of the SAP TID that identifies the tRFC on the SAP system. You can get the value of the SAP TID that is associated with a GUID by calling the ConvertGuidToTid method. For more information about ConvertGuidToTid, see Special Operations.

The following table shows the message schemas used for tRFC operations and for the RfcConfirmTransID operation. The RfcConfirmTransID operation is surfaced by the adapter so that you can confirm the SAP TID in client tRFC calls.

Operation XML Structure Description

tRFC

([RFC_NAME])

Copy Code
<[RFC_NAME] xmlns="[VERSION]/Trfc/">
  <IN1_PARAM_NAME>v1</IN1_PARAM_NAME>
  <IN2_PARAM_NAME>v2</IN2_PARAM_NAME>
  …
  <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME>
  <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME>
  …
  <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Trfc/">
    <STRUCT1_PARAM_NAME>
      <[FIELD1_NAME]>value1</[FIELD1_NAME]>
      <[FIELD2_NAME]>value2</[FIELD2_NAME]>
      …
    </STRUCT1_PARAM_NAME>
    …
  </TABLE1_PARAM_NAME>
  …
  <TransactionalRfcOperationIdentifier>GUID
  </TransactionalRfcOperationIdentifier>
</[RFC_NAME]>

Invokes a tRFC on the SAP system.

  • Import, changing, and table parameters are supported.

  • Import and changing parameters can be of SAP STRUCTURE TYPES, SAP TABLE TYPES or SAP simple data types.

  • tRFC client calls do not have values returned in the output side. SAP asynchronously executes them with only input-side values.

The <TransactionalRfcOperationIdentifier> element:

  • For outbound tRFC calls, you can optionally specify a GUID that should be mapped to the SAP TID by the adapter in this element. If a GUID is not specified, the SAP adapter generates one and maps it to the SAP TID for the tRFC.

  • For inbound tRFC calls, the adapter passes the GUID that is mapped to the SAP TID in this element.

tRFC Response

([RFC_NAME]Response)

Copy Code
<[RFC_NAME]Response xmlns="[VERSION]/Trfc/">
  <TransactionalRfcOperationIdentifier>GUID
  </TransactionalRfcOperationIdentifier>
</[RFC_NAME]Response>

Indicates that the RFC has been sent to the SAP system.

  • tRFC client calls do not have values returned in the output side. SAP asynchronously executes them with only input-side values.

The <TransactionalRfcOperationIdentifier> element:

  • For outbound tRFC calls, the adapter sends the GUID associated with the SAP TID for the tRFC in this element.

  • For inbound tRFC calls you can optionally return the GUID that was sent by the adapter in the request message.

RfcConfirmTransID

(RfcConfirmTransID)

Copy Code
<RfcConfirmTransID xmlns="[VERSION]/Trfc/">
  <TransactionalRfcOperationIdentifier>GUID
  </TransactionalRfcOperationIdentifier>
</RfcConfirmTransID>

The RfcConfirmTransID operation confirms the TID used in an outbound tRFC operation on the SAP system.

The <TransactionalRfcOperationIdentifier> element contains the GUID that is mapped to the TID associated with the outbound tRFC call. You should set this to the value of the GUID that was returned by the adapter in the tRFC response message.

For more information about the RfcConfirmTransID operation, see Special Operations.

RfcConfirmTransIDResponse

(RfcConfirmTransIDResponse)

Copy Code
<RfcConfirmTransIDResponse xmlns="[VERSION]/Trfc/">
</RfcConfirmTransIDResponse>

Indicates that the SAP adapter has confirmed the TID on the SAP system.

[VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[RFC_NAME] = Name of the RFC; for example, RFC_CUSTOMER_GET.

[IN_PARAM_NAME] = The name of the RFC Import parameter.

[INOUT_PARAM_NAME] = The name of an RFC Changing parameter.

[TABLE_PARAM_NAME] = The name of an RFC Table parameter.

[STRUCT_PARAM_NAME] = The name of an RFC Structure parameter.

GUID = A GUID that identifies the SAP TID associated with the tRFC.

Message Actions for tRFC Operations

The following table shows the message actions that are used for tRFC operations.

Operation | Message Action | Example
[RFC_NAME] | [VERSION]/Trfc/[RFC_NAME] | http://Microsoft.LobServices.Sap/2007/03/Trfc/RFC_CUSTOMER_GET
[RFC_NAME] Response | [VERSION]/Trfc/[RFC_NAME]/response | http://Microsoft.LobServices.Sap/2007/03/Trfc/RFC_CUSTOMER_GET/response
RfcConfirmTransID | [VERSION]/Trfc/RfcConfirmTransID | http://Microsoft.LobServices.Sap/2007/03/Trfc/RfcConfirmTransID
RfcConfirmTransID Response | [VERSION/Trfc/RfcConfirmTransID/response | http://Microsoft.LobServices.Sap/2007/03/Trfc/RfcConfirmTransID/response

[VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[RFC_NAME] = The name of the RFC to be invoked; for example, RFC_CUSTOMER_GET.

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Message Schemas for BAPI Operations

The following sections describe the message schemas and message actions used to invoke BAPIs on the Microsoft BizTalk Adapter for mySAP Business Suite as methods of business objects. You can also invoke BAPIs as RFC operations on the adapter. For more information about the messages used to invoke RFCs, see Message Schemas for RFC Operations. Regardless of how you invoke a BAPI on the adapter, the adapter always invokes the BAPI as an RFC on the SAP system. For an overview of how the SAP adapter supports BAPIs, see Operations on BAPIs.

Message Structure for Business Object Operations

The following table shows the message schemas used to invoke a BAPI as a business object method.

Operation XML Structure Description

[BUSOBJ_METHOD]

Copy Code
<[BUSOBJ_METHOD] xmlns="[VERSION]/Bapi/[BUSOBJ]/">
  <IN1_PARAM_NAME>v1</IN1_PARAM_NAME>
  <IN2_PARAM_NAME>v2</IN2_PARAM_NAME>
  …
  <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME>
  <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME>
  …
  <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Rfc/">
    <STRUCT1_PARAM_NAME>
      <[FIELD1_NAME]>value1</[FIELD1_NAME]>
      <[FIELD2_NAME]>value2</[FIELD2_NAME]>
      …
    </STRUCT1_PARAM_NAME>
    …
  </TABLE1_PARAM_NAME>
  …
</[BUSOBJ_METHOD]>

Invoke a business object method on an SAP system.

Import, changing, and table parameters are supported.

[BUSOBJ_METHOD] Response

Copy Code
<[BUSOBJ_METHOD]Response xmlns="[VERSION]/Bapi/[BUSOBJ]/">
  <OUT1_PARAM_NAME>v1</OUT1_PARAM_NAME>
  <OUT2_PARAM_NAME>v2</OUT2_PARAM_NAME>
  …
  <INOUT1_PARAM_NAME>v3</INOUT1_PARAM_NAME>
  <INOUT2_PARAM_NAME>v4</INOUT2_PARAM_NAME>
  …
  <TABLE1_PARAM_NAME xmlns="[VERSION]/Types/Rfc/">
    <STRUCT1_PARAM_NAME>
      <[FIELD1_NAME]>value1</[FIELD1_NAME]>
      <[FIELD2_NAME]>value2</[FIELD2_NAME]>
      …
    </STRUCT1_PARAM_NAME>
    …
  </TABLE1_PARAM_NAME>
  …
</[BUSOBJ_METHOD]Response>

Business object method response.

Export, changing, and table parameters are supported.

Note
By default, table parameters are not surfaced in the response message. If you require table parameters in response message, you must pass empty table parameters in the request message.

[VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[BUSOBJ_METHOD] = The name of a business object method; for example, CREATEFROMDAT2.

[IN_PARAM_NAME] =The name of a BAPI import parameter.

[OUT_PARAM_NAME] = The name of a BAPI export parameter.

[INOUT_PARAM_NAME] = The name of a BAPI changing parameter.

[TABLE_PARAM_NAME] = The name of a BAPI table parameter.

[STRUCT_PARAM_NAME] = The name of a BAPI structure parameter.

Message Actions for Business Object Operations

The following table shows the message actions that are used to invoke BAPIs as business object methods.

Operation | Message Action | Example
[BUSOBJ_METHOD] | [VERSION]/Bapi/[BUSOBJ_NAME]/[BUSOBJ_METHOD]/[BAPI_RFC_NAME] | http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2
[BUSOBJ_METHOD] Response | [VERSION]/Bapi/[BUSOBJ_NAME]/[BUSOBJ_METHOD]/[BAPI_RFC_NAME]/response | http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS2032/CREATEFROMDAT2/BAPI_SALESORDER_CREATEFROMDAT2/response

[VERSION] = The message version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[BUSOBJ_NAME] = The name of the business object; for example, BUS2032.

[BUSOBJ_METHOD] = The method of the business object; for example, CREATEFROMDAT2.

[BAPI_RFC_NAME] = The RFC name for the BAPI; for example, BAPI_SALESORDER_CREATEFROMDAT2.

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Special Operations

The SAP adapter surfaces several special operations. These operations are not based on SAP system artifacts. They are surfaced to provide functionality for adapter client applications. The special operations are:

  • RfcGetAttributes. This operation is surfaced under the RFC node and exposes functionality of the RFC SDK. It provides the following information about the RFC connection:

    • The system ID

    • The partner code page

    • The language

    For more information about the RfcGetAttributes operation including its message schema, see Message Schemas for RFC Operations.

  • RfcConfirmTransID. This operation is surfaced under the TRFC node and exposes RFC SDK functionality. You use this operation to confirm SAP transaction IDs on the SAP system.

    For more information about how to use the RfcConfirmTransID operation and about its message schema, see Operations on tRFCs.

  • string SapAdapterUtilities.ConvertGuidToTid(Guid). This is a public method exposed by the SAP adapter assembly. (It is not an operation surfaced by the adapter.) It returns the SAP transaction ID (TID) mapped to the specified GUID.

    Internally, the SAP adapter maps the SAP transaction ID (TID) that identifies a logical unit of work (LUW) on the SAP system to a GUID. This GUID is exposed to adapter clients, so that they can commit a tRFC (LUW) by invoking the RfcConfirmTransID operation to confirm its TID on the SAP system.

    However, for some scenarios, you may need the TID that is associated with a tRFC. For example, you may want to identify the LUW on the SAP system to troubleshoot an issue. For these scenarios you can call ConvertGuidToTid. To use ConvertGuidToTid in your code, you must add a reference to the SAP adapter assembly to your project.

    For more information about invoking tRFCs, see Operations on tRFCs. The following example shows how to invoke ConvertGuidToTid.

    Copy Code
    // messageGuid is the GUID associated with a tRFC or IDOC

string tid = SapAdapterUtilities.ConvertGuidToTid(messageGuid);

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Message Versioning Support

The Microsoft BizTalk Adapter for mySAP Business Suite supports versioning by including a version string component in the message actions, namespaces, and node IDs surfaced for operations. The current version is http://Microsoft.LobServices.Sap/2007/03. This means that for an RFC named "RFC_SAMPLE", the RFC operation surfaced by the adapter has the following:

  • Node ID: http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_SAMPLE

  • Message action: http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_SAMPLE

  • Namespace: http://Microsoft.LobServices.Sap/2007/03/Rfc

Note
This feature does not provide backward compatibility with the earlier versions of the adapter.

See Also

Other Resources

Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite

© 2014 Microsoft Corporation. All rights reserved.


Metadata Node IDs

The following table lists the node type and node ID for the SAP artifacts that the Microsoft BizTalk Adapter for mySAP Business Suite surfaces. The node ID is the absolute path of the node that is used in the IMetadataRetrievalContractBrowse, Search, and GetMetadata methods.

Artifact Display Name | Node Type | Node ID
RFC | CATEGORY | [VERSION]/RFCSECTION
[RFC_APPL_GROUP_NAME] | CATEGORY | [VERSION]/RFCGROUP/[RFC_APPL_GROUP_ID]
[RFC_NAME] | OPERATION | [VERSION]/Rfc/[RFC_NAME]
RfcGetAttributes | OPERATION | [VERSION]/RfcApi/RfcGetAttributes
TRFC | CATEGORY | [VERSION]/TRFCSECTION
[TRFC_APPL_GROUP_NAME] | CATEGORY | [VERSION]/TRFCGROUP/[TRFC_APPL_GROUP_ID]
[TRFC_NAME] | OPERATION | [VERSION]/TRfc/[TRFC_NAME]
RfcConfirmTransID | OPERATION | [VERSION]/RfcApi/RfcConfirmTransID
BAPI | CATEGORY | [VERSION]/BAPISECTION/000001
[BAPI_APPL_GROUP_NAME] | CATEGORY | [VERSION]/BAPISECTION/[ BAPI_APPL_GROUP_NODE_ID]
[BUSINESS_OBJECT_NAME] | CATEGORY | [VERSION]/BAPIOBJ/[BUSOBJ_TYPE]
[BUSINESS_OBJECT_METHOD] | OPERATION | [VERSION]/BAPIOBJ/[BUSOBJ_TYPE]/[BUSOBJ_METHOD]/[FUNCTION_MODULE]
IDOC | CATEGORY | [VERSION]/IDOCSECTION
[IDOC_MSG_TYPE_NAME] | CATEGORY | [VERSION]/IDOCMESTYP/[IDOC_MSG_TYPE_NAME]
[IDOC_TYPE_NAME] ([IDOC_CIMTYPE]) | CATEGORY | [VERSION]/IDOCCIMTYP/[IDOC_TYPE_NAME]/[IDOC_CIMTYPE]/[FIRST_IDOC_REL_NO]
[IDOC_TYPE_NAME].V[IDOC_VERSION] ([IDOC_CIMTYPE]) ([IDOC_REL_NO]) | CATEGORY | [VERSION]/IDOCCIMVER/[IDOC_VERSION]/[IDOC_TYPE_NAME]/[IDOC_CIMTYPE]/[IDOC_REL_NO]
Send | OPERATION | [VERSION]/Idoc/[IDOC_VERSION]/[IDOC_TYPE_NAME]/[IDOC_CIMTYPE]/[IDOC_REL_NO]/Send
SendIdoc | OPERATION | [VERSION]/Idoc/SendIdoc
Receive | OPERATION | [VERSION]/Idoc/[IDOC_VERSION]/[IDOC_TYPE_NAME]/[IDOC_CIMTYPE]/[IDOC_REL_NO]/Receive
ReceiveIdoc | OPERATION | [VERSION]/Idoc/ReceiveIdoc

[VERSION] = The version string; for example, http://Microsoft.LobServices.Sap/2007/03.

[RFC_APPL_GROUP_NAME] = The name of an application group; for example, Sales.

[RFC_APPL_GROUP_ ID] = The ID associated with an application group in SAP; for example, V (for Sales).

[RFC_NAME] = The name of an RFC; for example, RFC_GET_SYSTEM_INFO.

[TRFC_APPL_GROUP_NAME] = The name of an application group; for example, Sales. This is the same of the application group for RFCs.

[TRFC_APPL_GROUP_ ID] = The ID associated with an application group in SAP; for example, V (for Sales). This is the same as the ID for RFCs.

[TRFC_NAME]= The name of a tRFC; for example, RFC_GET_SYSTEM_INFO. This is the same as the RFC name.

[BAPI_APPL_GROUP_NAME] = The name of the BAPI group as in the BAPI explorer in SAP. For example, Sales and Distribution.

[BAPI_APPL_GROUP_NODE_ID] = The ID associated with the corresponding node in the BAPI explorer tree in SAP; For example, 3253 for Sales and Distribution. Note that there could be more group nodes under a given BAPI group node. For example, the Sales and Distribution node has another group node under it called Sales (node ID 3375).

[BUSINESS_OBJECT_NAME] = The name of a business object; for example, Sales Order.

[BUSOBJ_TYPE] = The business object type in SAP; for example BUS2032 for the Sales Order business object.

[BUSINESS_OBJECT_METHOD] = The name of a business object method; for example, GETLIST for the Sales Order business object.

[FUNCTION MODULE] = The SAP function module for the business object method; for example, BAPI_SALESORDER_GETLIST for GETLIST method of the Sales Order business object.

[IDOC_MSG_TYPE_NAME] = The name of an IDOC message type; for example, ORDERS.

[IDOC_TYPE_NAME] = The name of the IDOC type; for example, ORDERS05.

[IDOC_CIMTYPE] = The IDOC CIM Type (extension); for example, Z1ORDERS.

[FIRST_IDOC_REL_NO] = The minimum IDOC release number for a particular IDOC type; for example, 46A for ORDERS05 in a particular SAP system.

[IDOC_VERSION] = The IDOC release version number; 2 for release 2 IDOCS and 3 for release 3 IDOCS..

[IDOC_REL_NO] = The IDOC release number; for example 46A, 46B, or 620.

Metadata Search Node IDs

Metadata search is a powerful feature that the Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK surfaces as part of its IMetadataRetrievalContract interface. The SAP adapter uses this feature to support searching the following SAP artifacts.

Artifact Display Name | Node ID | Description
/RFC | [VERSION]/RFCSECTION | Return all RFC operations that match the search expression.
/RFC/[RFC_APPL_GROUP_NAME] | [VERSION]/RFCGROUP/[RFC_APPL_GROUP_NAME] | Return RFC operations in the application group that match the search expression.
/TRFC | [VERSION]/TRFCSECTION | Return all RFC operations that match the search expression.
/TRFC/[TRFC_APPL_GROUP_NAME] | [VERSION]/TRFCGROUP/[TRFC_APPL_GROUP_NAME] | Return RFC operations in the application group that match the search expression.
/BAPI | [VERSION]/BAPISECTION | Return all BAPIs that match the search expression.
/IDOC | [VERSION]/IDOCSECTION | Return all IDOCs that match the search expression.

The following table lists the wildcard characters that the SAP adapter supports in search expressions.

Special Character | Interpretation
plus (+) | Matches exactly one character. For example, A+ matches AB, AC, AD, and so on.
asterisk (*) | Matches zero or more characters; for example, “A*” matches “A”, “AB”, “ABC”, and so on.

Metadata Retrieval Node IDs

The following table summarizes the metadata characteristics returned by SAP adapter.

Artifact Metadata Characteristics

RFC

  • RFC name.

  • RFC import, export, changing and table parameters.

  • RFC parameter data types.

  • RFC parameter field length mapped to facet maxLength

  • RFC mandatory parameter mapped to facet minOccurs = 1

  • RFC optional parameter mapped to facet minOccurs = 0

  • RFC parameter NULL constraint mapped to facet isNillable = true. This means that the adapter should not pass this parameter to the SAP system.

  • The RFC itself is the operation.

TRFC

Same as RFC except

  • RFC import parameters are not surfaced. Because tRFC is asynchronous, no output parameters are surfaced.

BAPI

  • Name of business object

  • Name of business object method

  • Same as RFC characteristics

IDOC

IDOC Type

CIMType

IDOC release number

IDOC version

IDOC control record fields mapped to an EDI_DC complex type

IDOC data record segments and segment fields mapped to an EDI_DD complex type

Segment parent-child relationships

IDOC segment mandatory parameter mapped to minOccurs = 1

IDOC segment optional parameter mapped to minOccurs = 0

IDOC segment header field name

IDOC segment header field data type

IDOC segment field name

IDOC segment field data type

IDOC segment field value enumerations

IDOC segment field min, max values (ranges)

Note
When an IDOC segment field contains a list of min values, it is surfaced as an enumeration. If the IDOC segment field contains both min and max values, it is surfaced as a string without any enumeration or range constructs.

For detailed information about the format of the metadata that the SAP adapter exposes for specific artifacts and operations on the SAP system, see Messages and Message Schemas for BizTalk Adapter for mySAP Business Suite.

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Grammar Examples for Statements Supported with the Data Provider for SAP

This section provides the examples for the SELECT, EXEC, and EXECQUERY statements supported by the .NET Framework Data Provider for mySAP Business Suite.

In This Section

  • Examples for EXEC Statement

  • Examples for SELECT Statement

  • Examples for EXECQUERY Statement

© 2014 Microsoft Corporation. All rights reserved.


Examples for EXEC Statement

This topic was last updated on: June 05, 2009

This topic shows example syntax for various EXEC statements:

  • To execute a BAPI that takes no input parameters, use the following syntax; data is returned through a DataReader object:

    Copy Code
    EXEC BAPI_COMPANYCODE_GETLIST
  • To execute an RFC that takes input parameters, use the following syntax:

    Copy Code
    EXEC RFC_CUSTOMER_GET @NAME1='Contoso'
  • To execute an RFC that takes input parameters specified as a variable, use the following syntax:

    Copy Code
    EXEC RFC_CUSTOMER_GET @var=@var
    In this example, you must create a parameter named @var and set the value explicitly (for example, to 1001), because the first parameter for RFC_CUSTOMER_GET corresponds to KUNNR (Customer Number)

  • To execute an RFC that uses a variable for the input parameter name, use the following syntax:

    Copy Code
    EXEC RFC_CUSTOMER_GET @KUNNR=@var1, @NAME1='Contoso'
    You must create a parameter named @var1, specify the value, and then bind it to the corresponding command object. The default direction of the newly created parameter object is input.

  • To execute a BAPI and return tables as a parameter, use the following syntax:

    Copy Code
    EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@var1 OUTPUT
    You must create a parameter named @var1, specify the value, and bind it to the corresponding command object. The direction of the newly created parameter object should be InputOutput or Output.

  • The following EXEC example uses a table complex type parameter. In the example, @fields is a TABLE parameter.

    Copy Code
    exec rfc_read_table @query_table='BNKA', @fields='<FIELDS xmlns='http://Microsoft.LobServices.Sap/2007/03/Rfc/'>
            <RFC_DB_FLD xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
              <FIELDNAME>BANKL</FIELDNAME>
            </RFC_DB_FLD>
            <RFC_DB_FLD  xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
                <FIELDNAME>BANKS</FIELDNAME>
            </RFC_DB_FLD>
          </FIELDS>', @fields=@flds output
  • The following EXEC example uses a STRUCT complex type. In the example, @equimaster is a STRUCT parameter.

    Copy Code
    exec BAPI_EQMT_MODIFY @equipment='000000000000000637', @equimaster='<EQUIMASTER>
            <EQUIPMENT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">equip</EQUIPMENT>
            <EQUICATGRY xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">E</EQUICATGRY>
            <MATERIAL xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">mat</MATERIAL>
          </EQUIMASTER >', @equimaster=@em output

Support for Complex Parameter Types

There are two ways to support complex RFC parameters (tables and structures) when you use the Data Provider for SAP:

  • Provide an inline XML value for the complex type. This example shows how to pass XML to the complex parameter type fields. In the following example, @fields is a table parameter.

    Copy Code
    exec rfc_read_table @query_table='BNKA', @fields='<FIELDS xmlns='http://Microsoft.LobServices.Sap/2007/03/Rfc/'>
            <RFC_DB_FLD xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
              <FIELDNAME>BANKL</FIELDNAME>
            </RFC_DB_FLD>
            <RFC_DB_FLD  xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
                <FIELDNAME>BANKS</FIELDNAME>
            </RFC_DB_FLD>
          </FIELDS>', @fields=@flds output
  • Create a DataTable parameter with columns for the fields in the complex type and set the SAP parameter value to DataTable. This example shows how to set the @fields complex type by using a DataTable.

    Copy Code
    cmd.CommandText = "exec rfc_read_table @query_table='BNKA', @fields = @p_fields";
DataTable dt = new DataTable();
dt.Columns.Add("FIELDNAME");
SAPParameter p = new SAPParameter("@p_fields");
p.Value = dt;

Limitations

The Data Provider for SAP has the following limitations for complex types.

  • When you pass a complex type in a parameter by using a DataTable, you must include all fields (columns) of the complex type in the DataTable.

  • The Microsoft BizTalk Adapter for mySAP Business Suite does not support DbNull. You cannot set DbNull as a value for parameters.

See Also

Concepts

Grammar Examples for Statements Supported with the Data Provider for SAP

© 2014 Microsoft Corporation. All rights reserved.


Examples for SELECT Statement

This topic shows example syntax for various SELECT statements:

  • To list details about flights listed in the table named SPFLI, use the following syntax:

    Copy Code
    Select * from SPFLI
  • To store extracted data into a file named flight.txt at \\SAPServer\Extracts, use the following syntax:

    Copy Code
    Select * Into file '\\SAPServer\Extracts\flight.txt' from SPFLI
  • To list details of all flights from New York to San Francisco, use the following syntax:

    Copy Code
    Select * from SPFLI where cityfrom='NEW YORK' and cityto='SAN FRANCISCO'
  • To list details of all flights from New York whose connid field values are between 1000 and 5000, use the following syntax:

    Copy Code
    Select * from SPFLI where cityfrom='NEW YORK' and (connid>1000 and connid<5000)
  • To list details of all flights from New York to a user-specified city, use the following syntax:

    Copy Code
    Select * from SPFLI where cityfrom='NEW YORK' and cityto=@variable
    In this instance, create an SAP parameter named @variable, specify the value, and add it to the corresponding command object.

  • In the LIKE clause of a SELECT query, only the percent sign, "%" (for any string of zero or more characters), and underscore, "_" (for any single character), are allowable special characters. All others are considered string values and are ignored.

    • Example to demonstrate the use of percentage "%"

      Copy Code
      SELECT NAME1, PSTLZ  from KNA1 where (MANDT between 596 AND 999) AND NAME1 LIKE '%MODE%'
      Here, %MODE% fetches all records where Name1 contains the string "MODE".

    • Example to demonstrate the use of underscore "_"

      Copy Code
      SELECT NAME1  AS [MYANME],  LAND1, KUNNR  from KNA1 where (NAME1 LIKE 'D_' )
      Here, "D_" fetches all records where Name1 starts with "D" and contains two characters.

  • Example to demonstrate a "between" predicate clause

    Copy Code
    SELECT NAME1, PSTLZ  from KNA1 where (MANDT between 596 AND 999) AND NAME1 LIKE '%MODE%'
  • Example to demonstrate a "not between" predicate clause

    Copy Code
    SELECT NAME1, PSTLZ  from KNA1 where (MANDT not between 596 AND 599) AND NAME1 LIKE '%MODE%'
  • Example for SELECT statement using Join and a TOP clause

    Copy Code
    SELECT TOP 1 * FROM spfli INNER JOIN sflight ON spfli.mandt = sflight.mandt
  • Example for SELECT statement using the OPTION clause

    Copy Code
    SELECT top 50000 * from bseg option 'batchsize 20000'

See Also

Concepts

Grammar Examples for Statements Supported with the Data Provider for SAP

© 2014 Microsoft Corporation. All rights reserved.


Examples for EXECQUERY Statement

This topic provides sample EXECQUERY statements.

  • Command to execute a query that takes two parameters P1 and P2.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 = '0000003262',@P2 = 'La Quinta Hotel & Towers'
  • Command to execute a query that takes a range of value for parameter P1.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 BETWEEN '0000003262' AND '0000003265'
  • Command to execute a query that takes values for parameter P1 outside a particular range.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', NOT @P1 BETWEEN '0000003262' AND '0000003265'
  • Command to execute a query that can take one of two values for parameter P1.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 = '0000003262', @P1 = '0000003263'
  • Command to execute a query that cannot take specific values for parameters.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', NOT @P1 = '0000003262', NOT @P2 = '0000003263'
    In this example, P1 can have any value other than '0000003262'. Similarly, P2 can have any value other than '0000003263'.

  • Command to execute a query that has variants defined in the SAP system.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @variant = ‘variant1’
    Variants refer to a saved set of selection criteria that you can specify while executing an SAP query. For example, you can use variants to specify default values for queries. For queries that have variants defined for all parameters, you do not need to specify the parameters in the command text.

  • Command to execute a query that does not require a parameter.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 = 'some_dummy_value'
    For queries that do not take parameter, you must specify a parameter with a dummy value.

  • Command to execute a query containing a parameter expecting a date value.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 = '20080606'
    For queries that take parameters expecting date values, you must specify the date as YYYYMMDD.

  • Command to execute a query by specifying null values for parameters.

    For such queries, you cannot specify a query as:

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 = 'null'
    Instead, if you do not want to specify a value, you should not specify P1 at all.

  • Command to execute a query containing a parameter expecting a value greater than a certain number.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 > '0000003262'
  • Command to execute a query containing a parameter expecting a value lesser than a certain number.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 < '0000003262'
  • Command to execute a query containing a parameter expecting a value greater or equal to a certain number.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 >= '0000003262'
  • Command to execute a query containing a parameter expecting a value lesser or equal to a certain number.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 <= '0000003262'
  • Command to execute a query containing a parameter expecting a value not equal to a certain number.

    Copy Code
    EXECQUERY ZTEST3 @USERGROUP='SYSTQV000024', @P1 != '0000003262'

See Also

Concepts

Grammar Examples for Statements Supported with the Data Provider for SAP

© 2014 Microsoft Corporation. All rights reserved.


Using the ServiceModel Metadata Utility Tool with the BizTalk Adapter for mySAP Business Suite

You can use the ServiceModel Metadata Utility Tool (svcutil.exe) to generate a WCF client class or a WCF service contract (interface) for operations that the Microsoft BizTalk Adapter for mySAP Business Suite exposes. After you run svcutil.exe to generate either a WCF client class or a WCF service contract, you can include the generated file in your code and create instances of the generated class or implement a WCF service from the generated interface to perform operations on the SAP system.

Using svcutil.exe requires you to supply a connection URI that contains credentials. Because, by default, the SAP adapter disables credentials in the connection URI, you must configure svcutil.exe to use a non-default binding for the SAP adapter. You can also configure other binding properties in the non-default binding; for example, to create a WCF client for BAPI operations, you must set the EnableSafeTyping binding property to true.

The following sections show you how to configure svcutil.exe and how to use svcutil.exe to generate WCF client code or a WCF service contract with the SAP adapter.

Configuring svcutil.exe for the SAP Adapter

To configure svcutil.exe to use a non-default binding, you must create a local copy of svcutil.exe and then create or modify a local copy of the svcutil.exe.config configuration file.

To configure svcutil.exe for a non-default binding

  1. Create a folder, and copy svcutil.exe into the new folder. You can typically find svcutil.exe at the Windows SDK installation location, specifically, C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin.

  2. Create a file named svcutil.exe.config in the new folder.

  3. Add a binding and a client endpoint to the svcutil.exe.config file. You must run svcutil.exe from the new folder to ensure that the correct configuration is used.

    Important
    The name attribute of the client endpoint must specify the scheme used in the connection URI. This value is case-sensitive.

    Copy Code
    <configuration>
  <system.serviceModel>
    <client>
      <!-- the name should match the required scheme of the WS-Metadata Exchange endpoint
      and the contract should be "IMetadataExchange" -->
      <endpoint name="sap"
                binding="sapBinding"
                bindingConfiguration="SAPBinding"
                contract="IMetadataExchange" />
    </client>
    <bindings>
      <sapBinding>
        <binding name="SAPBinding" acceptCredentialsInUri="true"/>
      </sapBinding>
    </bindings>

  </system.serviceModel>

</configuration>

You can set any of the binding properties of the SAP adapter in the binding configuration. For example, you could specify the following non-default binding to use svcutil.exe to generate a WCF client for BAPI operations.

Copy Code
    <bindings>
      <sapBinding>
        <binding name="SAPBinding" acceptCredentialsInUri="true"/>
      </sapBinding>
    </bindings>

For more information about configuring a non-default binding for svcutil.exe, see the "Custom Secure Metadata Endpoint" topic in the WCF documentation at http://go.microsoft.com/fwlink/?LinkId=96077.

Creating a WCF Client Class or a WCF Service Contract with svcutil.exe

To use svcutil.exe to generate WCF client code or a WCF service contract (interface) for the SAP adapter, you must supply a connection URI that specifies a WS-Metadata Exchange (MEX) endpoint and the operation or operations for which you want svcutil.exe to generate code. You must also specify connection credentials for the SAP system in the connection URI.

Note
Before you can use svcutil.exe with the SAP adapter, you must configure it to use a non-default binding; for information about how to do this, see Configuring svcutil.exe for the SAP Adapter.

You specify a MEX endpoint and target operations in the SAP adapter connection URI in the following manner:

  • You must include the "wsdl" parameter in the query string. If it is the first parameter in the query string, it is specified just after the question mark (?). If it is not the first parameter, it should be preceded with an ampersand (&).

  • You must follow the "wsdl" parameter by one or more "op" parameters. Each "op" parameter is preceded by an ampersand (&) and specifies the node ID of a target operation.

The following three examples show how to target various operations by using svcutil.exe.

This example creates a WCF client class for RFC_CALCULATE_TAXES.

.\svcutil "sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CALCULATE_TAXES"

This example creates a WCF client class for both the SALESORDER_CREATEFROMDAT201 and SALESORDER_CREATEFROMDAT202 IDOC.

.\svcutil "sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT201//620/Send&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT202//620/Send"

This example creates a WCF service contract to receive the SALESORDER_CREATEFROMDAT201 IDOC from the SAP system. The NODE ID specifies a Receive operation. Because this example deals with retrieving metadata, there is no need to specify the listener parameters in the query_string of the connection URI.

.\svcutil "sap://User=YourUserName;Passwd=YourPassword;Client=800;Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT201//620/Receive"

Important
You must place the connection URI in quotation marks on the command line. Otherwise, svcutil.exe attempts to retrieve metadata for operations that the SAP adapter does not support. The results of such an attempt are undefined.

By default, svcutil.exe places the generated code in the output.cs file; however, you can change the name of the output file and many other options that svcutil.exe uses by setting command-line switches. For more information about the options that svcutil.exe supports, see the "ServiceModel Metadata Utility Tool (Svcutil.exe)" topic in the WCF documentation at http://go.microsoft.com/fwlink/?LinkId=72777.

Svcutil.exe does not provide the capability to search for operations (for example, by using wildcard characters). You must explicitly specify node IDs for the specific operations you want to target. The node ID of an operation is equivalent to its message action string. You cannot specify node IDs that refer only to categories. For more information about the node IDs that the SAP adapter surfaces, see Metadata Node IDs.

The Add Adapter Service Reference Visual Studio Plug-in provides advanced browse and search capabilities that can greatly simplify generating a WCF client class and WCF service contract. For more information about the Add Adapter Service Reference Plug-in, see Generating a WCF Client or a WCF Service Contract for SAP Artifacts.

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

For many scenarios involving the Microsoft BizTalk Adapter for mySAP Business Suite and the SAP system, you need to perform certain operations on the SAP system. For example, to receive an RFC call into the SAP adapter, you must first send an RFC from the SAP system. This section lists the high-level steps for performing such operations on the SAP system.

Important
To perform these tasks, you must contact your SAP administrator or refer to the SAP documentation.

In This Section

  • Creating an RFC in an SAP System

  • Creating an RFC Destination in an SAP System

  • Sending RFC Calls from an SAP System

  • Sending IDOCs from an SAP System

  • Viewing Transaction IDs in an SAP System

  • Viewing Details About the IDOCs Sent and Received in an SAP System

  • Determining Whether a Column Stores Lowercase or Uppercase Values

See Also

Other Resources

Technical Reference

© 2014 Microsoft Corporation. All rights reserved.


Creating an RFC in an SAP System

This section lists high-level tasks to be performed on the SAP system to create an RFC. Each of these tasks in turn involves detailed procedures. You must contact your SAP administrator for performing these tasks or refer to the SAP documentation.

To create an RFC

  1. Start the SAP GUI.

  2. Go to Transaction SE37 (Function Builder), enter the RFC name, and click Create.

  3. Enter an existing function group under which the RFC will be created, a short description for the RFC, and click Save.

  4. In the Attributes tab, select the Remote-Enabled Module radio button.

  5. In the Import tab, enter the import parameters. These parameters are used for passing the external data to the function module.

  6. In the Export tab, enter the export parameters.

  7. In the Changing tab, enter the changing parameters.

  8. In the Tables tab, enter the table names.

  9. In the Exceptions tab, enter the exceptions to handle errors.

  10. In the Source Code tab, enter the source code (logic) for the RFC.

  11. Click the Activate icon on the toolbar to activate the function module.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Creating an RFC Destination in an SAP System

This section lists high-level tasks to be performed on the SAP system to create an RFC destination in an SAP system. Each of these tasks in turn involves detailed procedures. You must contact your SAP administrator for performing these tasks or refer to the SAP documentation.

To create an RFC destination

  1. Start the SAP GUI.

  2. Go to Transaction SM59 (Display and Maintain RFC Destinations).

  3. From the menu bar, click Create.

  4. Enter the RFC destination, connection type, description, and then press Enter.

  5. Select the Registered Server Program radio-button, enter the program ID, gateway host, and gateway service.

  6. Save the RFC destination.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Sending RFC Calls from an SAP System

This section lists high-level tasks to be performed on the SAP system to send an RFC call from the SAP system to an external application. Each of these tasks in turn involves detailed procedures. You must contact your SAP administrator for performing these tasks or refer to SAP documentation.

To send an RFC from an SAP system

  1. Start the SAP GUI.

  2. Create a logical system using BD54 transaction.

  3. Create an RFC destination in TCP/IP connections using SM59 transaction.

  4. Create a port using WE21 transaction and attach it to the RFC destination created in the last step.

  5. Trigger an RFC by using SE37. This RFC must contain the logic to make an RFC call to an external application and then receive a response from that application.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Sending IDOCs from an SAP System

This section lists high-level tasks to be performed on the SAP system to send an IDOC from the SAP system to an external application. Each of these tasks in turn involves detailed procedures. Contact your SAP administrator for performing these tasks or see the SAP documentation.

To send an IDOC from an SAP system

  1. Start the SAP GUI.

  2. Create a logical system using BD54 transaction.

  3. Create an RFC destination in TCP/IP connections using SM59 transaction.

  4. Create a port using WE21 transaction and attach it to the RFC destination created in the last step.

  5. Create a partner profile using WE20 transaction with the required message type and IDOC type, and then attach it to the port created in the last step.

  6. Maintain a distributed model by connecting the message type to the port using the SALE transaction.

  7. Generate an IDOC within SAP. For example, use BD10 transaction to trigger a MATMAS IDOC. Contact your SAP administrator for information about other transactions to trigger specific IDOCs.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Viewing Transaction IDs in an SAP System

When the SAP adapter invokes a tRFC or sends an IDOC to an SAP system, the SAP system registers a transaction ID (TID) in response. In some scenarios, you might need to know the TID that is registered with the SAP system in response to a call from the SAP adapter. For example, you might want to identify the logical unit of work (LUW) on the SAP system to troubleshoot an issue.

To view the TIDs in an SAP system, you must use transaction SM58. For more information about this transaction, contact your SAP administrator or refer to the SAP documentation.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Viewing Details About the IDOCs Sent and Received in an SAP System

Using the SAP adapter, you can send an IDOC to an SAP system or receive an IDOC from an SAP system. To track the status and view the data of an IDOC sent or received by an SAP system, you can use transaction WE02. For more information about this transaction, contact your SAP administrator or refer to the SAP documentation.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Determining Whether a Column Stores Lowercase or Uppercase Values

This section lists high-level tasks to be performed on the SAP system to determine whether a column in an SAP table stores lowercase or uppercase characters. For detailed instructions on how to perform this task you must contact your SAP administrator or refer to SAP documentation.

To determine the case of values stored in a column

  1. Start the SAP GUI.

  2. Go to Transaction SE37 and execute DDIF_TABL_GET.

  3. For the NAME parameter, specify the table name containing the column for which you want to determine the character case information. For example, KNA1.

  4. The first table parameter is DD03P_TAB. Click the parameter to see the rows in the table. Every row in this table corresponds to a column in the table (such as KNA1) you specified in step 3.

  5. In DD03P_TAB, look for the value in the LOWERCASE column for each row. If the value in the LOWERCASE column is 'X', the corresponding column in the table (such as KNA1), can store both lowercase and uppercase characters. If the value in the LOWERCASE column is empty, the corresponding column can only store uppercase characters.

    For example, for the NAME row the LOWERCASE column is X. So, the NAME column in KNA1 can store both uppercase and lowercase characters. However, for the LAND1 row the LOWERCASE column is empty. So, the LAND1 column in KNA1 table can only store uppercase characters.

See Also

Other Resources

Performing Tasks Using the SAP GUI for Specific SAP Adapter Scenarios

© 2014 Microsoft Corporation. All rights reserved.


Glossary

The following terms and definitions are used in Microsoft BizTalk Adapter for mySAP Business Suite Help.

Microsoft BizTalk Adapter Pack Glossary

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

ABAP | See Advanced Business Application Programming.
adapter | A WCF-based component that helps exchange messages between applications (for example, a line-of-business system) and BizTalk Server. The adapter consists of design-time components and run-time components for receive and send operations.
adapter client | An application that interacts with a line-of-business (LOB) system through the adapter.
Advanced Business Application Programming | The SAP programming language.

B

BAPIs | Standard interfaces exposed by the SAP system to exchange business between SAP and other systems. BAPIs are used to integrate different components, which are connected to each other over a local network or on the Internet.
binding | A process by which software components and layers are linked together. When a network component is installed, the binding relationships and dependencies for the components are established. Binding allows components to communicate with each other. In BizTalk Server, an established mapping between an orchestration adapter-agnostic endpoint (port or role link) and physical adapter-specific endpoints (send/receive ports or party).
BizTalk Server | Connects diverse software. BizTalk Server enables you to create and modify process logic that uses that software. BizTalk Server also enables information workers to monitor running processes, interact with trading partners, and perform other business-oriented tasks.
BOR | See Business Object Repository.
Business Application Programming Interfaces | See BAPIs.
business object | Encapsulates SAP data and processes in an object-oriented model. External clients invoke methods called business object application interfaces (BAPIs) to act on the object (and its underlying SAP artifacts). By default, the SAP adapter does not expose business objects to consuming applications. Business objects are only available for client operations.
Business Object Repository | Contains all of the SAP business object types and SAP interface types, as well as their components (such as methods and attributes), resident on the SAP R/3 system.

C

channel | A concrete implementation of a binding element. The binding represents the configuration, and the channel is the implementation associated with that configuration. Therefore, there is a channel associated with each binding element. Channels stack on top of each other to create the concrete implementation of the binding: the channel stack.
code page | Essentially a matrix of code points. All data in the database, including characters, is stored as byte sequences. For character data, a code page is the mapping between a byte sequence and a character.
connection URI | A string that identifies a resource in a distributed environment. Adapters use a connection Uniform Resource Identifier (URI) that contains the information necessary to establish a connection with the LOB system.
contract | Specifies the collection and structure of messages required to access the operations offered by the service.

D

design-time experience

Procedures and operations that a developer performs during design time; for example, using the Consume Adapter Service BizTalk Project Add-in to retrieve message schemas.

E

endpoint address | A network address that identifies the location of a Windows Communication Foundation (WCF) service endpoint. For an adapter, the endpoint address is expressed as a connection Uniform Resource Identifier (URI) that contains location and connection parameters. The adapter can use these to establish a connection to the underlying line-of-business (LOB) system.
Enterprise Single Sign-on system | An SSO database, a master secret server, and one or more Enterprise Single Sign-On (SSO) servers. These servers do the mapping between the Windows and non-Windows credentials, look up the credentials in the SSO database, and are used for administering the SSO system. The SSO database is also used as a configuration store to hold custom configuration data for adapters.
Extensible Markup Language (XML) | A markup language designed to describe data. XML tags are not predefined.

F

function modules

Procedures defined in an SAP system as ABAP programs. These are part of function groups that contain a logical grouping of function modules. Function modules enable SAP clients to reuse and encapsulate global functions.

G

GAC | See global assembly cache.
global assembly cache (GAC) | A machine-wide code cache that stores assemblies specifically installed to be shared by many applications on the computer. Applications deployed in the global assembly cache must have a strong name.

H

Health and Activity Tracking (HAT)

A user interface that enables specified data to be tracked. This interface can be used to monitor the health of the BizTalk Server farm and to track and view specific events and messages.

I

IDOC | See intermediate document.
inbound operation | An operation that is invoked by a line-of-business (LOB) system on the adapter.
intermediate document (IDOC) | A structured document that is used to exchange data between R/3, R/2 and non-SAP systems.

M

metadata | In WCF, refers to a description of the contract exposed by a service. This is known as the service description and is expressed in a WSDL document. The metadata exposed by an adapter describes the (interface to) the operations that it can perform on the underlying line-of-business (LOB) system.
Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK | The specifications for building BizTalk adapters using open standards based on Web services.

O

one-way | A message exchange pattern (MEP) in which the sender sends a message, but no response is returned by the receiver. In BizTalk Server, MEPs are referred to as communication patterns.
outbound operation | An operation that is invoked by the adapter on the line-of-business system (LOB).
output.cs | The default output file created by the ServiceModel Metadata Utility tool (svcutil.exe).

P

polling | A technique that device drivers use to find out from multiple devices whether they contain data to transmit. The devices are polled one at a time.
program ID | Unique channel to send an RFC in the configured gateway. The program ID or host name and the SAP gateway service, provided for the program ID, must match the registration parameters (via RfcAccept).
proxy | In WCF, refers to a managed-code object that implements the service contract exposed by a service. The WCF service model is based on the use of such proxies. In the WCF service model, the service contract is expressed as a .NET interface.

R

Remote Function Call | A procedure for data exchange between a client and server. Typically the client calls a server program, and the server returns the results via a TCP/IP connection.
request-response | A message exchange pattern (MEP) in which the sender sends a request message and expects a response message from the receiver. In BizTalk Server, MEPs are referred to as communication patterns. Depending on the messaging technology and the direction of the request message (inbound or outbound), this pattern is also called request-reply or solicit-response.
RFC | See Remote Function Call.
run-time experience | Procedures and operations performed by a developer during run time or when deploying a solution; For example, creating a physical port binding from the BizTalk Server Administration console.

S

schema | The structure for a message. A schema can contain multiple subschema.
ServiceModel Metadata Utility Tool (svcutil.exe) | A command-line utility that is included with WCF. It is used to create service model proxy code from the service description (metadata) that is exposed by a WCF service such as an adapter. For outbound operations, the tool creates a WCF client class and helper code; for inbound operations, the tool creates a WCF service contract and helper code.
Simple Object Access Protocol | See SOAP.
SOAP | A simple, XML-based protocol for exchanging structured and type information in decentralized, distributed environments. WCF is based on the exchange of SOAP messages between clients and services to invoke operations and return results.
SOAP message | A well-formed XML document. It should use the SOAP envelope and SOAP encoding namespaces and include an optional XML declaration, followed by a SOAP envelope (the root element), which is made up of an optional SOAP header and a SOAP message body.
SQL Server Integration Services | A component that is used to import, export, and transform data from different data sources. Previously called data transformation service (DTS).
SSIS | See SQL Server Integration Services.
SSO | See Enterprise Single Sign-on system.
strongly-typed data | A data set or result set that is bound to an underlying object type. Each row in a strongly-typed XML data set is composed of typed, named elements that correspond to fields of the underlying object type.
svcutil.exe | See ServiceModel Metadata Utility Tool.

T

TID | See transaction ID.
transaction ID (TID) | A globally-unique identifier that SAP associates with each logical unit of work (LUW).

U

Uniform Resource Identifier

See connection URI.

W

WCF | See Windows Communication Framework.
WCF channel model | A programming model that relies on several interfaces and other types. Channels provide a low-level programming model for sending and receiving messages.
WCF client | A client-application construct that exposes the service operations as methods. You can use the Add Adapter Service Reference Visual Studio Plug-in or the ServiceModel Metadata Utility Tool to generate a WCF client class from the metadata exposed by an adapter.
WCF LOB Adapter SDK | See Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK.
WCF service contract | A managed-code representation of the service contract. It is expressed as an interface in which classes and methods are attributed to define the service, operation, message, and data contracts used to communicate with a service. You can use the ServiceModel Metadata Utility tool or the Add Adapter Service Reference Visual Studio Plug-in to generate a WCF service contract from the metadata exposed by an adapter. You implement the WCF service contract to receive operations from an LOB system.
WCF service model | A WCF programming model in which a service is represented as a managed code object. The operations exposed by the service are represented as methods with strongly-typed data.
weakly-typed data | A data set or result set that is not bound to an underlying object type. Each row in a weakly-typed XML data set is composed of a collection of generic columns in which attributes describe the name and type of each element.
Web services | A unit of application logic providing data and services to other applications. Applications access XML Web services using standard Web protocols and data formats such as HTTP, XML, and SOAP, independent of how each XML Web service is implemented. XML Web services combine the best aspects of component-based development and the Web, and are a cornerstone of the Microsoft .NET programming model.
Web Services Description Language (WSDL) | An XML-based language that describes a service as a set of endpoints that operate on messages. The WSDL document describes the service contract, operation contracts, message contracts, and data contracts that a client must use to interface with the service.
Windows Communication Framework (WCF) | A Microsoft service-oriented communication infrastructure. The framework inherently provides clients with a service programming model and a channel programming model for finer control of message exchanges.
WSDL | See Web Services Description Language.
WS-Metadata Exchange (MEX) endpoint | An endpoint exposed by a WCF service, such as an adapter, that implements the IMetadataExchange interface. A WS-Metadata Exchange endpoint can be used to retrieve a service description (WSDL) for operations exposed by an adapter on the target system.

X

XML | See Extensible Markup Language.
XML Schema definition language (XSD) | A schema language. An XML Schema defines the elements, attributes, and data types that comply with the World Wide Web Consortium (W3C) XML Schema Part 1: Structures Recommendation for the XML Schema Definition Language. The W3C XML Schema Part 2: Datatypes Recommendation is the recommendation for defining data types that are used in XML schemas. The XML Schema definition language enables you to define the structure and data types for XML messages.
XSD | See XML Schema definition language.

© 2014 Microsoft Corporation. All rights reserved.


Microsoft BizTalk Adapter for SAP Developer Reference

This section provides API reference for SAP adapter.

© 2014 Microsoft Corporation. All rights reserved.


Class Library

Namespaces

Namespace
Microsoft.Adapters.SAP


Microsoft.Adapters.SAP Namespace
The Microsoft.Adapters.SAP namespace contains the general technologies for accessing the BizTalk SAP adapter.

Classes

Class | Description
NamespaceHelper | Assists in building and maintaining namespaces for the BizTalk SAP adapter.
SAPAdapter | Desccribes an SAP Adapter.
SAPAdapterBindingConfigurationElement | Desccribes an SAP Adapter binding configuration element.
SAPAdapterBindingSection | Represents an SAP adapter binding section.
SAPAdapterExtensionElement | Desccribes an SAP Adapter extension element..
SAPAdapterUtilities | Contains the SAP adapter utilities.
SAPBinding | Desccribes an SAP binding.
SAPConnectionUri | Defines the SAP connection URI.
SapDataTypesBehavior | Describes the SAP data types behavior.

Enumerations

Enumeration | Description
FlatFileSegmentIndicator | Indicates the type of segmenting to perform on a flat file IDoc.
IdocReceiveFormat | Defines the receive format for an IDoc.
LogOnTicketType | Specifies the type of logon tickets.
OutboundConnectionType | Describes the outbound connection type for the SAP adapter.


FlatFileSegmentIndicator Enumeration
[image]

Indicates the type of segmenting to perform on a flat file IDoc.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As FlatFileSegmentIndicator

Syntax

Visual Basic
Public Enumeration FlatFileSegmentIndicator
C#
public enum FlatFileSegmentIndicator
C++
public enum class FlatFileSegmentIndicator
J#
public enum FlatFileSegmentIndicator
JScript
public enum FlatFileSegmentIndicator

Members

Member name | Description
SegmentDefinition | Indicates that the flat files should contain the Segment Definition for each Segment in the IDoc.
SegmentType | Indicates that the flat files should contain the Segment Type for each Segment in the IDoc.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

Microsoft.Adapters.SAP Namespace


IdocReceiveFormat Enumeration
[image]

Defines the receive format for an IDoc.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As IdocReceiveFormat

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public Enumeration IdocReceiveFormat
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public enum IdocReceiveFormat
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public enum class IdocReceiveFormat
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc") */
public enum IdocReceiveFormat
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")
public enum IdocReceiveFormat

Members

Member name | Description
Rfc | RFC
String | String
Typed | Typed

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference


LogOnTicketType Enumeration
[image]

Specifies the type of logon tickets.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Members
Member name | Description
MySapSSO1 | Specifies that the MYSAPSSO1 ticket type be used for authentication.
MySapSSO2 | Specifies that the MYSAPSSO2 ticket type be used for authentication.
None | Specifies that logon tickets will not be used for authentication.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference


NamespaceHelper Class
See Also Members
[image]

Assists in building and maintaining namespaces for the BizTalk SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper

Syntax

Visual Basic
Public NotInheritable Class NamespaceHelper
C#
public sealed class NamespaceHelper
C++
public ref class NamespaceHelper sealed
J#
public final class NamespaceHelper
JScript
public final class NamespaceHelper

Inheritance Hierarchy

System.Object
Microsoft.Adapters.SAP.NamespaceHelper

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Members


NamespaceHelper Members
See Also Methods Properties
[image]

Assists in building and maintaining namespaces for the BizTalk SAP adapter.

The following tables list the members exposed by the NamespaceHelper type.

Public Properties

 | Name | Description
public property | BapiFunctionNamespacePrefix | Gets the BAPI function namespace.
public property | CommonIdocTypesNamespace | Gets the common IDocTypes namespace.
public property | IdocFunctionNamespacePrefix | Gets the IDoc function namespace prefix.
public property | IdocTypeNamespacePrefix | Gets the IDocType namespace prefix.
public property | RfcApiNamespace | Gets the RFC API namespace.
public property | RfcOperationNamespace |
public property | SAPTableNamespace | Gets the SAP table namespace.
public property | TrfcOperationNamespace |
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)
Top

See Also

Reference

NamespaceHelper Class


NamespaceHelper Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)

See Also

Reference

NamespaceHelper Class


NamespaceHelper Properties
[image]

Public Properties

 | Name | Description
public property | BapiFunctionNamespacePrefix | Gets the BAPI function namespace.
public property | CommonIdocTypesNamespace | Gets the common IDocTypes namespace.
public property | IdocFunctionNamespacePrefix | Gets the IDoc function namespace prefix.
public property | IdocTypeNamespacePrefix | Gets the IDocType namespace prefix.
public property | RfcApiNamespace | Gets the RFC API namespace.
public property | RfcOperationNamespace |
public property | SAPTableNamespace | Gets the SAP table namespace.
public property | TrfcOperationNamespace |

See Also

Reference

NamespaceHelper Class


NamespaceHelper.BapiFunctionNamespacePrefix Property
[image]

Gets the BAPI function namespace.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.BapiFunctionNamespacePrefix

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Bapi")> _
Public ReadOnly Property BapiFunctionNamespacePrefix As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Bapi")]
public string BapiFunctionNamespacePrefix { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Bapi")]
public:
property String^ BapiFunctionNamespacePrefix {
    String^ get ();
}
J#
/** @property */
public String get_BapiFunctionNamespacePrefix ()
JScript
public function get BapiFunctionNamespacePrefix () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.CommonIdocTypesNamespace Property
[image]

Gets the common IDocTypes namespace.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.CommonIdocTypesNamespace

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public ReadOnly Property CommonIdocTypesNamespace As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public string CommonIdocTypesNamespace { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
property String^ CommonIdocTypesNamespace {
    String^ get ();
}
J#
/** @property */
public String get_CommonIdocTypesNamespace ()
JScript
public function get CommonIdocTypesNamespace () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.IdocFunctionNamespacePrefix Property
[image]

Gets the IDoc function namespace prefix.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.IdocFunctionNamespacePrefix

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public ReadOnly Property IdocFunctionNamespacePrefix As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public string IdocFunctionNamespacePrefix { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
property String^ IdocFunctionNamespacePrefix {
    String^ get ();
}
J#
/** @property */
public String get_IdocFunctionNamespacePrefix ()
JScript
public function get IdocFunctionNamespacePrefix () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.IdocTypeNamespacePrefix Property
[image]

Gets the IDocType namespace prefix.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.IdocTypeNamespacePrefix

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public ReadOnly Property IdocTypeNamespacePrefix As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public string IdocTypeNamespacePrefix { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
property String^ IdocTypeNamespacePrefix {
    String^ get ();
}
J#
/** @property */
public String get_IdocTypeNamespacePrefix ()
JScript
public function get IdocTypeNamespacePrefix () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.RfcApiNamespace Property
[image]

Gets the RFC API namespace.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.RfcApiNamespace

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Rfc")> _
Public ReadOnly Property RfcApiNamespace As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Rfc")]
public string RfcApiNamespace { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Rfc")]
public:
property String^ RfcApiNamespace {
    String^ get ();
}
J#
/** @property */
public String get_RfcApiNamespace ()
JScript
public function get RfcApiNamespace () : String

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.RfcOperationNamespace Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.RfcOperationNamespace

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Rfc")> _
Public ReadOnly Property RfcOperationNamespace As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Rfc")]
public string RfcOperationNamespace { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Rfc")]
public:
property String^ RfcOperationNamespace {
    String^ get ();
}
J#
/** @property */
public String get_RfcOperationNamespace ()
JScript
public function get RfcOperationNamespace () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.SAPTableNamespace Property
[image]

Gets the SAP table namespace.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.SAPTableNamespace

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId:="Member")> _
Public ReadOnly Property SAPTableNamespace As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased", MessageId="Member")]
public string SAPTableNamespace { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased", MessageId=L"Member")]
public:
property String^ SAPTableNamespace {
    String^ get ();
}
J#
/** @property */
public String get_SAPTableNamespace ()
JScript
public function get SAPTableNamespace () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


NamespaceHelper.TrfcOperationNamespace Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As NamespaceHelper
Dim value As String

value = instance.TrfcOperationNamespace

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Trfc")> _
Public ReadOnly Property TrfcOperationNamespace As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Trfc")]
public string TrfcOperationNamespace { get; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Trfc")]
public:
property String^ TrfcOperationNamespace {
    String^ get ();
}
J#
/** @property */
public String get_TrfcOperationNamespace ()
JScript
public function get TrfcOperationNamespace () : String

Property Value

Returns a String containing the namespace name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

NamespaceHelper Class
NamespaceHelper Members


OutboundConnectionType Enumeration
[image]

Describes the outbound connection type for the SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As OutboundConnectionType

Syntax

Visual Basic
Public Enumeration OutboundConnectionType
C#
public enum OutboundConnectionType
C++
public enum class OutboundConnectionType
J#
public enum OutboundConnectionType
JScript
public enum OutboundConnectionType

Members

Member name | Description
A | A
B | B
D | C

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference


SAPAdapter Class
See Also Members
[image]

Desccribes an SAP Adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public NotInheritable Class SAPAdapter
    Inherits CommonAdapter
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public sealed class SAPAdapter : CommonAdapter
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPAdapter sealed : public CommonAdapter
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public final class SAPAdapter extends CommonAdapter
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public final class SAPAdapter extends CommonAdapter

Inheritance Hierarchy

System.Object
System.ServiceModel.Channels.BindingElement
System.ServiceModel.Channels.TransportBindingElement
Microsoft.ServiceModel.Channels.Common.Adapter
Microsoft.Adapters.AdapterUtilities.CommonAdapter
Microsoft.Adapters.SAP.SAPAdapter

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Members


SAPAdapter Members
See Also Constructors Methods Properties
[image]

Desccribes an SAP Adapter.

The following tables list the members exposed by the SAPAdapter type.

Public Constructors

Name | Description
SAPAdapter | Overloaded. Creates a new instance of the SAPAdapter class.
Top

Public Properties

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | ManualAddressing | (inherited from TransportBindingElement)
public property | MaxBufferPoolSize | (inherited from TransportBindingElement)
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | MaxReceivedMessageSize | (inherited from TransportBindingElement)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | RfcAllowStartProgram | Content to be provided.
public property | Scheme | Overridden. Gets or sets the scheme.
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).
public property | TransactedReceiveEnabled | (inherited from Adapter)
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | BuildChannelFactory | Overridden. (inherited from BindingElement)
public method | BuildChannelListener | Overridden. (inherited from BindingElement)
public method | CanBuildChannelFactory | Overridden. (inherited from BindingElement)
public method | CanBuildChannelListener | Overridden. (inherited from BindingElement)
public method | Clone | Overridden. (inherited from BindingElement)
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetProperty | Overridden. (inherited from BindingElement)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | CloneAdapter | (inherited from Adapter)
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)
Top

See Also

Reference

SAPAdapter Class


SAPAdapter Constructor
[image]

Creates a new instance of the SAPAdapter class.

Overload List

Name | Description
SAPAdapter () | Creates a new instance of the SAPAdapter class, using the default parameters.
SAPAdapter (SAPAdapter) | Creates a new instance of the SAPAdapter class using the specified SAPAdapter object.

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter Constructor ()
[image]

Creates a new instance of the SAPAdapter class, using the default parameters.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPAdapter

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")> _
Public Sub New
C#
[SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
public SAPAdapter ()
C++
[SuppressMessageAttribute(L"Microsoft.Performance", L"CA1805:DoNotInitializeUnnecessarily")]
public:
SAPAdapter ()
J#
/** @attribute SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily") */
public SAPAdapter ()
JScript
SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")
public function SAPAdapter ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter Constructor (SAPAdapter)
[image]

Creates a new instance of the SAPAdapter class using the specified SAPAdapter object.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim other As SAPAdapter

Dim instance As New SAPAdapter(other)

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")> _
Public Sub New ( _
    other As SAPAdapter _
)
C#
[SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
public SAPAdapter (
    SAPAdapter other
)
C++
[SuppressMessageAttribute(L"Microsoft.Performance", L"CA1805:DoNotInitializeUnnecessarily")]
public:
SAPAdapter (
    SAPAdapter^ other
)
J#
/** @attribute SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily") */
public SAPAdapter (
    SAPAdapter other
)
JScript
SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")
public function SAPAdapter (
    other : SAPAdapter
)

Parameters

other

The SAPAdapter object to copy.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | BuildChannelFactory | Overridden. (inherited from BindingElement)
public method | BuildChannelListener | Overridden. (inherited from BindingElement)
public method | CanBuildChannelFactory | Overridden. (inherited from BindingElement)
public method | CanBuildChannelListener | Overridden. (inherited from BindingElement)
public method | Clone | Overridden. (inherited from BindingElement)
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetProperty | Overridden. (inherited from BindingElement)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | CloneAdapter | (inherited from Adapter)
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)

See Also

Reference

SAPAdapter Class


SAPAdapter Properties
[image]

Public Properties

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | ManualAddressing | (inherited from TransportBindingElement)
public property | MaxBufferPoolSize | (inherited from TransportBindingElement)
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | MaxReceivedMessageSize | (inherited from TransportBindingElement)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | RfcAllowStartProgram | Content to be provided.
public property | Scheme | Overridden. Gets or sets the scheme.
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).
public property | TransactedReceiveEnabled | (inherited from Adapter)

See Also

Reference

SAPAdapter Class


SAPAdapter.AcceptCredentialsInUri Property
[image]

Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.AcceptCredentialsInUri

instance.AcceptCredentialsInUri = value

Syntax

Visual Basic
Public Property AcceptCredentialsInUri As Boolean
C#
public bool AcceptCredentialsInUri { get; set; }
C++
public:
virtual property bool AcceptCredentialsInUri {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AcceptCredentialsInUri ()

/** @property */
public final void set_AcceptCredentialsInUri (boolean value)
JScript
public final function get AcceptCredentialsInUri () : boolean

public final function set AcceptCredentialsInUri (value : boolean)

Property Value

Returns a Boolean that specifies whether the URI can contain user credentials.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.AutoConfirmSentIdocs Property
[image]

Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.AutoConfirmSentIdocs

instance.AutoConfirmSentIdocs = value

Syntax

Visual Basic
Public Property AutoConfirmSentIdocs As Boolean
C#
public bool AutoConfirmSentIdocs { get; set; }
C++
public:
virtual property bool AutoConfirmSentIdocs {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AutoConfirmSentIdocs ()

/** @property */
public final void set_AutoConfirmSentIdocs (boolean value)
JScript
public final function get AutoConfirmSentIdocs () : boolean

public final function set AutoConfirmSentIdocs (value : boolean)

Property Value

Returns a Boolean specifying whether the SAP adapter auto-mommits.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.DataTypesBehavior Property
[image]

Gets or sets a value that specifies the data types behavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As SapDataTypesBehavior

value = instance.DataTypesBehavior

instance.DataTypesBehavior = value

Syntax

Visual Basic
Public Property DataTypesBehavior As SapDataTypesBehavior
C#
public SapDataTypesBehavior DataTypesBehavior { get; set; }
C++
public:
virtual property SapDataTypesBehavior^ DataTypesBehavior {
    SapDataTypesBehavior^ get () sealed;
    void set (SapDataTypesBehavior^ value) sealed;
}
J#
/** @property */
public final SapDataTypesBehavior get_DataTypesBehavior ()

/** @property */
public final void set_DataTypesBehavior (SapDataTypesBehavior value)
JScript
public final function get DataTypesBehavior () : SapDataTypesBehavior

public final function set DataTypesBehavior (value : SapDataTypesBehavior)

Property Value

Returns a SapDataTypesBehavior containing the data types behavior.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.EnableBusinessObjects Property
[image]

Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.EnableBusinessObjects

instance.EnableBusinessObjects = value

Syntax

Visual Basic
<BrowsableAttribute(False)> _
<ObsoleteAttribute("This field/property/method is deprecated")> _
Public Property EnableBusinessObjects As Boolean
C#
[BrowsableAttribute(false)]
[ObsoleteAttribute("This field/property/method is deprecated")]
public bool EnableBusinessObjects { get; set; }
C++
[BrowsableAttribute(false)]
[ObsoleteAttribute(L"This field/property/method is deprecated")]
public:
property bool EnableBusinessObjects {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_EnableBusinessObjects ()

/** @property */
public void set_EnableBusinessObjects (boolean value)
JScript
public function get EnableBusinessObjects () : boolean

public function set EnableBusinessObjects (value : boolean)

Property Value

Returns a Boolean that specifies of the business objects are surfaced.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.EnableConnectionPooling Property
[image]

Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.EnableConnectionPooling

instance.EnableConnectionPooling = value

Syntax

Visual Basic
Public Property EnableConnectionPooling As Boolean
C#
public bool EnableConnectionPooling { get; set; }
C++
public:
virtual property bool EnableConnectionPooling {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableConnectionPooling ()

/** @property */
public final void set_EnableConnectionPooling (boolean value)
JScript
public final function get EnableConnectionPooling () : boolean

public final function set EnableConnectionPooling (value : boolean)

Property Value

Returns a Boolean indicating whether the connection pool is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.EnablePerformanceCounters Property
[image]

Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.EnablePerformanceCounters

instance.EnablePerformanceCounters = value

Syntax

Visual Basic
Public Property EnablePerformanceCounters As Boolean
C#
public bool EnablePerformanceCounters { get; set; }
C++
public:
virtual property bool EnablePerformanceCounters {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnablePerformanceCounters ()

/** @property */
public final void set_EnablePerformanceCounters (boolean value)
JScript
public final function get EnablePerformanceCounters () : boolean

public final function set EnablePerformanceCounters (value : boolean)

Property Value

Returns a Boolean indicating whether to enable the performance counters.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.EnableSafeTyping Property
[image]

Gets or sets a value that enables or disables safe typing.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.EnableSafeTyping

instance.EnableSafeTyping = value

Syntax

Visual Basic
Public Property EnableSafeTyping As Boolean
C#
public bool EnableSafeTyping { get; set; }
C++
public:
virtual property bool EnableSafeTyping {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableSafeTyping ()

/** @property */
public final void set_EnableSafeTyping (boolean value)
JScript
public final function get EnableSafeTyping () : boolean

public final function set EnableSafeTyping (value : boolean)

Property Value

Returns Boolean that enables or disables safe typing.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.ExternalIdentificationData Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapter Class
SAPAdapter Members


SAPAdapter.ExternalIdentificationType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapter Class
SAPAdapter Members


SAPAdapter.FlatFileSegmentIndicator Property
[image]

Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As FlatFileSegmentIndicator

value = instance.FlatFileSegmentIndicator

instance.FlatFileSegmentIndicator = value

Syntax

Visual Basic
Public Property FlatFileSegmentIndicator As FlatFileSegmentIndicator
C#
public FlatFileSegmentIndicator FlatFileSegmentIndicator { get; set; }
C++
public:
virtual property FlatFileSegmentIndicator FlatFileSegmentIndicator {
    FlatFileSegmentIndicator get () sealed;
    void set (FlatFileSegmentIndicator value) sealed;
}
J#
/** @property */
public final FlatFileSegmentIndicator get_FlatFileSegmentIndicator ()

/** @property */
public final void set_FlatFileSegmentIndicator (FlatFileSegmentIndicator value)
JScript
public final function get FlatFileSegmentIndicator () : FlatFileSegmentIndicator

public final function set FlatFileSegmentIndicator (value : FlatFileSegmentIndicator)

Property Value

Returns a FlatFileSegmentIndicator containing either SegmentDefinition or SegmentType.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.GenerateFlatFileCompatibleIdocSchema Property
[image]

Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.GenerateFlatFileCompatibleIdocSchema

instance.GenerateFlatFileCompatibleIdocSchema = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public Property GenerateFlatFileCompatibleIdocSchema As Boolean
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public bool GenerateFlatFileCompatibleIdocSchema { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
virtual property bool GenerateFlatFileCompatibleIdocSchema {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_GenerateFlatFileCompatibleIdocSchema ()

/** @property */
public final void set_GenerateFlatFileCompatibleIdocSchema (boolean value)
JScript
public final function get GenerateFlatFileCompatibleIdocSchema () : boolean

public final function set GenerateFlatFileCompatibleIdocSchema (value : boolean)

Property Value

Returns a Boolean that determines if the flat fils should be added.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.IdleConnectionTimeout Property
[image]

Gets or sets a value that Specifies the SAP adapter idle connection timeout.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As TimeSpan

value = instance.IdleConnectionTimeout

instance.IdleConnectionTimeout = value

Syntax

Visual Basic
Public Property IdleConnectionTimeout As TimeSpan
C#
public TimeSpan IdleConnectionTimeout { get; set; }
C++
public:
virtual property TimeSpan IdleConnectionTimeout {
    TimeSpan get () sealed;
    void set (TimeSpan value) sealed;
}
J#
/** @property */
public final TimeSpan get_IdleConnectionTimeout ()

/** @property */
public final void set_IdleConnectionTimeout (TimeSpan value)
JScript
public final function get IdleConnectionTimeout () : TimeSpan

public final function set IdleConnectionTimeout (value : TimeSpan)

Property Value

Returns a TimeSpan containing the connection timeout.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.LogOnTicketPassword Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapter Class
SAPAdapter Members


SAPAdapter.LogOnTicketType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapter Class
SAPAdapter Members


SAPAdapter.MaxConnectionsPerSystem Property
[image]

Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Integer

value = instance.MaxConnectionsPerSystem

instance.MaxConnectionsPerSystem = value

Syntax

Visual Basic
Public Property MaxConnectionsPerSystem As Integer
C#
public int MaxConnectionsPerSystem { get; set; }
C++
public:
virtual property int MaxConnectionsPerSystem {
    int get () sealed;
    void set (int value) sealed;
}
J#
/** @property */
public final int get_MaxConnectionsPerSystem ()

/** @property */
public final void set_MaxConnectionsPerSystem (int value)
JScript
public final function get MaxConnectionsPerSystem () : int

public final function set MaxConnectionsPerSystem (value : int)

Property Value

Returns a Int32 containing the maximum number of connections.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.PadReceivedIdocWithSpaces Property
[image]

Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As Boolean

value = instance.PadReceivedIdocWithSpaces

instance.PadReceivedIdocWithSpaces = value

Syntax

Visual Basic
Public Property PadReceivedIdocWithSpaces As Boolean
C#
public bool PadReceivedIdocWithSpaces { get; set; }
C++
public:
virtual property bool PadReceivedIdocWithSpaces {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_PadReceivedIdocWithSpaces ()

/** @property */
public final void set_PadReceivedIdocWithSpaces (boolean value)
JScript
public final function get PadReceivedIdocWithSpaces () : boolean

public final function set PadReceivedIdocWithSpaces (value : boolean)

Property Value

Returns a Boolean specifying whether the lines are padded.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.ReceiveIdocFormat Property
[image]

Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As IdocReceiveFormat

value = instance.ReceiveIdocFormat

instance.ReceiveIdocFormat = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public Property ReceiveIdocFormat As IdocReceiveFormat
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public IdocReceiveFormat ReceiveIdocFormat { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
virtual property IdocReceiveFormat ReceiveIdocFormat {
    IdocReceiveFormat get () sealed;
    void set (IdocReceiveFormat value) sealed;
}
J#
/** @property */
public final IdocReceiveFormat get_ReceiveIdocFormat ()

/** @property */
public final void set_ReceiveIdocFormat (IdocReceiveFormat value)
JScript
public final function get ReceiveIdocFormat () : IdocReceiveFormat

public final function set ReceiveIdocFormat (value : IdocReceiveFormat)

Property Value

Returns a IdocReceiveFormat containing the receive format.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.RfcAllowStartProgram Property
[image]

Content to be provided.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As String

value = instance.RfcAllowStartProgram

instance.RfcAllowStartProgram = value

Syntax

Visual Basic
Public Property RfcAllowStartProgram As String
C#
public string RfcAllowStartProgram { get; set; }
C++
public:
virtual property String^ RfcAllowStartProgram {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_RfcAllowStartProgram ()

/** @property */
public final void set_RfcAllowStartProgram (String value)
JScript
public final function get RfcAllowStartProgram () : String

public final function set RfcAllowStartProgram (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.Scheme Property
[image]

Gets or sets the scheme.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As String

value = instance.Scheme

Syntax

Visual Basic
Public Overrides NotOverridable ReadOnly Property Scheme As String
C#
public override sealed string Scheme { get; }
C++
public:
virtual property String^ Scheme {
    String^ get () override sealed;
}
J#
/** @property */
public final String get_Scheme ()
JScript
public override final function get Scheme () : String

Property Value

Returns a String containing the scheme.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.SncLibrary Property
[image]

Gets or sets a value that specifies the specifies the location of the SNC library on your computer.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As String

value = instance.SncLibrary

instance.SncLibrary = value

Syntax

Visual Basic
Public Property SncLibrary As String
C#
public string SncLibrary { get; set; }
C++
public:
virtual property String^ SncLibrary {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncLibrary ()

/** @property */
public final void set_SncLibrary (String value)
JScript
public final function get SncLibrary () : String

public final function set SncLibrary (value : String)

Property Value

Returns a String containing the library path.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.SncPartnerName Property
[image]

Gets or sets a value that specifies the SNC partner name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As String

value = instance.SncPartnerName

instance.SncPartnerName = value

Syntax

Visual Basic
Public Property SncPartnerName As String
C#
public string SncPartnerName { get; set; }
C++
public:
virtual property String^ SncPartnerName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncPartnerName ()

/** @property */
public final void set_SncPartnerName (String value)
JScript
public final function get SncPartnerName () : String

public final function set SncPartnerName (value : String)

Property Value

Returns a String containing the SNC partner name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapter.TidDatabaseConnectionString Property
[image]

Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapter
Dim value As String

value = instance.TidDatabaseConnectionString

instance.TidDatabaseConnectionString = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
Public Property TidDatabaseConnectionString As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
public string TidDatabaseConnectionString { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
public:
virtual property String^ TidDatabaseConnectionString {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_TidDatabaseConnectionString ()

/** @property */
public final void set_TidDatabaseConnectionString (String value)
JScript
public final function get TidDatabaseConnectionString () : String

public final function set TidDatabaseConnectionString (value : String)

Property Value

Returns a String containing the database connection string.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapter Class
SAPAdapter Members


SAPAdapterBindingConfigurationElement Class
See Also Members
[image]

Desccribes an SAP Adapter binding configuration element.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public NotInheritable Class SAPAdapterBindingConfigurationElement
    Inherits CommonStandardBindingElement
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public sealed class SAPAdapterBindingConfigurationElement : CommonStandardBindingElement
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPAdapterBindingConfigurationElement sealed : public CommonStandardBindingElement
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public final class SAPAdapterBindingConfigurationElement extends CommonStandardBindingElement
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public final class SAPAdapterBindingConfigurationElement extends CommonStandardBindingElement

Inheritance Hierarchy

System.Object
System.Configuration.ConfigurationElement
System.ServiceModel.Configuration.StandardBindingElement
Microsoft.Adapters.AdapterUtilities.CommonStandardBindingElement
Microsoft.Adapters.SAP.SAPAdapterBindingConfigurationElement

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement Members
See Also Constructors Methods Properties
[image]

Desccribes an SAP Adapter binding configuration element.

The following tables list the members exposed by the SAPAdapterBindingConfigurationElement type.

Public Constructors

Name | Description
SAPAdapterBindingConfigurationElement | Overloaded. Creates a new instance of the SAPAdapterBindingConfiguration class.
Top

Public Properties (see also Protected Properties)

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | CloseTimeout | (inherited from StandardBindingElement)
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EnableBizTalkCompatibilityMode | Gets or sets a value that indicates whether BizTalk compatibility mode is enabled. (inherited from CommonStandardBindingElement)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | Name | (inherited from StandardBindingElement)
public property | OpenTimeout | (inherited from StandardBindingElement)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | ReceiveTimeout | (inherited from StandardBindingElement)
public property | RfcAllowStartProgram | Content to be provided.
public property | SendTimeout | (inherited from StandardBindingElement)
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).
Top

Protected Properties

 | Name | Description
protected property | BindingElementType | (inherited from StandardBindingElement)
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. Gets the configuration property collection. (inherited from StandardBindingElement)
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | ApplyConfiguration | (inherited from StandardBindingElement)
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | InitializeFrom | Overridden. Creates a new instance of the CommonStandardBindingElement class using the specified binding. (inherited from StandardBindingElement)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnApplyConfiguration | (inherited from StandardBindingElement)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | Reset | Overridden. (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)
Top

See Also

Reference

SAPAdapterBindingConfigurationElement Class


SAPAdapterBindingConfigurationElement Constructor
[image]

Creates a new instance of the SAPAdapterBindingConfiguration class.

Overload List

Name | Description
SAPAdapterBindingConfigurationElement () | Creates a new instance of the SAPAdapterBindingConfiguration class, using the default parameters.
SAPAdapterBindingConfigurationElement (String) | Creates a new instance of the SAPAdapterBindingConfigurationElement class, using the specified configuration name.

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement Constructor ()
[image]

Creates a new instance of the SAPAdapterBindingConfiguration class, using the default parameters.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPAdapterBindingConfigurationElement

Syntax

Visual Basic
Public Sub New
C#
public SAPAdapterBindingConfigurationElement ()
C++
public:
SAPAdapterBindingConfigurationElement ()
J#
public SAPAdapterBindingConfigurationElement ()
JScript
public function SAPAdapterBindingConfigurationElement ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement Constructor (String)
[image]

Creates a new instance of the SAPAdapterBindingConfigurationElement class, using the specified configuration name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim name As String

Dim instance As New SAPAdapterBindingConfigurationElement(name)

Syntax

Visual Basic
Public Sub New ( _
    name As String _
)
C#
public SAPAdapterBindingConfigurationElement (
    string name
)
C++
public:
SAPAdapterBindingConfigurationElement (
    String^ name
)
J#
public SAPAdapterBindingConfigurationElement (
    String name
)
JScript
public function SAPAdapterBindingConfigurationElement (
    name : String
)

Parameters

name

the configuration name.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | ApplyConfiguration | (inherited from StandardBindingElement)
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | InitializeFrom | Overridden. Creates a new instance of the CommonStandardBindingElement class using the specified binding. (inherited from StandardBindingElement)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnApplyConfiguration | (inherited from StandardBindingElement)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | Reset | Overridden. (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)

See Also

Reference

SAPAdapterBindingConfigurationElement Class


SAPAdapterBindingConfigurationElement Properties
[image]

Public Properties (see also Protected Properties)

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | CloseTimeout | (inherited from StandardBindingElement)
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EnableBizTalkCompatibilityMode | Gets or sets a value that indicates whether BizTalk compatibility mode is enabled. (inherited from CommonStandardBindingElement)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | Name | (inherited from StandardBindingElement)
public property | OpenTimeout | (inherited from StandardBindingElement)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | ReceiveTimeout | (inherited from StandardBindingElement)
public property | RfcAllowStartProgram | Content to be provided.
public property | SendTimeout | (inherited from StandardBindingElement)
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Protected Properties

 | Name | Description
protected property | BindingElementType | (inherited from StandardBindingElement)
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. Gets the configuration property collection. (inherited from StandardBindingElement)

See Also

Reference

SAPAdapterBindingConfigurationElement Class


SAPAdapterBindingConfigurationElement.AcceptCredentialsInUri Property
[image]

Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.AcceptCredentialsInUri

instance.AcceptCredentialsInUri = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<ConfigurationPropertyAttribute("acceptCredentialsInUri", DefaultValue:=False)> _
<BrowsableAttribute(False)> _
Public Property AcceptCredentialsInUri As Boolean
C#
[CategoryAttribute("Connection")]
[ConfigurationPropertyAttribute("acceptCredentialsInUri", DefaultValue=false)]
[BrowsableAttribute(false)]
public bool AcceptCredentialsInUri { get; set; }
C++
[CategoryAttribute(L"Connection")]
[ConfigurationPropertyAttribute(L"acceptCredentialsInUri", DefaultValue=false)]
[BrowsableAttribute(false)]
public:
virtual property bool AcceptCredentialsInUri {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AcceptCredentialsInUri ()

/** @property */
public final void set_AcceptCredentialsInUri (boolean value)
JScript
public final function get AcceptCredentialsInUri () : boolean

public final function set AcceptCredentialsInUri (value : boolean)

Property Value

Returns a Boolean that specifies whether the URI can contain user credentials.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.AutoConfirmSentIdocs Property
[image]

Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.AutoConfirmSentIdocs

instance.AutoConfirmSentIdocs = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("autoConfirmSentIdocs", DefaultValue:=False)> _
<BindingPropertyDirectionAttribute(False, True)> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Idoc")> _
Public Property AutoConfirmSentIdocs As Boolean
C#
[ConfigurationPropertyAttribute("autoConfirmSentIdocs", DefaultValue=false)]
[BindingPropertyDirectionAttribute(false, true)]
[BrowsableAttribute(true)]
[CategoryAttribute("Idoc")]
public bool AutoConfirmSentIdocs { get; set; }
C++
[ConfigurationPropertyAttribute(L"autoConfirmSentIdocs", DefaultValue=false)]
[BindingPropertyDirectionAttribute(false, true)]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Idoc")]
public:
virtual property bool AutoConfirmSentIdocs {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AutoConfirmSentIdocs ()

/** @property */
public final void set_AutoConfirmSentIdocs (boolean value)
JScript
public final function get AutoConfirmSentIdocs () : boolean

public final function set AutoConfirmSentIdocs (value : boolean)

Property Value

Returns a Boolean specifying whether the SAP adapter auto-mommits.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.DataTypesBehavior Property
[image]

Gets or sets a value that specifies the data types behavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As SapDataTypesBehavior

value = instance.DataTypesBehavior

instance.DataTypesBehavior = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dataTypesBehavior")> _
Public Property DataTypesBehavior As SapDataTypesBehavior
C#
[ConfigurationPropertyAttribute("dataTypesBehavior")]
public SapDataTypesBehavior DataTypesBehavior { get; set; }
C++
[ConfigurationPropertyAttribute(L"dataTypesBehavior")]
public:
virtual property SapDataTypesBehavior^ DataTypesBehavior {
    SapDataTypesBehavior^ get () sealed;
    void set (SapDataTypesBehavior^ value) sealed;
}
J#
/** @property */
public final SapDataTypesBehavior get_DataTypesBehavior ()

/** @property */
public final void set_DataTypesBehavior (SapDataTypesBehavior value)
JScript
public final function get DataTypesBehavior () : SapDataTypesBehavior

public final function set DataTypesBehavior (value : SapDataTypesBehavior)

Property Value

Returns a SapDataTypesBehavior containing the data types behavior.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.EnableBusinessObjects Property
[image]

Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.EnableBusinessObjects

instance.EnableBusinessObjects = value

Syntax

Visual Basic
<BrowsableAttribute(False)> _
<ObsoleteAttribute("This field/property/method is deprecated")> _
Public Property EnableBusinessObjects As Boolean
C#
[BrowsableAttribute(false)]
[ObsoleteAttribute("This field/property/method is deprecated")]
public bool EnableBusinessObjects { get; set; }
C++
[BrowsableAttribute(false)]
[ObsoleteAttribute(L"This field/property/method is deprecated")]
public:
property bool EnableBusinessObjects {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_EnableBusinessObjects ()

/** @property */
public void set_EnableBusinessObjects (boolean value)
JScript
public function get EnableBusinessObjects () : boolean

public function set EnableBusinessObjects (value : boolean)

Property Value

Returns a Boolean that specifies of the business objects are surfaced.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.EnableConnectionPooling Property
[image]

Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.EnableConnectionPooling

instance.EnableConnectionPooling = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("enableConnectionPooling", DefaultValue:=True)> _
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property EnableConnectionPooling As Boolean
C#
[ConfigurationPropertyAttribute("enableConnectionPooling", DefaultValue=true)]
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public bool EnableConnectionPooling { get; set; }
C++
[ConfigurationPropertyAttribute(L"enableConnectionPooling", DefaultValue=true)]
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property bool EnableConnectionPooling {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableConnectionPooling ()

/** @property */
public final void set_EnableConnectionPooling (boolean value)
JScript
public final function get EnableConnectionPooling () : boolean

public final function set EnableConnectionPooling (value : boolean)

Property Value

Returns a Boolean indicating whether the connection pool is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.EnablePerformanceCounters Property
[image]

Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.EnablePerformanceCounters

instance.EnablePerformanceCounters = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("enablePerformanceCounters", DefaultValue:=False)> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Perf")> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Diagnostics")> _
Public Property EnablePerformanceCounters As Boolean
C#
[ConfigurationPropertyAttribute("enablePerformanceCounters", DefaultValue=false)]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Perf")]
[BrowsableAttribute(true)]
[CategoryAttribute("Diagnostics")]
public bool EnablePerformanceCounters { get; set; }
C++
[ConfigurationPropertyAttribute(L"enablePerformanceCounters", DefaultValue=false)]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Perf")]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Diagnostics")]
public:
virtual property bool EnablePerformanceCounters {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnablePerformanceCounters ()

/** @property */
public final void set_EnablePerformanceCounters (boolean value)
JScript
public final function get EnablePerformanceCounters () : boolean

public final function set EnablePerformanceCounters (value : boolean)

Property Value

Returns a Boolean indicating whether to enable the performance counters.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.EnableSafeTyping Property
[image]

Gets or sets a value that enables or disables safe typing.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.EnableSafeTyping

instance.EnableSafeTyping = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Metadata")> _
<ConfigurationPropertyAttribute("enableSafeTyping", DefaultValue:=False)> _
Public Property EnableSafeTyping As Boolean
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Metadata")]
[ConfigurationPropertyAttribute("enableSafeTyping", DefaultValue=false)]
public bool EnableSafeTyping { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Metadata")]
[ConfigurationPropertyAttribute(L"enableSafeTyping", DefaultValue=false)]
public:
virtual property bool EnableSafeTyping {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableSafeTyping ()

/** @property */
public final void set_EnableSafeTyping (boolean value)
JScript
public final function get EnableSafeTyping () : boolean

public final function set EnableSafeTyping (value : boolean)

Property Value

Returns Boolean that enables or disables safe typing.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.ExternalIdentificationData Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.ExternalIdentificationType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.FlatFileSegmentIndicator Property
[image]

Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As FlatFileSegmentIndicator

value = instance.FlatFileSegmentIndicator

instance.FlatFileSegmentIndicator = value

Syntax

Visual Basic
<CategoryAttribute("Metadata")> _
<ConfigurationPropertyAttribute("flatFileSegmentIndicator", DefaultValue:=FlatFileSegmentIndicator.SegmentDefinition)> _
<BindingPropertyDirectionAttribute(False, False)> _
<BrowsableAttribute(True)> _
Public Property FlatFileSegmentIndicator As FlatFileSegmentIndicator
C#
[CategoryAttribute("Metadata")]
[ConfigurationPropertyAttribute("flatFileSegmentIndicator", DefaultValue=FlatFileSegmentIndicator.SegmentDefinition)]
[BindingPropertyDirectionAttribute(false, false)]
[BrowsableAttribute(true)]
public FlatFileSegmentIndicator FlatFileSegmentIndicator { get; set; }
C++
[CategoryAttribute(L"Metadata")]
[ConfigurationPropertyAttribute(L"flatFileSegmentIndicator", DefaultValue=FlatFileSegmentIndicator::SegmentDefinition)]
[BindingPropertyDirectionAttribute(false, false)]
[BrowsableAttribute(true)]
public:
virtual property FlatFileSegmentIndicator FlatFileSegmentIndicator {
    FlatFileSegmentIndicator get () sealed;
    void set (FlatFileSegmentIndicator value) sealed;
}
J#
/** @property */
public final FlatFileSegmentIndicator get_FlatFileSegmentIndicator ()

/** @property */
public final void set_FlatFileSegmentIndicator (FlatFileSegmentIndicator value)
JScript
public final function get FlatFileSegmentIndicator () : FlatFileSegmentIndicator

public final function set FlatFileSegmentIndicator (value : FlatFileSegmentIndicator)

Property Value

Returns a FlatFileSegmentIndicator containing either SegmentDefinition or SegmentType.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.GenerateFlatFileCompatibleIdocSchema Property
[image]

Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.GenerateFlatFileCompatibleIdocSchema

instance.GenerateFlatFileCompatibleIdocSchema = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
<BrowsableAttribute(True)> _
<BindingPropertyDirectionAttribute(False, False)> _
<ConfigurationPropertyAttribute("generateFlatFileCompatibleIdocSchema", DefaultValue:=True)> _
<CategoryAttribute("Metadata")> _
Public Property GenerateFlatFileCompatibleIdocSchema As Boolean
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(false, false)]
[ConfigurationPropertyAttribute("generateFlatFileCompatibleIdocSchema", DefaultValue=true)]
[CategoryAttribute("Metadata")]
public bool GenerateFlatFileCompatibleIdocSchema { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(false, false)]
[ConfigurationPropertyAttribute(L"generateFlatFileCompatibleIdocSchema", DefaultValue=true)]
[CategoryAttribute(L"Metadata")]
public:
virtual property bool GenerateFlatFileCompatibleIdocSchema {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_GenerateFlatFileCompatibleIdocSchema ()

/** @property */
public final void set_GenerateFlatFileCompatibleIdocSchema (boolean value)
JScript
public final function get GenerateFlatFileCompatibleIdocSchema () : boolean

public final function set GenerateFlatFileCompatibleIdocSchema (value : boolean)

Property Value

Returns a Boolean that determines if the flat fils should be added.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.IdleConnectionTimeout Property
[image]

Gets or sets a value that Specifies the SAP adapter idle connection timeout.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As TimeSpan

value = instance.IdleConnectionTimeout

instance.IdleConnectionTimeout = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<ConfigurationPropertyAttribute("idleConnectionTimeout", DefaultValue:="00:15:00")> _
<BrowsableAttribute(True)> _
Public Property IdleConnectionTimeout As TimeSpan
C#
[CategoryAttribute("Connection")]
[ConfigurationPropertyAttribute("idleConnectionTimeout", DefaultValue="00:15:00")]
[BrowsableAttribute(true)]
public TimeSpan IdleConnectionTimeout { get; set; }
C++
[CategoryAttribute(L"Connection")]
[ConfigurationPropertyAttribute(L"idleConnectionTimeout", DefaultValue=L"00:15:00")]
[BrowsableAttribute(true)]
public:
virtual property TimeSpan IdleConnectionTimeout {
    TimeSpan get () sealed;
    void set (TimeSpan value) sealed;
}
J#
/** @property */
public final TimeSpan get_IdleConnectionTimeout ()

/** @property */
public final void set_IdleConnectionTimeout (TimeSpan value)
JScript
public final function get IdleConnectionTimeout () : TimeSpan

public final function set IdleConnectionTimeout (value : TimeSpan)

Property Value

Returns a TimeSpan containing the connection timeout.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.LogOnTicketPassword Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.LogOnTicketType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.MaxConnectionsPerSystem Property
[image]

Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Integer

value = instance.MaxConnectionsPerSystem

instance.MaxConnectionsPerSystem = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<ConfigurationPropertyAttribute("maxConnectionsPerSystem", DefaultValue:=50)> _
<BrowsableAttribute(True)> _
Public Property MaxConnectionsPerSystem As Integer
C#
[CategoryAttribute("Connection")]
[ConfigurationPropertyAttribute("maxConnectionsPerSystem", DefaultValue=50)]
[BrowsableAttribute(true)]
public int MaxConnectionsPerSystem { get; set; }
C++
[CategoryAttribute(L"Connection")]
[ConfigurationPropertyAttribute(L"maxConnectionsPerSystem", DefaultValue=50)]
[BrowsableAttribute(true)]
public:
virtual property int MaxConnectionsPerSystem {
    int get () sealed;
    void set (int value) sealed;
}
J#
/** @property */
public final int get_MaxConnectionsPerSystem ()

/** @property */
public final void set_MaxConnectionsPerSystem (int value)
JScript
public final function get MaxConnectionsPerSystem () : int

public final function set MaxConnectionsPerSystem (value : int)

Property Value

Returns a Int32 containing the maximum number of connections.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.PadReceivedIdocWithSpaces Property
[image]

Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As Boolean

value = instance.PadReceivedIdocWithSpaces

instance.PadReceivedIdocWithSpaces = value

Syntax

Visual Basic
<BindingPropertyDirectionAttribute(True, False)> _
<ConfigurationPropertyAttribute("padReceivedIdocWithSpaces", DefaultValue:=False)> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Idoc")> _
Public Property PadReceivedIdocWithSpaces As Boolean
C#
[BindingPropertyDirectionAttribute(true, false)]
[ConfigurationPropertyAttribute("padReceivedIdocWithSpaces", DefaultValue=false)]
[BrowsableAttribute(true)]
[CategoryAttribute("Idoc")]
public bool PadReceivedIdocWithSpaces { get; set; }
C++
[BindingPropertyDirectionAttribute(true, false)]
[ConfigurationPropertyAttribute(L"padReceivedIdocWithSpaces", DefaultValue=false)]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Idoc")]
public:
virtual property bool PadReceivedIdocWithSpaces {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_PadReceivedIdocWithSpaces ()

/** @property */
public final void set_PadReceivedIdocWithSpaces (boolean value)
JScript
public final function get PadReceivedIdocWithSpaces () : boolean

public final function set PadReceivedIdocWithSpaces (value : boolean)

Property Value

Returns a Boolean specifying whether the lines are padded.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.ReceiveIdocFormat Property
[image]

Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As IdocReceiveFormat

value = instance.ReceiveIdocFormat

instance.ReceiveIdocFormat = value

Syntax

Visual Basic
<BindingPropertyDirectionAttribute(True, False)> _
<ConfigurationPropertyAttribute("receiveIdocFormat", DefaultValue:=IdocReceiveFormat.Typed)> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Metadata")> _
Public Property ReceiveIdocFormat As IdocReceiveFormat
C#
[BindingPropertyDirectionAttribute(true, false)]
[ConfigurationPropertyAttribute("receiveIdocFormat", DefaultValue=IdocReceiveFormat.Typed)]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
[BrowsableAttribute(true)]
[CategoryAttribute("Metadata")]
public IdocReceiveFormat ReceiveIdocFormat { get; set; }
C++
[BindingPropertyDirectionAttribute(true, false)]
[ConfigurationPropertyAttribute(L"receiveIdocFormat", DefaultValue=IdocReceiveFormat::Typed)]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Metadata")]
public:
virtual property IdocReceiveFormat ReceiveIdocFormat {
    IdocReceiveFormat get () sealed;
    void set (IdocReceiveFormat value) sealed;
}
J#
/** @property */
public final IdocReceiveFormat get_ReceiveIdocFormat ()

/** @property */
public final void set_ReceiveIdocFormat (IdocReceiveFormat value)
JScript
public final function get ReceiveIdocFormat () : IdocReceiveFormat

public final function set ReceiveIdocFormat (value : IdocReceiveFormat)

Property Value

Returns a IdocReceiveFormat containing the receive format.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.RfcAllowStartProgram Property
[image]

Content to be provided.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As String

value = instance.RfcAllowStartProgram

instance.RfcAllowStartProgram = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("rfcAllowStartProgram", DefaultValue:="")> _
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property RfcAllowStartProgram As String
C#
[ConfigurationPropertyAttribute("rfcAllowStartProgram", DefaultValue="")]
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public string RfcAllowStartProgram { get; set; }
C++
[ConfigurationPropertyAttribute(L"rfcAllowStartProgram", DefaultValue=L"")]
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property String^ RfcAllowStartProgram {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_RfcAllowStartProgram ()

/** @property */
public final void set_RfcAllowStartProgram (String value)
JScript
public final function get RfcAllowStartProgram () : String

public final function set RfcAllowStartProgram (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.SncLibrary Property
[image]

Gets or sets a value that specifies the specifies the location of the SNC library on your computer.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As String

value = instance.SncLibrary

instance.SncLibrary = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<ConfigurationPropertyAttribute("sncLibrary")> _
<CategoryAttribute("SNC")> _
Public Property SncLibrary As String
C#
[BrowsableAttribute(true)]
[ConfigurationPropertyAttribute("sncLibrary")]
[CategoryAttribute("SNC")]
public string SncLibrary { get; set; }
C++
[BrowsableAttribute(true)]
[ConfigurationPropertyAttribute(L"sncLibrary")]
[CategoryAttribute(L"SNC")]
public:
virtual property String^ SncLibrary {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncLibrary ()

/** @property */
public final void set_SncLibrary (String value)
JScript
public final function get SncLibrary () : String

public final function set SncLibrary (value : String)

Property Value

Returns a String containing the library path.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.SncPartnerName Property
[image]

Gets or sets a value that specifies the SNC partner name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As String

value = instance.SncPartnerName

instance.SncPartnerName = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("SNC")> _
<ConfigurationPropertyAttribute("sncPartnerName")> _
Public Property SncPartnerName As String
C#
[BrowsableAttribute(true)]
[CategoryAttribute("SNC")]
[ConfigurationPropertyAttribute("sncPartnerName")]
public string SncPartnerName { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"SNC")]
[ConfigurationPropertyAttribute(L"sncPartnerName")]
public:
virtual property String^ SncPartnerName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncPartnerName ()

/** @property */
public final void set_SncPartnerName (String value)
JScript
public final function get SncPartnerName () : String

public final function set SncPartnerName (value : String)

Property Value

Returns a String containing the SNC partner name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingConfigurationElement.TidDatabaseConnectionString Property
[image]

Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingConfigurationElement
Dim value As String

value = instance.TidDatabaseConnectionString

instance.TidDatabaseConnectionString = value

Syntax

Visual Basic
<BindingPropertyDirectionAttribute(True, False)> _
<BrowsableAttribute(True)> _
<CategoryAttribute("TrfcServer")> _
<ConfigurationPropertyAttribute("tidDatabaseConnectionString")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
Public Property TidDatabaseConnectionString As String
C#
[BindingPropertyDirectionAttribute(true, false)]
[BrowsableAttribute(true)]
[CategoryAttribute("TrfcServer")]
[ConfigurationPropertyAttribute("tidDatabaseConnectionString")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
public string TidDatabaseConnectionString { get; set; }
C++
[BindingPropertyDirectionAttribute(true, false)]
[BrowsableAttribute(true)]
[CategoryAttribute(L"TrfcServer")]
[ConfigurationPropertyAttribute(L"tidDatabaseConnectionString")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
public:
virtual property String^ TidDatabaseConnectionString {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_TidDatabaseConnectionString ()

/** @property */
public final void set_TidDatabaseConnectionString (String value)
JScript
public final function get TidDatabaseConnectionString () : String

public final function set TidDatabaseConnectionString (value : String)

Property Value

Returns a String containing the database connection string.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingConfigurationElement Class
SAPAdapterBindingConfigurationElement Members


SAPAdapterBindingSection Class
See Also Members
[image]

Represents an SAP adapter binding section.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterBindingSection

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public NotInheritable Class SAPAdapterBindingSection
    Inherits StandardBindingCollectionElement(Of SAPBinding, SAPAdapterBindingConfigurationElement)
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public sealed class SAPAdapterBindingSection : StandardBindingCollectionElement<SAPBinding,SAPAdapterBindingConfigurationElement>
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPAdapterBindingSection sealed : public StandardBindingCollectionElement<SAPBinding^, SAPAdapterBindingConfigurationElement^>
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public final class SAPAdapterBindingSection extends StandardBindingCollectionElement<SAPBinding,SAPAdapterBindingConfigurationElement>
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public final class SAPAdapterBindingSection extends StandardBindingCollectionElement<SAPBinding,SAPAdapterBindingConfigurationElement>

Inheritance Hierarchy

System.Object
System.Configuration.ConfigurationElement
System.ServiceModel.Configuration.BindingCollectionElement
System.ServiceModel.Configuration.StandardBindingCollectionElement
Microsoft.Adapters.SAP.SAPAdapterBindingSection

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingSection Members


SAPAdapterBindingSection Members
See Also Constructors Methods Properties
[image]

Represents an SAP adapter binding section.

The following tables list the members exposed by the SAPAdapterBindingSection type.

Public Constructors

Name | Description
SAPAdapterBindingSection | Creates a new instance of the SAPAdapterBindingSection class.
Top

Public Properties (see also Protected Properties)

 | Name | Description
public property | BindingName | (inherited from BindingCollectionElement)
public property | Bindings | (inherited from StandardBindingCollectionElement)
public property | BindingType | Overridden. (inherited from BindingCollectionElement)
public property | ConfiguredBindings | Overridden. (inherited from BindingCollectionElement)
public property | ElementInformation | (inherited from ConfigurationElement)
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
Top

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. (inherited from ConfigurationElement)
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | ContainsKey | Overridden. (inherited from BindingCollectionElement)
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)
Top

See Also

Reference

SAPAdapterBindingSection Class


SAPAdapterBindingSection Constructor
[image]

Creates a new instance of the SAPAdapterBindingSection class.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPAdapterBindingSection

Syntax

Visual Basic
Public Sub New
C#
public SAPAdapterBindingSection ()
C++
public:
SAPAdapterBindingSection ()
J#
public SAPAdapterBindingSection ()
JScript
public function SAPAdapterBindingSection ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterBindingSection Class
SAPAdapterBindingSection Members


SAPAdapterBindingSection Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | ContainsKey | Overridden. (inherited from BindingCollectionElement)
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)

See Also

Reference

SAPAdapterBindingSection Class


SAPAdapterBindingSection Properties
[image]

Public Properties (see also Protected Properties)

 | Name | Description
public property | BindingName | (inherited from BindingCollectionElement)
public property | Bindings | (inherited from StandardBindingCollectionElement)
public property | BindingType | Overridden. (inherited from BindingCollectionElement)
public property | ConfiguredBindings | Overridden. (inherited from BindingCollectionElement)
public property | ElementInformation | (inherited from ConfigurationElement)
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. (inherited from ConfigurationElement)

See Also

Reference

SAPAdapterBindingSection Class


SAPAdapterExtensionElement Class
See Also Members
[image]

Desccribes an SAP Adapter extension element..

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public Class SAPAdapterExtensionElement
    Inherits BindingElementExtensionElement
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public class SAPAdapterExtensionElement : BindingElementExtensionElement
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPAdapterExtensionElement : public BindingElementExtensionElement
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public class SAPAdapterExtensionElement extends BindingElementExtensionElement
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public class SAPAdapterExtensionElement extends BindingElementExtensionElement

Inheritance Hierarchy

System.Object
System.Configuration.ConfigurationElement
System.ServiceModel.Configuration.ServiceModelExtensionElement
System.ServiceModel.Configuration.BindingElementExtensionElement
Microsoft.Adapters.SAP.SAPAdapterExtensionElement

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Members


SAPAdapterExtensionElement Members
See Also Constructors Methods Properties
[image]

Desccribes an SAP Adapter extension element..

The following tables list the members exposed by the SAPAdapterExtensionElement type.

Public Constructors

Name | Description
SAPAdapterExtensionElement | Creates a new instance of the SAPAdapterExtensionElement class, using the default parameters.
Top

Public Properties (see also Protected Properties)

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | BindingElementType | Overridden. Gets the binding element type.
public property | ConfigurationElementName | (inherited from ServiceModelExtensionElement)
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | RfcAllowStartProgram | Content to be provided.
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).
Top

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. Gets the collection of extension properties.
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | ApplyConfiguration | Overridden. Apply the of the specified binding element.
public method | CopyFrom | Overridden. Copies the specified binding element.
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | CreateBindingElement | Overridden. Creates a binding element.
protected method | Finalize | (inherited from Object)
protected method | InitializeFrom | Overridden. Initializes the element based on the specified element.
protected method | IsModified | Overridden. (inherited from ConfigurationElement)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | Overridden.
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | Reset | Overridden. (inherited from ConfigurationElement)
protected method | SerializeElement | Overridden. (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)
Top

See Also

Reference

SAPAdapterExtensionElement Class


SAPAdapterExtensionElement Constructor
[image]

Creates a new instance of the SAPAdapterExtensionElement class, using the default parameters.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPAdapterExtensionElement

Syntax

Visual Basic
Public Sub New
C#
public SAPAdapterExtensionElement ()
C++
public:
SAPAdapterExtensionElement ()
J#
public SAPAdapterExtensionElement ()
JScript
public function SAPAdapterExtensionElement ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | ApplyConfiguration | Overridden. Apply the of the specified binding element.
public method | CopyFrom | Overridden. Copies the specified binding element.
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | CreateBindingElement | Overridden. Creates a binding element.
protected method | Finalize | (inherited from Object)
protected method | InitializeFrom | Overridden. Initializes the element based on the specified element.
protected method | IsModified | Overridden. (inherited from ConfigurationElement)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | Overridden.
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | Reset | Overridden. (inherited from ConfigurationElement)
protected method | SerializeElement | Overridden. (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)

See Also

Reference

SAPAdapterExtensionElement Class


SAPAdapterExtensionElement.ApplyConfiguration Method
[image]

Apply the of the specified binding element.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim bindingElement As BindingElement

instance.ApplyConfiguration(bindingElement)

Syntax

Visual Basic
Public Overrides Sub ApplyConfiguration ( _
    bindingElement As BindingElement _
)
C#
public override void ApplyConfiguration (
    BindingElement bindingElement
)
C++
public:
virtual void ApplyConfiguration (
    BindingElement^ bindingElement
) override
J#
public void ApplyConfiguration (
    BindingElement bindingElement
)
JScript
public override function ApplyConfiguration (
    bindingElement : BindingElement
)

Parameters

bindingElement

the configuration to apply.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.CopyFrom Method
[image]

Copies the specified binding element.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim from As ServiceModelExtensionElement

instance.CopyFrom(from)

Syntax

Visual Basic
Public Overrides Sub CopyFrom ( _
    from As ServiceModelExtensionElement _
)
C#
public override void CopyFrom (
    ServiceModelExtensionElement from
)
C++
public:
virtual void CopyFrom (
    ServiceModelExtensionElement^ from
) override
J#
public void CopyFrom (
    ServiceModelExtensionElement from
)
JScript
public override function CopyFrom (
    from : ServiceModelExtensionElement
)

Parameters

from

The element to copy from.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.CreateBindingElement Method
[image]

Creates a binding element.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim returnValue As BindingElement

returnValue = Me.CreateBindingElement

Syntax

Visual Basic
Protected Overrides Function CreateBindingElement As BindingElement
C#
protected override BindingElement CreateBindingElement ()
C++
protected:
virtual BindingElement^ CreateBindingElement () override
J#
protected BindingElement CreateBindingElement ()
JScript
protected override function CreateBindingElement () : BindingElement

Return Value

Returns a BindingElement containing the new binding element.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.InitializeFrom Method
[image]

Initializes the element based on the specified element.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim bindingElement As BindingElement

Me.InitializeFrom(bindingElement)

Syntax

Visual Basic
Protected Overrides Sub InitializeFrom ( _
    bindingElement As BindingElement _
)
C#
protected override void InitializeFrom (
    BindingElement bindingElement
)
C++
protected:
virtual void InitializeFrom (
    BindingElement^ bindingElement
) override
J#
protected void InitializeFrom (
    BindingElement bindingElement
)
JScript
protected override function InitializeFrom (
    bindingElement : BindingElement
)

Parameters

bindingElement

the element to initialize from.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.OnDeserializeUnrecognizedAttribute Method
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim name As String
Dim value As String
Dim returnValue As Boolean

returnValue = Me.OnDeserializeUnrecognizedAttribute(name, value)

Syntax

Visual Basic
Protected Overrides Function OnDeserializeUnrecognizedAttribute ( _
    name As String, _
    value As String _
) As Boolean
C#
protected override bool OnDeserializeUnrecognizedAttribute (
    string name,
    string value
)
C++
protected:
virtual bool OnDeserializeUnrecognizedAttribute (
    String^ name,
    String^ value
) override
J#
protected boolean OnDeserializeUnrecognizedAttribute (
    String name,
    String value
)
JScript
protected override function OnDeserializeUnrecognizedAttribute (
    name : String,
    value : String
) : boolean

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement Properties
[image]

Public Properties (see also Protected Properties)

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | BindingElementType | Overridden. Gets the binding element type.
public property | ConfigurationElementName | (inherited from ServiceModelExtensionElement)
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | RfcAllowStartProgram | Content to be provided.
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)
protected property | Properties | Overridden. Gets the collection of extension properties.

See Also

Reference

SAPAdapterExtensionElement Class


SAPAdapterExtensionElement.AcceptCredentialsInUri Property
[image]

Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.AcceptCredentialsInUri

instance.AcceptCredentialsInUri = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("acceptCredentialsInUri", DefaultValue:=False)> _
Public Property AcceptCredentialsInUri As Boolean
C#
[ConfigurationPropertyAttribute("acceptCredentialsInUri", DefaultValue=false)]
public bool AcceptCredentialsInUri { get; set; }
C++
[ConfigurationPropertyAttribute(L"acceptCredentialsInUri", DefaultValue=false)]
public:
virtual property bool AcceptCredentialsInUri {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AcceptCredentialsInUri ()

/** @property */
public final void set_AcceptCredentialsInUri (boolean value)
JScript
public final function get AcceptCredentialsInUri () : boolean

public final function set AcceptCredentialsInUri (value : boolean)

Property Value

Returns a Boolean that specifies whether the URI can contain user credentials.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.AutoConfirmSentIdocs Property
[image]

Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.AutoConfirmSentIdocs

instance.AutoConfirmSentIdocs = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("autoConfirmSentIdocs", DefaultValue:=False)> _
Public Property AutoConfirmSentIdocs As Boolean
C#
[ConfigurationPropertyAttribute("autoConfirmSentIdocs", DefaultValue=false)]
public bool AutoConfirmSentIdocs { get; set; }
C++
[ConfigurationPropertyAttribute(L"autoConfirmSentIdocs", DefaultValue=false)]
public:
virtual property bool AutoConfirmSentIdocs {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AutoConfirmSentIdocs ()

/** @property */
public final void set_AutoConfirmSentIdocs (boolean value)
JScript
public final function get AutoConfirmSentIdocs () : boolean

public final function set AutoConfirmSentIdocs (value : boolean)

Property Value

Returns a Boolean specifying whether the SAP adapter auto-mommits.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.BindingElementType Property
[image]

Gets the binding element type.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Type

value = instance.BindingElementType

Syntax

Visual Basic
Public Overrides ReadOnly Property BindingElementType As Type
C#
public override Type BindingElementType { get; }
C++
public:
virtual property Type^ BindingElementType {
    Type^ get () override;
}
J#
/** @property */
public Type get_BindingElementType ()
JScript
public override function get BindingElementType () : Type

Property Value

Returns a Type containing the binding element type.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.DataTypesBehavior Property
[image]

Gets or sets a value that specifies the data types behavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As SapDataTypesBehavior

value = instance.DataTypesBehavior

instance.DataTypesBehavior = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dataTypesBehavior")> _
Public Property DataTypesBehavior As SapDataTypesBehavior
C#
[ConfigurationPropertyAttribute("dataTypesBehavior")]
public SapDataTypesBehavior DataTypesBehavior { get; set; }
C++
[ConfigurationPropertyAttribute(L"dataTypesBehavior")]
public:
virtual property SapDataTypesBehavior^ DataTypesBehavior {
    SapDataTypesBehavior^ get () sealed;
    void set (SapDataTypesBehavior^ value) sealed;
}
J#
/** @property */
public final SapDataTypesBehavior get_DataTypesBehavior ()

/** @property */
public final void set_DataTypesBehavior (SapDataTypesBehavior value)
JScript
public final function get DataTypesBehavior () : SapDataTypesBehavior

public final function set DataTypesBehavior (value : SapDataTypesBehavior)

Property Value

Returns a SapDataTypesBehavior containing the data types behavior.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.EnableBusinessObjects Property
[image]

Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.EnableBusinessObjects

instance.EnableBusinessObjects = value

Syntax

Visual Basic
<ObsoleteAttribute("This field/property/method is deprecated")> _
<BrowsableAttribute(False)> _
Public Property EnableBusinessObjects As Boolean
C#
[ObsoleteAttribute("This field/property/method is deprecated")]
[BrowsableAttribute(false)]
public bool EnableBusinessObjects { get; set; }
C++
[ObsoleteAttribute(L"This field/property/method is deprecated")]
[BrowsableAttribute(false)]
public:
property bool EnableBusinessObjects {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_EnableBusinessObjects ()

/** @property */
public void set_EnableBusinessObjects (boolean value)
JScript
public function get EnableBusinessObjects () : boolean

public function set EnableBusinessObjects (value : boolean)

Property Value

Returns a Boolean that specifies of the business objects are surfaced.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.EnableConnectionPooling Property
[image]

Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.EnableConnectionPooling

instance.EnableConnectionPooling = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("enableConnectionPooling", DefaultValue:=True)> _
Public Property EnableConnectionPooling As Boolean
C#
[ConfigurationPropertyAttribute("enableConnectionPooling", DefaultValue=true)]
public bool EnableConnectionPooling { get; set; }
C++
[ConfigurationPropertyAttribute(L"enableConnectionPooling", DefaultValue=true)]
public:
virtual property bool EnableConnectionPooling {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableConnectionPooling ()

/** @property */
public final void set_EnableConnectionPooling (boolean value)
JScript
public final function get EnableConnectionPooling () : boolean

public final function set EnableConnectionPooling (value : boolean)

Property Value

Returns a Boolean indicating whether the connection pool is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.EnablePerformanceCounters Property
[image]

Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.EnablePerformanceCounters

instance.EnablePerformanceCounters = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("enablePerformanceCounters", DefaultValue:=False)> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Perf")> _
Public Property EnablePerformanceCounters As Boolean
C#
[ConfigurationPropertyAttribute("enablePerformanceCounters", DefaultValue=false)]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Perf")]
public bool EnablePerformanceCounters { get; set; }
C++
[ConfigurationPropertyAttribute(L"enablePerformanceCounters", DefaultValue=false)]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Perf")]
public:
virtual property bool EnablePerformanceCounters {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnablePerformanceCounters ()

/** @property */
public final void set_EnablePerformanceCounters (boolean value)
JScript
public final function get EnablePerformanceCounters () : boolean

public final function set EnablePerformanceCounters (value : boolean)

Property Value

Returns a Boolean indicating whether to enable the performance counters.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.EnableSafeTyping Property
[image]

Gets or sets a value that enables or disables safe typing.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.EnableSafeTyping

instance.EnableSafeTyping = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("enableSafeTyping", DefaultValue:=False)> _
Public Property EnableSafeTyping As Boolean
C#
[ConfigurationPropertyAttribute("enableSafeTyping", DefaultValue=false)]
public bool EnableSafeTyping { get; set; }
C++
[ConfigurationPropertyAttribute(L"enableSafeTyping", DefaultValue=false)]
public:
virtual property bool EnableSafeTyping {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableSafeTyping ()

/** @property */
public final void set_EnableSafeTyping (boolean value)
JScript
public final function get EnableSafeTyping () : boolean

public final function set EnableSafeTyping (value : boolean)

Property Value

Returns a Boolean that enables or disables safe typing.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.ExternalIdentificationData Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.ExternalIdentificationType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.FlatFileSegmentIndicator Property
[image]

Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As FlatFileSegmentIndicator

value = instance.FlatFileSegmentIndicator

instance.FlatFileSegmentIndicator = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("flatFileSegmentIndicator", DefaultValue:=FlatFileSegmentIndicator.SegmentDefinition)> _
Public Property FlatFileSegmentIndicator As FlatFileSegmentIndicator
C#
[ConfigurationPropertyAttribute("flatFileSegmentIndicator", DefaultValue=FlatFileSegmentIndicator.SegmentDefinition)]
public FlatFileSegmentIndicator FlatFileSegmentIndicator { get; set; }
C++
[ConfigurationPropertyAttribute(L"flatFileSegmentIndicator", DefaultValue=FlatFileSegmentIndicator::SegmentDefinition)]
public:
virtual property FlatFileSegmentIndicator FlatFileSegmentIndicator {
    FlatFileSegmentIndicator get () sealed;
    void set (FlatFileSegmentIndicator value) sealed;
}
J#
/** @property */
public final FlatFileSegmentIndicator get_FlatFileSegmentIndicator ()

/** @property */
public final void set_FlatFileSegmentIndicator (FlatFileSegmentIndicator value)
JScript
public final function get FlatFileSegmentIndicator () : FlatFileSegmentIndicator

public final function set FlatFileSegmentIndicator (value : FlatFileSegmentIndicator)

Property Value

Returns a FlatFileSegmentIndicator containing either SegmentDefinition or SegmentType.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.GenerateFlatFileCompatibleIdocSchema Property
[image]

Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.GenerateFlatFileCompatibleIdocSchema

instance.GenerateFlatFileCompatibleIdocSchema = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("generateFlatFileCompatibleIdocSchema", DefaultValue:=True)> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public Property GenerateFlatFileCompatibleIdocSchema As Boolean
C#
[ConfigurationPropertyAttribute("generateFlatFileCompatibleIdocSchema", DefaultValue=true)]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public bool GenerateFlatFileCompatibleIdocSchema { get; set; }
C++
[ConfigurationPropertyAttribute(L"generateFlatFileCompatibleIdocSchema", DefaultValue=true)]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
virtual property bool GenerateFlatFileCompatibleIdocSchema {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_GenerateFlatFileCompatibleIdocSchema ()

/** @property */
public final void set_GenerateFlatFileCompatibleIdocSchema (boolean value)
JScript
public final function get GenerateFlatFileCompatibleIdocSchema () : boolean

public final function set GenerateFlatFileCompatibleIdocSchema (value : boolean)

Property Value

Returns a Boolean that determines if the flat fils should be added.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.IdleConnectionTimeout Property
[image]

Gets or sets a value that Specifies the SAP adapter idle connection timeout.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As TimeSpan

value = instance.IdleConnectionTimeout

instance.IdleConnectionTimeout = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("idleConnectionTimeout", DefaultValue:="00:15:00")> _
Public Property IdleConnectionTimeout As TimeSpan
C#
[ConfigurationPropertyAttribute("idleConnectionTimeout", DefaultValue="00:15:00")]
public TimeSpan IdleConnectionTimeout { get; set; }
C++
[ConfigurationPropertyAttribute(L"idleConnectionTimeout", DefaultValue=L"00:15:00")]
public:
virtual property TimeSpan IdleConnectionTimeout {
    TimeSpan get () sealed;
    void set (TimeSpan value) sealed;
}
J#
/** @property */
public final TimeSpan get_IdleConnectionTimeout ()

/** @property */
public final void set_IdleConnectionTimeout (TimeSpan value)
JScript
public final function get IdleConnectionTimeout () : TimeSpan

public final function set IdleConnectionTimeout (value : TimeSpan)

Property Value

Returns a TimeSpan containing the connection timeout.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.LogOnTicketPassword Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.LogOnTicketType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.MaxConnectionsPerSystem Property
[image]

Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Integer

value = instance.MaxConnectionsPerSystem

instance.MaxConnectionsPerSystem = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("maxConnectionsPerSystem", DefaultValue:=50)> _
Public Property MaxConnectionsPerSystem As Integer
C#
[ConfigurationPropertyAttribute("maxConnectionsPerSystem", DefaultValue=50)]
public int MaxConnectionsPerSystem { get; set; }
C++
[ConfigurationPropertyAttribute(L"maxConnectionsPerSystem", DefaultValue=50)]
public:
virtual property int MaxConnectionsPerSystem {
    int get () sealed;
    void set (int value) sealed;
}
J#
/** @property */
public final int get_MaxConnectionsPerSystem ()

/** @property */
public final void set_MaxConnectionsPerSystem (int value)
JScript
public final function get MaxConnectionsPerSystem () : int

public final function set MaxConnectionsPerSystem (value : int)

Property Value

Returns a Int32 containing the maximum number of connections.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.PadReceivedIdocWithSpaces Property
[image]

Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As Boolean

value = instance.PadReceivedIdocWithSpaces

instance.PadReceivedIdocWithSpaces = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("padReceivedIdocWithSpaces", DefaultValue:=False)> _
Public Property PadReceivedIdocWithSpaces As Boolean
C#
[ConfigurationPropertyAttribute("padReceivedIdocWithSpaces", DefaultValue=false)]
public bool PadReceivedIdocWithSpaces { get; set; }
C++
[ConfigurationPropertyAttribute(L"padReceivedIdocWithSpaces", DefaultValue=false)]
public:
virtual property bool PadReceivedIdocWithSpaces {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_PadReceivedIdocWithSpaces ()

/** @property */
public final void set_PadReceivedIdocWithSpaces (boolean value)
JScript
public final function get PadReceivedIdocWithSpaces () : boolean

public final function set PadReceivedIdocWithSpaces (value : boolean)

Property Value

Returns a Boolean specifying whether the lines are padded.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.Properties Property
[image]

Gets the collection of extension properties.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim value As ConfigurationPropertyCollection

value = Me.Properties

Syntax

Visual Basic
Protected Overrides ReadOnly Property Properties As ConfigurationPropertyCollection
C#
protected override ConfigurationPropertyCollection Properties { get; }
C++
protected:
virtual property ConfigurationPropertyCollection^ Properties {
    ConfigurationPropertyCollection^ get () override;
}
J#
/** @property */
protected ConfigurationPropertyCollection get_Properties ()
JScript
protected override function get Properties () : ConfigurationPropertyCollection

Property Value

Returns a ConfigurationPropertyCollection containing the extension properties.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.ReceiveIdocFormat Property
[image]

Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As IdocReceiveFormat

value = instance.ReceiveIdocFormat

instance.ReceiveIdocFormat = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
<ConfigurationPropertyAttribute("receiveIdocFormat", DefaultValue:=IdocReceiveFormat.Typed)> _
Public Property ReceiveIdocFormat As IdocReceiveFormat
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
[ConfigurationPropertyAttribute("receiveIdocFormat", DefaultValue=IdocReceiveFormat.Typed)]
public IdocReceiveFormat ReceiveIdocFormat { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
[ConfigurationPropertyAttribute(L"receiveIdocFormat", DefaultValue=IdocReceiveFormat::Typed)]
public:
virtual property IdocReceiveFormat ReceiveIdocFormat {
    IdocReceiveFormat get () sealed;
    void set (IdocReceiveFormat value) sealed;
}
J#
/** @property */
public final IdocReceiveFormat get_ReceiveIdocFormat ()

/** @property */
public final void set_ReceiveIdocFormat (IdocReceiveFormat value)
JScript
public final function get ReceiveIdocFormat () : IdocReceiveFormat

public final function set ReceiveIdocFormat (value : IdocReceiveFormat)

Property Value

Returns a IdocReceiveFormat containing the receive format.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.RfcAllowStartProgram Property
[image]

Content to be provided.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As String

value = instance.RfcAllowStartProgram

instance.RfcAllowStartProgram = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("rfcAllowStartProgram", DefaultValue:="")> _
Public Property RfcAllowStartProgram As String
C#
[ConfigurationPropertyAttribute("rfcAllowStartProgram", DefaultValue="")]
public string RfcAllowStartProgram { get; set; }
C++
[ConfigurationPropertyAttribute(L"rfcAllowStartProgram", DefaultValue=L"")]
public:
virtual property String^ RfcAllowStartProgram {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_RfcAllowStartProgram ()

/** @property */
public final void set_RfcAllowStartProgram (String value)
JScript
public final function get RfcAllowStartProgram () : String

public final function set RfcAllowStartProgram (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.SncLibrary Property
[image]

Gets or sets a value that specifies the specifies the location of the SNC library on your computer.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As String

value = instance.SncLibrary

instance.SncLibrary = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("sncLibrary")> _
Public Property SncLibrary As String
C#
[ConfigurationPropertyAttribute("sncLibrary")]
public string SncLibrary { get; set; }
C++
[ConfigurationPropertyAttribute(L"sncLibrary")]
public:
virtual property String^ SncLibrary {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncLibrary ()

/** @property */
public final void set_SncLibrary (String value)
JScript
public final function get SncLibrary () : String

public final function set SncLibrary (value : String)

Property Value

Returns a String containing the library path.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.SncPartnerName Property
[image]

Gets or sets a value that specifies the SNC partner name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As String

value = instance.SncPartnerName

instance.SncPartnerName = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("sncPartnerName")> _
Public Property SncPartnerName As String
C#
[ConfigurationPropertyAttribute("sncPartnerName")]
public string SncPartnerName { get; set; }
C++
[ConfigurationPropertyAttribute(L"sncPartnerName")]
public:
virtual property String^ SncPartnerName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncPartnerName ()

/** @property */
public final void set_SncPartnerName (String value)
JScript
public final function get SncPartnerName () : String

public final function set SncPartnerName (value : String)

Property Value

Returns a String containing the SNC partner name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterExtensionElement.TidDatabaseConnectionString Property
[image]

Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPAdapterExtensionElement
Dim value As String

value = instance.TidDatabaseConnectionString

instance.TidDatabaseConnectionString = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("tidDatabaseConnectionString")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
Public Property TidDatabaseConnectionString As String
C#
[ConfigurationPropertyAttribute("tidDatabaseConnectionString")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
public string TidDatabaseConnectionString { get; set; }
C++
[ConfigurationPropertyAttribute(L"tidDatabaseConnectionString")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
public:
virtual property String^ TidDatabaseConnectionString {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_TidDatabaseConnectionString ()

/** @property */
public final void set_TidDatabaseConnectionString (String value)
JScript
public final function get TidDatabaseConnectionString () : String

public final function set TidDatabaseConnectionString (value : String)

Property Value

Returns a String containing the database connection string.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterExtensionElement Class
SAPAdapterExtensionElement Members


SAPAdapterUtilities Class
See Also Members
[image]

Contains the SAP adapter utilities.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public NotInheritable Class SAPAdapterUtilities
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public static class SAPAdapterUtilities
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPAdapterUtilities abstract sealed
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public final class SAPAdapterUtilities
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public final class SAPAdapterUtilities

Inheritance Hierarchy

System.Object
Microsoft.Adapters.SAP.SAPAdapterUtilities

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterUtilities Members


SAPAdapterUtilities Members
See Also Methods
[image]

Contains the SAP adapter utilities.

The following tables list the members exposed by the SAPAdapterUtilities type.

Public Methods

Name | Description
ConvertGuidToTid | converts the specified GUID to a transaction ID.
ConvertTidToGuid | Converts the specified transaction ID to a GUID.
Top

See Also

Reference

SAPAdapterUtilities Class


SAPAdapterUtilities Methods
[image]

Public Methods

Name | Description
ConvertGuidToTid | converts the specified GUID to a transaction ID.
ConvertTidToGuid | Converts the specified transaction ID to a GUID.

See Also

Reference

SAPAdapterUtilities Class


SAPAdapterUtilities.ConvertGuidToTid Method
[image]

converts the specified GUID to a transaction ID.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim value As Guid
Dim returnValue As String

returnValue = SAPAdapterUtilities.ConvertGuidToTid(value)

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
Public Shared Function ConvertGuidToTid ( _
    value As Guid _
) As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
public static string ConvertGuidToTid (
    Guid value
)
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
public:
static String^ ConvertGuidToTid (
    Guid value
)
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid") */
public static String ConvertGuidToTid (
    Guid value
)
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")
public static function ConvertGuidToTid (
    value : Guid
) : String

Parameters

guid

The GUID to translate.

Return Value

Returns a String containing the transaction ID.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterUtilities Class
SAPAdapterUtilities Members


SAPAdapterUtilities.ConvertTidToGuid Method
[image]

Converts the specified transaction ID to a GUID.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim tid As String
Dim returnValue As Guid

returnValue = SAPAdapterUtilities.ConvertTidToGuid(tid)

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="tid")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="0#tid")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
Public Shared Function ConvertTidToGuid ( _
    tid As String _
) As Guid
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="tid")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="0#tid")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
public static Guid ConvertTidToGuid (
    string tid
)
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"tid")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"0#tid")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
public:
static Guid ConvertTidToGuid (
    String^ tid
)
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="tid") */
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="0#tid") */
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid") */
public static Guid ConvertTidToGuid (
    String tid
)
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="tid")
SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="0#tid")
SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")
public static function ConvertTidToGuid (
    tid : String
) : Guid

Parameters

tid

The transaction ID to translate.

Return Value

Returns a Guid containing the GUID.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPAdapterUtilities Class
SAPAdapterUtilities Members


SAPBinding Class
See Also Members
[image]

Desccribes an SAP binding.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
Public Class SAPBinding
    Inherits CommonBinding
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
public class SAPBinding : CommonBinding
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
public ref class SAPBinding : public CommonBinding
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
public class SAPBinding extends CommonBinding
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
public class SAPBinding extends CommonBinding

Inheritance Hierarchy

System.Object
System.ServiceModel.Channels.Binding
Microsoft.ServiceModel.Channels.Common.AdapterBinding
Microsoft.Adapters.AdapterUtilities.CommonBinding
Microsoft.Adapters.SAP.SAPBinding

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Members


SAPBinding Members
See Also Constructors Methods Properties
[image]

Desccribes an SAP binding.

The following tables list the members exposed by the SAPBinding type.

Public Constructors

Name | Description
SAPBinding | Overloaded. Creates a new instance of the SAP binding class.
Top

Public Properties

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AssuresOrderedDelivery | (inherited from AdapterBinding)
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | CloseTimeout | (inherited from Binding)
public property | ConnectionUriType | Overridden. Gets or sets a value that specifies the connection URI type.
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | DefaultXsdFileNamePrefix | Overridden.
public property | EnableBizTalkCompatibilityMode | Gets or sets a value that determines if BizTalk compatibility mode is enabled. (inherited from CommonBinding)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | MessageVersion | (inherited from Binding)
public property | Name | (inherited from Binding)
public property | Namespace | (inherited from Binding)
public property | NamespaceHelper | Gets or sets a value that specifies the namespace holder.
public property | OpenTimeout | (inherited from Binding)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | QueuedDelivery | (inherited from AdapterBinding)
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | ReceiveTimeout | (inherited from Binding)
public property | RfcAllowStartProgram | Content to be provided.
public property | Scheme | Overridden. Gets or sets a value that contains the scheme.
public property | SendTimeout | (inherited from Binding)
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | SupportsCertificateAuthentication | (inherited from AdapterBinding)
public property | SupportsMetadataBrowse | Overridden. Gets or sets a value that specifies if the database supports metadata browsing.
public property | SupportsMetadataGet | Overridden. Gets or sets a value that specifies if the database supports metadata retrieval.
public property | SupportsMetadataSearch | Overridden. Gets or sets a value that specifies if the database supports metadata search.
public property | SupportsUserNameAuthentication | (inherited from AdapterBinding)
public property | SupportsWindowsAuthentication | (inherited from AdapterBinding)
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | BuildChannelFactory | (inherited from Binding)
public method | BuildChannelFactory | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | CanBuildChannelFactory | (inherited from Binding)
public method | CanBuildChannelFactory | (inherited from Binding)
public method | CanBuildChannelListener | (inherited from Binding)
public method | CanBuildChannelListener | (inherited from Binding)
public method | CreateBindingElements | Overridden. Creates the SAP binding elements.
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetProperty | (inherited from Binding)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)
Top

See Also

Reference

SAPBinding Class


SAPBinding Constructor
[image]

Creates a new instance of the SAP binding class.

Overload List

Name | Description
SAPBinding () | Creates a new instance of the SAP binding class, using the default parameters.
SAPBinding (String) | Creates a new instance of the SAPBinding class, using the specified configuration name.

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding Constructor ()
[image]

Creates a new instance of the SAP binding class, using the default parameters.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPBinding

Syntax

Visual Basic
Public Sub New
C#
public SAPBinding ()
C++
public:
SAPBinding ()
J#
public SAPBinding ()
JScript
public function SAPBinding ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding Constructor (String)
[image]

Creates a new instance of the SAPBinding class, using the specified configuration name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim configurationName As String

Dim instance As New SAPBinding(configurationName)

Syntax

Visual Basic
Public Sub New ( _
    configurationName As String _
)
C#
public SAPBinding (
    string configurationName
)
C++
public:
SAPBinding (
    String^ configurationName
)
J#
public SAPBinding (
    String configurationName
)
JScript
public function SAPBinding (
    configurationName : String
)

Parameters

configurationName

the configuration name.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | BuildChannelFactory | (inherited from Binding)
public method | BuildChannelFactory | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | BuildChannelListener | (inherited from Binding)
public method | CanBuildChannelFactory | (inherited from Binding)
public method | CanBuildChannelFactory | (inherited from Binding)
public method | CanBuildChannelListener | (inherited from Binding)
public method | CanBuildChannelListener | (inherited from Binding)
public method | CreateBindingElements | Overridden. Creates the SAP binding elements.
public method | Equals | (inherited from Object)
public method | GetHashCode | (inherited from Object)
public method | GetProperty | (inherited from Binding)
public method | GetType | (inherited from Object)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)

See Also

Reference

SAPBinding Class


SAPBinding.CreateBindingElements Method
[image]

Creates the SAP binding elements.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim returnValue As BindingElementCollection

returnValue = instance.CreateBindingElements

Syntax

Visual Basic
Public Overrides NotOverridable Function CreateBindingElements As BindingElementCollection
C#
public override sealed BindingElementCollection CreateBindingElements ()
C++
public:
virtual BindingElementCollection^ CreateBindingElements () override sealed
J#
public final BindingElementCollection CreateBindingElements ()
JScript
public override final function CreateBindingElements () : BindingElementCollection

Return Value

Returns a BindingElementCollection containing the SAP binding elements.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding Properties
[image]

Public Properties

 | Name | Description
public property | AcceptCredentialsInUri | Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.
public property | AssuresOrderedDelivery | (inherited from AdapterBinding)
public property | AutoConfirmSentIdocs | Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.
public property | CloseTimeout | (inherited from Binding)
public property | ConnectionUriType | Overridden. Gets or sets a value that specifies the connection URI type.
public property | DataTypesBehavior | Gets or sets a value that specifies the data types behavior.
public property | DefaultXsdFileNamePrefix | Overridden.
public property | EnableBizTalkCompatibilityMode | Gets or sets a value that determines if BizTalk compatibility mode is enabled. (inherited from CommonBinding)
public property | EnableBusinessObjects | Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter. Obsolete.
public property | EnableConnectionPooling | Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.
public property | EnablePerformanceCounters | Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.
public property | EnableSafeTyping | Gets or sets a value that enables or disables safe typing.
public property | ExternalIdentificationData |
public property | ExternalIdentificationType |
public property | FlatFileSegmentIndicator | Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.
public property | GenerateFlatFileCompatibleIdocSchema | Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.
public property | IdleConnectionTimeout | Gets or sets a value that Specifies the SAP adapter idle connection timeout.
public property | LogOnTicketPassword |
public property | LogOnTicketType |
public property | MaxConnectionsPerSystem | Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.
public property | MessageVersion | (inherited from Binding)
public property | Name | (inherited from Binding)
public property | Namespace | (inherited from Binding)
public property | NamespaceHelper | Gets or sets a value that specifies the namespace holder.
public property | OpenTimeout | (inherited from Binding)
public property | PadReceivedIdocWithSpaces | Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.
public property | QueuedDelivery | (inherited from AdapterBinding)
public property | ReceiveIdocFormat | Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).
public property | ReceiveTimeout | (inherited from Binding)
public property | RfcAllowStartProgram | Content to be provided.
public property | Scheme | Overridden. Gets or sets a value that contains the scheme.
public property | SendTimeout | (inherited from Binding)
public property | SncLibrary | Gets or sets a value that specifies the specifies the location of the SNC library on your computer.
public property | SncPartnerName | Gets or sets a value that specifies the SNC partner name.
public property | SupportsCertificateAuthentication | (inherited from AdapterBinding)
public property | SupportsMetadataBrowse | Overridden. Gets or sets a value that specifies if the database supports metadata browsing.
public property | SupportsMetadataGet | Overridden. Gets or sets a value that specifies if the database supports metadata retrieval.
public property | SupportsMetadataSearch | Overridden. Gets or sets a value that specifies if the database supports metadata search.
public property | SupportsUserNameAuthentication | (inherited from AdapterBinding)
public property | SupportsWindowsAuthentication | (inherited from AdapterBinding)
public property | TidDatabaseConnectionString | Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

See Also

Reference

SAPBinding Class


SAPBinding.AcceptCredentialsInUri Property
[image]

Gets or sets a value that specifies whether the SAP connection URI can contain user credentials for the SAP system.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.AcceptCredentialsInUri

instance.AcceptCredentialsInUri = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property AcceptCredentialsInUri As Boolean
C#
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public bool AcceptCredentialsInUri { get; set; }
C++
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property bool AcceptCredentialsInUri {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AcceptCredentialsInUri ()

/** @property */
public final void set_AcceptCredentialsInUri (boolean value)
JScript
public final function get AcceptCredentialsInUri () : boolean

public final function set AcceptCredentialsInUri (value : boolean)

Property Value

Returns a Boolean that specifies whether the URI can contain user credentials.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.AutoConfirmSentIdocs Property
[image]

Gets or sets a value that specifies whether the SAP adapter auto-commits tRFC client calls used for sending IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.AutoConfirmSentIdocs

instance.AutoConfirmSentIdocs = value

Syntax

Visual Basic
<CategoryAttribute("Idoc")> _
<BrowsableAttribute(True)> _
<BindingPropertyDirectionAttribute(False, True)> _
Public Property AutoConfirmSentIdocs As Boolean
C#
[CategoryAttribute("Idoc")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(false, true)]
public bool AutoConfirmSentIdocs { get; set; }
C++
[CategoryAttribute(L"Idoc")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(false, true)]
public:
virtual property bool AutoConfirmSentIdocs {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_AutoConfirmSentIdocs ()

/** @property */
public final void set_AutoConfirmSentIdocs (boolean value)
JScript
public final function get AutoConfirmSentIdocs () : boolean

public final function set AutoConfirmSentIdocs (value : boolean)

Property Value

Returns a Boolean specifying whether the SAP adapter auto-mommits.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.ConnectionUriType Property
[image]

Gets or sets a value that specifies the connection URI type.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Type

value = instance.ConnectionUriType

Syntax

Visual Basic
<BrowsableAttribute(False)> _
Public Overrides NotOverridable ReadOnly Property ConnectionUriType As Type
C#
[BrowsableAttribute(false)]
public override sealed Type ConnectionUriType { get; }
C++
[BrowsableAttribute(false)]
public:
virtual property Type^ ConnectionUriType {
    Type^ get () override sealed;
}
J#
/** @property */
public final Type get_ConnectionUriType ()
JScript
public override final function get ConnectionUriType () : Type

Property Value

Returns a Type containing the URI type.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.DataTypesBehavior Property
[image]

Gets or sets a value that specifies the data types behavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As SapDataTypesBehavior

value = instance.DataTypesBehavior

instance.DataTypesBehavior = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
Public Property DataTypesBehavior As SapDataTypesBehavior
C#
[BrowsableAttribute(true)]
public SapDataTypesBehavior DataTypesBehavior { get; set; }
C++
[BrowsableAttribute(true)]
public:
virtual property SapDataTypesBehavior^ DataTypesBehavior {
    SapDataTypesBehavior^ get () sealed;
    void set (SapDataTypesBehavior^ value) sealed;
}
J#
/** @property */
public final SapDataTypesBehavior get_DataTypesBehavior ()

/** @property */
public final void set_DataTypesBehavior (SapDataTypesBehavior value)
JScript
public final function get DataTypesBehavior () : SapDataTypesBehavior

public final function set DataTypesBehavior (value : SapDataTypesBehavior)

Property Value

Returns a SapDataTypesBehavior containing the data types behavior.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.DefaultXsdFileNamePrefix Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.DefaultXsdFileNamePrefix

Syntax

Visual Basic
Public Overrides ReadOnly Property DefaultXsdFileNamePrefix As String
C#
public override string DefaultXsdFileNamePrefix { get; }
C++
public:
virtual property String^ DefaultXsdFileNamePrefix {
    String^ get () override;
}
J#
/** @property */
public String get_DefaultXsdFileNamePrefix ()
JScript
public override function get DefaultXsdFileNamePrefix () : String

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.EnableBusinessObjects Property
[image]

Gets or sets a value that specifies whether SAP business objects are surfaced by the SAP adapter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.EnableBusinessObjects

instance.EnableBusinessObjects = value

Syntax

Visual Basic
<ObsoleteAttribute("This field/property/method is deprecated")> _
<BrowsableAttribute(False)> _
Public Property EnableBusinessObjects As Boolean
C#
[ObsoleteAttribute("This field/property/method is deprecated")]
[BrowsableAttribute(false)]
public bool EnableBusinessObjects { get; set; }
C++
[ObsoleteAttribute(L"This field/property/method is deprecated")]
[BrowsableAttribute(false)]
public:
property bool EnableBusinessObjects {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_EnableBusinessObjects ()

/** @property */
public void set_EnableBusinessObjects (boolean value)
JScript
public function get EnableBusinessObjects () : boolean

public function set EnableBusinessObjects (value : boolean)

Property Value

Returns a Boolean that specifies of the business objects are surfaced.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.EnableConnectionPooling Property
[image]

Gets or sets a value that specifies whether the SAP adapter connection pool is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.EnableConnectionPooling

instance.EnableConnectionPooling = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property EnableConnectionPooling As Boolean
C#
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public bool EnableConnectionPooling { get; set; }
C++
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property bool EnableConnectionPooling {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableConnectionPooling ()

/** @property */
public final void set_EnableConnectionPooling (boolean value)
JScript
public final function get EnableConnectionPooling () : boolean

public final function set EnableConnectionPooling (value : boolean)

Property Value

Returns a Boolean indicating whether the connection pool is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.EnablePerformanceCounters Property
[image]

Gets or sets a value that specifies whether to enable the WCF LOB Adapter SDK performance counters and the SAP adapter LOB Latency performance counter.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.EnablePerformanceCounters

instance.EnablePerformanceCounters = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Diagnostics")> _
Public Property EnablePerformanceCounters As Boolean
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Diagnostics")]
public bool EnablePerformanceCounters { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Diagnostics")]
public:
virtual property bool EnablePerformanceCounters {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnablePerformanceCounters ()

/** @property */
public final void set_EnablePerformanceCounters (boolean value)
JScript
public final function get EnablePerformanceCounters () : boolean

public final function set EnablePerformanceCounters (value : boolean)

Property Value

Returns a Boolean indicating whether to enable the performance counters.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.EnableSafeTyping Property
[image]

Gets or sets a value that enables or disables safe typing.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.EnableSafeTyping

instance.EnableSafeTyping = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Metadata")> _
Public Property EnableSafeTyping As Boolean
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Metadata")]
public bool EnableSafeTyping { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Metadata")]
public:
virtual property bool EnableSafeTyping {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_EnableSafeTyping ()

/** @property */
public final void set_EnableSafeTyping (boolean value)
JScript
public final function get EnableSafeTyping () : boolean

public final function set EnableSafeTyping (value : boolean)

Property Value

Returns Boolean that enables or disables safe typing.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.ExternalIdentificationData Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPBinding Class
SAPBinding Members


SAPBinding.ExternalIdentificationType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPBinding Class
SAPBinding Members


SAPBinding.FlatFileSegmentIndicator Property
[image]

Gets or sets a value that specifies whether the <appinfo> tag should contain segment types or segment definitions for parsing flat file IDocs.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As FlatFileSegmentIndicator

value = instance.FlatFileSegmentIndicator

instance.FlatFileSegmentIndicator = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Metadata")> _
Public Property FlatFileSegmentIndicator As FlatFileSegmentIndicator
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Metadata")]
public FlatFileSegmentIndicator FlatFileSegmentIndicator { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Metadata")]
public:
virtual property FlatFileSegmentIndicator FlatFileSegmentIndicator {
    FlatFileSegmentIndicator get () sealed;
    void set (FlatFileSegmentIndicator value) sealed;
}
J#
/** @property */
public final FlatFileSegmentIndicator get_FlatFileSegmentIndicator ()

/** @property */
public final void set_FlatFileSegmentIndicator (FlatFileSegmentIndicator value)
JScript
public final function get FlatFileSegmentIndicator () : FlatFileSegmentIndicator

public final function set FlatFileSegmentIndicator (value : FlatFileSegmentIndicator)

Property Value

Returns a FlatFileSegmentIndicator containing either SegmentDefinition or SegmentType.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.GenerateFlatFileCompatibleIdocSchema Property
[image]

Gets or sets a value that specifies whether flat file <appinfo> tags should be added to the IDoc message schema.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.GenerateFlatFileCompatibleIdocSchema

instance.GenerateFlatFileCompatibleIdocSchema = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Metadata")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
Public Property GenerateFlatFileCompatibleIdocSchema As Boolean
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Metadata")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
public bool GenerateFlatFileCompatibleIdocSchema { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Metadata")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
public:
virtual property bool GenerateFlatFileCompatibleIdocSchema {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_GenerateFlatFileCompatibleIdocSchema ()

/** @property */
public final void set_GenerateFlatFileCompatibleIdocSchema (boolean value)
JScript
public final function get GenerateFlatFileCompatibleIdocSchema () : boolean

public final function set GenerateFlatFileCompatibleIdocSchema (value : boolean)

Property Value

Returns a Boolean that determines if the flat files should be added.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.IdleConnectionTimeout Property
[image]

Gets or sets a value that Specifies the SAP adapter idle connection timeout.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As TimeSpan

value = instance.IdleConnectionTimeout

instance.IdleConnectionTimeout = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property IdleConnectionTimeout As TimeSpan
C#
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public TimeSpan IdleConnectionTimeout { get; set; }
C++
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property TimeSpan IdleConnectionTimeout {
    TimeSpan get () sealed;
    void set (TimeSpan value) sealed;
}
J#
/** @property */
public final TimeSpan get_IdleConnectionTimeout ()

/** @property */
public final void set_IdleConnectionTimeout (TimeSpan value)
JScript
public final function get IdleConnectionTimeout () : TimeSpan

public final function set IdleConnectionTimeout (value : TimeSpan)

Property Value

Returns a TimeSpan containing the connection timeout.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.LogOnTicketPassword Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPBinding Class
SAPBinding Members


SAPBinding.LogOnTicketType Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic

  Syntax
Visual Basic

C#

C++

J#

JScript

  Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
  Platforms
Development Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
Target Platforms
The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008
  See Also
Reference
SAPBinding Class
SAPBinding Members


SAPBinding.MaxConnectionsPerSystem Property
[image]

Gets or sets a value that specifies the maximum number of connections in the SAP adapter connection pool.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Integer

value = instance.MaxConnectionsPerSystem

instance.MaxConnectionsPerSystem = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property MaxConnectionsPerSystem As Integer
C#
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public int MaxConnectionsPerSystem { get; set; }
C++
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property int MaxConnectionsPerSystem {
    int get () sealed;
    void set (int value) sealed;
}
J#
/** @property */
public final int get_MaxConnectionsPerSystem ()

/** @property */
public final void set_MaxConnectionsPerSystem (int value)
JScript
public final function get MaxConnectionsPerSystem () : int

public final function set MaxConnectionsPerSystem (value : int)

Property Value

Returns a Int32 containing the maximum number of connections.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.NamespaceHelper Property
[image]

Gets or sets a value that specifies the namespace holder.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As NamespaceHelper

value = instance.NamespaceHelper

Syntax

Visual Basic
Public ReadOnly Property NamespaceHelper As NamespaceHelper
C#
public NamespaceHelper NamespaceHelper { get; }
C++
public:
property NamespaceHelper^ NamespaceHelper {
    NamespaceHelper^ get ();
}
J#
/** @property */
public NamespaceHelper get_NamespaceHelper ()
JScript
public function get NamespaceHelper () : NamespaceHelper

Property Value

Returns a NamespaceHelper containing the namespace holder.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.PadReceivedIdocWithSpaces Property
[image]

Gets or sets a value that specifies whether each line returned by the ReceiveIdoc operation is padded with spaces to the correct length.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.PadReceivedIdocWithSpaces

instance.PadReceivedIdocWithSpaces = value

Syntax

Visual Basic
<CategoryAttribute("Idoc")> _
<BindingPropertyDirectionAttribute(True, False)> _
<BrowsableAttribute(True)> _
Public Property PadReceivedIdocWithSpaces As Boolean
C#
[CategoryAttribute("Idoc")]
[BindingPropertyDirectionAttribute(true, false)]
[BrowsableAttribute(true)]
public bool PadReceivedIdocWithSpaces { get; set; }
C++
[CategoryAttribute(L"Idoc")]
[BindingPropertyDirectionAttribute(true, false)]
[BrowsableAttribute(true)]
public:
virtual property bool PadReceivedIdocWithSpaces {
    bool get () sealed;
    void set (bool value) sealed;
}
J#
/** @property */
public final boolean get_PadReceivedIdocWithSpaces ()

/** @property */
public final void set_PadReceivedIdocWithSpaces (boolean value)
JScript
public final function get PadReceivedIdocWithSpaces () : boolean

public final function set PadReceivedIdocWithSpaces (value : boolean)

Property Value

Returns a Boolean specifying whether the lines are padded.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.ReceiveIdocFormat Property
[image]

Gets or sets a value that specifies the XML format of the messages dispatched by the SAP adapter to the client application on the inbound side (SAP to adapter).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As IdocReceiveFormat

value = instance.ReceiveIdocFormat

instance.ReceiveIdocFormat = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Idoc")> _
<CategoryAttribute("Metadata")> _
<BrowsableAttribute(True)> _
<BindingPropertyDirectionAttribute(True, False)> _
Public Property ReceiveIdocFormat As IdocReceiveFormat
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Idoc")]
[CategoryAttribute("Metadata")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(true, false)]
public IdocReceiveFormat ReceiveIdocFormat { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Idoc")]
[CategoryAttribute(L"Metadata")]
[BrowsableAttribute(true)]
[BindingPropertyDirectionAttribute(true, false)]
public:
virtual property IdocReceiveFormat ReceiveIdocFormat {
    IdocReceiveFormat get () sealed;
    void set (IdocReceiveFormat value) sealed;
}
J#
/** @property */
public final IdocReceiveFormat get_ReceiveIdocFormat ()

/** @property */
public final void set_ReceiveIdocFormat (IdocReceiveFormat value)
JScript
public final function get ReceiveIdocFormat () : IdocReceiveFormat

public final function set ReceiveIdocFormat (value : IdocReceiveFormat)

Property Value

Returns a IdocReceiveFormat containing the receive format.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.RfcAllowStartProgram Property
[image]

Content to be provided.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.RfcAllowStartProgram

instance.RfcAllowStartProgram = value

Syntax

Visual Basic
<CategoryAttribute("Connection")> _
<BrowsableAttribute(True)> _
Public Property RfcAllowStartProgram As String
C#
[CategoryAttribute("Connection")]
[BrowsableAttribute(true)]
public string RfcAllowStartProgram { get; set; }
C++
[CategoryAttribute(L"Connection")]
[BrowsableAttribute(true)]
public:
virtual property String^ RfcAllowStartProgram {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_RfcAllowStartProgram ()

/** @property */
public final void set_RfcAllowStartProgram (String value)
JScript
public final function get RfcAllowStartProgram () : String

public final function set RfcAllowStartProgram (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.Scheme Property
[image]

Gets or sets a value that contains the scheme.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.Scheme

Syntax

Visual Basic
<BrowsableAttribute(True)> _
Public Overrides NotOverridable ReadOnly Property Scheme As String
C#
[BrowsableAttribute(true)]
public override sealed string Scheme { get; }
C++
[BrowsableAttribute(true)]
public:
virtual property String^ Scheme {
    String^ get () override sealed;
}
J#
/** @property */
public final String get_Scheme ()
JScript
public override final function get Scheme () : String

Property Value

Returns a String containing the scheme.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.SncLibrary Property
[image]

Gets or sets a value that specifies the specifies the location of the SNC library on your computer.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.SncLibrary

instance.SncLibrary = value

Syntax

Visual Basic
<CategoryAttribute("SNC")> _
<BrowsableAttribute(True)> _
Public Property SncLibrary As String
C#
[CategoryAttribute("SNC")]
[BrowsableAttribute(true)]
public string SncLibrary { get; set; }
C++
[CategoryAttribute(L"SNC")]
[BrowsableAttribute(true)]
public:
virtual property String^ SncLibrary {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncLibrary ()

/** @property */
public final void set_SncLibrary (String value)
JScript
public final function get SncLibrary () : String

public final function set SncLibrary (value : String)

Property Value

Returns a String containing the library path.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.SncPartnerName Property
[image]

Gets or sets a value that specifies the SNC partner name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.SncPartnerName

instance.SncPartnerName = value

Syntax

Visual Basic
<CategoryAttribute("SNC")> _
<BrowsableAttribute(True)> _
Public Property SncPartnerName As String
C#
[CategoryAttribute("SNC")]
[BrowsableAttribute(true)]
public string SncPartnerName { get; set; }
C++
[CategoryAttribute(L"SNC")]
[BrowsableAttribute(true)]
public:
virtual property String^ SncPartnerName {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_SncPartnerName ()

/** @property */
public final void set_SncPartnerName (String value)
JScript
public final function get SncPartnerName () : String

public final function set SncPartnerName (value : String)

Property Value

Returns a String containing the SNC partner name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.SupportsMetadataBrowse Property
[image]

Gets or sets a value that specifies if the database supports metadata browsing.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.SupportsMetadataBrowse

Syntax

Visual Basic
<BrowsableAttribute(True)> _
Public Overrides NotOverridable ReadOnly Property SupportsMetadataBrowse As Boolean
C#
[BrowsableAttribute(true)]
public override sealed bool SupportsMetadataBrowse { get; }
C++
[BrowsableAttribute(true)]
public:
virtual property bool SupportsMetadataBrowse {
    bool get () override sealed;
}
J#
/** @property */
public final boolean get_SupportsMetadataBrowse ()
JScript
public override final function get SupportsMetadataBrowse () : boolean

Property Value

Returns a Boolean that indicates if the database supports metadata browsing.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.SupportsMetadataGet Property
[image]

Gets or sets a value that specifies if the database supports metadata retrieval.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.SupportsMetadataGet

Syntax

Visual Basic
<BrowsableAttribute(True)> _
Public Overrides NotOverridable ReadOnly Property SupportsMetadataGet As Boolean
C#
[BrowsableAttribute(true)]
public override sealed bool SupportsMetadataGet { get; }
C++
[BrowsableAttribute(true)]
public:
virtual property bool SupportsMetadataGet {
    bool get () override sealed;
}
J#
/** @property */
public final boolean get_SupportsMetadataGet ()
JScript
public override final function get SupportsMetadataGet () : boolean

Property Value

Returns a Boolean indicating if the database supports metadata retrieval..

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.SupportsMetadataSearch Property
[image]

Gets or sets a value that specifies if the database supports metadata search.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As Boolean

value = instance.SupportsMetadataSearch

Syntax

Visual Basic
<BrowsableAttribute(True)> _
Public Overrides NotOverridable ReadOnly Property SupportsMetadataSearch As Boolean
C#
[BrowsableAttribute(true)]
public override sealed bool SupportsMetadataSearch { get; }
C++
[BrowsableAttribute(true)]
public:
virtual property bool SupportsMetadataSearch {
    bool get () override sealed;
}
J#
/** @property */
public final boolean get_SupportsMetadataSearch ()
JScript
public override final function get SupportsMetadataSearch () : boolean

Property Value

Returns a Boolean that indicates if the database supports metadata search.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPBinding.TidDatabaseConnectionString Property
[image]

Gets or sets a value that specifies the database connection string for the SQL Server database that the SAP adapter uses to store Transaction Ids (TIDs).

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPBinding
Dim value As String

value = instance.TidDatabaseConnectionString

instance.TidDatabaseConnectionString = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Tid")> _
<CategoryAttribute("TrfcServer")> _
<BindingPropertyDirectionAttribute(True, False)> _
Public Property TidDatabaseConnectionString As String
C#
[BrowsableAttribute(true)]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Tid")]
[CategoryAttribute("TrfcServer")]
[BindingPropertyDirectionAttribute(true, false)]
public string TidDatabaseConnectionString { get; set; }
C++
[BrowsableAttribute(true)]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Tid")]
[CategoryAttribute(L"TrfcServer")]
[BindingPropertyDirectionAttribute(true, false)]
public:
virtual property String^ TidDatabaseConnectionString {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_TidDatabaseConnectionString ()

/** @property */
public final void set_TidDatabaseConnectionString (String value)
JScript
public final function get TidDatabaseConnectionString () : String

public final function set TidDatabaseConnectionString (value : String)

Property Value

Returns a String containing the database connection string.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPBinding Class
SAPBinding Members


SAPConnectionUri Class
See Also Members
[image]

Defines the SAP connection URI.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="SAP")> _
Public Class SAPConnectionUri
    Inherits ConnectionUri
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="SAP")]
public class SAPConnectionUri : ConnectionUri
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1705:LongAcronymsShouldBePascalCased")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"SAP")]
public ref class SAPConnectionUri : public ConnectionUri
J#
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased") */
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="SAP") */
public class SAPConnectionUri extends ConnectionUri
JScript
SuppressMessageAttribute("Microsoft.Naming", "CA1705:LongAcronymsShouldBePascalCased")
SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="SAP")
public class SAPConnectionUri extends ConnectionUri

Inheritance Hierarchy

System.Object
Microsoft.ServiceModel.Channels.Common.ConnectionUri
Microsoft.Adapters.SAP.SAPConnectionUri

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Members


SAPConnectionUri Members
See Also Constructors Methods Properties
[image]

Defines the SAP connection URI.

The following tables list the members exposed by the SAPConnectionUri type.

Public Constructors

Name | Description
SAPConnectionUri | Creates a new instance of the SAPConnectionUri object.
Top

Public Properties

 | Name | Description
public property | AbapDebug | Gets or sets a value that specifies whether ABAP debugging from Visual Studio is enabled.
public property | ApplicationServerHost | Gets or sets the value that determines if the connection is a host-based connection.
public property | Client | Gets or sets SAP client ID.
public property | ConnectionType | Gets or sets the connection type.
public property | Destination | Gets or sets the destination.
public property | Group | Gets or sets an optional group of application servers in a load balancing connection.
public property | GwHost | gets or sets the name of an optional gateway host in an application host-based connection.
public property | GwServ | Gets or sets the name of an optional gateway service in an application host-based connection.
public property | Language | Gets or sets the language.
public property | ListenerDest | Gets or sets an optional destination in the saprfc.ini file in an rfc server connection.
public property | ListenerGwHost | Gets or sets the gateway host for an rfc server connection.
public property | ListenerGwServ | Gets or sets the gateway service for an rfc server connection.
public property | MessageServerHost |
public property | MsServ | Gets or sets name of an optional message service in a load balancing connection.
public property | ProgramId | Gets or sets the program id for an rfc server connection.
public property | R3SystemName | Gets or sets the R3 system name.
public property | RfcSdkTrace | Gets or sets a value that specifies whether RFC library tracing is enabled.
public property | SampleUriString | Overridden. Gets a sample URI string.
public property | SecureUriString | (inherited from ConnectionUri)
public property | SystemNumber | Gets or sets the SAP system number.
public property | Uri | Overridden. Gets or sets the full URI.
public property | UseSnc | Gets or sets a value that specifies whether SAP Secure Network Communications (SNC) is enabled.
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | (inherited from Object)
public method | GetAttributes | (inherited from ConnectionUri)
public method | GetClassName | (inherited from ConnectionUri)
public method | GetComponentName | (inherited from ConnectionUri)
public method | GetConverter | (inherited from ConnectionUri)
public method | GetDefaultEvent | (inherited from ConnectionUri)
public method | GetDefaultProperty | (inherited from ConnectionUri)
public method | GetEditor | (inherited from ConnectionUri)
public method | GetEvents | (inherited from ConnectionUri)
public method | GetEvents | (inherited from ConnectionUri)
public method | GetHashCode | (inherited from Object)
public method | GetProperties | (inherited from ConnectionUri)
public method | GetProperties | (inherited from ConnectionUri)
public method | GetPropertyOwner | (inherited from ConnectionUri)
public method | GetType | (inherited from Object)
public method | ToString | Overridden. (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)
Top

See Also

Reference

SAPConnectionUri Class


SAPConnectionUri Constructor
[image]

Creates a new instance of the SAPConnectionUri object.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SAPConnectionUri

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")> _
Public Sub New
C#
[SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")]
public SAPConnectionUri ()
C++
[SuppressMessageAttribute(L"Microsoft.Performance", L"CA1805:DoNotInitializeUnnecessarily")]
public:
SAPConnectionUri ()
J#
/** @attribute SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily") */
public SAPConnectionUri ()
JScript
SuppressMessageAttribute("Microsoft.Performance", "CA1805:DoNotInitializeUnnecessarily")
public function SAPConnectionUri ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | (inherited from Object)
public method | GetAttributes | (inherited from ConnectionUri)
public method | GetClassName | (inherited from ConnectionUri)
public method | GetComponentName | (inherited from ConnectionUri)
public method | GetConverter | (inherited from ConnectionUri)
public method | GetDefaultEvent | (inherited from ConnectionUri)
public method | GetDefaultProperty | (inherited from ConnectionUri)
public method | GetEditor | (inherited from ConnectionUri)
public method | GetEvents | (inherited from ConnectionUri)
public method | GetEvents | (inherited from ConnectionUri)
public method | GetHashCode | (inherited from Object)
public method | GetProperties | (inherited from ConnectionUri)
public method | GetProperties | (inherited from ConnectionUri)
public method | GetPropertyOwner | (inherited from ConnectionUri)
public method | GetType | (inherited from Object)
public method | ToString | Overridden. (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | MemberwiseClone | (inherited from Object)

See Also

Reference

SAPConnectionUri Class


SAPConnectionUri Properties
[image]

Public Properties

 | Name | Description
public property | AbapDebug | Gets or sets a value that specifies whether ABAP debugging from Visual Studio is enabled.
public property | ApplicationServerHost | Gets or sets the value that determines if the connection is a host-based connection.
public property | Client | Gets or sets SAP client ID.
public property | ConnectionType | Gets or sets the connection type.
public property | Destination | Gets or sets the destination.
public property | Group | Gets or sets an optional group of application servers in a load balancing connection.
public property | GwHost | gets or sets the name of an optional gateway host in an application host-based connection.
public property | GwServ | Gets or sets the name of an optional gateway service in an application host-based connection.
public property | Language | Gets or sets the language.
public property | ListenerDest | Gets or sets an optional destination in the saprfc.ini file in an rfc server connection.
public property | ListenerGwHost | Gets or sets the gateway host for an rfc server connection.
public property | ListenerGwServ | Gets or sets the gateway service for an rfc server connection.
public property | MessageServerHost |
public property | MsServ | Gets or sets name of an optional message service in a load balancing connection.
public property | ProgramId | Gets or sets the program id for an rfc server connection.
public property | R3SystemName | Gets or sets the R3 system name.
public property | RfcSdkTrace | Gets or sets a value that specifies whether RFC library tracing is enabled.
public property | SampleUriString | Overridden. Gets a sample URI string.
public property | SecureUriString | (inherited from ConnectionUri)
public property | SystemNumber | Gets or sets the SAP system number.
public property | Uri | Overridden. Gets or sets the full URI.
public property | UseSnc | Gets or sets a value that specifies whether SAP Secure Network Communications (SNC) is enabled.

See Also

Reference

SAPConnectionUri Class


SAPConnectionUri.AbapDebug Property
[image]

Gets or sets a value that specifies whether ABAP debugging from Visual Studio is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As Boolean

value = instance.AbapDebug

instance.AbapDebug = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("AbapDebug")> _
<CategoryAttribute("Diagnostics")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Abap")> _
Public Property AbapDebug As Boolean
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("AbapDebug")]
[CategoryAttribute("Diagnostics")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Abap")]
public bool AbapDebug { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"AbapDebug")]
[CategoryAttribute(L"Diagnostics")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Abap")]
public:
property bool AbapDebug {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_AbapDebug ()

/** @property */
public void set_AbapDebug (boolean value)
JScript
public function get AbapDebug () : boolean

public function set AbapDebug (value : boolean)

Property Value

Returns a Boolean that determines if AbapDebug is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ApplicationServerHost Property
[image]

Gets or sets the value that determines if the connection is a host-based connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.ApplicationServerHost

instance.ApplicationServerHost = value

Syntax

Visual Basic
<CategoryAttribute("Application Server")> _
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Application Server Host")> _
Public Property ApplicationServerHost As String
C#
[CategoryAttribute("Application Server")]
[BrowsableAttribute(true)]
[DisplayNameAttribute("Application Server Host")]
public string ApplicationServerHost { get; set; }
C++
[CategoryAttribute(L"Application Server")]
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Application Server Host")]
public:
property String^ ApplicationServerHost {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_ApplicationServerHost ()

/** @property */
public void set_ApplicationServerHost (String value)
JScript
public function get ApplicationServerHost () : String

public function set ApplicationServerHost (value : String)

Property Value

Returns a String containing the application server host.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.Client Property
[image]

Gets or sets SAP client ID.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.Client

instance.Client = value

Syntax

Visual Basic
<CategoryAttribute("Login Information")> _
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Client")> _
Public Property Client As String
C#
[CategoryAttribute("Login Information")]
[BrowsableAttribute(true)]
[DisplayNameAttribute("Client")]
public string Client { get; set; }
C++
[CategoryAttribute(L"Login Information")]
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Client")]
public:
property String^ Client {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_Client ()

/** @property */
public void set_Client (String value)
JScript
public function get Client () : String

public function set Client (value : String)

Property Value

Returns a String containing the client ID.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ConnectionType Property
[image]

Gets or sets the connection type.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As OutboundConnectionType

value = instance.ConnectionType

instance.ConnectionType = value

Syntax

Visual Basic
<DisplayNameAttribute("Connection Type")> _
<BrowsableAttribute(True)> _
Public Property ConnectionType As OutboundConnectionType
C#
[DisplayNameAttribute("Connection Type")]
[BrowsableAttribute(true)]
public OutboundConnectionType ConnectionType { get; set; }
C++
[DisplayNameAttribute(L"Connection Type")]
[BrowsableAttribute(true)]
public:
property OutboundConnectionType ConnectionType {
    OutboundConnectionType get ();
    void set (OutboundConnectionType value);
}
J#
/** @property */
public OutboundConnectionType get_ConnectionType ()

/** @property */
public void set_ConnectionType (OutboundConnectionType value)
JScript
public function get ConnectionType () : OutboundConnectionType

public function set ConnectionType (value : OutboundConnectionType)

Property Value

Returns a OutboundConnectionType containing the connection type.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.Destination Property
[image]

Gets or sets the destination.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.Destination

instance.Destination = value

Syntax

Visual Basic
<DisplayNameAttribute("Destination Name")> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Destination")> _
Public Property Destination As String
C#
[DisplayNameAttribute("Destination Name")]
[BrowsableAttribute(true)]
[CategoryAttribute("Destination")]
public string Destination { get; set; }
C++
[DisplayNameAttribute(L"Destination Name")]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Destination")]
public:
property String^ Destination {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_Destination ()

/** @property */
public void set_Destination (String value)
JScript
public function get Destination () : String

public function set Destination (value : String)

Property Value

Returns a String containing the destination.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.Group Property
[image]

Gets or sets an optional group of application servers in a load balancing connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.Group

instance.Group = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Application Server Group Name")> _
<CategoryAttribute("Message Server")> _
Public Property Group As String
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("Application Server Group Name")]
[CategoryAttribute("Message Server")]
public string Group { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Application Server Group Name")]
[CategoryAttribute(L"Message Server")]
public:
property String^ Group {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_Group ()

/** @property */
public void set_Group (String value)
JScript
public function get Group () : String

public function set Group (value : String)

Property Value

Returns a String containing the group.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.GwHost Property
[image]

gets or sets the name of an optional gateway host in an application host-based connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.GwHost

instance.GwHost = value

Syntax

Visual Basic
<DisplayNameAttribute("Gateway Host")> _
<BrowsableAttribute(True)> _
<CategoryAttribute("Application Server")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId:="Member")> _
Public Property GwHost As String
C#
[DisplayNameAttribute("Gateway Host")]
[BrowsableAttribute(true)]
[CategoryAttribute("Application Server")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId="Member")]
public string GwHost { get; set; }
C++
[DisplayNameAttribute(L"Gateway Host")]
[BrowsableAttribute(true)]
[CategoryAttribute(L"Application Server")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase", MessageId=L"Member")]
public:
property String^ GwHost {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_GwHost ()

/** @property */
public void set_GwHost (String value)
JScript
public function get GwHost () : String

public function set GwHost (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.GwServ Property
[image]

Gets or sets the name of an optional gateway service in an application host-based connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.GwServ

instance.GwServ = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Gateway Service")> _
<CategoryAttribute("Application Server")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Serv")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId:="Member")> _
Public Property GwServ As String
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("Gateway Service")]
[CategoryAttribute("Application Server")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Serv")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId="Member")]
public string GwServ { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Gateway Service")]
[CategoryAttribute(L"Application Server")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Serv")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase", MessageId=L"Member")]
public:
property String^ GwServ {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_GwServ ()

/** @property */
public void set_GwServ (String value)
JScript
public function get GwServ () : String

public function set GwServ (value : String)

Property Value

Returns a String containing the gateway service.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.Language Property
[image]

Gets or sets the language.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.Language

instance.Language = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("Login Information")> _
<DisplayNameAttribute("Language")> _
Public Property Language As String
C#
[BrowsableAttribute(true)]
[CategoryAttribute("Login Information")]
[DisplayNameAttribute("Language")]
public string Language { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"Login Information")]
[DisplayNameAttribute(L"Language")]
public:
property String^ Language {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_Language ()

/** @property */
public void set_Language (String value)
JScript
public function get Language () : String

public function set Language (value : String)

Property Value

Returns a String containing the language.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ListenerDest Property
[image]

Gets or sets an optional destination in the saprfc.ini file in an rfc server connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.ListenerDest

instance.ListenerDest = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Destination Name")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Dest")> _
<CategoryAttribute("RFC Server")> _
Public Property ListenerDest As String
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("Destination Name")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Dest")]
[CategoryAttribute("RFC Server")]
public string ListenerDest { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Destination Name")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Dest")]
[CategoryAttribute(L"RFC Server")]
public:
property String^ ListenerDest {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_ListenerDest ()

/** @property */
public void set_ListenerDest (String value)
JScript
public function get ListenerDest () : String

public function set ListenerDest (value : String)

Property Value

Returns String.

Remarks

The destination must specify an R-type connection.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ListenerGwHost Property
[image]

Gets or sets the gateway host for an rfc server connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.ListenerGwHost

instance.ListenerGwHost = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("RFC Server")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Gw")> _
<DisplayNameAttribute("Gateway Host")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId:="Member")> _
Public Property ListenerGwHost As String
C#
[BrowsableAttribute(true)]
[CategoryAttribute("RFC Server")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Gw")]
[DisplayNameAttribute("Gateway Host")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId="Member")]
public string ListenerGwHost { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"RFC Server")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Gw")]
[DisplayNameAttribute(L"Gateway Host")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase", MessageId=L"Member")]
public:
property String^ ListenerGwHost {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_ListenerGwHost ()

/** @property */
public void set_ListenerGwHost (String value)
JScript
public function get ListenerGwHost () : String

public function set ListenerGwHost (value : String)

Property Value

Returns a String containing the gateway host.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ListenerGwServ Property
[image]

Gets or sets the gateway service for an rfc server connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.ListenerGwServ

instance.ListenerGwServ = value

Syntax

Visual Basic
<DisplayNameAttribute("Gateway Service")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Gw")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Serv")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId:="Member")> _
<BrowsableAttribute(True)> _
<CategoryAttribute("RFC Server")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="Gw")> _
Public Property ListenerGwServ As String
C#
[DisplayNameAttribute("Gateway Service")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Gw")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Serv")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId="Member")]
[BrowsableAttribute(true)]
[CategoryAttribute("RFC Server")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Gw")]
public string ListenerGwServ { get; set; }
C++
[DisplayNameAttribute(L"Gateway Service")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Gw")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Serv")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase", MessageId=L"Member")]
[BrowsableAttribute(true)]
[CategoryAttribute(L"RFC Server")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"Gw")]
public:
property String^ ListenerGwServ {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_ListenerGwServ ()

/** @property */
public void set_ListenerGwServ (String value)
JScript
public function get ListenerGwServ () : String

public function set ListenerGwServ (value : String)

Property Value

Returns a String containing the server connection.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.MessageServerHost Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.MessageServerHost

instance.MessageServerHost = value

Syntax

Visual Basic
<CategoryAttribute("Message Server")> _
<DisplayNameAttribute("Message Server Host")> _
<BrowsableAttribute(True)> _
Public Property MessageServerHost As String
C#
[CategoryAttribute("Message Server")]
[DisplayNameAttribute("Message Server Host")]
[BrowsableAttribute(true)]
public string MessageServerHost { get; set; }
C++
[CategoryAttribute(L"Message Server")]
[DisplayNameAttribute(L"Message Server Host")]
[BrowsableAttribute(true)]
public:
property String^ MessageServerHost {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_MessageServerHost ()

/** @property */
public void set_MessageServerHost (String value)
JScript
public function get MessageServerHost () : String

public function set MessageServerHost (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.MsServ Property
[image]

Gets or sets name of an optional message service in a load balancing connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.MsServ

instance.MsServ = value

Syntax

Visual Basic
<SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId:="Ms")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Serv")> _
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Message Server Service")> _
<CategoryAttribute("Message Server")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId:="Member")> _
Public Property MsServ As String
C#
[SuppressMessageAttribute("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Ms")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Serv")]
[BrowsableAttribute(true)]
[DisplayNameAttribute("Message Server Service")]
[CategoryAttribute("Message Server")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase", MessageId="Member")]
public string MsServ { get; set; }
C++
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1709:IdentifiersShouldBeCasedCorrectly", MessageId=L"Ms")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Serv")]
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Message Server Service")]
[CategoryAttribute(L"Message Server")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase", MessageId=L"Member")]
public:
property String^ MsServ {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_MsServ ()

/** @property */
public void set_MsServ (String value)
JScript
public function get MsServ () : String

public function set MsServ (value : String)

Property Value

Returns a String containing the message service.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.ProgramId Property
[image]

Gets or sets the program id for an rfc server connection.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.ProgramId

instance.ProgramId = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<CategoryAttribute("RFC Server")> _
<DisplayNameAttribute("Program Id")> _
Public Property ProgramId As String
C#
[BrowsableAttribute(true)]
[CategoryAttribute("RFC Server")]
[DisplayNameAttribute("Program Id")]
public string ProgramId { get; set; }
C++
[BrowsableAttribute(true)]
[CategoryAttribute(L"RFC Server")]
[DisplayNameAttribute(L"Program Id")]
public:
property String^ ProgramId {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_ProgramId ()

/** @property */
public void set_ProgramId (String value)
JScript
public function get ProgramId () : String

public function set ProgramId (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.R3SystemName Property
[image]

Gets or sets the R3 system name.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.R3SystemName

instance.R3SystemName = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("R/3 System Name")> _
<CategoryAttribute("Message Server")> _
Public Property R3SystemName As String
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("R/3 System Name")]
[CategoryAttribute("Message Server")]
public string R3SystemName { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"R/3 System Name")]
[CategoryAttribute(L"Message Server")]
public:
property String^ R3SystemName {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_R3SystemName ()

/** @property */
public void set_R3SystemName (String value)
JScript
public function get R3SystemName () : String

public function set R3SystemName (value : String)

Property Value

Returns a String containing the R3 system name.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.RfcSdkTrace Property
[image]

Gets or sets a value that specifies whether RFC library tracing is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As Boolean

value = instance.RfcSdkTrace

instance.RfcSdkTrace = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("RfcSdkTrace")> _
<CategoryAttribute("Diagnostics")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Rfc")> _
Public Property RfcSdkTrace As Boolean
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("RfcSdkTrace")]
[CategoryAttribute("Diagnostics")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Rfc")]
public bool RfcSdkTrace { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"RfcSdkTrace")]
[CategoryAttribute(L"Diagnostics")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Rfc")]
public:
property bool RfcSdkTrace {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_RfcSdkTrace ()

/** @property */
public void set_RfcSdkTrace (boolean value)
JScript
public function get RfcSdkTrace () : boolean

public function set RfcSdkTrace (value : boolean)

Property Value

Returns a Boolean that determines if RFC library tracing is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.SampleUriString Property
[image]

Gets a sample URI string.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.SampleUriString

Syntax

Visual Basic
Public Overrides ReadOnly Property SampleUriString As String
C#
public override string SampleUriString { get; }
C++
public:
virtual property String^ SampleUriString {
    String^ get () override;
}
J#
/** @property */
public String get_SampleUriString ()
JScript
public override function get SampleUriString () : String

Property Value

Returns a String containing a sample URI string.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.SystemNumber Property
[image]

Gets or sets the SAP system number.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As String

value = instance.SystemNumber

instance.SystemNumber = value

Syntax

Visual Basic
<CategoryAttribute("Application Server")> _
<BrowsableAttribute(True)> _
<DisplayNameAttribute("System Number")> _
Public Property SystemNumber As String
C#
[CategoryAttribute("Application Server")]
[BrowsableAttribute(true)]
[DisplayNameAttribute("System Number")]
public string SystemNumber { get; set; }
C++
[CategoryAttribute(L"Application Server")]
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"System Number")]
public:
property String^ SystemNumber {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_SystemNumber ()

/** @property */
public void set_SystemNumber (String value)
JScript
public function get SystemNumber () : String

public function set SystemNumber (value : String)

Property Value

Returns a String containing the SAP system number.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.Uri Property
[image]

Gets or sets the full URI.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As Uri

value = instance.Uri

instance.Uri = value

Syntax

Visual Basic
Public Overrides Property Uri As Uri
C#
public override Uri Uri { get; set; }
C++
public:
virtual property Uri^ Uri {
    Uri^ get () override;
    void set (Uri^ value) override;
}
J#
/** @property */
public Uri get_Uri ()

/** @property */
public void set_Uri (Uri value)
JScript
public override function get Uri () : Uri

public override function set Uri (value : Uri)

Property Value

Returns a Uri containing the full URI.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SAPConnectionUri.UseSnc Property
[image]

Gets or sets a value that specifies whether SAP Secure Network Communications (SNC) is enabled.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SAPConnectionUri
Dim value As Boolean

value = instance.UseSnc

instance.UseSnc = value

Syntax

Visual Basic
<BrowsableAttribute(True)> _
<DisplayNameAttribute("Use Snc")> _
<SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId:="Snc")> _
<CategoryAttribute("SNC")> _
Public Property UseSnc As Boolean
C#
[BrowsableAttribute(true)]
[DisplayNameAttribute("Use Snc")]
[SuppressMessageAttribute("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId="Snc")]
[CategoryAttribute("SNC")]
public bool UseSnc { get; set; }
C++
[BrowsableAttribute(true)]
[DisplayNameAttribute(L"Use Snc")]
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId=L"Snc")]
[CategoryAttribute(L"SNC")]
public:
property bool UseSnc {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_UseSnc ()

/** @property */
public void set_UseSnc (boolean value)
JScript
public function get UseSnc () : boolean

public function set UseSnc (value : boolean)

Property Value

Returns a Boolean specifying whether SNC is enabled.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SAPConnectionUri Class
SAPConnectionUri Members


SapDataTypesBehavior Class
See Also Members
[image]

Describes the SAP data types behavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior

Syntax

Visual Basic
Public NotInheritable Class SapDataTypesBehavior
    Inherits ConfigurationElement
C#
public sealed class SapDataTypesBehavior : ConfigurationElement
C++
public ref class SapDataTypesBehavior sealed : public ConfigurationElement
J#
public final class SapDataTypesBehavior extends ConfigurationElement
JScript
public final class SapDataTypesBehavior extends ConfigurationElement

Inheritance Hierarchy

System.Object
System.Configuration.ConfigurationElement
Microsoft.Adapters.SAP.SapDataTypesBehavior

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Members


SapDataTypesBehavior Members
See Also Constructors Methods Properties
[image]

Describes the SAP data types behavior.

The following tables list the members exposed by the SapDataTypesBehavior type.

Public Constructors

Name | Description
SapDataTypesBehavior | Overloaded. Creates a new instance of the SapDataTypesBehavior class.
Top

Public Properties (see also Protected Properties)

 | Name | Description
public property | DateTimeMaxToDats |
public property | DateTimeMaxToTims |
public property | DateTimeMinToDats |
public property | DateTimeMinToTims |
public property | DateTimeNullToDats |
public property | DateTimeNullToTims |
public property | DatsMaxToDateTime |
public property | DatsMinToDateTime |
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EmptyDatsToDateTime |
public property | EmptyNumcToInt |
public property | EmptyTimsToDateTime |
public property | InvalidDatsToDateTime |
public property | InvalidNumcToInt |
public property | InvalidTimsToDateTime |
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | TimsMaxToDateTime |
Top

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)
Top

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)
Top

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)
Top

See Also

Reference

SapDataTypesBehavior Class


SapDataTypesBehavior Constructor
[image]

Creates a new instance of the SapDataTypesBehavior class.

Overload List

Name | Description
SapDataTypesBehavior () | Creates a new instance of the SapDataTypesBehavior class, using the default parameters.
SapDataTypesBehavior (SapDataTypesBehavior) | Creates a new instance of the SapDataTypesBehavior class, using the specified SapDataTypesBehavior.

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior Constructor ()
[image]

Creates a new instance of the SapDataTypesBehavior class, using the default parameters.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As New SapDataTypesBehavior

Syntax

Visual Basic
Public Sub New
C#
public SapDataTypesBehavior ()
C++
public:
SapDataTypesBehavior ()
J#
public SapDataTypesBehavior ()
JScript
public function SapDataTypesBehavior ()

Remarks

The default constructor initializes any fields to their default values.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior Constructor (SapDataTypesBehavior)
[image]

Creates a new instance of the SapDataTypesBehavior class, using the specified SapDataTypesBehavior.

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim other As SapDataTypesBehavior

Dim instance As New SapDataTypesBehavior(other)

Syntax

Visual Basic
Public Sub New ( _
    other As SapDataTypesBehavior _
)
C#
public SapDataTypesBehavior (
    SapDataTypesBehavior other
)
C++
public:
SapDataTypesBehavior (
    SapDataTypesBehavior^ other
)
J#
public SapDataTypesBehavior (
    SapDataTypesBehavior other
)
JScript
public function SapDataTypesBehavior (
    other : SapDataTypesBehavior
)

Parameters

Other

The other SapDataTypesBehavior object to copy.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior Methods
[image]

Public Methods (see also Protected Methods)

 | Name | Description
public method | Equals | Overridden. (inherited from Object)
public method | GetHashCode | Overridden. (inherited from Object)
public method | GetType | (inherited from Object)
public method | IsReadOnly | (inherited from ConfigurationElement)
public method | ToString | (inherited from Object)

Protected Methods

 | Name | Description
protected method | Finalize | (inherited from Object)
protected method | ListErrors | (inherited from ConfigurationElement)
protected method | MemberwiseClone | (inherited from Object)
protected method | OnDeserializeUnrecognizedAttribute | (inherited from ConfigurationElement)
protected method | OnDeserializeUnrecognizedElement | (inherited from ConfigurationElement)
protected method | OnRequiredPropertyNotFound | (inherited from ConfigurationElement)
protected method | PostDeserialize | (inherited from ConfigurationElement)
protected method | PreSerialize | (inherited from ConfigurationElement)
protected method | SetPropertyValue | (inherited from ConfigurationElement)

See Also

Reference

SapDataTypesBehavior Class


SapDataTypesBehavior Properties
[image]

Public Properties (see also Protected Properties)

 | Name | Description
public property | DateTimeMaxToDats |
public property | DateTimeMaxToTims |
public property | DateTimeMinToDats |
public property | DateTimeMinToTims |
public property | DateTimeNullToDats |
public property | DateTimeNullToTims |
public property | DatsMaxToDateTime |
public property | DatsMinToDateTime |
public property | ElementInformation | (inherited from ConfigurationElement)
public property | EmptyDatsToDateTime |
public property | EmptyNumcToInt |
public property | EmptyTimsToDateTime |
public property | InvalidDatsToDateTime |
public property | InvalidNumcToInt |
public property | InvalidTimsToDateTime |
public property | LockAllAttributesExcept | (inherited from ConfigurationElement)
public property | LockAllElementsExcept | (inherited from ConfigurationElement)
public property | LockAttributes | (inherited from ConfigurationElement)
public property | LockElements | (inherited from ConfigurationElement)
public property | LockItem | (inherited from ConfigurationElement)
public property | TimsMaxToDateTime |

Protected Properties

 | Name | Description
protected property | EvaluationContext | (inherited from ConfigurationElement)

See Also

Reference

SapDataTypesBehavior Class


SapDataTypesBehavior.DateTimeMaxToDats Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeMaxToDats

instance.DateTimeMaxToDats = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeMaxToDats", DefaultValue:="99991231")> _
Public Property DateTimeMaxToDats As String
C#
[ConfigurationPropertyAttribute("dateTimeMaxToDats", DefaultValue="99991231")]
public string DateTimeMaxToDats { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeMaxToDats", DefaultValue=L"99991231")]
public:
virtual property String^ DateTimeMaxToDats {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeMaxToDats ()

/** @property */
public final void set_DateTimeMaxToDats (String value)
JScript
public final function get DateTimeMaxToDats () : String

public final function set DateTimeMaxToDats (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DateTimeMaxToTims Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeMaxToTims

instance.DateTimeMaxToTims = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeMaxToTims", DefaultValue:="235959")> _
Public Property DateTimeMaxToTims As String
C#
[ConfigurationPropertyAttribute("dateTimeMaxToTims", DefaultValue="235959")]
public string DateTimeMaxToTims { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeMaxToTims", DefaultValue=L"235959")]
public:
virtual property String^ DateTimeMaxToTims {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeMaxToTims ()

/** @property */
public final void set_DateTimeMaxToTims (String value)
JScript
public final function get DateTimeMaxToTims () : String

public final function set DateTimeMaxToTims (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DateTimeMinToDats Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeMinToDats

instance.DateTimeMinToDats = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeMinToDats", DefaultValue:="00010101")> _
Public Property DateTimeMinToDats As String
C#
[ConfigurationPropertyAttribute("dateTimeMinToDats", DefaultValue="00010101")]
public string DateTimeMinToDats { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeMinToDats", DefaultValue=L"00010101")]
public:
virtual property String^ DateTimeMinToDats {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeMinToDats ()

/** @property */
public final void set_DateTimeMinToDats (String value)
JScript
public final function get DateTimeMinToDats () : String

public final function set DateTimeMinToDats (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DateTimeMinToTims Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeMinToTims

instance.DateTimeMinToTims = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeMinToTims", DefaultValue:="000000")> _
Public Property DateTimeMinToTims As String
C#
[ConfigurationPropertyAttribute("dateTimeMinToTims", DefaultValue="000000")]
public string DateTimeMinToTims { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeMinToTims", DefaultValue=L"000000")]
public:
virtual property String^ DateTimeMinToTims {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeMinToTims ()

/** @property */
public final void set_DateTimeMinToTims (String value)
JScript
public final function get DateTimeMinToTims () : String

public final function set DateTimeMinToTims (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DateTimeNullToDats Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeNullToDats

instance.DateTimeNullToDats = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeNullToDats", DefaultValue:="SKIP")> _
Public Property DateTimeNullToDats As String
C#
[ConfigurationPropertyAttribute("dateTimeNullToDats", DefaultValue="SKIP")]
public string DateTimeNullToDats { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeNullToDats", DefaultValue=L"SKIP")]
public:
virtual property String^ DateTimeNullToDats {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeNullToDats ()

/** @property */
public final void set_DateTimeNullToDats (String value)
JScript
public final function get DateTimeNullToDats () : String

public final function set DateTimeNullToDats (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DateTimeNullToTims Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DateTimeNullToTims

instance.DateTimeNullToTims = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("dateTimeNullToTims", DefaultValue:="SKIP")> _
Public Property DateTimeNullToTims As String
C#
[ConfigurationPropertyAttribute("dateTimeNullToTims", DefaultValue="SKIP")]
public string DateTimeNullToTims { get; set; }
C++
[ConfigurationPropertyAttribute(L"dateTimeNullToTims", DefaultValue=L"SKIP")]
public:
virtual property String^ DateTimeNullToTims {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DateTimeNullToTims ()

/** @property */
public final void set_DateTimeNullToTims (String value)
JScript
public final function get DateTimeNullToTims () : String

public final function set DateTimeNullToTims (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DatsMaxToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DatsMaxToDateTime

instance.DatsMaxToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("datsMaxToDateTime", DefaultValue:="ERROR")> _
Public Property DatsMaxToDateTime As String
C#
[ConfigurationPropertyAttribute("datsMaxToDateTime", DefaultValue="ERROR")]
public string DatsMaxToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"datsMaxToDateTime", DefaultValue=L"ERROR")]
public:
virtual property String^ DatsMaxToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DatsMaxToDateTime ()

/** @property */
public final void set_DatsMaxToDateTime (String value)
JScript
public final function get DatsMaxToDateTime () : String

public final function set DatsMaxToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.DatsMinToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.DatsMinToDateTime

instance.DatsMinToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("datsMinToDateTime", DefaultValue:="ERROR")> _
Public Property DatsMinToDateTime As String
C#
[ConfigurationPropertyAttribute("datsMinToDateTime", DefaultValue="ERROR")]
public string DatsMinToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"datsMinToDateTime", DefaultValue=L"ERROR")]
public:
virtual property String^ DatsMinToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_DatsMinToDateTime ()

/** @property */
public final void set_DatsMinToDateTime (String value)
JScript
public final function get DatsMinToDateTime () : String

public final function set DatsMinToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.EmptyDatsToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.EmptyDatsToDateTime

instance.EmptyDatsToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("emptyDatsToDateTime", DefaultValue:="0001-01-01T00:00:00")> _
Public Property EmptyDatsToDateTime As String
C#
[ConfigurationPropertyAttribute("emptyDatsToDateTime", DefaultValue="0001-01-01T00:00:00")]
public string EmptyDatsToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"emptyDatsToDateTime", DefaultValue=L"0001-01-01T00:00:00")]
public:
virtual property String^ EmptyDatsToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_EmptyDatsToDateTime ()

/** @property */
public final void set_EmptyDatsToDateTime (String value)
JScript
public final function get EmptyDatsToDateTime () : String

public final function set EmptyDatsToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.EmptyNumcToInt Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.EmptyNumcToInt

instance.EmptyNumcToInt = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("emptyNumcToInt", DefaultValue:="0")> _
Public Property EmptyNumcToInt As String
C#
[ConfigurationPropertyAttribute("emptyNumcToInt", DefaultValue="0")]
public string EmptyNumcToInt { get; set; }
C++
[ConfigurationPropertyAttribute(L"emptyNumcToInt", DefaultValue=L"0")]
public:
virtual property String^ EmptyNumcToInt {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_EmptyNumcToInt ()

/** @property */
public final void set_EmptyNumcToInt (String value)
JScript
public final function get EmptyNumcToInt () : String

public final function set EmptyNumcToInt (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.EmptyTimsToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.EmptyTimsToDateTime

instance.EmptyTimsToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("emptyTimsToDateTime", DefaultValue:="0001-01-01T00:00:00")> _
Public Property EmptyTimsToDateTime As String
C#
[ConfigurationPropertyAttribute("emptyTimsToDateTime", DefaultValue="0001-01-01T00:00:00")]
public string EmptyTimsToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"emptyTimsToDateTime", DefaultValue=L"0001-01-01T00:00:00")]
public:
virtual property String^ EmptyTimsToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_EmptyTimsToDateTime ()

/** @property */
public final void set_EmptyTimsToDateTime (String value)
JScript
public final function get EmptyTimsToDateTime () : String

public final function set EmptyTimsToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.InvalidDatsToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.InvalidDatsToDateTime

instance.InvalidDatsToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("invalidDatsToDateTime", DefaultValue:="ERROR")> _
Public Property InvalidDatsToDateTime As String
C#
[ConfigurationPropertyAttribute("invalidDatsToDateTime", DefaultValue="ERROR")]
public string InvalidDatsToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"invalidDatsToDateTime", DefaultValue=L"ERROR")]
public:
virtual property String^ InvalidDatsToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_InvalidDatsToDateTime ()

/** @property */
public final void set_InvalidDatsToDateTime (String value)
JScript
public final function get InvalidDatsToDateTime () : String

public final function set InvalidDatsToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.InvalidNumcToInt Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.InvalidNumcToInt

instance.InvalidNumcToInt = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("invalidNumcToInt", DefaultValue:="0")> _
Public Property InvalidNumcToInt As String
C#
[ConfigurationPropertyAttribute("invalidNumcToInt", DefaultValue="0")]
public string InvalidNumcToInt { get; set; }
C++
[ConfigurationPropertyAttribute(L"invalidNumcToInt", DefaultValue=L"0")]
public:
virtual property String^ InvalidNumcToInt {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_InvalidNumcToInt ()

/** @property */
public final void set_InvalidNumcToInt (String value)
JScript
public final function get InvalidNumcToInt () : String

public final function set InvalidNumcToInt (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.InvalidTimsToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.InvalidTimsToDateTime

instance.InvalidTimsToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("invalidTimsToDateTime", DefaultValue:="ERROR")> _
Public Property InvalidTimsToDateTime As String
C#
[ConfigurationPropertyAttribute("invalidTimsToDateTime", DefaultValue="ERROR")]
public string InvalidTimsToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"invalidTimsToDateTime", DefaultValue=L"ERROR")]
public:
virtual property String^ InvalidTimsToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_InvalidTimsToDateTime ()

/** @property */
public final void set_InvalidTimsToDateTime (String value)
JScript
public final function get InvalidTimsToDateTime () : String

public final function set InvalidTimsToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


SapDataTypesBehavior.TimsMaxToDateTime Property
[image]

Namespace: Microsoft.Adapters.SAP
Assembly: Microsoft.Adapters.SAP (in Microsoft.Adapters.SAP.dll)

Usage

Visual Basic
Dim instance As SapDataTypesBehavior
Dim value As String

value = instance.TimsMaxToDateTime

instance.TimsMaxToDateTime = value

Syntax

Visual Basic
<ConfigurationPropertyAttribute("timsMaxToDateTime", DefaultValue:="ERROR")> _
Public Property TimsMaxToDateTime As String
C#
[ConfigurationPropertyAttribute("timsMaxToDateTime", DefaultValue="ERROR")]
public string TimsMaxToDateTime { get; set; }
C++
[ConfigurationPropertyAttribute(L"timsMaxToDateTime", DefaultValue=L"ERROR")]
public:
virtual property String^ TimsMaxToDateTime {
    String^ get () sealed;
    void set (String^ value) sealed;
}
J#
/** @property */
public final String get_TimsMaxToDateTime ()

/** @property */
public final void set_TimsMaxToDateTime (String value)
JScript
public final function get TimsMaxToDateTime () : String

public final function set TimsMaxToDateTime (value : String)

Property Value

Returns String.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

Target Platforms

The 32-bit and 64-bit editions of Windows Server 2003 R2 (except the Web Editions); The 32-bit and 64-bit editions of Windows Server 2003 with SP2 (except the Web Edition); The 32-bit and 64-bit editions of Windows Server 2008 (except the Web Editions); The 32-bit and 64-bit editions of Windows Vista Ultimate, Enterprise and Business editions; The 32-bit and 64-bit editions of Windows XP Professional with SP3; Windows Small Business Server 2003 with SP1 or SP2; Windows Small Business Server 2008

See Also

Reference

SapDataTypesBehavior Class
SapDataTypesBehavior Members


Copyright Notice

Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 2014 Microsoft Corporation. All rights reserved.

Microsoft, MS-DOS, Windows, Windows Server, Windows Vista, Active Directory, ActiveX, BizTalk, Excel, FrontPage, InfoPath, JScript, IntelliSense, MSDN, Outlook, PivotChart, PivotTable, Windows SharePoint Services, Tahoma, Visio, Visual Basic, Visual C++, Visual C#, Visual SourceSafe, Visual Studio, Win32, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

Enterprise integration patterns are taken from Enterprise Integration Patterns, by Gregor Hohpe and Bobby Woolf and the Pattern Catalog Table of Contents (http://go.microsoft.com/fwlink/?LinkID=62480) and are used under permission.

All other trademarks are property of their respective owners.

© 2014 Microsoft Corporation. All rights reserved.