본문 바로가기

JCo

3-2. Java 에서 SAP Function Module 호출하여 단일 값 조회하기

🕑 20분

👥 Eclipse 사용법을 알고, JCo Library를 다운 받아 Project에 적용한 학습자

⭐ JCo 는 JDK 1.8 버전에서 버그 없이 작동된다.

      ** 필자는 JavaSE-17 사용하다가 오류가 발생하여 1.8로 변경함

 

0. 개요

Java에서 SAP의 Function Module을 호출하여 파라미터를 주고 받는다.

이때 Function Module은 Remote-Enabled Module 이어야 한다.

(SAP > T-Code: SE37 > Attributes 탭 > Processing Type 에서 확인 가능)

 

이번 예제에서 Java 소스코드 개발은 아래와 같은 순서로 이루어진다.

1. '.jcoDestination' 확장자를 가진 config 파일에 SAP 접속 정보 입력하기

2. config 파일명으로 `JCoDestination` 객체 구현하기

3. Function Module명으로 SAP의 Function Module과 대응하는 `JCoFunction` 객체 구현하기

4. `JCoFunction` 객체에 Import Parameter 필드명(=key)과 필드값(=value)을 세팅하기

5. `JCoFunction`의 실행 메서드를 통해 SAP Function Module을 호출하기

6. 결과값을 받아와서 Java에서 Export Parameter값을 확인하기

 

 

1. JCo 설치 폴더에서, 공식 소스코드 예제 가져오기

1) ABAP_AS1.jcoDestination 파일 : Java Project 에 복사하기

 - 예제파일 경로 : \sapjco3-ntamd64-3.1.11\examples\

 ※ src 폴더 아래가 아닌, Java Project 바로 밑(root)에 넣어야 한다.

 

 

2) SimpleCall.java 파일 : src 폴더 안에 복사하기

 - 예제파일 경로 : \sapjco3-ntamd64-3.1.11\javadoc\ 의 intro.html > Examples > Beginner client examples

 ※ 맨 윗줄의 package ..; 단은 제외하고 복사

 

- 예시 화면

 

 

2. jcoDestination 파일에 SAP 접속정보 입력하기

1) ABAP_AS1.jcoDestination 파일 : SAP 접속정보 입력

(우) SAP 접속정보를 참고하여 작성한다.
jco.client 파라미터 설명
ashost 어플리케이션 서버
sysnr 인스턴스 번호
client 접속할 클라이언트
user SAP 로그인하는 ID
passwd SAP 로그인하는 PW
lang 로그인 언어

 

 

3. SAP에서 호출되는 Function Module 살펴보기

1) STFC_CONNECTION 스탠다드 함수

RFC CONNECTION Test 기능을 가지고 있는 Remote-Enabled Function Module

 

2) Import Parameter

 - REQUTEXT

 

3) Export Parameter

 - ECHOTEXT

 - RESPTEXT

 

4) 실행결과

- T-Code : SE37

 

 

4. SimpleCall.java 실행하고 함수 결과 확인하기

1) SimpleCall.java 실행

 

 

2) 결과 확인

SAP T-Code: SE37 의 결과와 동일한 것을 확인할 수 있다.

 

 

-

수고하셨습니다.