Sap Rfc Java 연동 | Java 프로그램과의 Sap Rfc(원격 기능 호출) Abap 5730 투표 이 답변

당신은 주제를 찾고 있습니까 “sap rfc java 연동 – Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP“? 다음 카테고리의 웹사이트 https://you.tfvp.org 에서 귀하의 모든 질문에 답변해 드립니다: https://you.tfvp.org/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 Easy SAP ABAP 이(가) 작성한 기사에는 조회수 4,354회 및 좋아요 66개 개의 좋아요가 있습니다.

sap rfc java 연동 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP – sap rfc java 연동 주제에 대한 세부정보를 참조하세요

In this video I show you how to make remote function calls (RFC) to an SAP ERP system using the JCo Java adapter. The JCo adapter provides an easy-to-use API so that we can interact with SAP from our Java programs.

For any questions, please feel free to leave a comment, or shoot me an e-mail at: [email protected]

sap rfc java 연동 주제에 대한 자세한 내용은 여기를 참조하세요.

Java에서 SAP RFC 작성하기 – 개발자의 하루

웹사이트 작업을 하다 보면 사이트와 SAP라는 ERP를 연동해야 하는 상황을 맞닥트릴 수 있는데,. 처음 이클립스와 SAP JCO를 연결하는 부분이 잘 되지 …

+ 자세한 내용은 여기를 클릭하십시오

Source: chocotaste.tistory.com

Date Published: 11/23/2021

View: 5734

SAP JCO RFC 테스트 – 프로그램 개발일지

SAP RFC 펑션을 호출하는 작업을 진행중입니다. 본인은 자바로 개발 테스트를 진행하였습니다. 우선 자바 라이브러리를 다운 받아야 합니다.

+ 여기를 클릭

Source: csksoft.tistory.com

Date Published: 2/13/2021

View: 7892

SAPJCO 연동 설정

Java에서 SAP을 연동하여 시스템을 구축할 때 사용되는 SAP JAVA Connector. – Java에서 SAP의 데이터를 가져오기 위해 SAP Jco 사용. 2. 필요 파일.

+ 여기를 클릭

Source: luceatluxvestra.tistory.com

Date Published: 10/5/2022

View: 8619

자바(java)에서 SAP 연계하여 데이터 조회 – 나이스버리

자바(java)에서 SAP에 연결하여 데이터를 조회하는 간단한 소스임.. 사실 SAP에대해선 아무것도 모름… 주변에 SAP에 대해 아는 사람도 없고 내가 …

+ 더 읽기

Source: nicebury.tistory.com

Date Published: 10/11/2022

View: 716

JAVA SAP Connect Archives – sorrymommy

클래스. 결론부터 말하자면 SAP에 접근을 위해서는 JCoDestination 클래스 객체를 이용한다. 저 객체를 이용하여 SAP말하는 RFC(원격함수)를 호출 …

+ 여기에 표시

Source: sorrymommy.com

Date Published: 4/3/2022

View: 1121

[퍼옴] JCO를 이용한 JAVA와 SAP의 연동 – ABAP – 다음카페

SAP JCO가 SAP과 Communication하는 방식은 위 그림1과 같습니다. SAP에서 제공하고자 하는 기능을 RFC Function으로 만들어 놓으면 Java Application …

+ 자세한 내용은 여기를 클릭하십시오

Source: m.cafe.daum.net

Date Published: 6/27/2021

View: 835

SAP 로컬 연결 환경 환경방법 – IT정리노트

로컬 개발시 SAP 연동 개발시 필요한 환경 설정 입니다. 첨부파일을 다운로드 받은 후, 아래 폴더에 이동시킵니다. C:\Windows\System32 – sapjco.dll.

+ 자세한 내용은 여기를 클릭하십시오

Source: eknote.tistory.com

Date Published: 8/29/2022

View: 8730

JAVA 에서 JCO를 사용한 SAP RFC 연동 문의 – OKKY

