Поставщик данных 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, включая прозрачные, кластерные и буферные таблицы.
Примечание. |
---|
Синтаксис данного запроса не является стандартным синтаксисом 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 |
|
OR |
|
NOT |
|
() |
|
BETWEEN |
|
LIKE |
|
TOP |
|
= |
|
!= |
|
> |
|
>= |
|
!> |
|
< |
|
<= |
|
!< |
Примеры
В следующих примерах приведен синтаксис инструкций 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 г. |
|