본문 바로가기

JCo

3-4. Java 에서 SAP Function Module 호출하여 Table 값 조회하기

🕑 20분

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

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

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

 

0. 개요

Java에서 SAP의 Function Module을 호출하여 Table 형식의 데이터를 조회한다.

이때 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`의 실행 메서드를 통해 SAP Function Module을 호출하기

6. `JCoTable` 객체 구현하고 `JCoFunction`의 결과값을 넣기

7. 반복문 사용하여 Table 내의 요소를 출력하기

8. 또 다른 새 Function Module 객체를 생성하여 '6.'에서 받은 Table 값으로 Function 호출 ~ 결과값 출력

첫번째 Function
두번째 Function

 

 

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

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

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

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

 

 

2) CallUsingTable.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 살펴보기

3.1. BAPI_COMPANYCODE_GETLIST 스탠다드 함수

회사 코드를 조회할 수 있는 Remote-Enabled Function Module

 

1) Import Parameter

 - 없음

 

2) Export Parameter

 - COMPANYCODE_LIST (LIKE BAPIRETURN)

 

3) 실행결과

- T-Code : SE37

 

 

 

3.2. BAPI_COMPANYCODE_GETDETAIL 스탠다드 함수

회사 코드 정보를 상세하게 조회할 수 있는 Remote-Enabled Function Module

 

1) Import Parameter

 - COMPANYCODEID

 

2) Export Parameter

 - COMPANYCODE_DETAIL (LIKE BAPI0002_2)

 

3) 실행결과

- T-Code : SE37

 

 

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

1) CallUsingTable.java 실행

 

2) 결과 확인

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

 

3) SAP 디버깅 팁

SAP Function Module에 External BreakPoint를 설정하면

이클립스에서 소스코드를 실행시켰을때, SAP에서 디버깅이 가능하다.

 

- SAP ABAP 편집기에서 원하는 라인에 커서를 올려둔 후, 상단의 External BreakPoint 아이콘 선택

- 이클립스에서 Java 실행하여 디버깅 화면 확인

 

 

-

수고하셨습니다.