JAVA 로 개발된 업무시스템에서 SAP 데이터를 INPUT/OUTPUT 할 때,. sapjco3.jar 를 사용하는 것으로 아는데, JAVA 에서 sapjco3.jar 을 통해 RFC 를 …

+ 더 읽기

Source: okky.kr

Date Published: 12/29/2022

View: 3391

JCo 간단 소개&정보 – ShyunK

JAVA <-> SAP 데이터 연동을 위해 SAP 에서 제공하는 라이브러리 … SAP Java Connector(SAP JCo)는 Java 애플리케이션이 SAP의 RFC 프로토콜을 통해 사내 SAP 시스템 …

+ 여기에 더 보기

Source: shyunk.info

Date Published: 9/17/2021

View: 1616

[본문스크랩]SAP ERP 와 타시스템의 연동 – 네이버 블로그

SAP ERP Function을 Call 할 수 있는 Language별 RFC SDK 를 이용하는 방법 … JAVA Proxy, 웹서비스 등 몇가지 방법으로 연동하고 다시 EAI와 타 …

+ 여기에 더 보기

Source: m.blog.naver.com

Date Published: 8/6/2021

View: 6174

주제와 관련된 이미지 sap rfc java 연동

주제와 관련된 더 많은 사진을 참조하십시오 Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP
Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP

주제에 대한 기사 평가 sap rfc java 연동

  • Author: Easy SAP ABAP
  • Views: 조회수 4,354회
  • Likes: 좋아요 66개
  • Date Published: 2021. 7. 1.
  • Video Url link: https://www.youtube.com/watch?v=k4ESBwfSnkQ

Java에서 SAP RFC 작성하기

반응형

웹사이트 작업을 하다 보면 사이트와 SAP라는 ERP를 연동해야 하는 상황을 맞닥트릴 수 있는데,

처음 이클립스와 SAP JCO를 연결하는 부분이 잘 되지 않아 어려울 수 있지만

해당 고비만 넘기면 Java에서 SAP를 사용하는 데에 있어 작업은 그렇게 어렵지 않다.

Java에서 SAP RFC를 사용하러 ㄱㄱ!

1.SAP 계정 설정

Connection.java에 아래의 연결하려는 SAP 계정(인터페이스용)을 설정해 주고,

properties.setProperty(DestinationDataProvider.JCO_ASHOST, “IP”); properties.setProperty(DestinationDataProvider.JCO_R3NAME, “name”); properties.setProperty(DestinationDataProvider.JCO_CLIENT, “num”); properties.setProperty(DestinationDataProvider.JCO_USER, “ID”); properties.setProperty(DestinationDataProvider.JCO_PASSWD, “PWD”); properties.setProperty(DestinationDataProvider.JCO_LANG, “KO”);

2.RFC 정보 설정

사용하려고 하는 보통 ServiceImpl.java에서 아래의 코드대로 작성을 해주면 결과 테이블을 받아올 수 있다.

단! 모두 SAP RFC 를 작성할 때의 이름들과 동일 해야 한다.

RFC명, 파라미터 명, 결과 정보인 결과 코드명과 메세지 명, OUTTABLE 명 모두!

Connection connection = new Connection(); //연결 선언 JCoFunction function = connection.getFunction(“SAP RFC 명”); //SAP RFC 명 //보내줄 파라미터 명과 값 셋팅 function.getImportParameterList().setValue(“I_PARAM1”, “20211201”); function.getImportParameterList().setValue(“I_PARAM2”, “20211216”); connection.execute(function); //실행 //실행할 RFC 정보 콘솔 출력 /*System.out.println(“=====================================”); System.out.println(“SAP RFC 명”); System.out.println(“=====================================”); System.out.println(“I_PARAM1 : ” + params.get(“I_PARAM1”) ); System.out.println(“I_PARAM2 : ” + params.get(“I_PARAM2”));*/ //받아오는 결과정보-결과코드와 메세지 String rtnCode = function.getExportParameterList().getString(“E_CODE”); String rtnMsg = function.getExportParameterList().getString(“E_MSG”); System.out.println(rtnCode+”/”+rtnMsg); //결과 콘솔 출력 //받아오는 결과정보-원하던 결과 테이블 JCoTable resTable = function.getTableParameterList().getTable(“OUTTABLE명”); //OUTTABLE명 //System.out.println(”

