Поделиться через


Поставщик данных Microsoft .NET для mySAP Business Suite

Изменения: 14 апреля 2006 г.

SQL Server 2005 включает поддержку доступа к данным SAP с помощью поставщика данных Microsoft .NET для mySAP Business Suite. Данный поставщик позволяет создавать пакеты, способные подключаться к решению mySAP Business Suite и выполнять команды на сервере. Также можно создавать отчеты служб Reporting Services для сервера SAP. Поставщик данных Microsoft .NET для mySAP Business Suite тестировался на SAP R/3 версии 4.6C и выше. Более ранние версии, чем SAP R/3, не поддерживаются.

Поставщик данных Microsoft .NET для mySAP Business Suite может использоваться мастером импорта и экспорта SQL Server, задачей «Сценарий», источником DataReader, преобразованием «Сценарий», которое предоставляется Integration Services, так же, как и модулями обработки данных служб Reporting Services.

Поставщик данных Microsoft .NET для mySAP Business Suite не входит в состав SQL Server 2005. Необходимо загрузить его с узла https://msdn.microsoft.com/downloads/.

Требования

Чтобы использовать поставщик данных Microsoft .NET для mySAP Business Suite, необходимо установить следующее.

  • SAP DLL librfc32.dll. SAP DLL устанавливается при запуске исполняемого файла SAPgui. SAP DLL должен быть установлен на тот же самый компьютер, что и поставщик данных Microsoft .NET для mySAP Business Suite и Integration Services или Reporting Services.
  • Два удаленных вызова функций (RFC) должны быть установлены на сервере SAP. Необходимо установить RFC вначале на компьютер, на котором установлена библиотека SAP, а затем перенести их на сервер SAP (выполняется администратором сервера SAP).

Дополнительные сведения об установке поставщика данных Microsoft .NET для mySAP Business Suite см. в файле Readme, загружаемом вместе с поставщиком с узла https://msdn.microsoft.com/downloads/.

Возможности

Поставщик Microsoft .NET для SAP поддерживает два типа команд: выполнение RFC/BAPI и запросы SELECT к таблицам SAP.

Выполнение RFC/BAPI

Команда может быть настроена поставщиком данных Microsoft .NET для mySAP Business Suite на выполнение удаленного вызова функций (RFC) либо на выполнение вызова API-интерфейса SAP для бизнеса (BAPI).

Синтаксис

Поддерживается следующий синтаксис команды EXEC.

EXEC rfc_name
[{value | @variable [OUTPUT]}][,...n]
[@parameter = {value | @variable [OUTPUT]}][,...n] [;]

В следующей таблице приведены элементы синтаксиса.

Элемент Описание

rfc_name

Задает имя функции, которая может иметь тип RFC или BAPI.

@parameter

Задает имя параметра в определении интерфейса функции.

Value

Задает значение параметра. Значение может быть строкой, целым числом или константой XML.

@variable

Задает переменную, которая содержит значение параметра.

OUTPUT

Указывает, является ли параметр RFC равным OUTPUT или INPUT/OUTPUT.

Примеры

В следующих примерах приведен синтаксис инструкций EXEC.

Следующая инструкция EXEC выполняет функцию BAPI, не имеющую входных параметров.

EXEC BAPI_COMPANYCODE_GETLIST

Следующая инструкция EXEC выполняет функцию RFC, имеющую один входной параметр. Данный параметр задает имя и значение.

EXEC RFC_CUSTOMER_GET @NAME1='Contoso'

Следующая инструкция EXEC выполняет функцию RFC, имеющую входной параметр. Имя не задано, используется только значение.

EXEC RFC_CUSTOMER_GET '1001'

Следующая инструкция EXEC выполняет функцию RFC, имеющую входной параметр, указанный в переменной.

Чтобы выполнить эту инструкцию, необходимо создать объект SAPParameter с именем @var, задать его значение равным 1001 и добавить его к объекту SAPCommand, который соответствует запросу. Значение переменной должно быть 1001, так как первый параметр объекта RFCRFC_CUSTOMER_GET соответствует KUNNR.

EXEC RFC_CUSTOMER_GET @var

Следующая инструкция EXEC выполняет функцию RFC, имеющую два параметра. В качестве значения первого параметра (KUNNr) задается символ *, используемый для обозначения всех чисел, заданных клиентом. Значение второго параметра (NAME1) приравнивается значению переменной @var1.

Чтобы выполнить эту инструкцию, необходимо создать объект SAPParameter с именем @var1, задать его значение и добавить его к объекту SAPCommand, который соответствует запросу. В качестве направления объекта SAPParameter необходимо задать input.

RFC_CUSTOMER_GET @KUNNR='*',@NAME1=@var1

Следующая инструкция EXEC выполняет функцию BAPI, возвращающую названия компаний и сведения о каждой из них.

