출판된 한글판 도서
ERP SAP R/3 ALE, EDI & IDOC 기술 |
Original Book Contents
7.3 Inbound 처리
SAP는, online에서 실행하거나 batch 방식으로 주기적으로 실행하여, inbound 처리를 용이하게 해주는 여러 가지 프로그램을 제공해 주고 있다. 이러한 기능에는 IDOC을 application에 반영하고, 오류상태인 IDOC을 재처리하고, 편집된 IDOC을 처리하는 프로그램들이 포함되어 있다.
프로그램 RSEINB00은 IDOC을 포함하고 있는 file을 SAP 시스템 내부로 전송하기 위해서 사용된다. 이 프로그램은 inbound IDOC이 text file에 포함되어 있는 경우에만 사용될 수 있다. RSEINB00은 path와 file name을 입력할 수 있는 단 하나의 parameter만 가지고 있다. IDOC을 내부로 전송하는 과정에서, 그 IDOC의 EDIDC record에서 partner number, message type, 기타 다른 모든 관련 control정보들이 수집된다. partner profile의 inbound parameter에 있는 처리방식(processing option)에서 선택된 값이 “Trigger by background program” 인지 “Trigger immediately”인지에 따라서, 오류가 없는 경우 status “64”의 상태로 생성되거나, 또는 생성과 동시에 즉시 application에 반영될 것이다. 오류가 발생하는 경우는 partner profile에서 지정한 수신자의 inbox로 workflow Item이 보내진다. transaction WE16을 이용해도 동일한 처리를 할 수 있다. [그림 7-7]을 참조하라.
그림 7‑7 RSEINB00 – file 형태의 IDOC Import
프로그램 RSESTA00은 EDI subsystem이 생성한 status file을 SAP 시스템 내부로 전송하기 위해서 사용된다. 이 프로그램은, EDI subsystem이 status file을 생성만 하고, SAP 로의 전송은 SAP 내부의 프로그램을 이용해서 처리하고자 하는 경우에 유용하게 사용할 수 있다. 프로그램 RSESTA00은 path와 file name을 입력할 수 있는 parameter와 port를 입력하는 parameter를 가지고 있다. transaction WE17을 이용해도 동일한 처리를 할 수 있다. [그림 7-8]을 참조하라
그림 7‑8 RSESTA00 – EDI Status file을 SAP으로 Import
프로그램 RBDAPP01은 application에 즉시 반영되지 않고 status “64”의 상태로 있는 IDOC을 처리하기 위해서 사용된다. 이 프로그램은 IDOC 자료를 application에 반영해 준다. IDOC이 SAP안으로 전송될 때, status “64”의 형태로 생성되고, IDOC database에 성공적으로 추가되며(status “50”), syntax 검사를 통과하게 된다. partner profile의 inbound parameter에 있는 처리방식(processing option)이 “Trigger immediately” 이외의 다른 것으로 설정되어 있으면, 이러한 상태로 status설정이 끝난다. 프로그램 RBDAPP01에 있는 parameter와 선택조건에는 IDOC 번호, 생성일자와 시간, message type, partner number(partner profile name)와 partner type과 같은 송신자에 대한 partner 상세정보 등이 포함되어 있다. [그림 7-9]를 참조하라.
이 프로그램은 또한 parallel processing, packet size, server group에 대한 parameter를 가지고 있다. 이러한 세 가지 parameter는 복수의 application server에서 병렬처리(parallel processing)를 가능하게 하여, 대량의 IDOC을 처리하는데 소요되는 시간을 줄이기 위해서 사용된다. [Parallel processing]이 check되어 있으면, IDOC을 [Pack. Size] parameter에서 지정한 크기의 packet으로 분할하여, server group에서 정의된 각각의 application server로 보내 준다. 이러한 기술을 사용하면, 처리시간을 상당히 감소시킬 수 있고, 처리속도를 향상시킬 수 있다. 우리는 제 10장 “ALE 최적화”에서 이러한 접근방법에 대하여 보다 상세하게 논의할 것이다. 만약 IDOC을 특정 순서에 맞추어 실행해야 한다면, 여러분은 병렬처리(parallel processing) 을 사용해서는 안된다. 더구나, 여러분은 개별 IDOC의 EDIDC 상에 있는 “SERIAL” field에 일련번호를 지정하여, IDOC이 처리되어야 하는 순서를 지정할 수 있다. RBDAPP01은 선택된 IDOC을 정해진 순서에 맞추어 정렬한 다음, 순서대로 처리해 준다. 이것이 serialization이라고 알려진 기법이다.
그림 7‑9 RBDAPP01 – IDOC의 Application 반영
프로그램 RBDMANIN은 status “51”(application document not posted) 인 IDOC을 재처리하기 위해서 사용된다. 이 프로그램은 선택된 자료를 application에 반영해 준다. 이 프로그램은, 자료의 일부가 누락되거나, 시기적으로 맞지 않거나, 기타 다른 일시적인 문제로 인해서 application module이 IDOC 처리를 거부한 경우에 유용하게 사용할 수 있다. 또한, 자료가 부정확하여 오류가 발생한 경우는, 자료를 수정한 다음, 이 프로그램을 사용하여 재처리할 수 있다. 프로그램 RBDMANIN에서 사용할 수 있는 parameter와 선택조건에는 IDOC 번호, 생성일자와 시간, message type, partner number와 partner type과 같은 송신자에 대한 partner 상세정보 등이 포함되어 있다. 또한 선택조건 [Import in background]에 대한 checkbox도 있다. 만약 이 flag가 check되어 있으면, 선택된 모든 IDOC은 화면에 표시되지 않고 background에서 처리되고, 처리된 IDOC에 대하여 새로운 status정보를 보여주는 안내 메시지가 나타날 것이다. 만약 이 flag가 check되어 있지 않으면, IDOC은 화면에 하나씩 나타나고, 개별적으로 처리할 수가 있다. [그림 7-10]을 참조하라.
그림 7‑10 RBDMANIN – 오류 IDOC의 재처리
프로그램 RBDAGAI2는 오류가 있는 IDOC을 재처리하기 위해서 사용된다. 다음과 같은 status 상태에 있는 IDOC만 이 프로그램으로 재처리될 수 있다.
n 56 -- IDOC containing errors added
n 61 -- Continue processing despite syntax error(inbox)
n 63 -- Error passing IDOC to the application
n 65 -- Error in ALE service
프로그램 RBDAGAI2에서 사용할 수 있는 parameter와 선택조건에는 IDOC 번호, 생성일자와 시간, message type, partner number와 partner type과 같은 송신자에 대한 partner 상세정보 등이 포함되어 있다. 이 프로그램에는 선택조건 [Import in background]에 대한 flag도 있는데, 이는 사용자로 하여금 선택된 IDOC을 화면에 표시하지 않고 background에서 처리할 수 있게 해준다. 만약 이 flag가 check되어 있지 않으면, IDOC은 개별적으로 처리할 수 있도록 화면에 하나씩 나타난다. 그림 7-11를 참조하라.
그림 7‑11 RBDAGAI2 – 오류 IDOC의 재처리
프로그램 RBDSYNEI는 syntax오류가 있는 IDOC을 재처리하기 위해서 사용된다. 이 프로그램으로 IDOC을 처리하려면, status가 “60”(syntax error in IDOC)이어야 할 필요가 있다. 프로그램 RBDSYNEI는 syntax오류를 무시하고 자료를 application에 반영하려고 한다. 프로그램 RBDSYNEI에서 사용할 수 있는 parameter와 선택조건에는 IDOC 번호, 생성일자와 시간, message type, partner number와 partner type과 같은 송신자에 대한 상세정보 등이 포함되어 있다. 이 프로그램에는 [Import in background]에 대한 checkbox도 있는데, 이는 사용자로 하여금 선택된 IDOC을 화면에 표시하지 않고 background에서 처리할 수 있게 해준다. 만약 이 flag가 check되어 있지 않으면, IDOC은 화면에 하나씩 나타나고, 개별적으로 처리할 수가 있다. 처리가 끝나면, 처리된 IDOC에 대하여 새로운 status정보를 보여주는 안내 메시지가 나타날 것이다. [그림 7-12]를 참조하라.
그림 7‑12 RBDSYNEI – Syntax 오류 IDOC의 처리
프로그램 RBDAGAIE는 편집된 IDOC을 처리하기 위해서 사용된다. 다시 말해서, IDOC이 database에 추가되고 난 후, 나중에 편집되었다면(status “69”), 이 프로그램을 이용하여 자료를 처리하고, application에 자료를 반영할 수 있다. 이 프로그램은 이전 status 값이 ‘허용된’ 집합에 속해 있는 IDOC만 처리할 수 있다는 것을 명심하라. 예를 들어, 원래의 IDOC이 status “60”(syntax error in IDOC)의 상태에 있다가, 나중에 편집된 경우에는(status “69”), 이 프로그램으로 이 IDOC을 처리할 수 없는데, 이는 status “60”이 허용된 값이 아니기 때문이다. 이 프로그램에서 사용할 수 있는 parameter는 IDOC 번호와 전달방향(direction, 1=outbound, 2= inbound)이다. 여러분이 이미 눈치 챘겠지만, 이 프로그램은 inbound IDOC과 outbound IDOC 모두에서 사용할 수 있다. [그림 7-13]을 참조하라.
앞에서 설명된 inbound 프로그램과 outbound 프로그램을 사용하여, 오류가 있는 IDOC을 처리하거나 재처리할 수는 있지만, 이러한 프로그램을 실행하기 이전에, 먼저 그러한 오류의 원인이 무엇인지를 파악하고, 문제를 해결하는 것이 매우 중요하다.
그림 7‑13 RBDAGAIE – 편집된 IDOC의 처리