“+resTable); //받아오는 출력결과 테이블 콘솔 출력 //받아온 값 Controller로 리턴 return convertToRFCByJSON.getRFCList(function, resTable, rtnCode, rtnMsg);

콘솔로 결과를 알기 위해서 System.out.println으로 출력해 주었으나,

결과가 성공적으로 받아져 오면 주석은 필수!

받아오는 테이블을 그대로 사용할 거라면 Controller.java 에서 ModelAndView에 담아 넘기면 끝!

데이터를 가공할 거라면 ServiceImpl 단 에서 모두 처리 후 넘겨준다.

@RequestMapping(value=”/functionName.json”) //호출 링크 public ModelAndView functionName(ParameterMap params) throws Exception{ //ServiceImpl에서 위에 작성한 코드가 들어있는 function명 return new ModelAndView(“jsonView”, Service.functionName(params)); }

RFC명 밖에 모를 땐,

SAP에서 T-CODE: SE37으로 SAP FUNCTION, 즉 RFC를 조회할 수 있는데,

RFC명으로 검색해서 나오는 RFC정보들을 참고하면 위에 빈 값들을 잘 채워 넣을 수 있다.

Import탭이 입력할 파라미터 명,

Export탭이 받아오는 결과 정보,

Tables탭이 받아오는 결과 테이블 정보들이 있는 것을 알 수 있다!

도움이 되었다면 공감♥ 부탁드려요!

로그인하지 않아도 가능!

반응형

SAP JCO RFC 테스트

728×90

SAP RFC 펑션을 호출하는 작업을 진행중입니다.

본인은 자바로 개발 테스트를 진행하였습니다.

우선 자바 라이브러리를 다운 받아야 합니다.

https://support.sap.com/en/product/connectors/jco.html

자바 개발을 하기 위한 샘플소스를 공부하기 좋은 사이트 참고하세요.

https://shyunk.info/SAP_JCO/1/

우선 테스트 할 수 있는 샘플 SAP 펑션이 있어야 합니다. 그래서 SAP 확인을 먼저 합니다.

SAP 에서 실행 결과 확인

SAP 접속을 하기 위한 소스 영역 부분

