출판된 한글판 도서
ERP SAP R/3 ALE, EDI & IDOC 기술 |
Original Book Contents
5.2 새로운 Basic IDOC Type 생성하기
우리가 알고 있는 것처럼, IDOC type은 R/3에서 application 자료를 송수신하기 위해서 사용하는 지능적인 data container이다. 새로운 Basic IDOC type을 구축하기 위해서는, 그 application object에 대한 다양한 자료항목들이 포함될 IDOC segment를 정의해야 하고, 그러기 위해서는 그 application을 면밀히 검토해야 한다. SD Customer Hierarchy의 경우는, 하나의 table KNVH를 이용하여, 고객들과 hierarchy node들 간의 계층적인 관계를 모두 표현하고 있다는 것을 발견하게 될 것이다. customer hierarchy node에 대한 기본 자료들은 Customer Master table에 저장되어 있고, 이들은 SAP가 제공하는 IDOC type인 DEBMAS05와 message type DEBMAS를 이용하여 다른 시스템으로 전송될 수 있다. table KNVH는 16개의 field로 구성되어 있는데, 이들은 hierarchy type, 유효기간 시작(start of validity), 유효기간 종료(end of validity), 상위의 고객, sales organization, distribution channel, division, rebate와 pricing을 위한 구분자, hierarchy level number등이다. Customer Hierarchy를 잘 이해하게 되면, table KNVH의 구조가 그 자체로 customer node들 간의 계층적인 연관관계를 완벽하게 표현하고 있다는 것을 알 수 있을 것이다. 이러한 정보 이외에, 우리는 Customer Hierarchy에 변경을 가한 작업의 종류를 나타내는 “message function” field를 segment에 추가할 필요가 있다.
그럼 이제, table KNVH를 그대로 표현해 주는, 하나의 segment가 포함되어 있는 새로운 Basic IDOC type을 생성해 보도록 하자. IDOC type을 새로이 생성하기 위해서는, 먼저 새로운 segment를 생성해야 한다. 이를 위해서는 다음 작업들을 수행한다.
n transaction WE31을 사용하거나, transaction WEDI à [Development] à [IDoc Segments]을 실행한다.
n [Segment type] 필드에 “Z1KNVHM”라고 입력하고, 화면위에 있는 [Create] 버튼을 누른다.
n 그러면 segment 상세정보를 입력할 수 있는 화면이 나타난다. 먼저 [Short text] 필드에 segment에 대한 설명을 입력한다. segment에 포함될 field 정보에 대하여 [Field name]과 [Data element] 필드를 입력한다. segment 상의 모든 field에 대하여 동일한 방식으로 입력한다([표 5-1]을 참조하라). 다음에 [Enter] 키를 누르면, [Export Length] 필드의 값이 자동으로 지정될 것이다.
n 자료를 저장하면, segment에 대한 관리자의 user ID를 입력하는 팝업화면이 나오고, 그 다음으로 생성되는 object에 대하여 development class를 입력하는 화면이 나온다. 여러분의 상황에 맞추어 적절한 값을 입력하고, [Enter] 키를 누른다. [Back] 버튼을 눌러 이전화면으로 돌아간다.
n 다음은 메뉴 [Edit] à [Set release]를 실행하여 생성된 segment를 release 한다
n [Check] 버튼을 눌러 segment에 대한 정의에 문제가 없는지 점검한다.
No | Field Name | Data Element Structure | Field Length | Data Type | 비고 |
1 | MSGFN | MSGFN | 3 | CHAR |
|
2 | HITYP | HITYP_KH | 1 | CHAR | Customer hierarchy type |
3 | KUNNR | KUNNR_KH | 10 | CHAR | Customer |
4 | VKORG | VKORG | 4 | CHAR | Sales organization |
5 | VTWEG | VTWEG | 2 | CHAR | Distribution channel |
6 | SPART | SPART | 2 | CHAR | Division |
7 | DATAB | DATAB_KH | 8 | DATS | Start of validity period for assignment |
8 | DATBI | DATBI_KH | 8 | DATS | End of validity period for the assignment |
9 | HKUNNR | HKUNNR_KH | 10 | CHAR | Customer number of the higher-level |
10 | HVKORG | HVKORG | 4 | CHAR | Higher-level sales organization |
11 | HVTWEG | HVTWEG | 2 | CHAR | Higher-level distribution channel |
12 | HSPART | HSPART | 2 | CHAR | Higher-level division |
13 | GRPNO | GRPNO | 3 | NUMC | Number of the routine used for copying |
14 | BOKRE | BOKRE | 1 | CHAR | ID: Customer is to receive rebates |
15 | PRFRE | PRFRE | 1 | CHAR | Relevant for price determination ID |
16 | HZUOR | HZUOR | 2 | NUMC | Assignment to Hierarchy |
표 5‑1 Segment Z1KNVHM의 field 목록
이렇게 해서 Basic IDOC type에 사용할 segment를 정의하였다. 다음에는 Basic IDOC type을 생성하고, 앞에서 생성된 새로운 segment를 여기에 연결시켜야 한다. 다음 작업들을 수행한다.
n transaction WE30을 사용하거나 transaction WEDI à [Development] à [IDOC Types]을 실행한다.
n [Object name] 필드에 “ZKNVHM01”라고 입력한다.
n [Development Object] 필드에서 “Basic” 선택버튼을 선택한다.
n 화면 위에서 [Create] 버튼을 누른다.
n 그러면 팝업화면이 나타나는데, [Create Basic IDOC type] 항목에서 “Create New” 선택버튼을 선택하고, 하단부에 있는 [Description] 필드를 입력한다.
n [Enter] 키를 누른다.
n 화면 첫 줄에 ZKNVHM01과 그것에 대한 설명이 표시되어 있는 화면이 나타날 것이다. 커서를 ZKNVHM01에 놓고, 화면위에 있는 [Create] 버튼을 누른다.
n 그러면 새로운 segment를 지정할 수 있는 팝업화면이 나타난다. [Segment type] 필드에 “Z1KNVHM”이라고 입력한다. [Mandatory segment] 필드가 check되도록 하는데, 이는 이 segment가 필수(mandatory)이기 때문이다. 모든 IDOC은 단지 한 segment, 즉 Z1KNVHM 만을 포함할 것이기 때문에, segment의 [Minimum number] 필드와 [Maximum number] 필드에는 “1”을 입력한다.
n 입력이 완료되면, [Enter] 키를 누른다.
n 자료를 저장한다.
n 그러면 생성되는 object에 대하여 development class를 입력하는 화면이 나온다. 여러분의 상황에 맞추어 적절한 값을 입력하고, [Enter] 키를 누른다.
n 이제 Basic IDOC type이 생성되었다. [Back] 버튼을 눌러서, 시작화면(transaction WE30의 처음화면)으로 돌아간다.
n [Object name] 필드에 “ZKNVHM01”이 입력되어 있는 상태에서 메뉴 [Edit] à [Set Release]를 실행한다.
n release할 것인지를 물어오는 팝업화면이 나타나면, [Yes] 버튼을 누른다.
n 이제 Basic IDOC type이 release되었다,
이제 Basic IDOC type ZKNVHM01이 생성되었다. 정의된 항목들이 서로 일관성있게 되어 있는지를 점검하기 전에, 우리는 이 Basic IDOC type을 새로운 message type에 연결할 필요가 있다(우리가 생성한 IDOC type에 대한 상세한 설명에 대해서는 부록 F를 참조하라).