2016-12-13 28 views
10

동일한 SAP 시스템 (게이트웨이 호스트는 같음)에서 여러 목적지에 연결하고 IDoc를 수신 할 수있는 IDOC 서버를 개발 중입니다. 여러 JCoServer 인스턴스가 실행 중이거나 여러 대상이있는 단일 JCoServer가 필요하다고 확신하지 못합니다.JCO 다중 목적지 용 IDOC 서버

후자의 경우 서버 데이터를 제공 할 때 jco.server.repository_destination 속성을 사용하여 대상 이름을 지정하는 매개 변수가있는 이유는 무엇입니까?

답변

2

속성 jco.server.repository_destination은 SAP 시스템에서 필요한 RFC 메타 데이터를 쿼리하는 데 JCoDestination을 사용할지를 JCoServer에 알리기위한 것입니다. 들어오는 RFC 요청 데이터를 올바르게 해석하려면 RFC 메타 데이터가 항상 필요합니다.

따라서 JCoServer가 동일한 SAP 시스템 (동일한 SID)에서 출현 한 RFC 요청을 처리하는 데만 사용되는 경우 jco.server.repository_destination을 지정하면 충분합니다. RFC 메타 데이터는이 ABAP 시스템에서 사용되는 RFC 대상 (SM59에서 정의 됨)에 관계없이 변경되지 않습니다.

그러나 JCoServer도 다른 SID의 다른 SAP 시스템에서 시작된 RFC 요청을 처리해야하는 경우 필요한 RFC 메타 데이터가 다를 수 있으므로 jco.server.repository_map을 추가로 지정해야합니다. 일반적으로 RFC 메타 데이터는 RFC 요청의 출처가있는 동일한 SAP 시스템에서 항상 쿼리해야합니다.

그런데 jco.server.gwhostjco.server.gwserv에 등록하기 위해 동일한 jco.server.progid을 가진 여러 JCoServer 인스턴스를 시작할 수 없습니다. 시도하면 JCo에서 예외가 발생합니다. progid/gwhost/gwserv 조합 세트마다 하나의 JCoServer 인스턴스가 필요합니다.

+0

고마워,하지만 다른 'jco.server.progid'도 사용하고있는 것 같아요.이 경우는 거의 SAP 최종 (동일한 gwhost)의 다른 프로그램에 등록 된 대상이 거의 없습니다. 단일 JCoServer. 안 그래? – Sudheera

+0

아니요. 각 progid/gwhost/gwserv 조합 세트에 대해 하나의 JCoServer 인스턴스가 필요합니다. 한 서버에 대해 여러 progids를 지정할 수있는 방법이 없습니다. progid는 RFC 요청을 처리 할 서버 프로그램을 식별해야합니다. 동일한 서버 프로그램을 지정하려면 ABAP 측에서 다른 progids를 구성하지 마십시오. 그렇지 않으면 여러 JCoServer 인스턴스 및 등록 된 연결로 살아야합니다. – Trixx