python 활용하기

Python으로 SAP ERP 접속하기

SAP ERP연동을 위한 PyRFC환경 설정 내용입니다 화면켑춰 보완할때까지 내용 참고 부탁드립니다
본 토픽은 현재 준비중입니다.공동공부에 참여하시면 완성 되었을 때 알려드립니다.

동영상은 제 구글 블로그에 있습니다 : 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. 

 

첨부 파일

 

  • 봤어요 0명

댓글

댓글 본문
  1. 아까비
    안녕하세요 강현종입니다
    모바일에서 답글을 달았는데 안보여서 다시 답글 달아드립니다
    nwrfcsdk를 제가 메일 드리는 것은 적절하지 않다고 판단하였습니다
    그 대신 SAP 서버 설치등 할수 있는 SW다운로드 방법을 안내드립니다

    SAP가 sap개발자(abap포함)를 지원하는 곳(developer.sap.com)에 접속하여
    SAP Universal ID만들고 "Trails and Download'와 "community"에서 자료 다운로드 하시면 될것 같습니다

    추가로 요즘은(SAP ERp 752이상)
    SAP ABAP프로그램을 호출할때 RFC를 사용안하고 web URL을 직접호출(soap으로)하는 방법을 사용합니다
    물론 SAP ABAP 프로그램을 soamanager(t-code)라는 툴로 web 서비스로 변환이 필요합니다
    그러면 저 sdk를 사용하지 않아서 soap을 이용하여 sap abap을 web에서 호출 가능합니다
    구글에서 soamanager를 검색해서 추가 정보를 얻으시기 바랍니다
    그럼 오늘도 화이팅 하세요
    대화보기
    • 듀티프리
      안녕하세요.
      "sap와 파이썬 연동"으로 구글 검색하다가 본 게시글을 발견하고 염치없이 연락드립니다.
      저는 현재 P유저라서 SDK다운로드 권한이 없네요.
      본사에 연락해도 아무런 답변이 없습니다.ㅠㅠ
      혹시 SDK파일이 있으시면 공유 가능하신지요?
      leejhq1999@naver.com

      업무에 바쁘시겠지만 연락 부탁드립니다.
      감사합니다.
    • 강현종
      SAP 시스템을 python등으로 연결할때 관련으로 한가지 더 알려드립니다
      SAP ERP등을 S4 HANA 로 업그래이드하면
      DBMS를 HANA DB를 사용하게 되는데..
      이러면 SAP가 SAP DB를 사용하므로 HANA DB를 직접 사용할수 있습니다
      (물론 HANA DB 사용 라이선스확인해야 하겠지요)
      즉, python등에서 직접 HANA DB접속 가능하다는 뜻이죠
      따라서 아래 RFC SDK를 사용하는 불편을 제거할수 있으니
      SAP라이선스 정책과 HANA DB사용 범위를 꼭 한번 점검해 보세요
    • 강현종
      mannheim115님 연락이 늦었네요
      아래 블로그에 영문으로 접속하는 방법이 있는데...
      일단 참고하시구요
      https://blogs.sap.com......de/

      SDK는
      developer.sap.com 가입하고(SAP Universal ID생성)
      사용하시는 환경에 맞게 다운로드 받으시면 될것 같네요
    • 강현종
      앗, 댓글주셔서 감사합니다
      제가 다른일로 자료 찾는게 제한되고 있어
      추석 이후에 연락드릴수 있을거 같아요
      너무 늦는것 같아 여기에 미리 댓글 드립니다
      대화보기
      • mannheim115
        안녕하세요, SAP를 ERP로 사용중인 공공기관 현장설비 기술부서 감독자입니다.
        파이썬을 이용한 엑셀 및 SAP 자동화 프로그램 개발 관계로 해당 SDK가 필요한데,
        본사에서만 보유중인 S-user로부터 권한 획득이 어려워 SAP One Support에 접속이 불가능한 상황입니다.
        SDK 다운로드가 가능하신 상황이면 해당 프로그램을 메일로 송부받을 수 있을까요?

        bins.sin@khnp.co.kr
        bins_s@naver.com

        연락주시면 정말 감사하겠습니다 ㅠㅠ...
        대화보기
        • 강현종
          네, 답글이 좀 늦었네요
          RFC lib파일을 올려드리려하는데...
          첨부가....안되네요
          대화보기
          • choboabbaper
            NWRFC_42-20004568.SAR file을 구할 수 없을까요?
            sap 회원가입이 안되어 있어서요ㅠ.ㅠ
          • 강현종
            동영상 준비중인데.. 언제 완성될지 모르겠어요
            최대한 빨리 만들어 볼께요
          • happydeveloper
            기대되네요~~