SAP ALE IDOC EDI-Kor_04.4 IDOC Reduction

출판된 한글판 도서


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


Original Book Contents


4.4      IDOC Reduction

 

우리가 다른 시스템, 즉 다른 R/3 시스템이나 외부시스템으로 master data를 분배하거나 송수신할 때, 통신 경로를 통하여 실제로 전송되는 자료의 양이 매우 대량일 수가 있다. 이러한 경우 처리성능에 문제가 발생할 수 있고, 디스크 공간이나 전송대역폭과 같은 자원을 과도하게 사용할 가능성도 있다. master data에 대한 Basic IDOC type을 면밀히 검토해 보면, 많은 segment자료들이 서로 중복되거나, 또는 전혀 사용되지 않을 수도 있다. 이러한 경우에, IDOCIDOC Reduction이라고 불리는 기법을 적용할 수 있는 좋은 대상이 된다. R/3 Basic IDOC type에서 사용되지 않는 segment segment 중에서 필요 없는 field를 제거할 수 있는 기능을 우리에게 제공해 준다. 이것을 적용하는 절차는 상대적으로 간단하고, 적용하기가 매우 쉽다. IDOC reduction은 단지 몇 개의 message type에서만 적용할 수 있는데, message type DEBMAS, CREMAS, GLMAST, MATMAS, 그리고 일부 POS message들이 그기에 해당한다.

 

기본적으로 IDOC reduction을 수행할 때는, 기존의 message type에 근거하여 새로운 message type이 생성된다. 원래의 message type에 연결되어 있는 IDOC segment들이 편집할 수 있는 대상으로 제시된다. IDOC type 중에서 필수(mandatory) segment는 명백하게 제외할 수 없다. 또한 기본적으로 선택(optional) segment는 제외시킬 수가 있다. 여러분은 선택(optional) segment에 대한 포함여부 뿐만 아니라, 선택된 선택(optional) segment 상의 특정 field에 대하여 포함여부를 선택할 수 있는 선택권이 있다. 만약 여러분이 Basic IDOC type extend하여 그에 대응되는 message type과 연결시켰고, 지금은 IDOC reduce하기 위해서 그것에 기초한 새로운 message type(view)을 생성하고 있는 중이라면, extend IDOC type에서 추가된 field들이 함께 편집 대상으로 제시될 것이다.

 

IDOC reduction에서는 Vendor Master IDOC type CREMAS03을 예제로 사용하기로 하자. 여러분이 인식하고 있는 것처럼, message type CREMAS Vendor Master자료를 다른 R/3 시스템이나 외부시스템과 주고 받기 위해서 사용된다.  IDOC type CREMAS03을 잘 살펴보면, 그기에는 여러 개의 segment가 있고, segment E1LFA1M이 필수(mandatory) segment임을 알 수 있다([그림 4-14]를 참조하라).  IDOC type reduce하기 위해서는 다음 작업을 수행한다.

 

n  transaction BD53를 사용하거나, transaction SALE à [Modeling and Implementing Business Processes] à [Master data distribution] à [Scope of Data for Distribution] à [Message Reduction] à [Create Reduced Message Type]를 실행한다.

n  [Reduced Message type] 필드에 ZCREMS라고 입력한다.

n  화면 위에 있는 [Create] 버튼을 누른다.

n  그러면 팝업화면이 나타날 것이다. [Message type reference] 필드에 CREMAS라고 입력하고, [Enter] 키를 누른다.

n  [Description] 필드에 원하는 내용을 입력하고, [Enter] 키를 누른다.

n  여러분은 segment E1LFA1M (*) 부호와 함께 녹색으로 표시되어 있는 목록 화면을 볼 수 있을 것이다.  IDOC reduction에서 사용되는 부호에서는 (*)는 필수(mandatory), (+)는 선택되었음을, (-)는 제외되었음을, (x)는 선택된 core , (.)은 선택되지 않은 core 를 의미한다. 또한 여기에 대응하여, 항목들이 초록색, 흰색, 붉은색, 보라색, 회색으로 밝게 처리되어 표시된다.

n  모든 하부의 segment를 확장하라. 여러분은 처음 segment를 제외한 다른 segment들이 붉은색으로 표시되어 있는 것을 볼 수 있을 것이다.

n  여러분은 커서를 company code 자료에 대한 segment E1LFB1M에 놓고 [Select] 버튼을 누른다. 그러면 (+)부호가 있는 흰색으로 변할 것이다.

n  그 위를 double-click하면, 앞에서 이야기한 형식에 따라 field목록이 나타날 것이다. 여기서 여러분이 원하는 field를 선택할 수 있다([그림 4-15]를 참조하라).

n  만약 하위의 child segment가 선택되면, 계층 상의 일관성을 유지하기 위해서 그 상위 계층인 parent segment가 자동적으로 선택된다.

n  원하는 segment field를 선택하고 나서, 자료를 저장한다.