/** * 부족자재 조회 관련 인터페이스 테스트 * @throws JCoException */ public static void step3SimpleCall() throws JCoException { try { JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED); JCoFunction function = destination.getRepository().getFunction(“ZMMC_LACK_MAT_WC”); if (function == null) { System.out.println(“function is null”); } JCoParameterList listParam = function.getImportParameterList(); listParam.setValue(“IV_STD_DT”, “20220317”); listParam.setValue(“IV_WERKS”, “1011”); listParam.setValue(“IV_LIFNR”, “101201”); function.execute(destination); String RESTAT = (String) function.getExportParameterList().getValue(“EV_RESTAT”); System.out.println(RESTAT); String REMSG = (String) function.getExportParameterList().getValue(“EV_REMSG”); System.out.println(REMSG); JCoTable codes = function.getExportParameterList().getTable(“ET_LIST”); //JCoTable tables = function.getTableParameterList().getTable(“ZTMMC5030S”); for (int i = 0; i < codes.getNumRows(); i++) { // 테이블 로우 커서 세팅 codes.setRow(i); // 테이블 로우 별 값 프린트 System.out.println("STD_DT => ” + codes.getString(“STD_DT”) ); System.out.println(“WERKS => ” + codes.getString(“WERKS”) ); System.out.println(“LIFNR => ” + codes.getString(“LIFNR”) ); System.out.println(“MATNR => ” + codes.getString(“MATNR”) ); System.out.println(“REVLV => ” + codes.getString(“REVLV”) ); System.out.println(“STD_TM => ” + codes.getString(“STD_TM”) ); System.out.println(“WC_CHECK => ” + codes.getString(“WC_CHECK”) ); System.out.println(“REQ_TY => ” + codes.getString(“REQ_TY”) ); System.out.println(“ARBPL => ” + codes.getString(“ARBPL”) ); System.out.println(“MEINS => ” + codes.getString(“MEINS”) ); System.out.println(“PLAN_STOCK_QTY => ” + codes.getString(“PLAN_STOCK_QTY”) ); System.out.println(“PLAN_VMI_STOCK_QTY => ” + codes.getString(“PLAN_VMI_STOCK_QTY”) ); for(int index = 1; index < 15; index++ ) { System.out.println(String.format("D%02d_QTY1", index) + " => ” + codes.getString(String.format(“D%02d_QTY1”, index)) ); System.out.println(String.format(“D%02d_QTY2″, index) + ” => ” + codes.getString(String.format(“D%02d_QTY2”, index)) ); System.out.println(String.format(“D%02d_QTY3″, index) + ” => ” + codes.getString(String.format(“D%02d_QTY3”, index)) ); } } System.out.println(codes); } catch ( JCoException e) { System.out.println(e.toString()); return; } } public static void main(String[] args) throws JCoException { // step1Connect(); // step2ConnectUsingPool(); step3SimpleCall(); }

프로그램 실행 결과

728×90

365 new days, 365 new chances

프로젝트 할 때 SAP 과 연동 작업이 필요해서 이와 관련된 환경을 셋팅했다.

다음에 또 같은 환경을 쓸 때 참고하려고 sap jco 연동 방법 정리해 둔다~~

1. SAP Jco란?

– Java에서 SAP을 연동하여 시스템을 구축할 때 사용되는 SAP JAVA Connector.

– Java에서 SAP의 데이터를 가져오기 위해 SAP Jco 사용

2. 필요 파일

– sapjco.jar

– sapjco.dll

3. 환경 셋팅

** 주의: sapjco 관련 파일은 사용자의 OS 환경에 맞게 다운받아 설치해야 한다. 32bit 환경인데 64bit용 jco 파일을 설치하면 당연히 에러 ^^

(1) sapjco.dll 파일을 C 드라이브 > Windows > System32 아래로 넣어준다.

(2) sapjco.jar 파일은 maven 사용 시, pom 파일에 추가해주고

maven 사용하지 않는 경우, 프로젝트 우클릭 > properties > Java build path > libraries > add external jars 해서 추가해주면 된다.

(아래 사진 systemPath 태그에는 로컬 파일 경로를 명시해주었다)

–> maven 사용 시 중앙 리파지토리에 sapjco3.jar 파일을 등록하여 받아 쓰는 것도 가능하지만, 그렇게 설정하면 sapjco3.jar 파일에 버전정보가 붙은채로 땡겨오게 되고, 버전정보가 붙으면 maven build 시 jar 파일을 정상적으로 인식하지 못하는 에러가 발생했다. 그래서 우선 maven build 시 로컬 경로로부터 jar파일을 가져다 쓸 수 있도록 설정하여 사용했다.

(3) SAP 연결 정보 설정

– 내가 한 프로젝트의 경우 연결할 SAP 서버 정보를 properties 파일에서 관리했다. properties 파일에는 아래와 같은 정보가 필요하다.

sap.client = sap.host = sap.language = ko sap.systemnumber = sap.user = ….접속 계정 정보 sap.password = ….접속 계정 정보

#connection pool 설정 sap.pool.capacity = ….허용 pool 갯수 sap.pool.limit = ….최대 허용 pool 갯수

– context-common.xml 파일 내 위에 설정한 properties 파일에 대한 설정을 해주었다.

// global_test.properties 라는 파일에 sap 연결정보를 설정

// 위의 globalProperties 파일을 참고하여 JcoConnection class 초기화 파일 내 위에 설정한 properties 파일에 대한 설정을 해주었다.

(4) SAP 연결 정보 및 connection 얻기

– Properties 클래스는 HashTable class 를 확장하고 있는 클래스로, key, value 형태의 properties 값들을 받는 역할을 한다. – properties 파일에 정의해 놓았던 sap 연결 정보들을 key, value 형태로 Properties 클래스에 셋팅해준다. – 앞에서 초기화 했던 JcoConnection class에서 globalProperties 파일을 통해 sap 연결정보 get!

public JcoConnection(Properties jcoProperties) { try { Properties connectProperties = new Properties(); connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, jcoProperties.getProperty(“sap.host”)); connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, jcoProperties.getProperty(“sap.systemnumber”)); connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, jcoProperties.getProperty(“sap.client”)); connectProperties.setProperty(DestinationDataProvider.JCO_USER, jcoProperties.getProperty(“sap.user”)); connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, jcoProperties.getProperty(“sap.password”)); connectProperties.setProperty(DestinationDataProvider.JCO_LANG, jcoProperties.getProperty(“sap.language”)); connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, jcoProperties.getProperty(“sap.pool.capacity”)); connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, jcoProperties.getProperty(“sap.pool.limit”)); File destCfg = new File(jcoProperties.getProperty(“sap.host”)+”.jcoDestination”);

