본문으로 바로가기

SAP JCo란?

category SAP 2014.04.04 13:03

SAP JCo란?


인터넷에 SAP JCo에 대한 글이 별로 없어서 써봅니다.




1.JCo란?

JCo는 java에서 sap데이터를 가지고 올 수 있는 컨넥터라고 보면 됩니다.


보통 sap를 쓸 때는 sap gui로 사용을 많이 해요. sap gui는 사용자들이 거부감이 많은지 sap를 web기반으로 사용하고자 하는 요구가 많은 것 같습니다.


그렇게 하려면 sap를 외부에서 접근해야 하는데 그 방법 중 하나가 sap jco를 이용하는 방법입니다.


2.JCo의 구성

JCo는 두개의 파일로 구성이 되어있다고 보면 됩니다.


sapjco.dll

sapjco.jar


위에 있는 dll은 system32폴더에 넣어주거나 tomcat을 쓴다면 bin폴더에 넣어주면 됩니다.

그리고 아래 있는 jar은 말 그대로 자바 라이브러리에요. 자바 라이브러리에서 sapjco.dll과 연결해주는 기능을 한다고 보면 됩니다.


.dll은 윈도우 용이고 help.sap.com/service에 들어가면 dll말고도 리눅스, 유닉스, 맥os 등 대부분의 운영체제에 맞는 버전을 제공하니 걱정할건 없어요.


제가 사용해본건 윈도우용이랑 맥용 두가지만 써봤는데 나머지도 잘 될겁니다 아마 :)



3.JCo는 왜 쓰는가?

주로 자바에서 SAP 데이터를 가지고 오기 위해 사용합니다.




4.설치 방법

위에 설명한 그대로에요.


.dll은 system32 폴더에 넣거나 tomcat(WAS)의 bin에 넣으면 됩니다.



그리고 .jar파일은 위의 구조처럼 maven이나 external library를 import해주고 사용하면 됩니다.



5.사용방법

sap jco는 주로 abap function을 호출하는데 사용합니다.


그러므로 sap에서 function을 호출하는 방법 그대로를 자바 코드에서 적용해주면 되요.


1) function name으로 function을 호출하고

2) 호출한 function에서 toXML() 메소드를 이용해서 리턴값을 모두 XML로 받아올 수 있습니다.


XML을 json으로 변환해서 javascript에서도 쓸 수 있도록 view로 넘겨주는 방식을 많이 사용합니다.




질문은 e-mail plz~














댓글을 달아 주세요

  1. BlogIcon oracleuser 2014.04.05 01:23

    아직 ABAP에서 해당 과정까지 배우지 못했기에 정확하지는 않을 수 있으나...

    ...

    BC 관점에서의 JCo는...

    ABAP Stack + JAVA Stack의 연결 통로 역할을 합니다...

    물론 이때 ICM을 통해 Java Dispatcher에서 사용자 세션(요청)을 받아들인 후

    데이터 처리는 ABAP스택으로 넘기는 개념이지요...

    ...

    다만 프로그램적 상황에서는 저도 아직 모르기에 위 내용이 많이 도움 될것 같습니다.

    즐거운 주말되세요.

  2. BlogIcon oracleuser 2014.05.22 09:49

    바쁘셔서 그런건지 이번달은 글이 없네요.

    건강 잘 쳉기시고요.

    남은 5월 즐겁게 보내세요~

  3. BlogIcon 고명학 2014.10.16 09:22

    sap jco통신할 때 파라메터를 스트링으로 주고 받는것으로 알고 있는데요..모델 객체도 가능한가요..?