n  [Back] 버튼을 눌러서 이전 화면으로 돌아간다.

n  시작화면에서 [Activate Change Pointer] 버튼을 누른다.

 

새로운 message type ZCREMS를 활성화(activate)하면, client에서 그 message type에 대하여 change pointer가 생성되기 시작하는 것이다. reduce IDOC type을 만들기 위해서 message type를 생성하는 것은 client independent한 작업이지만, 이 활성화(activation) 작업은 client dependent한 작업이다. 이 활성화(activation) 작업을 하면, client 내에서 table TBDA2에 그 message type에 대하여 하나의 입력자료가 생성되고, change pointer가 활성화(activate)되는 것이다. 따라서 이 message type을 삭제하기 위해서는 그 R/3 instance 상의 모든 client에서 그 message를 비활성화(deactivate)시켜야 한다(참고 : 여기서의 활성화(activation) 작업은 transaction SALE à [Modeling and Implementing Business Processes] à [Master Data Distribution] à [Replication of Modified Data] à [Activate Change Pointers for Message Types]에서 처리한 것과 그 성격이 동일한 것이다).  이러한 message type CTS를 통하여 다른 client로 전송할 수 있다.

 

 

 

 


 


그림 4‑14 Segment에 대한 IDOC reduction


그림 4‑15 Field에 대한 IDOC reduction


 

4.4.1    Interface 작동

 

IDOC Reduction을 위한 새로운 message type을 생성했으면, 이제는 ALE 설정의 나머지 부분을 처리하여 interface를 작동해 보도록 하자. [그림 4-16] [그림 4-17]을 참조하라

 

n  다른 R/3나 외부시스템을 나타내는 logical system을 정의한다.

n  message type ZCREMS를 이 logical system으로 전송할 수 있도록 customer distribution model을 설정한다.

n  필요하다면 이 시스템에 대하여 port를 정의한다.

n  logical system에 근거한 partner profile을 정의하고, 그 안에서 outbound parameter에 대하여 필요한 설정을 한다. 여러분은 반드시 ZCREMS message type으로 사용하고, CREMAS03 IDOC type으로 사용해야 한다..

n  transaction BD14를 사용하거나 또는 프로그램 RBDSECRE를 실행하거나 시작메뉴 [Tools] à [ALE] à [Master Data Distribution] à [Cross-Application] à [Vendors] à [Send]를 실행한다화면상에서 한 구매처(vendor)나 구매처(vendor)의 범위를 지정하고, message typeZCREMS를 지정하고, 대상 logical system을 지정한 다음, 프로그램을 실행한다.

n  여러분은 Vendor Master에 대하여 change pointer를 활성화하고, Vendor Master에 대한 변경사항이 포착되도록 한 다음, transaction BD21을 사용하거나 프로그램 RBDMIDOC을 실행하여 IDOC을 생성할 수도 있다.

 

앞의 테스트의 결과로 생성된 IDOC을 보기 위해서는, transaction WE02WE05를 사용하라. 값이 채워져 있는 segment IDOC reduction으로 인해서 없어진 segment들에 대하여 자세히 살펴 보기 바란다. segment 중에서 선택에서 제외된 field들은 /의 값이 채워져 있는 것을 발견하게 될 것이다. 이것은 null 값에 해당하는 것이다. 여러분이 이미 인식하고 있겠지만, segment를 없애는 것은 자원을 절약하는 것이 될 수 있지만, field를 제거하는 것은 자료가 압축되는 것이 아니므로, 그렇지 않다. 또한 여러분이 이런 message type에서 사용되는 master data ALE function module을 정밀하게 검사해 보면, 값이 채워지는 모든 segment에 대하여 function module IDOC_REDUCTION_FIELD_REDUCE가 호출되고 있는 것을 파악할 수 있을 것이다. 이렇게 매번 function module을 호출하는 것은 그 자체만으로는 부담이 될 수도 있다. 따라서 IDOC reduction을 적용하기 전에, IDOC reduction에 대하여 장단점을 정확히 따져 보는 것이 매우 중요하다. 물론 어떤 경우는 자료를 조정하기 위해서 필요할 수도 있을 것이다.

 

여러분이 이미 파악한대로, ALE/EDI enhancement, IDOC extension, IDOC reduction은 절차가 매우 간단하고, 조금만 노력을 들이면 개발할 수 있다. 하지만 작업을 더 진행하기 전에, ALE EDI에서 사용 가능한 여러 방안들을 면밀히 검토하고, 업무 시나리오에 가장 적절한 디자인을 개발하는 것이 매우 중요하다. 또한 우리는 ALE/EDI enhancement object 내에서 매우 복잡한 상황을 처리할 수도 있다는 것을 말해 두어야 겠다.


그림 4‑16 IDOC Reduction에 대한 Partner Profile


그림 4‑17 IDOC Reduction에 의해 생성된 IDOC