SAP ALE IDOC EDI-Kor_10.2.1 Transactional Remote Function Call(tRFCs)

10.2.1 Transactional Remote Function Call(tRFCs)

transactional RFC 통신의 경우에, 송신시스템에서 프로세서가 시작되면, 하나의 message가 tRFC Queue에 기록된다. 그 다음 tRFC queue에 있는 자료는 네트워크를 통하여 수신시스템으로 전송되는데, 수신시스템에도 tRFC queue가 있어서, 그 자료는 그곳에 기록된다. 송신시스템에서의 tRFC queue는 table ARFCSSTATE와 table ARFCSDATA로 구성되어 있고, 수신시스템에서는 table ARFCRSTATE와 table ARFCRDATA로 구성되어 있다. table xxxSTATE는 송신시스템과 수신시스템 각각에 있어서 tRFC call에 대한 status정보를 포함하고 있고, 반면 table xxxDATA는 호출되어야 하는 function module 목록과 그들에 대한 parameter 값을 함께 포함하고 있다.

SAP ALE IDOC EDI-Kor_03.2.3 Port의 정의

3.2.3 Port의 정의

transaction WE21을 사용하여, 구매주문(purchase order) IDOC에 대하여 file이 생성되도록 file port를 생성하도록 하자. port이름은 “POPORT0001”이라고 부르자. [Outbound file] 탭에 있는 parameter에서 directory path와 file이름 또는 file 이름형식을 지정하라. port를 정의하는 동안에 [Access test] 버튼을 이용하여 해당 server로 ping이 되는 지를 확인함으로써, 지정된 directory와 server에 접근할 수 있는지를 확인하라. 필요하다면, logical RFC destinatio에 있는 shell script를 호출하기 위해서 [Outbound : trigger] 탭에서 command file에 대한 항목을 정의할 수도 있다. 이 기능은 원격지 server 상에 있는 FTP 프로세서를 구동해야 할 필요가 있을 때 특별히 유용하다. 여러분은 transaction SM59을 사용하여 RFC destination을 정의할 수 있다. 여기서 우리가 정의한 port는 다음 단계에서 우리가 설정할 partner profile에서 참조될 것이다.

SAP ALE IDOC EDI-Kor_06.3 Port와 Partner Profile설정

6.3 Port와 Partner Profile설정

우리는 application에서 output determination 설정을 완료했기 때문에, 이제 EDI에 대한 기술적인 설정을 진행해 보기로 하자. 이러한 작업에는 port정의, partner profile 생성, external partner number에 대한 상호참조를 위하여 table EDPAR에 자료를 입력하는 작업 등이 여기에 포함되어 있다.

6.3.1 EDI Subsystem 호출과 Output Mode

outbound 시나리오에서 SAP port와 EDI subsystem 간의 통신에 대한 기본개념을 이해해 보자. port 정의에서 우리가 처리한 설정사항은 file이 전송되는(생성되는) 시점, file이 생성되는 위치, file 이름 등을 동기식 RFC(synchronous RFC)를 통하여 EDI subsystem에게 알려주는 역할을 한다. SAP는 이미 동일한 이름의 file이 있으면, 기존의 IDOC file에 새로운 자료를 append하지 않고 기존 자료를 덮어 쒸우기 때문에, 동적인 file 이름(dynamic file name)을 사용하는 것이 좋다. 이러한 동적인 파일 이름을 사용하게 되면, outbound port 정의에서 지정된 function module에 따라 원하는 형태의 file이름이 생성될 수 있다.

SAP ALE IDOC EDI-Kor_02.4.4 RFC Destination의 관리

2.4.4 RFC Destination의 관리

R/3와 R/3 간의 통신에는 Transactional RFC라는 방식을 사용한다. RFC란 용어는 통상 원격지에 있는 시스템에서 transactional하거나 비동기적인 작업을 하기 위해서 function module을 호출할 때 사용되는 Remote Function Call을 말한다. RFC 앞에 붙어 있는 transactional이란 단어는, 단지 그 function들이 logical unit of work단위로 호출된다는 것을 표시하는 것인데, 이는 간단히 말하면, 하나의 Material Master, 하나의 납품(delivery), 하나의 송장(invoice)과 같은 것이다. SAP의 tRFC와 aRFC는 packet 단위로 자료를 송수신하는 과정을 추적해 주고, 그들의 진행상태에 대한 정보를 관리해주는, 보다 진보된 체계를 가지고 있다. 예를 들어, 자료를 확실히 전달하기 위해서, 자료의 송수신이 성공적으로 끝날 때까지 tRFC call을 반복적으로 호출해 준다. 우리는 제 10장 “ALE 최적화”에서 RFC와 RFC의 최적화에 대하여 더 상세히 토론할 것이다. 우리의 interface에서 필요한 RFC destination을 설정하기 위해서, 다음 작업을 수행한다. [그림 2-28]을 참조하라

SAP ALE IDOC EDI-Kor_02.3.4 Communication : Port정의

2.3.4 Communication : Port정의

Port는 IDOC 통신을 위한 경로(channel)이다. SAP R/3에서는 6 가지 종류의 port를 사용할 수 있다: (1) transactional RFC(Remote Function Call), (2) file, (3) CPI-C, (4) Internet, (5) ABAP-PI, (6) XML이 그것이다. 우리의 예제에서는 Material Master IDOC을 외부시스템으로 전송하기 위해서, 우리는 file port를 정의할 것이다. 이렇게 함으로써, 우리는 file형태의 IDOC을 생성할 수가 있게 된다.

port를 정의하기 위해서는, transaction WEDI à [IDOC] à [Port definition]을 사용하거나, transaction WE21을 사용하면 된다. [그림 2-13]과 [그림 2-14]를 참조하라.