FileOutputStream fos = new FileOutputStream(destCfg, false); connectProperties.store(fos, “for tests only !”); fos.close(); destination = JCoDestinationManager.getDestination(jcoProperties.getProperty(“sap.host”)); repository = destination.getRepository(); }catch (Exception e) { // } }

(5) RFC Function 얻기

– SAP으로부터 필요한 데이터를 주고받기 위해 SAP에서 제공하는 함수를 가져온다.

public JCoFunction getFunction(String functionStr) { JCoFunction function = null; try { function = repository.getFunction(functionStr); } catch (Exception e) { throw new RuntimeException(“Problem retrieving JCO.Function object.”); } if (function == null) { throw new RuntimeException(“Not possible to receive function. “); }

return function; }

(6) RFC Function 실행

public void execute(JCoFunction function) { try { JCoContext.begin(destination); function.execute(destination); } catch (JCoException e) { // } finally { try { JCoContext.end(destination); } catch (JCoException e) { // } } }

(7) 서버 기동 시 SAP 연동

+ 연동 관련 로그 정보 추후 추가 예정

__________________________________________________________________________________________________________________________________________________________

** 본 포스팅에 대해 수정해야할 부분이나 추가 의견 등이 있으신 분들은 댓글 달아주세요. 언제나 환영입니다 🙂

** 본 포스팅을 reference 자료로 참고하실 분들은 출처를 꼭 밝혀주시기 바랍니다.

자바(java)에서 SAP 연계하여 데이터 조회

반응형

자바(java)에서 SAP에 연결하여 데이터를 조회하는 간단한 소스임..

사실 SAP에대해선 아무것도 모름…

주변에 SAP에 대해 아는 사람도 없고 내가아는 정보라고는 연결에 필요한 라이브러리 파일과

접속 정보만 알고 있었음. 시간도 짧고 해서 우선 실행되는게 우선이라서 구글질로 일단 데이터 조회해서 가져오는

부분만 짰음. 더 좋은방법이라던지 효율적인 방법등이 많을것으로 예상함.

이소스는 웹어플리케이션에도 동일하게 적용하여 사용할 수 있음…

sap에 접속하여 테이블을 가져와 java의 list객체에 담아서 사용.

우선 sap 담당자에게 제공받은 파일을 확인한다.

sapjco3.jar 는 라이브러리로 등록.

sapjco3.dll 은 C:\Windows\System32 <=여기에 복사. 소스는 아래와 같음. package sapTest; import java.util.concurrent.CountDownLatch; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.sap.conn.jco.AbapException; import com.sap.conn.jco.JCoContext; import com.sap.conn.jco.JCoDestination; import com.sap.conn.jco.JCoDestinationManager; import com.sap.conn.jco.JCoException; import com.sap.conn.jco.JCoField; import com.sap.conn.jco.JCoFunction; import com.sap.conn.jco.JCoFunctionTemplate; import com.sap.conn.jco.JCoStructure; import com.sap.conn.jco.JCoTable; import com.sap.conn.jco.ext.*; public class main { List> list =null; //조회된 데이터를 담을 리스트

static String ABAP_AS = “ABAP_AS_WITHOUT_POOL”; //sap 연결명(연결파일명으로 사용됨)

//sap 연결파일 생성

static void createDestinationDataFile(String destinationName, Properties connectProperties)

{

File destCfg = new File(destinationName+”.jcoDestination”);

if(!destCfg.exists()){

try

{

FileOutputStream fos = new FileOutputStream(destCfg, false);

connectProperties.store(fos, “for tests only !”);

fos.close();

}

catch (Exception e)

{

throw new RuntimeException(“Unable to create the destination files”, e);

}

}

}

public static void getTableTest() throws JCoException

{

System.out.println(“테이블가져오기 실행”);

JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS);

//연결정보확인.

System.out.println(“Attributes:”);

System.out.println(destination.getAttributes());

System.out.println();

//리모트 펑션(?) 암튼 펑션명으로 호출

JCoFunction function = destination.getRepository().getFunction(“SAP_DATA”);

if(function == null)

throw new RuntimeException(“SAP_DATA not found in SAP.”);

try

{

function.execute(destination);

System.out.println(“실행완료::!!”);

}

catch(AbapException e)

{

System.out.println(e.toString());

return;

}

//펑션에서 테이블 호출

JCoTable codes = function.getTableParameterList().getTable(“테이블명”);

list = new ArrayList>();

//루프돌면서 데이터 조회

for (int i = 0; i < codes.getNumRows(); i++) { codes.setRow(i); Map map = new HashMap();

map.put(“컬럼1”, codes.getString(“컬럼1”));

map.put(“컬럼2”, codes.getString(“컬럼2”));

map.put(“컬럼3”, codes.getString(“컬럼3”));

//리스트에 담아서 사용

list.add(map);

}

}

public static void main(String[] args) throws JCoException {

// TODO Auto-generated method stub

System.out.println(“시작”);

//연결프로퍼티 생성

Properties connectProperties = new Properties();

connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, “SAP IP정보”); //SAP 호스트 정보

connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, “00”); //인스턴스번호

connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, “100”); //SAP 클라이언트

connectProperties.setProperty(DestinationDataProvider.JCO_USER, “USER”); //SAP유저명

connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, “PASS”); //SAP 패스워드