Чтобы выполнить эту инструкцию, необходимо создать параметр SAPParamete с именем @tableVar, задать его значение и добавить его к объекту SAPCommand, который соответствует запросу. В качестве направления созданного объекта SAPParameter необходимо задать inputoutput.

EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT

Запросы SELECT к таблицам SAP

Можно указать команду в поставщике данных Microsoft .NET для SAP, чтобы выполнить запросы SELECT с ограниченным синтаксисом таблиц SAP, включая прозрачные, кластерные и буферные таблицы.

ms141761.note(ru-ru,SQL.90).gifПримечание.
Синтаксис данного запроса не является стандартным синтаксисом Transact-SQL. Он является ограниченным и может применяться только к одной таблице.

Синтаксис

Поддерживается следующий синтаксис инструкции SELECT.

SELECT [TOP n] {ColumnName [AS Alias] | TableName.* | *}[1,..n]
[INTO FILE FileName [DELIMITED]]
FROM TableName [AS Alias]
[WHERE search_conditions] [OPTION 'no_conversion'] [;]

В следующей таблице перечислены предложения, поддерживаемые синтаксисом SELECT.

Предложение Описание

SELECT выбранный_список

Столбцы результирующего набора. Это список выражений select_list, разделенных запятыми. Имя столбца может быть полным. Можно присвоить псевдоним для каждого столбца. Символом-шаблоном * обозначается множество всех столбцов.

INTO FILE имя_файла

Задает имя файла, в который производится запись извлеченных данных при использовании в запросе режима плоских файлов.

FROM имя_таблицы

Таблица, из которой производится получение данных.

WHERE условия_поиска

Фильтр, определяющий условия, которым должны удовлетворять строки исходной таблицы для соответствия запросу.

OPTION

Макрокоманда, применяемая к данным, извлеченным из таблицы SAP. Если задан параметр 'no_conversion', то макрокоманды не применяются.

Дополнительные сведения о предложениях функции SELECT см. в разделе Части инструкции SELECT.

В следующей таблице перечислены логические операторы и операторы сравнения, поддерживаемые синтаксисом SELECT.

Оператор Раздел Transact-SQL

AND

AND (Transact-SQL)

OR

OR (Transact-SQL)

NOT

NOT (Transact-SQL)

()

Приоритет операторов (Transact-SQL)

BETWEEN

Оператор BETWEEN (Transact-SQL)

LIKE

LIKE (Transact-SQL)

TOP

TOP (Transact-SQL)

=

= (равно) (Transact-SQL)

!=

!= (не равно) (Transact-SQL)

>

!> (Не больше чем) (Transact-SQL)

>=

>= (Больше или равно) (Transact-SQL)

!>

!> (Не больше чем) (Transact-SQL)

<

< (меньше) (Transact-SQL)

<=

<= (меньше или равно) (Transact-SQL)

!<

!< (не меньше) (Transact-SQL)

Примеры

В следующих примерах приведен синтаксис инструкций SELECT.

Следующая инструкция SELECT возвращает все столбцы в таблице SPFLI.

SELECT * FROM SPFLI

Следующая инструкция SELECT выбирает данные из таблицы SPFLI в файл flight.txt, расположенный в папке Extracts на компьютере SAPSERVER.

SELECT * INTO FILE '\\SAPServer\Extracts\flight.txt' FROM SPFLI

Следующая инструкция SELECT возвращает столбцы таблицы SPFLI, содержащие сведения об авиарейсах из Нью-Йорка до Сан-Франциско.

SELECT* FROM SPFLI WHERE cityfrom='NEW YORK’ AND cityto=’SAN FRANCISCO’

Следующая инструкция SELECT возвращает все столбцы таблицы SPFLI, содержащие сведения об авиарейсах из Нью-Йорка с номерами от 1000 до 5000.

SELECT * FROM SPFLI where cityfrom=’NEW YORK' AND (connid BETWEEN 1000 and 5000)

Для получения такого же результирующего набора можно использовать следующую инструкцию.

SELECT * FROM SPFLI where cityfrom='NEW YORK' AND (connid>1000 AND connid<5000)

Следующая инструкция SELECT возвращает столбцы таблицы SPFLI, содержащие сведения об авиарейсах из Нью-Йорка до города, название которого задается значением переменной.

Чтобы выполнить эту инструкцию, необходимо создать объект SAPParameter с именем @variable, задать его значение и добавить объект SAPParameter к объекту SAPCommand, который соответствует запросу.

SELECT * FROM SPFLI WHERE cityfrom='NEW YORK' AND cityto=@variable

См. также

Другие ресурсы

Настройка служб Reporting Services для использования поставщика данных Microsoft .NET для mySAP Business Suite
Соединения служб Integration Services

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Измененное содержимое
  • Удаленный раздел о службах Reporting Services. Добавлены ссылки «См. также» на разделы о службах отчета.