SAP ALE IDOC EDI-Kor_02.4.6 수신시스템에서 수신용 Partner Profile의 생성

2.4.6 수신시스템에서 수신용 Partner Profile의 생성

우리는 이제 송신시스템에서 보내오는 message를 수신하기 위하여, 수신시스템에서도 logical system과 partner profile을 생성해야 한다. 이러한 작업은 송신시스템에서 정의했던 동일한 항목을 수신시스템에서도 정의하되, 송신시스템에서 정의한 것과는 반대의 형태로 정의하는 것이다. 이러한 작업을 하기 위해서는 다음 작업을 수행한다.

n 수신시스템에서 logical system FSTCLNT100을 생성한다.

n 수신시스템에서 partner number FSTCLNT100에 대한 partner profile을 생성한다.

n partner profile에서 inbound parameter를 입력한다. message type CHRMAS에 대하여 [Process code] 필드에 “CHRM”를 입력하고, [Processing by function module] 필드에 “Trigger by background program”를 선택한다. message type CLSMAS에 대해서도 [Process code] 필드에 “CLSM”, [Processing by function module] 필드에 “Trigger by background program”를 선택한다. [그림 2-30]을 참조하라.

n 자료를 저장한다

SAP ALE IDOC EDI-Kor_02.4.5 RFC Port와 Partner Profile의 생성

2.4.5 RFC Port와 Partner Profile의 생성

이전에 설명한 R/3와 외부시스템과의 interface에서, 우리는 port와 partner profile을 수작업으로 정의하였다. 우리는 여기서 SAP에서 제공하는 기능을 사용하여 R/3와 R/3 간의 interface에서 사용할 RFC port와 partner profile을 자동으로 생성하는 방법에 대하여 배울 것이다. 앞으로 여러분이 보게 되겠지만, port는 이전 단계에서 우리가 생성한 RFC destination에 근거하여 정의되는 반면, partner profile은 이미 생성된 port뿐만 아니라 우리가 생성한 customer distribution model에 근거하여 생성된다. 이러한 object들을 생성하기 위해서는 다음 작업을 수행한다. [그림 2-29]를 참조하라.

SAP ALE IDOC EDI-Kor_02.4.4 RFC Destination의 관리

2.4.4 RFC Destination의 관리

R/3와 R/3 간의 통신에는 Transactional RFC라는 방식을 사용한다. RFC란 용어는 통상 원격지에 있는 시스템에서 transactional하거나 비동기적인 작업을 하기 위해서 function module을 호출할 때 사용되는 Remote Function Call을 말한다. RFC 앞에 붙어 있는 transactional이란 단어는, 단지 그 function들이 logical unit of work단위로 호출된다는 것을 표시하는 것인데, 이는 간단히 말하면, 하나의 Material Master, 하나의 납품(delivery), 하나의 송장(invoice)과 같은 것이다. SAP의 tRFC와 aRFC는 packet 단위로 자료를 송수신하는 과정을 추적해 주고, 그들의 진행상태에 대한 정보를 관리해주는, 보다 진보된 체계를 가지고 있다. 예를 들어, 자료를 확실히 전달하기 위해서, 자료의 송수신이 성공적으로 끝날 때까지 tRFC call을 반복적으로 호출해 준다. 우리는 제 10장 “ALE 최적화”에서 RFC와 RFC의 최적화에 대하여 더 상세히 토론할 것이다. 우리의 interface에서 필요한 RFC destination을 설정하기 위해서, 다음 작업을 수행한다. [그림 2-28]을 참조하라

SAP ALE IDOC EDI-Kor_02.4.3 수신시스템의 CPIC user 생성

2.4.3 수신시스템의 CPIC user 생성

원격지에 있는 시스템과 message를 송수신하고 처리하기 위해서, SAP는 수신시스템 상의 user ID를 사용한다.—이 user ID는 CPIC 유형으로 정의되어야 한다. 그 user는 정상 dialog user를 사용할 수도 있지만, ‘최대 logon 수 초과’와 같은 성능 상의 문제를 사전에 방지하기 위해서 반드시 CPIC user로 정의할 필요가 있다. BASIS 관리자에게 요청하여 이러한 방식으로 user ID를 설정하도록 하라. 또한 그 user ID가 R/3 시스템에서 Characteristics Master와 Class Master에 대한 database를 갱신할 수 있는 모든 권한을 가지고 있는지를 확인해 보기 바란다.

SAP ALE IDOC EDI-Kor_02.4.2 Customer Distribution Model의 설정

2.4.2 Customer Distribution Model의 설정

이전 장에서 설명한 방식에 따라, 필요한 message type에 대한 message flow을 지정하기 위해서 customer distribution model을 설정해 보기로 하자.

n transaction BD64를 실행한다.

n 그러면 [Display Distribution Model] 화면이 나타난다. 변경작업을 할 수 있도록 화면 위에서 [Switch between display and edit mode] 버튼을 눌러 [Change Distribution Model] 화면으로 전환한다.

n 화면 위에서 [Create model View] 버튼을 누른다.

n 그러면 팝업화면이 나타나는데, 여기서 [Short text] 필드에 “Send Characteristics and Class”와 같이 customer distribution model에 대한 설명을 입력하고, [Technical name] 필드에는 “CHRCLSMODL”와 같이 model에 대한 ID를 입력하고, [Start date]와 [End date] 필드에는 유효일자를 입력한 다음, [Enter] 키를 누른다.

SAP ALE IDOC EDI-Kor_02.4.1 R/3와 R/3 간의 Interface – Logical System의 관리

2.4 R/3와 R/3 간의 Interface

