SAP ALE IDOC EDI-Kor_06.4 Interface 작동

출판된 한글판 도서


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


Original Book Contents


6.4      Interface 작동

 

우리는 outbound EDI 대금청구서(invoice, ANSI X12 810)에 대하여 필요한 설정을 모두 완료했기 때문에, 이제 IDOC을 생성하고, 그들을 EDI subsystem으로 전송하는 테스트 작업을 해보자. 이 작업을 완료하기 위해서, 먼저 우리는 특정 고객(customer), 임의의 자재(material)와 수량으로 판매주문(sales order)(transaction VA01)을 하나 생성한다. 그 다음으로 그 판매주문(sales order)에 대하여 납품(delivery, transaction VL01)을 생성한다. 납품 품목(delivery item)에 대하여 picking 작업을 완료하고 post goods issue를 처리한다. transaction VF01을 실행하여, 앞에서 우리가 생성한 납품 번호(delivery number)에 대하여 대금청구 문서(billing document)를 생성한다. 일단 transaction VF01에서 SD 문서, 즉 위의 납품 번호(delivery number)processed 상태가 되면, 대금청구 문서(billing document) 화면에서 메뉴 [Hearder] à [Output]으로 가라. 앞에서 우리가 설정한 대로, output type ZBIL에 대하여 output record가 생성되어 있는지를 점검하라. [그림 6-9]을 참조하라. 여러분은 output type ZBIL에 대하여, [Medium] 필드에는 6, [Partner function] 필드에는 PY, [Partner] 필드에는 payer의 고객 번호(customer number)가 지정되어 있고, output에 대한 status가 표시되어 있는 자료를 볼 수 있을 것이다. [Status] 필드는 세 가지 값을 가질 수 있다 : 0은 아직 처리되지 않았음을 나타내고, 1은 성공적으로 처리되었음을 나타내며, 2는 처리되었지만 오류가 발생한 것을 나타낸다.


그림 6‑9 Output Record

 

 

다음 단계는 프로그램 RSNAST00을 실행하여, 이전 단계에서 생성된 output record에 근거하여 IDOC을 생성해야 한다. 이렇게 하는 이유는, 우리가 output type을 설정할 때 processing time에 대해 값을 1로 지정했기 때문인데, 이는 프로그램 RSNAST00이 다음에 실행될 때 output이 처리될 것임을 나타낸다. 4를 지정하면, 시스템에 상당한 부담이 되기는 하지만 IDOC을 즉시 생성해 낸다.  transaction SE38에서 프로그램 RSNAST00을 실행하거나, transaction WEDIà [Test] à [Outbound from MC]를 실행한다. 선택조건으로 [Application] 필드에 V3(billing), [Output type] 필드에 ZBIL, [Medium] 필드에 6를 입력하고, 프로그램을 실행한다. [그림 6-10]을 참조하라.


그림 6‑10  프로그램 RSNAST00에서의 선택 Parameter

 

 

 


 

이 프로그램을 실행하면, 우리가 transaction VF01(billing document create)을 사용하여 생성한 output record에 대하여 IDOC type INVOIC02 IDOC이 생성될 것이다. 그리고 프로그램 RSNAST00는 생성된 IDOC의 숫자를 나타내는 안내 메시지를 보여 줄 것이다. 생성된 IDOC을 확인하기 위해서는 transaction WE05를 사용한다. 생성된 IDOC들은 모두 status30(IDOC ready for dispatch(ALE service))으로 되어 있음을 확인하라.

 

