동영상은 제 구글 블로그에 있습니다 : http://py2sap.blogspot.kr/
1. 개요
ERP 시장 점유율 50%이상을 차지하여 사실상 독점을 하는 SAP ERP는 많은 기업에서
사용하는 경영관리 솔루션입니다
이렇다 보니 이 SAP ERP 기능을 확장하는 개발이 자주 있습니다
이러한 SAP ERP확장 Application은 주로 C언의 RFC와 java의 JCO connector등을 많이 이용하여
개발되어집니다
그렇지만 유연성이 뛰어나고 Global 하게는 잘 알려진(국내에 잘 알려지지 않았지만...) python으로
SAP ERP의 확장 기능을 개발하려면 무엇을 준비하고 환경은 어떻게 만들어야 하는지
먼저 시도한 내역을 공유하고자 합니다
물론 이 내역은 인터넷 검색으로 충분히 공유된 내역이지만 시간을 절약하기 위해
제가 성공한 방법을 정리 해 봤습니다
PC환경은
OS : win 10(x64) , python : 3.5.3(x64) ,
SAP RFC SDK(library) 7.20(x64) , PyRFC(x64)
2. SAP연결을 하기 위해 준비할 사항
(참고:https://sap.github.io/PyRFC/install.html , http://sap.github.io/PyRFC)
SAP연결을 위해서는 C언어 RFC, Java의 JCO처럼 SAP연결 library가 필요합니다
Python의 SAP연결 library는 python의 장점인 다른 언어(C언어) library를 사용하여
PyRFC라는 SAP연결 library를 만들어 제공합니다
따라서 우선 기존에 배포된 SAP RFC SDK( library)를 자신의 PC환경에 맞는(OS) 버젼으로 http://service.sap.com/rfc-library 다운 받아 설치 한다
[화면 켑춰내역이 안올라가네요]
한가지 주의 할 점은.. 다운로드 받은 파일(아마도 : NWRFC_42-20004568.SAR)은
SAR파일이므로 SAPCAR파일로 압축을 풀어야 한다
(sapcar도 support.sap.com에서 다운로드 받아야 한다)
즉, sapcar… -xvf NWRFC_42-20004568.SAR로 압축하제 하면
nwrfcsdk폴더가 생성된다
SAP NW RFC Library version버전과 플렛폼 관련된 정보도 참고하세요r:
Platform |
Python version |
NetWeaver RFC Library (SMP) |
Filename (SMP) |
Python egg |
Windows |
Python 2.7 (32bit) |
Windows Server on IA32 32bit |
NWRFC_20-20004566.SAR |
pyrfc-1.9.3-py2.7-win32.egg |
Windows |
Python 2.7 (64bit) |
Windows on x64 64bit |
NWRFC_20-20004568.SAR |
pyrfc-1.9.3-py2.7-win-amd64.egg |
Linux |
Python 2.7 (64bit) |
Linux on x86_64 64bit |
NWRFC_20-20004565.SAR |
pyrfc-1.9.3-py2.7-linux-x86_64.egg |
Note
§ 버전에 주의 하고 , 32bit 와 64bit도 잘 참고하시기 바랍니다
SAP RFC SDK( library)를 위한 nwrfcdsk폴더를 편의상 C:\아래 copy하여
생성하고 시스템 환경 변수인 “Path”에 “c:\nwrfcsdk\bin\와
c:\nwrfcsdk\bin\”을 추가합니다
[화면 켑춰내역이 안올라가네요]
그리고 c:\nwrfcsdk\lib폴더에서 있는 아래 두개의 파일을
c:\nwrfcsdk\bin폴더로 copy한다
libsapucum.dll , sapnwrfc.dll
자 이제 정상적으로 설치 되었는지 확인이 필요한데…
커맨드 창에서 c:\nwrfcsdk\bin폴더의 rfcexec.exe를 실행하여
아래와 같이 나오면 성공적으로 설치된 것이고,
메시지 창이 나타나면 잘 못 설치 된 것이다
(사실 저는 이 오뉴때문에 많이 고생 했음 ㅜㅜ)
3. python설치하기(https://www.python.org/downloads/windows/)
각자 윈도우에 맞는 버전을 설치 합니다(python 은 3.x대를 권장합니다)
[화면 켑춰내역이 안올라가네요]
설치는 path 추가 체크 꼭 하시고 , “custom..” 으로 설치하여 설치 폴더를
C;\Python3xx로 지정하면 좋다
python설치가 끝났으면 PC 리부팅 하고 , python이 잘 실행되는 커맨드창에서
버젼정보와 ">>>" 나오면 설치가 정상적으로 완료된 것이다
[화면 켑춰내역이 안올라가네요]
추가적으로 easy_install과 pip도 잘 성치 되었는지 확인한다
[화면 켑춰내역이 안올라가네요]
4. PyRFC설치하기 (참고: https://github.com/SAP/PyRFC)
자 이제 마지막으로 PyRFC를 설치 한다
PyRFC는 https://github.com/SAP/PyRFC에서 다운로드 클릭하여 다운받고
압축 해제 해도 되고,
github설치 후 커맨드 창에서 “Git clone https://github.com/SAP/PyRFC해도 된다
[화면 켑춰내역이 안올라가네요]
압축을 풀면 아마도 아래(PyRFC-master폴더)와 같은 파일과 폴더들이 보일 것이다
[화면 켑춰내역이 안올라가네요]
우라가 등록할 PyRFC는PyRFC-master폴더의 dist폴더에 있으므로
커맨드창에서 이 폴더로 이동하여 pyrfc-1.9.5-py3.5-win-amd64.egg이
존재 하는지 확인한다
커맨드 창에서 Easy_install pyrfc-1.9.5-py3.5-win-amd64.egg을
입력하여 설치 한다
[화면 켑춰내역이 안올라가네요]
이제 마지막으로 PyRFC가 잘 되었는지 확인 한다
커맨드 모드에서 c:\nwrfcsdk\bin>python 와 >>> from pyrfc import *를
순차적으로 입력하면
[화면 켑춰내역이 안올라가네요]
정상일때
c:\nwrfcsdk\bin>python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
첨부 파일