connectProperties.setProperty(DestinationDataProvider.JCO_LANG, “EN”); //언어

//프로퍼티를 이용하여 연결파일을 생성.

//실행되고 있는 응용시스템 경로에 생성됨.

createDestinationDataFile(ABAP_AS, connectProperties);

getTableTest();

}

}

반응형

[퍼옴] JCO를 이용한 JAVA와 SAP의 연동

t;

/**

* 단순조회를 처리하는 소스

*/

public class SAPJCOEx02 extends Object {

JCO.Client mConnection;

JCO.Repository mRepository;

public SAPJCOEx02() {

try {

// Change the logon information to your own system/user

mConnection = JCO.createClient (

“001”, // SAP client

“userid”, // userid

“1234”, // password

“EN”, // language

“hostname”, // host name

“00”); // system number

mConnection.connect();

mRepository = new JCO.Repository (“ARAsoft”, mConnection);

} catch (Exception ex) {

ex.printStackTrace();

System.exit(1);

}

JCO.Function function = null;

try {

function = this.createFunction(“RFC FUNCTION NAME “);

if (function == null) {

System.out.println(“FUC not found in SAP.”);

System.exit(1);

}

//Funection에 Import값 설정

function.getImportParameterList().setValue(“value”, “name”);

mConnection.execute(function);

//output의 내용을 출력한다.

System.out.println(“—–OUTPUT—————– -“);

JCO.ParameterList output = function.getExportParameterList();

for (int i = 0; i < output.getFieldCount(); i++) { System.out.println(output.getName(i) + ": " + output.getString(output.getName (i))); } //table의 내용을 출력한다. System.out.println(" -----TABLE---------------- ---"); JCO.ParameterList table = function.getTableParameterList(); for (int i = 0; i < table.getFieldCount(); i++) { System.out.println("Table명: " + table.getName(i)); //column명 출력 JCO.Table codes = table.getTable(table.getName(i)); String[] colName = new String[ codes.getNumColumns()]; for (int j = 0; j < codes.getNumColumns(); j++) { colName[j] = codes.getName(j); System.out.print(codes.getName(j) + " "); } System.out.println(" -------------------------- ---------------------"); //row출력 for (int j = 0; j < codes.getNumRows(); j++) { codes.setRow(j); for (int k = 0; k < colName.length; k++) { System.out.print(codes.getString(colName[k]) + " "); } System.out.println(" "); } System.out.println(" "); } } catch (Exception ex) { ex.printStackTrace (); System.exit(1); } mConnection.disconnect(); } public JCO.Function createFunction(String name) throws Exception { try { IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase()); if (ft == null) return null; return ft.getFunction(); } catch (Exception ex) { throw new Exception("Problem retrieving JCO.Function object."); } } public static void main(String args[]) { SAPJCOEx02 app = new SAPJCOEx02(); } } 로 부터 SAP과의 Connection을 생성하고 를 통해 SAP에게 Function의 Interface와 Structure의 Definition 정보를 요청합니다. Funection은 name, import parameter list, export parameter list, table parameter list로 구성되어 있다. Java Application은 import와 table을 이용하여 값을 SAP으로 넘길 수 있고 SAP는 export와 table을 이용하여 Java Application에게 값을 넘겨 주게 됩니다. import값을 설정하여 SAP의 Function을 호출하고자 한다면 다음과 같이 하면 됩니다. function.getImportParameterList().setValue(value, name); value로는 String, char, int등 다향한 값들이 올 수 있습니다. 를 통해 RFC Function을 호출하게 된다. 위의 과정을 종합해 보면 import부분에 name이라는 Key값에 Value라는 값을 가진 RFC Function을 호출하게 되는 것입니다. SAP R/3에 대해 생소한 분들을 위해 SAP R/3에 대해 먼저 간략히 살펴 보도록 하겠습니다.SAP R/3는 SAP사에서 개발한 현재 전세계적으로 가장 많이 사용되고 있는 ERP(통합업무패키지)시스템 입니다.ERP시스템이란 재무회계와 생산관리, 판매관리 그리고 재고관리와 인사관리등 전사적인 데이터를 일원화 시켜 관리 할 수 있고, 또한 경영자원을 계획적이고 효율적으로 운용하여 생산성을 극대화 하는 정보 시스템입니다.SAP JCO가 SAP과 Communication하는 방식은 위 그림1과 같습니다. SAP에서 제공하고자 하는 기능을 RFC Function으로 만들어 놓으면 Java Application은 SAP JCO를 통해서 RFC Function을 호출하게 됩니다.제가 SAP JCO에서 제공하는 소스를 참조하여 테스트용으로 만든 소스를 살펴보도록 하겠습니다.import com.sap.mw.jco.*;import com.sap.mw.jco.JCO.ParameterLis

JCo 간단 소개&정보

SAP JCo(SAP Java Connector)

공식 홈페이지

JCo 는 SAP 이용하는 고객들만 다운로드 가능(로그인 ID, Password 필요)

JCo란?

JAVA <-> SAP 데이터 연동을 위해 SAP 에서 제공하는 라이브러리

공홈 소개글

The SAP Java Connector (SAP JCo) is a development library that enables a Java application to communicate with on-premise SAP systems via SAP’s RFC protocol.

It combines an easy-to-use API with unprecedented flexibility and performance.

The SAP JCo supports both communication directions: inbound Remote Function Calls (Java calls ABAP) as well as outbound Remote Function Calls (ABAP calls Java).

번역:

SAP Java Connector(SAP JCo)는 Java 애플리케이션이 SAP의 RFC 프로토콜을 통해 사내 SAP 시스템과 통신할 수 있도록 지원하는 개발 라이브러리입니다.

사용이 간편한 API와 탁월한 유연성과 성능을 결합한 제품입니다.

SAP JCo는 다음 두 가지 통신 방향을 모두 지원합니다:

인바운드 원격 기능 호출(Java가 ABAP 호출)

아웃바운드 원격 기능 호출(ABAP이 Java 호출)

JCo Version

3.1: JDK/JRE 8 or 11 필요

Microsoft Visual Studio 2013 C/C++ 필요(Windows OS 에서 실행하는 경우에만)

3.0: JDK/JRE 5, 6, 7, 8 or 11

Microsoft Visual Studio 2005 C/C++ 필요(Windows OS 에서 실행하는 경우에만)

Document link(English)

[본문스크랩]SAP ERP 와 타시스템의 연동

출처 : http://happybead.tistory.com/147

1. ERP RFC Call

SAP ERP Function을 Call 할 수 있는 Language별 RFC SDK 를 이용하는 방법

이때 외부시스템 –> ERP 방향으로는 RFC Call을 하고

ERP –> 외부시스템 방향으로 Call하려면

1) 외부시스템에 실행 프로그램을 작성하고

2) ERP에서 SM59에서 외부시스템의 특정 프로그램을 호출하는 Destination을 정하고

3) ABAP에서 Parameter에 값을 넣어 Destination을 호출한다.

