SAP ALE IDOC EDI-Kor_10.2.0 통신

출판된 한글판 도서


ERP SAP R/3 ALE, EDI & IDOC 기술


Original Book Contents


10.2    통신

 

ALE 처리에는 세 가지 주요 단계가 있다.

 

단계 1은 송신자 측의 처리인데, 여기서 application ALE 서비스는 그 application object에서 필요로 하는 모든 자료를 포함하고 있는 master IDOC memory에 생성한다. master IDOC으로부터, ALE의 설정에서 정의된 각각의 수신자에 대하여 communication IDOC이 생성되고, 이것이 IDOC database에 저장된다. customer distribution model에서 설정된 filter object 집합에 따라 수신자가 달라지면 각자 다른 자료를 수신할 수도 있다. application은 자체적인 format으로 master data transaction data를 제공해 주지만, ALE function module은 이들 자료를 IDOC 형태로 변환할 책임이 있다.

 

단계 2는 네트워크를 통하여 송신자에서 수신자로  IDOC을 전송하는 것이다. ALE는 이 단계에서 IDOC database 내에 저장되어 있는 IDOC EDIDC record에 있는 정보에 근거하여 communication IDOC의 수신자를 결정한다. 송신자 측에 있는 각각의 communication IDOC은 하나의 수신자만 가지고 있다. 만약 특정 master IDOC에 대하여 복수의 수신자가 존재하면, 송신자 측에서 복수 개의 communication IDOC이 생성될 것이다. 이러한 communication IDOC TCP/IP CPI-C 통신방식을 사용하여, 네트워크를 통하여 수신자 시스템으로 전송된다.

 

단계 3는 수신시스템에서 그 IDOC을 수신하고, 후속 처리를 하는 것이다. 수신자 측에서의  communication IDOC은 후속 처리를 하기 전에 먼저 IDOC database에 저장된다. 그런 다음, application function module이 호출되어, 그 자료를 application database에 반영해 준다. IDOC 자료가 수신시스템의 application에 성공적으로  반영된 후에야, 논리적인 전송이 완료되는 것이다. 하지만 송신자의 입장에서는, 수신시스템의 IDOC database IDOC을 저장하는 것으로 전송이 성공적으로 종료되었다고 해석한다. communication IDOC status는 이러한 통신상태를 반영하여 적절하게 갱신될 것이다. 7주기적인 처리에서 설명한 것처럼, message type ALEAUD(ALE audit message)를 이용하면, 수신시스템에서의 최종 IDOC status를 송신시스템으로 보고하게 할 수도 있다.

 

IDOC database ALE 처리 과정에서 매우 중요한 역할을 한다. 상대 시스템이 그 시점, 그 순간에 실제로 사용할 수 있는가에 상관없이, 그것은 상대 시스템에 대하여 offline 방식이나  비동기적 방식으로 interface할 수 있도록 해준다. ALE 프로세서는 처리과정 상의 오류를 재처리하기 위해서 뿐만 아니라, 수신시스템으로 IDOC을 확실하게 전달하기 위해서, 반복적으로 IDOC을 전송하려고 시도할 수 있다. 앞에서 우리가 배운 것처럼, IDOC database 3개의 주요 table로 구성되어 있는데, (1) control record에 대한 EDIDC, (2) data record(EDIDD record)에 대한 EDID2(cluster EDI30C), 그리고 (3) status record에 대한 EDIDS가 그것이다. 이러한 IDOC 자료는 하드웨어 기계와는 독립적인 character-based ASCII format으로 저장되어 있다.

 

우리의 기억을 되살려 보면, 다른 시스템으로 전송할 IDOC을 생성하는데는 세 가지 방법이 있었다. 첫 번째 방식은 master data에 대한 change pointer를 이용는 방법이다. 프로그램 RBDMIDOC을 실행하여, master data에서 발생한 변경사항을 분석하고, communication IDOC을 생성해 낼 수 있다. 두 번째 방식은 SAP가 제공하는 ALE 프로그램을 이용하여 master data를 직접 전송하는 것이다. 세 번째 방식은 message control condition technique에 근거를 두고 있는 프로그램 RSNAST00과 같은 application 처리를 통하여, transaction data에 대한 IDOC을 생성해 내는 것이다. ALE 계층(layer)의 프로그램은, master IDOC에서 communication IDOC을 생성해 내는데 필요한 수신자와 filter정보를 결정하기 위해서, 사전에 설정된 정보를 사용한다. 그런 다음, 이러한 communication IDOC IDOC database에 저장된다.

 

ALE interface (1) Transactional Remote Function Call (tRFC)이나 (2) File Transfer Protocol(FTP)의 두 가지 통신방식 중에서 하나를 사용한다. tRFC에서 transactional이란 단어는 단일 logical unit of work(LUW)안에 하나 또는 그 이상의 function call이 하나로 묶여져 있는 것을 말하는데, 이것이 보통 하나의 transaction을 나타내는 것이다. tRFC 통신방식은 두 개의 R/3 시스템 간에 transactional integrity를 보장해 준다. 이 통신방식은 R/3 R/3 간의 interface에서 일반적으로 사용된다(여러분이 외부시스템과 통신하고자 할 때도 tRFC방식을 이용할 수 있음에 유의하라).  SAP는 여러 가지 함수를 가지고 있는 tRFC Library를 제공해 준다. 두 번째 방식인 FTP EDI interface에서 전형적으로 사용되는 방식이다. 이 두 가지 통신방식에 대하여 더 탐구해 보기로 하자.