Microsoft .NET Data Provider for mySAP Business Suite

업데이트: 2006년 4월 14일

SQL Server 2005에서는 Microsoft .NET Data Provider for mySAP Business Suite를 사용하여 SAP 데이터에 액세스할 수 있도록 지원합니다. 이 공급자를 사용하면 mySAP Business Suite 솔루션에 연결한 다음 서버에서 명령을 실행할 수 있는 패키지를 만들 수 있습니다. 또한 SAP 서버에 대해 Reporting Services 보고서를 만들 수도 있습니다. Microsoft .NET Data Provider for mySAP Business Suite는 SAP R/3 버전 4.6C 이상에서 테스트했습니다. 이전 버전의 SAP R/3은 지원되지 않습니다.

Microsoft .NET Data Provider for mySAP Business Suite는 SQL Server 가져오기 및 내보내기 마법사, 스크립트 작업, DataReader 원본 및 Integration Services에서 제공하는 스크립트 변환뿐만 아니라 Reporting Services의 데이터 처리 확장 프로그램에서도 사용할 수 있습니다.

Microsoft .NET Data Provider for mySAP Business Suite는 SQL Server 2005에 포함되어 있지 않으며 https://msdn.microsoft.com/downloads/에서 다운로드해야 합니다.

필수 구성 요소

Microsoft .NET Data Provider for mySAP Business Suite를 사용하려면 먼저 다음을 설치해야 합니다.

  • SAP DLL librfc32.dll. 실행 파일인 SAPgui를 실행하여 SAP DLL을 설치합니다. SAP DLL은 Microsoft .NET Data Provider for mySAP Business Suite 및 Integration Services 또는 Reporting Services와 같은 컴퓨터에 설치해야 합니다.
  • SAP 서버에 두 개의 사용자 지정 RFC(원격 함수 호출)를 설치해야 합니다. RFC는 먼저 SAP DLL이 설치된 컴퓨터에 설치된 후 SAP 관리자를 통해 SAP 서버로 전송됩니다.

Microsoft .NET Data Provider for mySAP Business Suite 설치 방법은 https://msdn.microsoft.com/downloads/에서 이 공급자를 다운로드할 때 함께 제공되는 추가 정보를 참조하십시오.

기능

SAP용 Microsoft .NET 공급자는 두 가지 명령 유형을 지원합니다. 즉, SAP 테이블에 대해 RFC/BAPI 실행 및 SELECT 쿼리 명령이 지원됩니다.

RFC/BAPI 실행

SAP용 Microsoft .NET 공급자에 대한 명령을 지정하여 RFC(원격 함수 호출) 또는 SAP BAPI(Business Application Programming Interfaces)에 대한 호출을 실행할 수 있습니다.

구문

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를 실행합니다.

이 문을 실행하려면 @var이라는 이름으로 SAPParameter 개체를 만들고 이 개체의 값을 1001로 설정한 후 쿼리에 해당하는 SAPCommand 개체에 추가해야 합니다. RFCRFC_CUSTOMER_GET의 첫 번째 매개 변수는 KUNNR에 일치하기 때문에 변수의 값은 1001이어야 합니다.

EXEC RFC_CUSTOMER_GET @var

다음 EXEC 문은 두 개의 매개 변수를 사용하는 RFC를 실행합니다. 첫 번째 매개 변수인 KUNNR의 값은 *로 설정되어 모든 고객 번호를 나타내고 두 번째 매개 변수인 NAME1은 변수 값 @var1로 설정됩니다.

이 문을 실행하려면 @var1이라는 이름으로 SAPParameter 개체를 만들고 해당 값을 지정한 후 쿼리에 해당하는 SAPCommand 개체에 새 개체를 추가해야 합니다. SAPParameter 개체의 방향은 input이어야 합니다.

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

다음 EXEC 문은 회사 이름과 각 회사에 대한 정보를 반환하는 BAPI를 실행합니다.

이 문을 실행하려면 @tableVar이라는 이름으로 SAPParameter를 만들고 해당 값을 지정한 후 쿼리에 해당하는 SAPCommand 개체에 SAPParameter를 추가해야 합니다. 생성된 SAPParameter 개체의 방향은 inputoutput이어야 합니다.

EXEC BAPI_COMPANYCODE_GETLIST @COMPANYCODE_LIST=@tableVar OUTPUT

SAP 테이블에 대한 SELECT 쿼리

SAP용 Microsoft .NET 공급자에 대한 명령을 지정하여 투명, 클러스터 및 풀 테이블을 비롯한 SAP 테이블에 대해 제한적인 SELECT 쿼리 구문을 실행할 수 있습니다.

[!참고] 쿼리 구문은 표준 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

결과 집합의 열입니다. select_list는 쉼표로 구분된 식 목록입니다. 열 이름은 정규화될 수 있습니다. 각 열에 별칭을 지정할 수 있습니다. 와일드카드 문자(*)는 모든 열을 나타냅니다.

INTO FILE FileName

쿼리에 플랫 파일 모드를 사용하는 경우 추출되는 데이터가 기록될 파일 이름을 지정합니다.

FROM TableName

데이터가 검색되는 테이블입니다.

WHERE search_conditions

원본 테이블의 각 행이 SELECT의 결과에 포함되기 위해 만족시켜야 할 조건을 정의하는 필터입니다.

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 테이블의 데이터를 SAPSERVER 컴퓨터의 Extracts 폴더에 있는 flight.txt 파일에 기록합니다.

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

다음 SELECT 문은 New York에서 출발하여 San Francisco로 도착하는 항공편에 대해 SPFLI 테이블의 모든 열을 반환합니다.

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

다음 SELECT 문은 New York에서 출발하며 1000에서 5000 사이의 식별자를 갖는 항공편에 대해 SPFLI 테이블의 모든 열을 반환합니다.

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 문은 New York에서 출발하여 변수 값으로 지정된 도시에 도착하는 항공편에 대해 SPFLI 테이블의 모든 열을 반환합니다.

이 문을 실행하려면 @variable이라는 이름으로 SAPParameter를 만들고 해당 값을 지정한 후 쿼리에 해당하는 SAPCommand 개체에 SAPParameter를 추가해야 합니다.

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

참고 항목

관련 자료

Microsoft .NET Data Provider for mySAP Business Suite를 사용하도록 Reporting Services 구성
Integration Services 연결

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2005년 12월 5일

변경된 내용
  • Reporting Services에 대한 섹션을 제거하고 Reporting Services 항목에 대한 참고 항목 링크를 추가했습니다.