닷넷으로 개발한 윈폼 프로그램에서 SAP로 연결해서 데이터를 주고 받는 로직을 구현해야 할 경우가 있습니다.
SAP ABAP의 RFC Function 프로그램을 개발하는 데 어려움을 겪는 분들을 위해 간단한 예제를 만들어 보았습니다.
C# 닷넷 프로그램으로 SAP에 연결하여 RFC Function 모듈을 이용하여 데이터를 주고 받는 예제 프로그램입니다.
닷넷의 윈폼(WinForm)이나 ASP.NET(웹폼)에서 동일하게 사용할 수 있는 예제입니다.
C# 프로그램 설명
– 개요 : 고객번호를 입력하고 가져오기 버튼을 클릭하면 SAP의 RFC를 이용하여 고객명을 가져오는 프로그램입니다.
– 대상 프레임워크 : .NET Framework 2.0
– 플랫폼 대상 : x84
— 대상 프레임워크와 대상 플랫폼은 참조하는 SAP .NET Connector의 버젼에 맞추다 보니 예전 버젼으로 하였습니다.
▼ 실행 화면
닷넷 프로젝트의 참조 추가와 실행 폴더의 파일 구성
프로젝트의 참조에 sapnco.dll, sapnco_utils.dll 두개를 참조 추가 합니다.
rscp4n.dll과 libicudecnumber.dll은 실행 폴더에 직접 복사해서 놓습니다.
RFC(BAPI) Function을 사용하는 C# 프로그램 소스 및 설명
SAP 연결을 위해 using SAP.Middleware.Connector 선언해 줍니다.
using System;
using System.Windows.Forms;
using SAP.Middleware.Connector;
namespace SAP_RFC_Demo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// SAP에 연결하기
RfcConfigParameters rfc = new RfcConfigParameters();
rfc.Add(RfcConfigParameters.Name, “PRD”); //SAP 어플리케이션 서버 이름
rfc.Add(RfcConfigParameters.AppServerHost, “100.10.10.100”); //서버IP
rfc.Add(RfcConfigParameters.Client, “100”); //클라이언트 번호
rfc.Add(RfcConfigParameters.User, “user01”); //사용자ID
rfc.Add(RfcConfigParameters.Password, “password”); //사용자 패스워드
rfc.Add(RfcConfigParameters.SystemNumber, “00”); //시스템ID
rfc.Add(RfcConfigParameters.Language, “KO”); //언어
rfc.Add(RfcConfigParameters.PoolSize, “5”);
RfcDestination rfcDest = RfcDestinationManager.GetDestination(rfc);
RfcRepository rfcRep = rfcDest.Repository;
// Function 선언(초기화)
IRfcFunction function = null;
// BAPI(RFC) Function 호출하기
function = rfcRep.CreateFunction(“Z_BAPI_SD_KUNNR_NAME”); //BAPI펑션
function.SetValue(“IM_KUNNR”, textBox1.Text); // Import
function.Invoke(rfcDest);
rfcDest = null;
// BAPI Function에서 리턴된 값 처리
IRfcStructure RETURNStructure = function.GetStructure(“RETURN”);
textBox2.Text = function.GetString(“EX_NAME1”).ToString();
}
}
}
|
SAP에서 만들어 놓은 Z_BAPI_SD_KUNNR_NAME의 RFC Function Module은 SAP ABAP – RFC Function 모듈 생성하기에서 확인하실 수 있습니다.
– 아래 링크에서 SAP .NET Connector 3.0 다운 받을 수 있습니다. (닷넷프레임워크 2.0/4.0, 32bit/64bit 구분해서 받을 수 있음) : https://support.sap.com/en/product/connectors/msnet.html?anchorId=section_512604546
마무리
이상으로 C#에서 SAP RFC Function(BAPI Function)을 사용하는 방법(예제포함)에 대해 알아보았습니다.
C# 닷넷 프로그램에서 SAP를 연동하여 RFC Function을 사용하는 프로그램을 개발할 때 참고하시기 바랍니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
♥ 이 글이 도움이 되었기를 바랍니다. ^-^
댓글로 흔적을 남겨 주세요.