2010-05-07 2 views
1

SAP의 "트랜잭션 RFC 기술 설명"문서 (릴리스 4.0, http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/ee6bca90-0201-0010-5792-d9693e2eac83?QuickLink=index&overridelayout=true 참조)는 6 페이지의 트랜잭션 RFC 절에서 다음과 같이 말합니다. "마지막으로 서버는 클라이언트에게 기능 수행이 완료되었음을 클라이언트에 알립니다. ".SAP tRFC 서버가 JCo를 통해 클라이언트에게 기능이 수행되었음을 알리는 방법은 무엇입니까?

서버가 JCo (Java Connector)를 통해 클라이언트와 통신 할 때 서버가이를 클라이언트에게 어떻게 알릴 수 있습니까?

답변

1

릴리스 4.0은 꽤 오래되었습니다. 항상 최신 문서를 사용하십시오.

위에서 볼 수 있듯이 tRFC 호출의 결과를 서버에 다시 넘겨 줄 방법이 없습니다. tRFC 호출은 (로컬 또는 원격) 대기열에 배치되어 나중에 실행될 수 있습니다. tRFC 호출을 모니터링하는 방법에 대한 정보는 http://help.sap.com/saphelp_nw04/helpdata/en/f0/02a63b9bb3e035e10000000a114084/frameset.htm을 참조하십시오.

0

답변은 매우 간단합니다. 예외를 발생시키지 않아야합니다! 여기에서 JCo 쪽이 서버라고 가정하면 함수 모듈을 구현하는 메서드에서 성공적으로 반환하면됩니다. 그러면 JCo는 자동으로 tRFC 프로토콜에 필요한 확인 응답을 클라이언트 (이 경우 R/3 시스템)로 반환합니다.

JCo에서 ACK를 수신하면 R/3 시스템은 Confirm 이벤트를 트리거하고 JCo는이를 수신하여 JCoServerTIDHandler의 해당 이벤트로 전달합니다. 여기에서 DB를 유지하는 상태에서 TID를 정리할 수 있습니다.

함수 모듈 메소드가 오류와 함께 반환되면 JCo가 그에 따라보고하고 백엔드가 롤백 이벤트를 트리거합니다.

다음 기사에서는 외부 프로그램과 SAP 시스템 간의 tRFC를 구현하는 방법에 대해 자세히 설명합니다. NetWeaver RFC 라이브러리 (C/C++)를 기반으로하지만 JCo 및 Java로 쉽게 변환 할 수 있습니다. https://wiki.scn.sap.com/wiki/x/FD67Gg

관련 문제