지금까지 PHP, C언어로 실행되는 것을 확인했다.

(1) VB –> SAP 연동

http://blog.naver.com/ggondori?Redirect=Log&logNo=90022011984

http://www.mungchung.com/xe/index.php?mid=protip&category=3013&PHPSESSID=33be908e5a504b893878411fb457e9f1&document_srl=3343

(2) PHP –> SAP 연동

http://saprfc.sourceforge.net/src/saprfc.html

http://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/5d9fb155-0b01-0010-8e8a-d8703df8bb9e

(3) JAVA –> SAP 연동

http://mcpaint.tistory.com/85

(4) ASP –> SAP 연동

ASP 서버에 SAPGUI 프로그램을 설치하면 연동하는 library가 설치됨

그리고 나서 ASP 소스에 Function Call 요청하도록 처리

(5) VBA –> SAP 연동

http://sapass.metro.client.jp/index.htm

엑셀에서 SAP Function Call이 되는지 매우 궁금함

2. EAI를 이용하는 방법

ERP – EAI – 타 시스템

EAI가 가운데 끼기 때문에 ERP와 EAI간에는 ABAP Proxy, JAVA Proxy, 웹서비스 등 몇가지 방법으로 연동하고 다시 EAI와 타시스템은 Jdbc 방식, Http Post 방식, 웹서비스 방식, File 방식 등 다양한 방식으로 연동

3. 웹서비스를 이용하는 방법

SAP ERP에서 Function을 웹서비스로 바로 만들고 이 웹서비스 주소를 제공하여

웹서비스 방식으로 ERP 서버에 직접 접속하여 웹서비스 Call

참고사항

SAP RFC 소개 PPT문서

키워드에 대한 정보 sap rfc java 연동

다음은 Bing에서 sap rfc java 연동 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP

  • sap
  • abap
  • rfc
  • sap abap
  • java rfc
  • jco

Java #프로그램과의 #SAP #RFC(원격 #기능 #호출) #ABAP


YouTube에서 sap rfc java 연동 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 Java 프로그램과의 SAP RFC(원격 기능 호출) ABAP | sap rfc java 연동, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment