728x90
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();
}
프로그램 실행 결과
728x90
'개발일지' 카테고리의 다른 글
풍화가인 (風化家人) (0) | 2022.06.25 |
---|---|
KEDIFACT 표준전자문서 공부 (0) | 2022.05.07 |
swagger-ui 연동 재 테스트 1 (0) | 2021.12.30 |
Sent JSON parameter is null in WCF Service method (0) | 2021.06.13 |
The program '[14384] iisexpress.exe' has exited with code 0 (0) | 2021.06.05 |