출판된 한글판 도서
ERP SAP R/3 ALE, EDI & IDOC 기술 |
Original Book Contents
3.2.4 Output Determination
Message Control은 SD와 MM 업무영역에서 구매주문(purchase order), 송장(invoice), 납품 문서(delivery note), 선적통지(shipment notification) 등과 같은 output 문서에 대하여 생성조건, 시기(timing), 매체(medium) 등을 결정해 준다. Output determination이란 condition table, access sequence, output type, output determination procedure, condition record와 같은 application object와 개념들이 복잡하게 서로 연결되어 있는 것이다. 우리는 구매주문(purchase order)에서 사용할 message control을 설정하기 위해서 거쳐야 하는 여러 가지 단계들을 하나씩 처리해 갈 것이다. [그림 3-1]을 참조하라.
그림 3‑1 Purchasing Message(Output) Determination을 위한 IMG
먼저 condition table에 대한 설정을 해보자. R/3 IMG 또는 transaction SPRO à [Material Management] à [Purchasing] à [Messages] à [Output Control] à [Condition Tables] à [Define condition table for purchase order] à [Messages: Display Condition Table: Purchase order]를 실행한다. 그러면 condition table 이름에 대한 parameter가 있는 화면이 나타난다. 화면 상의 필드를 pull down(F4)하면 구매주문(purchase order)에 대하여 SAP가 기본적으로 제공해 주는 condition table 목록을 보여준다.
025 Purchasing Output Determination : Doc. Type/Purch.Org/Vendor
026 Purchasing Output Determination : Document Type
027 Purchasing Output Determination : Purch.Org /Vendor for EDI
우리는 condition table “026”을 선택하기로 한다. 해당 값을 입력하고 [Enter] 키를 누르면, 해당 condition table에 대한 상세내용을 보여준다(그림 3-2를 참조하라). 이 경우에 구매(purchasing) output 생성여부를 결정하는 선택조건은 Document Type이다. condition table은 field catalog에서 선택된 field들로 구성되어 있는데, field catalog에는 특정 message(이 경우에는 구매 output이다)의 communication(참고 : communication 이란 application과 output control 사이에 발생하는 자료 전달을 의미한다)과 관련이 있는 field이 포함되어 있다. 여기서 선택된 field들은 output을 생성해야 하는지를 판단하는 선택조건으로 사용된다. 나중에 condition record를 생성할 때, condition table에 대한 실제 값을 입력하게 될 것이다. 우리가 선택한 field는 BSART(Purchasing Document Type)이다. 필요하다면, 여러분의 요구사항에 맞는 field를 가지고 condition table을 새로이 생성할 수도 있다. 또한 어떤 경우에는 ‘communication structure’라고 알려진 object에 근거하여 field catalog에 새로운 field를 추가할 수도 있다.
다음 단계는 구매주문(purchase order)에 대하여 access sequence를 정의하는 것이다. access sequence는 condition record를 읽을 때 사용될 condition table 종류와 condition table의 적용 순서, 그리고 condition record를 읽을 때 선택조건으로 사용하게 될 field 등의 내용에 대한 정의을 통제한다. IMG 또는 transaction SPRO à [Material Management] à [Purchasing] à [Messages] à [Output Control] à [Access Sequence] à [Define Access Sequence for purchase order]를 실행한다. 우리는 기존에 존재하고 있는 access sequence “001”을 사용할 것이다([그림 3-3]을 참조하라). sequence 001은 condition table 027, 025, 026을 사용하는데, 여기에 있는 condition table 026은 우리가 앞에서 사용하기로 결정한 그 condition table을 의미한다.
그림 3‑2 Field catalog와 선택 field를 보여주는 Condition Table
그림 3‑3 Purchase Order에 대한 Access Sequence
다음은 output type(‘구매-purchasing’ module에서는 message type으로 알려져 있다)을 설정하는 단계인데, 이 작업은 message control의 여러 가지 요소들을 함께 묶어 주고, access sequence와 condition record에서 지정된 사항에 따라서 시스템이 생성해야 할 output 종류를 지정하는 중요한 단계이다. [그림 3-4]와 [그림 3-5], [그림 3-6], [그림 3-7]을 참조하라. 이렇게 하기 위해서는 다음 작업을 수행한다..
n IMG 또는 transaction SPRO à [Material Management] à [Purchasing] à [Messages] à [Output Control] à [Message Types] à [Define Message Type for purchase order] à [Maintain Message Types for PO]를 실행한다.
n 기존의 output type NEU를 복사하여 새로운 output type ZNEU를 생성하고, output type에 대한 설명을 입력한다. [General Data] 탭에서 access sequence “001”을 입력하고, “Access to condition”와 “Multiple issuing”을 선택한다. [Default value] 탭을 눌러서 [Dispatch time] 필드에 “1”(Send with periodically scheduled job)을 선택하고, [Transmission medium] 필드에는 ALE를 의미하는 “A”(Distribution-ALE)를 선택한다.
n [Enter] 키를 누르면, 복사의 범위를 묻는 팝업화면이 나타난다. 여기서 [Copy all] 버튼을 선택하여 모든 종속 object들이 복사되도록 한다.
n 그러면 화면 오른쪽에 새로이 생성한 output type ZNEU가 나타날 것이다.
n 그 output type을 선택하고, 화면 왼쪽에 있는 [Processing routines] 버튼을 double-click한다. 그러면 화면 오른쪽에 output type ZNEU에 대하여 medium별로 사용할 처리 프로그램(processing routine)을 지정할 수 있는 화면이 나타날 것이다. 여기서 [Medium] 필드에 ALE를 의미하는 “A”를, [Processing program] 필드에 “RSNASTED”를, [Form routine] 필드에는 “ALE_PROCESSING”을 입력한다.
n 다음은 화면 왼쪽에 있는 [Partner functions] 버튼을 double-click한다. 그러면 화면 왼쪽에 output type ZNEU에서 medium별로 사용할 수 있는 Partner function을 지정할 수 있는 화면이 나타날 것이다. 여기서 [Medium] 필드에 ALE를 의미하는 “A”를, [Partner function] 필드에 구매처(vendor)를 의미하는 “VN”을 입력한다.
n 여러분은 partner function DP(delivering plant for stock transfer)에 대하여 별도 자료를 입력할 수도 있다.
n 자료를 저장한다.
그림 3‑3 Purchase Order에 대한 Output Type – General Data
그림 3‑5 Purchase Order에 대한 Output Type—Default Value
그림 3‑6 Purchase Order에 대한 Output Type – Processing Routine
그림 3‑7 Purchase Order에 대한 Output Type – Partner Function
다음 단계는 output이 활성되는 허용 작업(operation)을 지정하는 것이다. 이것은 다음과 같은 방식으로 처리할 수 있다. [그림 3-8]을 참조하라.
n IMG 또는 transaction SPRO à [Material Management] à [Purchasing] à [Messages] à [Output Control] à [Message Types] à [Define Message Type for purchase order] à [Fine-Tuned Control: Purchase Order]를 실행한다.
n output type ZNEU에 대해 새로운 항목을 생성하고, operation “1”(New)를 입력한다.
n output type ZNEU에 대해 새로운 항목을 생성하고, operation “2”(Change)를 입력한다.
n 자료를 저장한다.
|
그림 3‑8 Purchase Order의 Output이 활성화되는 Operation 지정
output type 설정이 완료되었으면, 다음에는 이것을 message schema라고 알려진 output procedure에 연결해 주는 것이 중요하다. 우리는 SAP가 기본적으로 제공해 주는 output determination procedure인 RMBEF1을 사용할 것이다. 이렇게 하기 위해서는 다음 작업들을 수행한다. [그림 3-9]와 [그림 3-10]을 참조하라.
n IMG 또는 transaction SPRO à [Material Management] à [Purchasing] à [Messages] à [Output Control] à [Message Determination Schemas] à [Define Message Schema for Purchase Order] à [Maintain Message Determination Schema: Purchase Order]를 실행한다.
n 화면 오른쪽에서 Procedure RMBEF1을 선택하고, 화면 왼쪽에 있는 [Control data] 버튼을 선택한다.
n 화면 오른쪽에서 output type ZNEU에 대하여 새로운 항목을 입력할 것이다. 화면 위에서 [New entries] 버튼을 누른다. [Step] 필드에는 이전의 번호에서 값을 증가시켜 입력한다. [Requirement] 필드는 공백으로 두어도 된다. 이 필드는 output 문서에 대한 선택조건을 입력하는 곳이다. 만약 이 필드에 값을 지정하면, 이 requirement의 조건을 충족하는 output 문서만 output 처리의 후보가 될 수 있다.
n 자료를 저장한다.
n [Back] 버튼을 눌러서 이전 화면으로 돌아간다.
n 여기서 [Assign Schema to Purchase order]를 실행한다.
n 새로운 항목을 만들어 [Output] 필드에 “B”, [Application] 필드에 “EF”, [Procedure] 필드에 “RMBEF1”을 입력한다. 만약 이와 같은 자료항목이 이미 있으면, 그것을 그대로 사용한다.
n 자료를 저장한다.
그림 3‑9 Purchase Order에 대한 Output Determination Procedure 정의
그림 3‑10 Purchase Order에 대한 Output Determination Procedure 지정
이 처리작업의 마지막 단계는 condition table에 대한 condition record를 생성하는 것인데, 우리가 output type에서 지정한 access sequenced의 정의내용을 보면, 사전에 정의된 일련의 순서에 따라 condition table들이 사용된다는 것을 알수 있다. 이렇게 하기 위해서는 다음과 같이 실행한다. [그림 3-11]을 참조하라.
n SAP의 시작메뉴 [Logistics] à [Material Management] à [Purchasing] à [Master Data] à [Message] à [Purchase Order] à [Create]를 실행한다.
n output type에 “ZNEU”를 입력하고 [Key combination] 버튼을 누른다
n 그러면 [Key combination] 이라는 팝업화면이 나타나는데, 여기서 “Purchasing Output Determination : Document Type”을 선택하고, [Enter] 키를 누른다.
n [Document type] 필드에는 원하는 값을 입력하고, [Partner function] 필드에는 “VN”, [Medium] 필드에는 ALE를 의미하는 “A”를, [Timing] 필드에는 “1”(Send with periodically scheduled job)을 입력하고, [Language] 필드에는 english을 의미하는 “EN”을 입력한다.
n 자료를 저장한다.
|
그림 3‑11 Purchase Order Output에 대한 Condition Record 생성
ALE로 송신하고자 하는 output을 생성하기 위해서는, 앞에서 말한 모든 작업들이 완료되어야 한다. 여러분이 이미 인식하고 있겠지만, 우리가 앞에서 처리한 설정에서 여러 가지 변화를 줄 수 있는데, 특히 output에 대한 criteria, search strategy, requirement, output의 성격(nature) 등을 다르게 지정할 수 있다. 우리가 설정을 할 때는, 아주 간단하게 SAP가 기본적으로 제공해 주는 object를 대부분 그대로 사용하는 방식을 사용했다. 이 책에서는 output determination에 대한 전문적인 사항을 모두 다루지는 않는다. 따라서 여러분이 ALE interface를 프로토타입(prototype)할 목적으로 output determination을 설정하고자 할 때는, 앞에서 설명한 내용들을 하나의 지침으로 사용할 수 있을 것이다. 더욱 상세한 내용이 필요하면 여러분 근처에 있는 module consultant에게 문의해 보기 바란다.