SAP ALE IDOC EDI-Kor_03.2.6 Outbound Interface – Interface 작동

출판된 한글판 도서


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


Original Book Contents


3.2.6    Interface 작동

 

구매주문(purchase order) outbound IDOC을 생성하기 위해서 필요한 모든 설정을 완료했기 때문에, 이제는 interface를 테스트해보는 흥미로운 작업를 진행해 나갈 것이다. 이러한 작업은 세 가지 단계로 이루어진다.

 

1.  구매주문(purchase order)을 생성하거나 수정한다. output type ZNEU에 대하여 output(message)이 생성되어 있는지를 확인하라.

2.  IDOC을 생성하기 위해서 앞에서 생성된 output을 처리한다.

3.  생성된 IDOC을 외부시스템으로 전송한다.

 

구매주문(purchase order)을 생성하기 위해서는 transaction ME21N 사용하거나, SAP의 시작메뉴 [Logistics] à [Material Management] à [Purchasing] à [Purchasing Order] à [Create] à [Vendor/Supplying Plant Known]을 실행한다. 또한 여러분은 transaction ME25(Vendor unknown)을 사용할 수도 있다. 구매주문(purchase order)을 생성할 때는 message control에서 지정한 그 Document Type을 사용한다. 다른 말로 하면, output determination 설정에서 condition record를 생성할 때 사용된 구매주문(purchase order) Document Type을 사용한다. 구매주문(purchase order)에 대하여 자재 번호, 물량, plant, storage location, 단가, 기타 이와 유사한 것들을 입력한다. 이때 구매품목(line item) accept되었는지를 반드시 확인할 필요가 있다.  output record가 생성되었는지를 확인하기 위해서는  다음 작업을 수행한다. [그림 3-14]를 참조하라.

 

n  메뉴 [Goto] à [message]를 실행한다.

n  output type ZNEU, medium ALE를 의미하는 A이고, partner function은 구매처(vendor)를 의미하는 VN이며, language english를 의미하는 EN이고, status0인 항목이 존재해야 한다.  status 0는 그 output record가 생성되었지만, 아직 처리되지 않았음을 의미한다.

n  자료를 저장한다.

n  구매주문(purchase order)이 변경된 경우에는, [그림 3-14] 화면의 [Change] 필드에 flag가 표시되어 있는 것을 볼 수 있을 것이다.  partner profile message control에서 [Change message] 필드가 check되어 있는 입력항목이 있다면, 이러한 output이 처리되면서 IDOC이 생성될 것이다

 

 

 

 

 

 


그림 3‑14 Purchase Order에 대한 Output(Message) Record

 

 

 


 

  Output의 처리

 

우리가 설정한 output determination에 따라서 output record가 생성될 때, table NAST에 하나의 입력항목이 생성된다. table message control 기법을 사용하는 모든 application에서 생성된 output record 자료를 저장하고 있다. table ALE에만 사용되는 것이 아니고, 기본적으로 일반 application에서 사용되는 것이다. table NAST는 또한 output record에 대한 처리상태(status) 정보를 저장하고 있는데, 0은 아직 처리되지 않았음을 의미하고, 1은 성공적으로 처리되었음을 의미하며, 2는 처리할 때 오류가 발생했음을 의미하고, 3는 활성화되지 않았음을 의미한다. message control에 따라서 output을 처리해 주는 프로그램들은 object key(예를 들면 구매주문 번호)와 같은 control 정보를 알아내기 위해서 function module을 이용하여 table NAST에 접근한다. 결과적으로 이런 프로그램들은 output record에서 지정한 대로, 특정 medium형태의 output을 생성해 내는 것이다. output을 생성한 이후에, table NAST output record에 대한 최신의 처리상태(status)를 반영하게끔 갱신될 것이다

 

이전에 우리가 생성한 output record를 처리하기 위해서는 다음 작업을 수행한다.

 

n  transaction WE15을 실행하거나, 프로그램 RSNAST00을 실행하거나, transaction WEDI à [Test] à [Outbound from MC]를 실행한다.

n  [Output application] 필드에 EF, [Output type] 필드에 ZNEU, [Output medium] 필드에 A를 입력한다.

n  프로그램을 실행한다.

n  그러면 IDOC 번호와 함께 처리가 성공했는지를 보여주는 안내 메시지가 나타날 것이다.

 

transaction WE02WE05를 사용하여, 앞에서 생성된 IDOC을 점검해 보기 바란다. 또한 IDOC segment를 검사하여 IDOC이 정확하게 생성되어 있는지를 확인하기 바란다.

 

  IDOC의 전송

 

지금까지 우리는 R/3 시스템 상에서 구매주문(purchase order) IDOC을 생성했으므로이제는 그 생성된 IDOC을 외부시스템으로 전송할 필요가 있다. 우리는 port POPORT0001 file port로 정의했기 때문에, 구매주문(purchase order) IDOC을 외부시스템으로 전송하면 file이 생성될 것이다. 이렇게 하기 위해서는 다음 작업들을 수행한다.

 

n  transaction WE14를 실행하거나, 프로그램 RSEOUT00을 실행하거나, transaction WEDIà [Test] à [Outbound Processing from Idoc]을 실행한다.

n  message type, 수신자에 대한 partner 정보, 수신자에 대한 port, 기타 등에 대한 선택조건을 입력한다.

n  프로그램을 실행시킨다.

n  여러분은  처리된 IDOC 숫자를 보여주는 안내 메시지를 볼 수 있을 것이다.

 

port POPORT001에서 설정한 것처럼, file 생성 위치로 지정된 server의 지정 directory를 점검한다. port 정의에서 지정한 file이름이나 file 이름 형식에 맞추어, SAP file을 생성했을 것이다. file의 내용을 검사하여, 자료 내용이 원래 생성하고자 하던 대로 만들어져 있는지를 확인해 보기 바란다.

 

이렇게 생성된 file FTP나 또는 이와 비슷한 다른 도구(utility)를 이용하여 다른 시스템으로 전송될 수 있다. port를 정의할 때, 특정 logical RFC destination 상에 있는 command file(Shell script)을 지정하여 file이 생성된 이후에 자동적으로 호출되도록 설정함으로써, 이러한 과정을 자동화할 수가 있다. 또한 port transactional RFC 형식으로 정의하고, IDOC을 외부시스템으로 전송해 줄 수 있는 프로그램(third-party software)를 호출할 수 도 있다. 또한 이러한 외부 소프트웨어는 IDOC을 외부시스템이 원하는 형태로 변환시킬 수도 있을 것이다. 우리는 이런 내용에 대하여 이후의 장에서 더욱 상세히 논의할 것이다.