다음 단계는 이러한 IDOC EDI subsystem으로 전송하는 것이다. 우리가 partner profile에서 output modeCollect IDOCs을 선택했기 때문에, 생성된 IDOC들은 다음 처리를 위해서 한곳에 모아져 있게 된다. IDOC EDI subsystem으로 전송하기 위해서는, 프로그램 RSEOUT00을 사용하라프로그램 RSEOUT00(transaction WE14)의 선택화면에서 관련 필드에 적절한 값을 입력하고, 실행한다. 그러면 처리를 위해서 선택된 IDOC 숫자에 대한 정보를 보여주는 메시지가 나타날 것이다. 만약 partner profile outbound parameter에 있는 [Output mode] 필드에서 Start subsystem을 선택하고, port정의에 있는 [Outbound: Trigger] 탭에서 Automatic start possible에 대한 flag check되어 있으면, EDI subsystem이 자동적으로 시작되고, file 위치와 이름이 parameter로 전달된다. file형태로 만들어진 IDOC에 대하여 EDI subsystem을 성공적으로 기동하였으면, IDOC status18(triggering EDI subsystem OK)의 상태로 설정될 것이다.

 

하지만 이 status는 그 IDOC EDI subsystem에 의해서 성공적으로 처리되었음을 의미하는 것은 아니다. IDOC EDI subsystem에 의해서 성공적으로 처리되었음을 확인하기 위해서는 subsystem이 만들어 낸 status file을 처리해야 한다. 이러한 status file SAP내부로 전송되고 처리되어 outbound IDOC에 대한 status 정보가 갱신되도록 해야 한다. EDI subsystem status file을 생성한 다음, SAP가 제공하는 startrfc program 을 이용하여 SAP function module EDI_STATUS_INCOMING 을 호출하여, SAP 시스템이 자동적으로 status file을 처리하도록 함으로써, 이러한 과정을 자동화할 수 있다. file이 처리된 후에, SAP는 시스템에서 이 file들을 삭제해 버린다. 또한 status file은 프로그램 RSESTA00 transaction WE17을 이용하여 batch방식으로 처리될 수도 있는데, 이 프로그램들을 scheduling job로 만들어 주기적으로 실행하거나, status file이 있을 때 자동적으로 실행되도록 할 수 있다. 이런 프로그램을 실행하는 도중에 오류가 발생하면, EDI 관리자의 inbox workflow Item이 전송되고, table EDFI2는 마지막으로 처리된 자료의 key값으로 갱신된다. 동일한 status file에 대하여 그 프로그램이 다시 실행된다면, 다음 record에서부터 처리가 재개된다

 

outbound EDI IDOC은 전형적으로 다음과 같은 status를 거쳐 간다.

 

01           -- IDOC added

30           -- IDOC ready for dispatch(ALE Service)

03           -- Data passed to port OK

24           -- Control information of EDI subsystem OK

06           -- Translation OK

08           -- Syntax check OK

 

status 값과 순서는 시스템의 설정사항과 선택한 처리방식(processing option)에 따라 변동될 수 있기 때문에, 앞에서 설명한 status들이 모든 SAP 시스템에서 동일한 값과 순서를 가지는 것은 아니다.

 

inbound EDI 문서에 대하여, SAP inbound IDOC 자료를 application에 반영하는데 사용할 수 있는, 여러 개의 process code를 기본적으로 제공해 준다. EDI subsystem trading partner로부터 EDI 문서를 받고, 이를 IDOC 형태로 변환해서, IDOC SAP 시스템 안으로 전달하게 된다. EDI subsystem은 변환된 IDOC 자료를 file로 생성한 다음, SAP가 제공하는 startrfc 프로그램을 이용하여 SAP function module EDI_DATA_INCOMING 을 호출하고, IDOC file name parameter로 넘겨 준다. function module이 실행되면서 IDOC file SAP 시스템 안으로 전송되어 SAP내부에 IDOC이 생성되게 된다. 전형적으로 이러한 subsystem은 문서들을 적절한 SAP partner number로 변환하기 위해서 trading partnership database를 유지하고 있다. SAP에서는 trading partner(송신자)에 대한 partner profile 설정이 필요하고, 그 안에 있는 inbound parameter 화면에서 적절한 process code를 지정할 필요가 있다. IDOC에 대한 처리는 즉시 시작되게 할 수도 있고, 나중에 background 방식으로 처리할 수 있도록 IDOC을 모아둘 수도 있다. 또한 프로그램 RSEINB00 transaction WE16을 이용하여, file형태로 되어 있는 IDOC SAP R/3 속으로 가져올 수도 있다