우리는 이 절에서 두 개 또는 그 이상의 R/3 시스템들 간의 interface를 구축하는 방법에 대하여 배우게 될 것이다. R/3와 R/3간의interface나 R/3와 외부시스템들 간의 interface는 기본적인 개념은 거의 동일하지만, 통신방식에서의 개념적인 차이뿐만 아니라 설정과정에서도 몇 가지 중요한 차이점이 있다. 우리는 한 R/3 instance에서 다른 R/3 instance로 characteristics와 class정보를 분배하는 예제를 가지고 이야기를 진행해 나갈 것이다. material, customer, vendor, 기타와 같은 object를 사용할 때, 그들의 속성을 보다 상세히 기술하고, 한 object를 다른 object와 구분하기 위해서, 이들 object들을 분류할(classify) 필요가 종종 발생한다. 이러한 개념을 Classification이라고 한다. SAP에서는 이들 object들을 분류하기 하기 위해서 characteristics와 class라는 개념을 사용한다. Characteristics는 object를 더욱 상세히 설명해 주는 속성이다. 예를 들면 화학물질의 온도 민감도, 고객상점에 있는 선반의 넓이 등은 SAP R/3 classification system 내에서 관리될 수 있는, object에 대한 characteristics이다. Class는 material, vendor, 기타와 같은 class type에 따라 정의된 characteristics 그룹을 말한다. Classification Data라는 용어는 characteristics에 부여되어 있는 실제 값을 의미하는 반면에, class와 characteristics는 설정 자료로 간주할 수 있다. SAP에서는 CTS(Correction and Transport System)를 통하여 class와 characteristics정보를 시스템들(개발, 테스트, 운영) 간에 전송할 수 없다. ALE는 class와 characteristics, classification data를 다른 시스템으로 분배해 주는 message type, IDOC type, function module을 기본적으로 제공해 주고 있다. 이 장의 목적은 한 R/3 시스템에서 다른 R/3 시스템으로 characteristics와 class를 분배하는 interface를 구축하는 것이다.

SAP ALE IDOC EDI-Kor_02.3.6 Interface 작동

2.3.6 Interface 작동

이제까지 outbound Material Master interface를 위한 ALE 설정을 완료했으므로, 지금부터 우리는 interface를 테스트해보는 흥미로운 작업를 진행해 나갈 것이다. 이 interface를 작동해 보는 방법에는 몇가지가 있다. 즉 우리가 Material Master IDOC을 직접 ‘송신’하는 방법을 사용하거나, 아니면 master에서 발생하는 변동사항을 포착하고, 그 변동사항을 IDOC으로 변환하는 방법을 사용할 수도 있다. 그외에 세 번째 방안으로 master data를 끌어 오는 방법이 있는데, 이 방법에서는 참조 R/3 시스템에게 Material Master자료를 송신해 주도록 요청하는 방법을 사용한다. 이 방법에서는 message type MATFET를 사용한다.

SAP ALE IDOC EDI-Kor_02.3.5 Communication: Partner Profile

2.3.5 Communication: Partner Profile

partner profile은 서로 통신하고 있는 상대 시스템에 대한 식별자(identifier)이다. ALE에서 사용하는 partner profile은 사전에 정의되어 있는 logical system에 기초를 두고 있다. partner profile은 ALE에 대한 여러 가지 요소들을 함께 포함하고 있으며, 시스템들 간의 접근경로(gateway)의 역할을 한다. 우리는 outbound Material Master interface를 위한 partner profile을 생성해 보도록 하겠다

partner profile을 정의하기 위해서는 transaction WEDI à [IDOC] à [Partner Profile]을 실행하거나 또는 transaction SALE à [Modeling and Implementing Business Processes] à [Partner Profiles and Time of Processing] à [Maintain Partner Profile Manually]을 사용하여 다음 작업을 수행한다. [그림 2-15]와 [그림 2-16]을 참조하라.

SAP ALE IDOC EDI-Kor_02.3.4 Communication : Port정의

2.3.4 Communication : Port정의

Port는 IDOC 통신을 위한 경로(channel)이다. SAP R/3에서는 6 가지 종류의 port를 사용할 수 있다: (1) transactional RFC(Remote Function Call), (2) file, (3) CPI-C, (4) Internet, (5) ABAP-PI, (6) XML이 그것이다. 우리의 예제에서는 Material Master IDOC을 외부시스템으로 전송하기 위해서, 우리는 file port를 정의할 것이다. 이렇게 함으로써, 우리는 file형태의 IDOC을 생성할 수가 있게 된다.

port를 정의하기 위해서는, transaction WEDI à [IDOC] à [Port definition]을 사용하거나, transaction WE21을 사용하면 된다. [그림 2-13]과 [그림 2-14]를 참조하라.

SAP ALE IDOC EDI-Kor_02.3.3 Change Pointer 활성화(Activation)

2.3.3 Change Pointer 활성화(Activation)

change pointer는 master data에 대한 변경사항을 반영해 주는 object이다. 이것은 change document service 와 shared master data 도구를 통하여 활용할 수 있다. ALE 프로그램들과 API들은 해당 message type에 대하여 IDOC 자료를 만들어 내야 하는, 변경된 master data를 가려 내기 위해서 change pointer를 사용한다. change pointer는 table BDCP와BDCPS에 저장되어 있다. table BDCPS에는 고유한 change pointer 식별자(Identifier)와 message type을 key로 하여 change pointer 처리상태에 대한 자료를 관리하고 있다. change pointer가 일단 처리되면, table BDCPS의 PROCESS field는 “X” 값으로 표시된다.

change pointer의 생성여부는 general level과 message type level 양쪽에서 모두 활성화(activate)되어야 한다. 이렇게 하기 위해서는 transaction SALE에서 다음 작업들을 실행한다. [그림 2-11]과 [그림 2-12]를 참조하라.