Download presentation
Presentation is loading. Please wait.
1
T A B L E 작성자 : 이 재 학
2
1. Domain 생성 1-1. Domain 1-2. Data Type – 데이터의 Type을 지정하고 정의하는데 사용.
형식 CHAR 255까지 저장할 수 있는 Character String. CUKY 통화 단위 Type, CURR Type에 참조된다. CURR DEC Type으로 사용되는 통화 Field이다. CUKY를 항상 참조. DATS 8자리(YYYYMMDD)로 표현되는 날짜형 Type. DEC 31자리까지 표현할 수 있는 소수형 Type. NUMC 숫자만 사용할 수 있는 문자열 Type. STRING 다양한 길이의 Character String. QUAN 수량 Field, UNIT Type을 항상 참조한다. UNIT QUAN Fields을 위한 UNIT Type. * CURR와 QUAN은 항상 CUKY와 UNIT를 참조(‘통화’ 및 ‘단위’에 시스템적 통일성을 부여하기 위해)
3
1. Domain 생성 OR 1-3. Domain 생성 순서
ABAP Dictionary (T-CODE : SE11)에서 도메인에 이름을 넣고 생성. Domain을 설명할 짧은 글과 Type정의. Value Range 설정. Package. Active. T-CODE SE11 입력 OR ABAP DICTIONARY 선택
4
1. Domain 생성 1. ABAP Dictionary (T-CODE : SE11)에서 도메인에 이름을 넣고 생성.
- 여기서 도메인 생성 및 수정, 조회가 가능하다. 1.도메인명 입력 (Z, Y로 시작하는 Naming Rule) click 위와 같이 생성하고자 하는 도메인명을 입력 후 ‘Create’ 버튼을 클릭해 생성해준다. 만약 이미 생성되어 있다면 ‘이미 생성되어 있습니다.’ 라는 메시지가 나오면서 다른 이름으로 생성하도록 알려준다. 이미 생성되어 있다면 다른 이름을 입력해 생성해준다.
5
1. Domain 생성 2. Domain을 설명할 짧은 글과 Type정의. Formatting 설정
도메인에 대해 설명하는 필수적인 부분. 타입, 길이, 소수점 설정 출력할 때 어떻게 보여지게 할 것인가 설정 Formatting 설정 Data type – 앞의 표를 이용하여 데이터타입 입력. No.character – 도메인의 자릿수 입력. Decimal place – 소수점 이하 자릿수 입력. Output characteristics 설정 Output length – 출력될 때 몇자리로 보여줄 것인지 설정. Convers.routine – 보여주고 싶은 display Format 형태와 SAP Table의 Format형태가 다를 경우 사용.
6
1. Domain 생성 3. Value Range 설정.(Fix.Val) 도메인 값의 범위나 들어갈 수 있는 값을 정한다.
지정할 수 있는 Data Type에는 CHAR, NUMC, DEC, INT 1, INT 2, INT 4 등이 있다. 다른 Data Type을 사용하면 ‘Syntax Check’ 를 할때 에러가 발생한다. 완료후 Active를 해준다. Active가 되지 않으면 도메인을 사용할 수 없다. Single Values를 정하면 정해진 값 이외에는 저장할 수 없다. 그리고 저장된 값에 한하여 여러 프로그램의 Possible Entry로 쓰일 수 있게 된다. Fix.Val 를 지정하게 되면 그 안에 있는 값만 저장할 수 있게 된다. 잘못된 데이터가 들어갈 수 없게 해주어 Data Integrity 를 유지할 수 있게 한다. Active를 위해선 local object 나 Package를 선택해 주어야 한다.
7
1. Domain 생성 4. Package.(1/3) 이미 사용하고 있는 Package가 있다면 사용하고 있는 것을 지정해 주면 되지만, 그렇지 않을 경우 Package를 생성하여 지정해야 한다. ABAP 객체나 프로그램 등을 처음으로 저장하면 항상 나오는 화면으로 Package 나 Local Object를 선택하여 저장할 수 있다. 먼저 Local Object로 저장하면 Requests No(전송번호) 가 생성되지 않아 개발 서버에서 Test Server나 End-User가 사용하는 서버로 작성한 개체나 프로그램 등을 넘길 수 없게 되어 해당서버(개발서버)에서만 사용이 가능하고 End-User가 사용 하는 서버에서는 사용할 수 없다. Package의 생성 및 유지보수는 T-CODE : SE80, SM30 에서 가능하다.
8
1. Domain 생성 4. Package.(2/3) T-CODE : SE80을 이용해 Object Navigator로 이동 후 Package 명을 입력한 후 Enter를 클릭한다. 만약 있다면 해당 Package에 속한 프로그램이나 function 등의 리스트가 나타나고, 그렇지 않을 경우 신규로 생성할 것인지 묻는다. Package 선택후 Package명을 입력해준다. Yes를 선택 하여 새로운 Package생성.
9
1. Domain 생성 4. Package.(3/3) 다음과 같은 화면이 나오면 Short Text에 Package에 대한 설명을 작성 후 저장한다. Short Text 작성 후 저장버튼 클릭. 저장을 하면 ZABAP100이라는 새로운 package가 생성 된다. 앞으로 ZABAP100라는 Package를 이용해 Object 및 Program을 생성하게 되면 생성된 객체나 프로그램들이 ZABAP100이라는 Package 밑에 묶이게 된다.
10
1. Domain 생성 5. Active.(1/2) Package 생성이 완료되었으므로 생성한 Package를 이용해 Active해주면 된다. ZABAP10 생성한 Package명을 지정하고 저장을 클릭. 저장을 하면 아래와 같은 화면이 나오는데, ‘Create Request’를 선택해 Request NO를 만들어 주거나 또는 기존에 작성한 Request No가 있을 경우에는 ‘Own Request’를 눌러 선택해준다. Create Request 버튼을 눌러 새로운 Request 생성. Package 는 객체나 프로그램들을 묶어서 관리하기 위한 것이고, Request No를 만드는 것은 우리가 생성한 객체나 프로그램을 개발 서버에서 End-User가 사용하는 서버로 넘기기 위해 사용된다.
11
1. Domain 생성 5. Active.(2/2) Short Description에 프로그램에 대한 간단한 설명을 작성하여 저장해 주고 확인 버튼을 클릭해 Active를 완료한다. 확인 버튼을 클릭해 Active를 완료 Active가 되면 ‘New(Revised)’ 부분이 ‘Active’로 변경됨을 확인할 수 있다. 이렇게 하여 도메인이 생성된다.
12
2. Data Element 생성 Data Element 2. Data Element 의 생성.
- Table Field 의 기술적 속성인 도메인을 작성한 이후 내용적인 의미를 부여하기 위해 작성한다. Table의 Field가 나타내는 의미가 무엇인지 나타낸다. 2. Data Element 의 생성. ABAP Dictionary (T-Code : SE11) 에서 Data Type 에 이름을 넣고 생성. Data Elements 를 설명할 짧은 글을 입력. Data Type을 결정하는 3가지 방법을 선택해 입력. Attributes의 값을 입력. Field Label을 입력. Documentation 등록.
13
2. Data Element 생성 1. ABAP Dictionary : Initial Screen (T-Code : SE11) T-CODE : SE11 입력 OR ABAP Dictionary 선택
14
Date Type을 선택 후 생성하고자 하는 이름 입력.
2. Data Element 생성 1. ABAP Dictionary : Initial Screen (T-Code : SE11) Date Type을 선택 후 생성하고자 하는 이름 입력. 이름 입력 후 Create버튼을 클릭. Create 버튼을 클릭 후 나오는 다음 화면에서 Data element를 선택한다. Data element 선택 후 Continue버튼 클릭.
15
우선 Short Text에 Data Element의 속성에 맞는 간단한 설명을 입력한다.
2. Data Elements Description 입력 우선 Short Text에 Data Element의 속성에 맞는 간단한 설명을 입력한다. ZABAP10D04 Domain을 선택 후 Domain 명을 입력해 준다. 3. Data Type 결정 Domain으로 설정 - 가장 많이 쓰이는 방법으로 기존 도메인으로 사용하거나 새로운 도메인을 생성하여 사용하는 방법. Predefined Type - 도메인을 사용하지 않고 바로 data Element 자체의 Data Type과 길이 및 소수점 자리를 정의해 사용. Reference Type - 클래스나 인터페이스의 그래픽을 참조하여 data Type을 결정하는 것으로 많이 사용 안한다.
16
2. Data Element 생성 4. Field Label 입력
- 각종 Screen 및 List Program에서 필드에서 참조하여 사용되어 Label 역할을 한다. 여기까지 작성한 후에 Save( ) 및 Activate( ) 해 주면 작성한 Data Element를 사용할 수 있다.
17
3. Table 생성 1. Table name Position Usage 설명 1 Z 시작은 항상 영문자 Z로 한다. 2-3
ABAP Dictionary에서 개발시 Table명은 시작을 ‘Y’, ‘Z’로 하는 10자리로 생성하면 되는데 보통은 Name으로 사용처까지 알 수 있게 다음과 같이 사용한다. Position Usage 설명 1 Z 시작은 항상 영문자 Z로 한다. 2-3 SD Application area SD FI Application area FI MM Application area MM 4 T 구분을 넣어준다. Table은 ‘T’ 7-10 NNNN 네자리 serial Number A. Z : 개발용 이다. B. FI : 회계 모듈에서 사용된다. C. T : Table이다. D : 개발한 첫 번째 것이다. 개발 순서대로 번호를 매긴다.
18
3. Table 생성 click Table - 데이터가 물리적으로 데이터베이스에 저장되는 곳. T-Code : SE11 입력.
신규로 생성할 이름 입력. Create 버튼 클릭. click
19
Table 유지, 보수의 허용여부를 체크하는 곳.
Attributes(속성) – 전반적인 Table 속성이 저장된 Tab. Fields (Field) - Table 을 구성하는 fields, Key, Data Type, Check Table, Short Text 등을 기록하는 Tab. Currency / Quantity Fields(통화/수량 Field) - 통화나 수량 Fields들의 별도의 단위 필드를 입력하여 주는 Tab.
20
3. Table 생성 Delivery Class Type. Class 속성 Class 설명 A Application Table
(master and transaction data) 보통 사용하는 class로 master Data나 Transaction Data를 저장 시 사용. C Customizing Table 사용자에 의해 유지 관리되는 Table. L Temporary Data Type 임시 데이터 저장용 Table. G 기존 데이터의 수정 및 삭제가 되지 않고 신규로 insert 되는 Table. E Control Table SAP와 고객이 각자의 key 영역을 가지고 있는 컨트롤 Table. S System Table 프로그램 변경 시 상태 정보를 가지고 있음. W 데이터 전송 시 자신의 전송 객체를 가지고 전송됨.
21
3. Table 생성 Fields TAB – Data Type과 Lgth, Dec, Check Table, Short Text 항목 등을 입력하는 곳. Data Element를 Double Click 했을 때 해당 Data Element가 나타난다. 또한 data Element에서 Double Click하면 해당 Domain이 나타난다. Double Click Data Element 나 Domain이 없을 시 새로 생성하여 사용.
22
3. Table 생성 Fields TAB의 각 항목들. 항목 설명 Fields 필드명 입력. Key
기본 key (Primary Key)를 선택 체크하는 곳. Init. 초기값을 줄 것인지 Check 하여 주는 곳. Field Type Data Element로 data Type를 참조하게 하는 필드. Data Type Field Type을 선언하지 않고 상황에 따라 직접 입력하는 경우 사용. Lgth. 직접 입력 할 때 data Type의 길이를 입력하는 곳. Dec.places 소수점이 필요한 Type 의 소수점 길이를 직접 입력하여 주는 곳. Check Table Check Table은 Field 값을 Check 하는 필드로 참조되는 Table을 선택한다. Short Text 필드의 간단한 설명을 입력한다.
23
Field Type이 금액이나 수량인 경우 참조할 Table과
Currency/Quantity Field – Field 속성이 금액, 수량인 필드가 있을 때 작업하는 곳. Field Type이 금액이나 수량인 경우 참조할 Table과 Field를 입력하는 곳. Double Click 참고 : 수량일 때 Reference Table – ‘T006’, Ref. Field – ‘MEINS’ 금액일 때 Reference Table – ‘T001’, Ref. Field – ‘WAERS’
24
3. Table 생성 Technical Setting
내용을 입력한 후 ‘activate’ 하려고 할 때 Technical Setting 가 입력되어 있지 않다면 반드시 입력하라는 에러가 나온다. Data Class – Table의 용도에 맞게 알맞은 용도를 선택 버튼을 클릭하면 다음과 같은 화면이 나온다. Size Category – Table의 초기 데이터량을 설정.
25
3. Table 생성 Buffering 일반적으로 buffering not Allowed로 체크한다. Table 을 버퍼링 한다는 것은 메모리에 일정 영역이 버퍼의 역할을 한다는 것이므로 시스템 메모리의 상황을 잘 모르는 상태에서 생성하는 모든 Table 에서 버퍼링 사용을 한다고 하면 시스템에 무리를 줄 수 있다. 1. Record 하나씩 buffering. 2. 선택한 영역씩 buffering. 3. 전체를 buffering. 여기까지 입력을 완료하고 (Active) 버튼을 눌러 테이블을 활성화 시킨다.
26
3. Table 생성 생성한 TABLE의 활성화. (Active) 버튼을 클릭 하면 다음과 같은 화면이 나타난다.
Active 를 위해선 Package 에 전 단계에서 만들어 놓았던 Package 명을 입력 하고 저장해준다. Package 명 입력. 저장.
27
먼저 Foreign Key를 생성할 필드 선택.
Table 과 Table 사이의 연관 관계를 설정해 두어 Check Table 에서 값의 진위 여부를 확인할 수 있다. 먼저 Foreign Key를 생성할 필드 선택. Foreign Key 버튼을 클릭. Yes 선택.
28
Entry help/check 탭에서 확인할 수 있다.
4. Foreign Key 생성 Foreign Key 버튼 ( )을 클릭하면 다음과 같이 해당 Field와 관련된 내용이 나온다. 복수 개라면 그 중 하나를 선택. 저장버튼 클릭. Entry help/check 탭에서 확인할 수 있다.
29
5. Index 생성 SQL 문을 사용해 데이터를 조회하면 전체 Table 을 검색하게 되는데, 데이터량이 많으면 DB를
Index 를 사용하면 Table의 데이터를 찾을 때는 유리하지만 Table 에 입력, 수정, 삭제하는 경우에는 Index에도 입력, 수정, 삭제 되어야 하므로 느려질 수 있다. 그러므로 index는 자주 join 되는 Table 들이나 조건문이 많이 쓰이는 경우에 사용하는 것이 좋고, Table 입력, 출력이 빈번한 Table 이나 데이터량이 적은 Table 에는 적용하지 않는 것이 좋다. Index 버튼을 클릭. 신규 생성 승인. Index 이름 입력.
30
Non-unique Index 인지 Unique Index인지 구분.
Non-unique Index(일반적 index) Index를 사용한 필드에 중복값을 가질 수 있다. Index를 지정할 Field를 입력. Index on all Database Systems. DB에 인덱스를 똑같이 생성. For selected Databasee Systems. DB에 Query 문으로 index를 생성. No Database Index. - DB에 인덱스를 생성하지 않는다. Unique Index – Index를 사용한 필드의 중복 값들을 포함하지 않고 사용할 수 있는 장점이 있다. Table 생성시 지정하는 기본 key 와 unique Key 의 index 는 unique Index 이고, DB에 index가 꼭 생성된다. 작업이 완료 되었으면 active를 시킨다.
31
T-Code : SE11 에서 Data type을 선택.
5. Structure 생성 Structure 는 Table과 동일한 형태지만 실제 Database에는 생성되지 않는 객체로 ABAP Dictionary 에만 존재하면서 data Set을 가지지 않는다. Structure 각각의 필드는 Table 의 Field와 동일하게 정의 되며 structure 는 다른 structure 및 Data Elements 등을 포함할 수 있다. Structure 의 생성은 Table 의 생성과 거의 비슷하다. T-Code : SE11 에서 Data type을 선택. Structure 명을 입력. Click Structure 선택 후 Continue 한다.
32
5. Structure 생성 Structure 입력 방법. 1.Attributes TAB에는 개발시 입력할 내용이 없다.
해당 항목에 맞는 각각의 값들을 입력. 1.Attributes TAB에는 개발시 입력할 내용이 없다. 2. Components TAB은 Table 에서의 Field Tab과 비슷하다. component : Table 의 Field명과 같다.(구조체의 Field명 입력) component Type : Type을 Data Element를 참조하는 경우에 입력. Data Type : Component 의 Type을 설정하는 곳으로 직접 입력할 때는 ‘built-in Type을 클릭하고 생성. Length : 직접 입력할 때 컴포넌트의 길이를 입력. Decimal.places : 직접 입력할 때 컴포넌트의 소수점 자리를 입력. 3. Table 과 같이 수량, 금액 Field인 경우 Currency/Quantity fields Tab 에서 Reference Table과 Ref.Field를 입력해 주어야 한다. 4. Foreign Key 를 설정하여 Entity help/check Tab에서 확인할 수 있다.
33
Request No.를 물어보면 continue 버튼을 클릭하여 활성화 시킨다.
5. Structure 생성 Structure 의 활성화. Active 버튼을 눌러 활성화 시켜준다. 묶어줄 Package 명을 입력한다. 저장 버튼 클릭. Request No.를 물어보면 continue 버튼을 클릭하여 활성화 시킨다.
34
5. Structure 생성 Include Structure.
복수개의 Table 에서 같은 구조를 가진 Field 들을 사용하게 되면 Table 마다 각각 작업하여 생성 하기는 힘들 것이다. 이러한 문제를 보완하기 위해 같은 Field들을 Structure 로 생성하고 Table 생성시 Structure 를 불러 사용하게 된다. 앞에서 생성한 Table에서 Edit – Include – Insert 를 선택. Structure에 방금 생성한 Structure Name을 입력. Click
35
5. Structure 생성 Include Structure.
다음과 같이 structure 가 Table 에 입력된 것을 확인 할 수 있다. * Include structure 는 기존에 만들어진 structure 를 불러서 쓰는 것이므로 다른 Table 이나 structure 에서도 Include 해서 같이 사용해도 된다.
36
Menu 에서 Goto – Append Structure를 선택.
Table 이나 structure 가 이미 활성화(active)가 되어 있어야 Append Structure는 입력이 가능하게 된다. Append Structure를 사용하는 이유는 주로 SAP standard Table에서 새로운 필드를 추가해야 하는 경우에 Table을 Modify하는 대신 Append Structure를 사용하게 된다. 이렇게 추가되는 Stru- cture는 SAP가 업그레이드 될 때에도 그대로 사용할 수 있는 장점이 있다. Menu 에서 Goto – Append Structure를 선택. Continue 클릭.
37
Append Structure 에 대한 간단한 설명 입력.
필요한 항목을 입력. Active( )버튼 을 클릭 하여 활성화 시킨다.
38
5. Structure 생성 Append Structure.(덧붙이는 구조체)
Append Structure는 Table이나 일반 Structure에 종속적인 Structure로 만들어 지는데 다음과 같이 종속된 내역 확인이 가능하다.
39
V I E W 작성자 : 이 재 학
40
1. View 란? View 란 이미 존재하는 하나 혹은 그 이상의 Table 에서 원하는 데이터만을 가져 올 수 있도록, 미리 원하는 칼럼만을 모아 가상적으로 만든 Table 을 말한다. 여기에서 가상적이라는 말은 Table 과 같은 실제 데이터가 존재하지 않는다는 것을 의미한다. 따라서 실제 데이터는 원 Table 에만 존재하고, View는 이를 보여주는 창이라고 생각하면 된다. View의 종류. Database View – 복수개의 Transparent Table로 부터 애플리케이션에 필요한 데이터만을 추출 해서 보려고 할 때 생성하는 view이다. Database View는 ABAP Dictionary에 정의 되고, 그것이 Activated 될 때 Database안에도 자동 생성된다. 그리고 하나의 Table을 사용하는 Database View 라면 그 view 는 읽기 기능뿐만 아니라 변경 기능까지도 사용할 수 있다. Projection View – 하나의 Table에서 필요한 필드만 간추려 생성한 View로서 Database interface를 최소화 시킬 수 있다. Projection View는 오직 하나의 Table 만을 포함할 수 있으며, database 에 Access 할 때 그 view 의 기본 Table 을 access 하게 된다. Help View – Help View는 search help 의 Selection Method 에서 Outer Join 의 특성을 가지는 View 가 필요할 때 생성한다. Maintenance View – 복수 개의 Table 을 동시에 유지 보수할 수 있는 가장 쉬운 방법을 제공한다. Foreign Key 로 연결되어 있는 Table들의 원하는 Field들을 하나로 모아 Maintenance View로 생성 하고, maintenance View에서 데이터를 입력, 삭제, 변경하면 실제 Table 또한 입력, 삭제, 변경 된다.
41
Database View선택 후 Copy 클릭.
T-Code : SE11 을 실행하여 ABAP Dictionary 실행. 생성할 View의 이름을 입력. Click View 의 Type을 선택하라는 메시지 박스가 나타난다. Database View선택 후 Copy 클릭.
42
Relationship table창에서 Join할 Table을 선택.
2. View 의 생성. Database View의 생성. View에 대한 간단한 설명 입력. Join할 Table을 입력. Relationship버튼을 클릭. Relationship table창에서 Join할 Table을 선택. 선택사항을 모두 선택 후 Copy버튼 클릭.
43
2. View 의 생성. Database View의 생성.
Copy 버튼을 클릭하면 Join Conditions에 Table 간의 연관 관계가 생긴다. Table Fields를 클릭한다. 추가할 Field를 가진 Table를 선택 한다.
44
2. View 의 생성. Database View의 생성. Click 사용하고자 하는 Field값을 선택 후
Copy 버튼을 클릭하여 View에 추가한다. Click Copy를 클릭하면 View 에 Field가 추가된 것을 확인 할 수 있다.
45
2. View 의 생성. Database View의 생성.
Selection condition은 Table의 데이터를 선택할 때 특정 조건에 해당하는 것만을 작업하고 싶을 때 사용한다. Maintenance Status에서는 해당 Database View의 유지 보수 특성을 결정할 수 있는데, 만약 하나의 Table로 이루어진 경우에는 Database View를 통해 실제 Table Data를 읽는 것 뿐 아니라 교환할 수 있는 기능까지 설정할 수 있다.
46
2. View 의 생성. Database View의 생성.
구문을 체크( )해 보고, 오류가 없다면 Activate 시킨 후 Test( )를 실행하여 원하는 정보가 정상적으로 조회되는지 확인.
47
Projection View선택 후 Copy 클릭.
T-Code : SE11 을 실행하여 ABAP Dictionary 실행. 생성할 View의 이름을 입력. View 의 Type을 선택하라는 메시지 박스가 나타난다. Click Projection View선택 후 Copy 클릭.
48
2. View 의 생성. Projection View의 생성. View에 대한 간단한 설명 입력.
Basis Table에 해당 View가 사용할 Table명을 입력. Table Field버튼을 통해 View Field를 정의. View Field로 사용될 수 있는 필드는 당연히 Basis Table에 포함되어 있는 Field들이다.
49
선택하고 Copy 버튼을 클릭하여 View Field를
Projection View의 생성. 사용할 View Field를 선택하고 Copy 버튼을 클릭하여 View Field를 정의한다. Click
50
2. View 의 생성. Projection View의 생성.
구문을 체크( )해 보고, 오류가 없다면 Activate 시킨 후 Test( )를 실행하여 원하는 정보가 정상적으로 조회되는지 확인.
51
Projection View선택 후 Copy 클릭.
Help View의 생성. T-Code : SE11 을 실행하여 ABAP Dictionary 실행. 생성할 View의 이름을 입력. Click View 의 Type을 선택하라는 메시지 박스가 나타난다. Projection View선택 후 Copy 클릭.
52
2. View 의 생성. Help View의 생성. Table/Join Conditions Tab.
Join할 Primary Table 설정. Relationships 버튼을 클릭하여 Relationships of Table화면을 불러낸다. Join 할 Table을 선택하고 아래의 copy 버튼을 누른다. Primary Table과 Secondary Table의 Join Condition은 직접 입력하는 것이 아니라 Foreign Key 조건에 따라 Secondary Table을 선택할 때 자동 설정된다.
53
Foreign Key 조건에 따라 Secondary Table 입력 시 저절로 입력 된 걸 확인 할 수 있다.
2. View 의 생성. Help View의 생성. Foreign Key 조건에 따라 Secondary Table 입력 시 저절로 입력 된 걸 확인 할 수 있다. 다음은 View에서 보여줄 View Fields와 Selection Condition을 정의 한다. 정의 방법은 Database View와 동일하다. Maintenance Status Tab. Read only – 존재하는 View Entries에 대하여 읽을 수만 있다. Read and change – 존재하는 View Entries에 대하여 읽고 변경 할 수 있다.
54
2. View 의 생성. Help View의 생성. 구문을 체크( )해 보고, 오류가 없다면 Activate 시킨다. 정상적으로 Active가 되었다면 추후 Search Help에 연결하여 사용할 수 있다.
55
Maintenance Generator를 선택한다.
2. View 의 생성. Maintenance View의 생성. USER ID와 Flag 필드를 가지고 권한을 줄 수 있는 Maintenance View를 만들기 위해 다음과 같은 Field들을 가지고 있는 테이블을 생성한다. Maintenance View를 실행하기 위해선 그 전에 Table Maintenance Generator를 통해 Table Maintenance View를 생성해 주어야 한다. Utilities 메뉴에서 Table Maintenance Generator를 선택한다.
56
2. View 의 생성. Maintenance View의 생성.
해당 작업은 Table Maintenance Dialog와 그 작업환경을 생성하는 것으로 생성할 화면의 권한 Group과 Function Group, Maintenance Type과 화면 번호 등을 정의해 주어야 한다. 특별한 권한이 없더라도 사용가능 하게 하고 싶다면 ‘&NC&’를 특별한 권한을 주고 싶다면 Possible Entry에서 제공하는 권한 중 알맞은 것을 선택. Table Maintenance Generator로 인하여 생성되는 화면과 그에 따른 source script 등을 포함할 function group를 지정. One Step 일 경우 오직 하나의 유지, 보수 화면을 가지며 이 화면 위의 overview Screen에 View 및 Table의 Entries가 조회된다. Two Step은 overview screen과 single screen이라는 두 개의 화면을 가지며, overview screen은 one step의 그것과 동일하나 이를 더블클릭 하였을 때 Single Screen으로 그 Line 의 세부사항을 볼 수 있다는 점이 다르다. 그림과 같이 입력이 완료 되었으면 Create( )버튼을 클릭해 생성하도록 한다.
57
New Entries를 통해 권한을 부여할 유저를 설정할 수 있다.
2. View 의 생성. Maintenance View의 생성. T-CODE : SM31 에서 생성한 maintenance Table View의 권한을 설정할 수 있다. 확인할 Table의 Name 입력. Click New Entries를 통해 권한을 부여할 유저를 설정할 수 있다.
58
Projection View선택 후 Copy 클릭.
Maintenance View의 생성. Table Maintenance 를 생성했으면 T-CODE : SE11 을 통해 Maintenance View를 생성한다. 생성할 View의 이름을 입력. Click View 의 Type을 선택하라는 메시지 박스가 나타난다. Projection View선택 후 Copy 클릭.
59
ZABAP10T002에 대한 Maintenance View를 생성할 것이므로 ZABAP10T002만 입력한다.
유지, 보수 하려는 기준 Table을 입력하고 Foreign Key로 연결할 Table을 Relationships 버튼을 클릭하여 선택해 준다. Join Condition은 Help View와 마찬가지로 Foreign Key의 조건에 따라 자동으로 설정된다. View에 대한 간단한 설명 입력. 앞에서 생성한 Table ZABAP10T002에 대한 Maintenance View를 생성할 것이므로 ZABAP10T002만 입력한다.
60
2. View 의 생성. Maintenance View의 생성. 옵션 설명 R S H
Table Fields를 통해 원하는 Fields를 입력. Maintenance View각각의 Field에 대하여 Maintenance Attribute를 설정하는 것으로 다음과 같은 옵션을 지정해 줄 수 있다. 옵션 설명 Field Maintenance 에 대한 특별한 규정이 없다. 입력, 수정 등이 가능한 일반적인 필드. R Only read access 이다. 따라서 해당 Field는 비활성이 된다. S View 데이터가 활성화 될 때, 해당 Field를 기준으로 subset 을 형성한다. 예를 들어, V라는 Maintenance View가 존재하고 그 내에 a, b, c라는 3개의 View Field가 존재한다고 할 때, Field a의 옵션이 ‘S’라 한다면 V를 실행할 때 가장 먼저 Field a 값을 입력하라는 Popup Window가 나타나며, 입력된 Field a를 기준으로 Field b, c를 입력할 수 있다. H Maintenance Dialog에서 사용자에게 보이고 싶지 않은 Field가 있을 때 사용한다. 즉, 옵션이 H인 Field는 Maintenance Screen에 조회되지 않는다.
61
2. View 의 생성. Maintenance View의 생성.
Help View에서와 같이 Selection Conditions Tab 과 Maint.Status Tab을 입력해 준다. 모든 입력이 완료 되었으면 구문을 체크( ) 해보고 , 오류가 없다면 Activate( )시켜준다.
62
T-CODE 생성 작성자 : 이 재 학
63
1. T-CODE 생성. Maintenance View에 대한 T-CODE 생성.
T-CODE : SE93 을 입력하여 Maintain Transaction Code 로 이동한다. 생성할 Transaction Code를 입력. Click T-Code에 대한 간단한 설명 입력. Parameter Transaction을 선택하고 Continue버튼 클릭.
64
1. T-CODE 생성. Maintenance View에 대한 T-CODE 생성. Start Object
Program and screen Dialog Transaction – Module pool인 M-type의 Transaction code에서 만들어지며, 스크린의 순서는 프로그램의 흐름에 의해 결정된다. Program and selection screen Report Transaction(Type-1)에서 사용되는 것으로 Report 프로그램이나 Selection 스크린의 데이터를 받아서 실행하고 프로그램 생성시 사용한다. Method of a class Transaction code를 이용하여 Class의 Method를 시작할 때 사용한다. Transaction with variant Transaction의 variant를 정의하여 Value field에 값이 정의된 내역을 지정해 호출하여 사용한다. Transaction with parameters 초기 화면에서 사용되는 필드값을 할당하여 사용한다. 예를 들어, sm30에서 테이블 뷰 유지보수 할때나 포준 레포트를 생성하여 호출할 때 사용한다. 개발자는 Program Test를 통해 프로그램을 사용할 수 있지만, 일반 유저는 프로그램을 사용하려면 Transaction code를 이용하여 프로그램을 실행하기 때문에 이 와 같이 Transaction Code를 만들어 준다.
65
1. T-CODE 생성. Maintenance View에 대한 T-CODE 생성.
ZABAP10V001C 입력 시 실행될 T-Code입력. 초기 화면을 자동으로 넘긴다. 사용할 View를 정의 하고 Update권한을 설정. x
66
Request No.확인 후 Continue 버튼 클릭.
1. T-CODE 생성. Maintenance View에 대한 T-CODE 생성. 구문을 체크( )해 보고, 오류가 없다면 Save( ) 시킨다. Package명 입력 후 저장. Request No.확인 후 Continue 버튼 클릭.
67
1. T-CODE 생성. Maintenance View에 대한 T-CODE 생성.
COMMAND 창에 ZABAP10V001C 입력 시 Maintenance View가 실행됨을 확인할 수 있다.
68
Search Help 작성자 : 이 재 학
69
생성할 Search help명을 입력하고 Create 버튼을 클릭한다.
Search Help란 Input Field에 입력 가능한 Data List를 보여주는 Object이다. 사용자가 어떤 필드에 어떤 값을 넣고 싶은데 무슨 값을 입력해야 할지 잘 모르는 경우, 사용자에게 TIP 을 제공하면 훨씬 쉽게 값을 입력할 수 있을 것이다. 이러한 도움을 주는 기능을 SAP에서도 제공하고 있으며, 이것이 바로 Search help 이다. T-Code : SE11 에서 Search help를 생성한다. 생성할 Search help명을 입력하고 Create 버튼을 클릭한다. Click
70
Elementary Search help 선택 후 Continue 클릭.
Create 버튼을 누르면 다음과 같이 Search help 종류를 선택하는 Popup Window가 나타난다. Elementary Search help 선택 후 Continue 클릭. Search Help의 종류. 기본 탐색 도움말(Elementary search help) - 일반적으로 사용되는 단일 화면의 Search Help. 일괄 탐색 도움말(collective search help) – 기본 탐색 도움말을 TAB의 형태로 복수 개 가지고 있는 Search Help.
71
1. Search Help 생성. Search Help 생성. Dialog Type
선택의 기준이 되는 데이터를 가져올 Table이나 View를 입력. Input help 를 실행했을 때 Dialog Step을 정의 하는 것. Parameter가 Import인지 Export인지 구분. Input Help에서 사용할 필드를 정의 하는 것으로 Dialog Box나 Hit List의 Field이름과 동일해야 한다. Parameter의 위치 결정. Dialog Type Dialog Depends on Set of Values – 만약 Hit List가 100개 이하의 Entries를 포함하고 있다면 그것은 즉시 표시해 주고 그 이상이라면 Dialog Type, C와 같이 Dialog Box를 나타낸다. Display Value Immediately – Input Help가 실행되는 순간 바로 Hit List를 표시해 준다. 즉, Selection Method 에서 가져온 데이터를 바로 보여준다. 따라서 데이터의 수가 매우 적을 때 사용하는 것이 좋다. Dialog with Value Restriction – 제한된 범위 내에서 Hint List를 만들기 위하여 Filter 조건을 제공하는 Type이다. 따라서 selection Method가 많은 데이터를 가지고 있을 때는 이 옵션을 사용하는 것이 바람직하다.
72
1. Search Help 생성. Search Help 생성.
모든 값이 정의 되었다면 구문 Check( ) 후 오류가 없다면 저장 후 Activate( ) 해준다. 정상적으로 생성이 완료 되었으면 Test( )를 실행해 본다.
73
연결할 Search Help 명을 입력하고 Continue 버튼을 클릭한다.
Table에 Search Help 연결. T-CODE : SE11 에서 Search Help를 연결할 Table을 선택하여 Change 버튼을 클릭한다. Search Help를 연결할 Table에서 Search Help를 사용할 Field를 선택한 후 Srch help버튼을 클릭한다. 연결할 Search Help 명을 입력하고 Continue 버튼을 클릭한다.
74
Search Help가 연결됨을 확인할 수 있다.
Table에 Search Help 연결. Continue 버튼을 누르면 다음과 같은 화면을 볼 수 있다. Search Help가 연결됨을 확인할 수 있다. Click
75
1. Search Help 생성. Table에 Search Help 연결.
모든 값이 정의 되었다면 구문 Check( ) 후 오류가 없다면 저장 후 Activate( ) 해준다. 정상적으로 생성이 완료 되었으면 Test( )를 실행해 본다. Click 다음과 같이 Search Help가 정상적으로 적용됨을 확인 할 수 있다.
76
Function 작성자 : 이 재 학
77
1. Function Module & Function Group
Function Module 이란 Function Group 내에서 정의된 Procedure를 말하며, 특정 Parameter를 입력 받아 원하는 결과 값을 반환해주는 일련의 작업을 의미한다. 여기서 Function Group은 비슷한 성격의 Function module을 통합 관리하기 위하여 제공되는 Container와 같은 역할을 수행하며 개발자는 Function Module과 Function Group 을 Function Builder에서 모두 생성할 수 있다. 또한 SAP 에서는 많은 Standard Function Module을 제공하며 있으며, 프로그램에서 해당 Function Module 을 호출하여 사용할 수 있다. Function Group 내에 정의되는 procedure이다. Function Builder에서 생성하고, 프로그램에서 호출(Call)하여 사용된다. Import, Export Parameter 를 정의할 수 있으며, 그 Parameter의 기본 값을 지정할 수 있다. 또한, Exception Handling을 제공하여 Function Module이 실행되는 동안 특정 에러에 대한 처리를 제공한다. Function Group Function Group 이란 성격이 비슷한 Function Module들을 통합 관리하기 위한 Container와 같은 것으로 INCLUDE Program TOP, UXX, F<XX>로 크게 3가지로 구분할 수 있다. INCLUDE L<fgrg>TOP – Module Pool 과 Report Program에서 본 Top Include와 동일한 성격을 가진다. Global 변수로 선언하게 되며 Function Group에 속한 각각의 Function Module에서 사용이 가능하다. 여기에 선언되어 있지 않으면 변수들은 해당 Function Module의 Local 변수일 뿐이며, 다른 Function Module 에서는 사용이 불가능 하다. INCLUDE L<fgrp>UXX – Function Group에 속한 Function Module들의 List가 저장된 곳이다. 각각의 Function Module들이 Include 형식으로 List Up되어 있는데 더블 클릭하면 실제 Function Module의 소스 코드로 넘어간다. INCLUDE L<fgrp> F<XX> - Function Module 에서 생성된 Subroutine이 저장된 Include program이다. 첫번째 생성된 것부터 F01, F02 식으로 등록되며 이렇게 Include 형식으로 저장된 Subroutine은 Function Group 내에 존재하는 Function Module들이 자유롭게 Call하여 사용 가능하다. U<XX> - Function Module 자체도 하나의 Include로 등록된다. 생성 순서대로 U01, U02 식으로 등록된다. UXX Include로 들어가 List Up되어 있는 Function Module을 선택하는 것과 바로 U01 Include를 선택하는 것의 효과는 같다.
78
2. Create Function Group Function Group의 신규 생성은 통상 Object Navigator (T-Code : SE80)에서 진행된다. Function Group을 선택하고 생성할 Function Group의 이름을 입력하고 Enter를 누른다. 해당 그룹을 생성할 것인지 물어오면 Yes를 클릭한다.
79
Function Group에 대한 간단한 설명 입력.
2. Create Function Group Function Group을 생성하겠다는 메시지를 확인 후 해당 Function Group의 Short Text를 작성해 주고, 이후 Save버튼을 클릭하면 Function Group이 생성된다. Function Group에 대한 간단한 설명 입력. Click Package 선택과 Request No. 까지 생성을 마치면 Active해준다.
80
2. Create Function Module
Function Module을 생성하는 방법에는 T-CODE : SE80과 T-CODE : SE37에서 생성하는 2가지 방법이 있다. Create Function Module In SE80 마우스 오른쪽 버튼을 클릭하여 Create-Function Module을 선택. Function Module 명 입력. 간략한 설명을 적어준다. 저장.
81
2. Create Function Module
Create Function Module In SE37 Function Module 명을 입력한다. Click Create 버튼을 클릭하면 SE80 에서와 동일한 창이 나오고 모두 입력한 후 Save버튼을 누른다. Function Module 명 입력. 간략한 설명을 적어준다. 저장.
82
2. Create Function Module
Attributes Tab. Attribute Tab은 function Module에 대한 Information Tab이다. 해당 Function Module이 속해있는 Func- tion Group과 Function Module의 속성, 생성일, 생성인, Package등을 제공함으로써 해당 Function-Module 의 속성을 표시하고 있는 것이다. Processing Type Name Function Module – 일반적으로 사용하게 되는 Function 형태, 즉 기본형태를 말한다. Remote-enable Module – RFC(Remote Function Call)를 위한 형태로 Internet이나 타기종에서 SAP의 데이터 를 컨트롤해야 할 때 사용하게 된다. General Data Bank Edit Lock – 생성인 외에 다른 사람은 편집하지 못하게 할 때 클릭해 준다. Global – Function 내의 변수를 해당 Function Group의 Global 변수로 선언할 때 체크 해 준다.
83
2. Create Function Module
Import Tab. Import 라는 이름 그대로 받아들이는 변수. 해당 Function Module을 호출한 외부 Program에서 이 Parameter 에 처리하고자 하는 값을 담아서 Function Module로 넘겨주게 된다. Default Value – parameter에 기본값을 미리 설정할 때 입력한다. Optional – 체크하면 Parameter값을 입력하지 않아도 되지만, 체크하지 않는다면 반드시 값을 입력 해주어야 하며 입력하지 않으면 에러가 발생한다. Pass Value – 이 매개변수에 대해 변경을 허용할 것인지 아닌지에 대한 선택을 가능하게 한다. 즉 해당 Field를 체크해주면, 입력 받은 import Parameter의 값을 변경할 수 있게 된다. 또한 Pass Value는 변수값의 변경뿐만 아니라 function 외부에 있는 변수값을 참조할 때도 사용한다.
84
2. Create Function Module
Export Tab. Export는 Function Module의 실행 결과 값을 받아 Function Module을 호출한 프로그램에 결과값 을 전송해주는 변수를 지정해주는데, 입력 Parameter가 아닌 출력 Parameter라는 점을 제외하고는 Import Parameter와 거의 동일하다. Import Parameter와 Export Parameter 개발자가 원하는 Function Module을 사용하기 위하여, 해당 Function Module이 요구하는 Input Parameter가 Import Parameter이며, Optional 이 Uncheck인 경우 반드시 입력해야 한다. Import Parameter를 가지고, Process Logic을 처리한 결과 값을 해당 Function Module을 호출한 Program으로 반환해주는 Parameter가 Export Parameter이다. Import, Export parameter 모두 한번에 하나의 값만을 전송할 수 있으며, 만약 배열 형태의 값을 전송하려 한다면, 추후 나오는 Tables Parameter를 이용하여야 한다.
85
2. Create Function Module
Changing Tab. Changing Parameter는 Import 와 Export Parameter의 역할을 동시에 처리하는 속성을 가진다. 동시에 Import, Export Parameter에 pass value 가 있는 상태처럼, Original Value를 변경할 수 있는데 changing parameter의 Original Value는 Function Module을 호출한 프로그램에서 전송해준 값이지만, Function Module의 Logic에 따라 재구성된 Value를 다시 Function Module을 호출한 프로그램으로 돌려주는 역할을 수행한다. Tables Tab. Function Module이 입력받아 처리해야 할 값이 단일값이 아닌 복수값일 경우 Import parameter로는 한번에 받아올 수가 없다. 이때 주로 사용하는 것이 Table인데, Table Parameter는 Import, Export가 동시에 가능한 Internal Table로서 ABAP Dictionary에 정의 되어 있는 Structure를 가져와서 참조하여 사용하게 된다. Exceptions Tab. Exception은 예외 처리라고 표현하는 것이 제일 정확할 것이다. 즉, Function Module의 실행 중에 오류가 발생하거나 Logic의 흐름대로 되지 않은 상황이 발생하면 그 오류를 Function Module의 외부로 전달하여 주는 부분이다.
86
2. Create Function Module
Source Code Tab. 앞에서 설명한 각 Parameter들을 실질적으로 처리하는 Logic이 있는 부분이 바로 Source Code이다. Source Code Tab에서는 모든 부분들을 통제하고 Program Source를 작성해야 하기 때문에 Function Module의 핵심부분이라 할 수 있다. Source Code는 ‘FUNCTION’ 과 ‘ENDFUNCTION’ 문 간에서 발생하며, Interface Parameter 및 Exception의 정의 사항이 Comment처리되어 있다.
87
3. Call Function Module In Program
Program 내에서의 Function Module 사용 방법. Edit의 Pattern을 클릭하거나 Application Toolbar에서 Pattern을 클릭한다. 호출할 Function명을 입력하고 Continue 버튼을 클릭한다.
88
3. Call Function Module In Program
Program 내에서의 Function Module 사용 방법. 프로그램 내에 Function이 불려온 것을 확인할 수 있다.
89
BDC Program 작성자 : 이 재 학
90
BDC Program 시스템을 운영하다 보면 대량의 데이터를 제어하거나 Standard Table의 데이터에 관여해야 할
필요가 생긴다. 이에 SAP는 직접 Table의 Data를 변경하기 보다는 데이터를 기반으로 Business Process를 Transaction 형태로 발생하도록 설계되어있다. BDC는 Batch Data Communication의 약자로, Standard Process를 대량으로 처리하여 많은 Master성 데이터를 생성/변경/삭제할 때 필요한 Programming이라고 할 수 있다. 이는 현장에서 기초 Data 생성이나 변경과 같은 작업에서 자주 사용되는 기술이라고 할 수 있다. Transaction Recording. System이 어떤 화면의 어떤 필드에 값을 넣어야 할지 알기 위해 하나의 Sample을 생성하여 System이 과정을 수행할 수 있도록 한다. 여기서 말하는 Sample이 바로 Recording이다. 입력 절차와 요소들을 Code화, 즉 어떤 화면이 나오고 그때 어떤 필드에 값을 입력해야 하는지를 Code화 한다. System Menu에서 Services-Batch Input-Recorder를 선택하거나 T-CODE : SM35를 입력한다.
91
BDC Program New recording을 클릭하여 새로운 recoding을 생성한다.
MM01 실행할 Transaction을 입력한다. 모두 입력한 후 Start Recording을 클릭하여 Recording을 시작한다.
92
BDC Program 이 후 실제 T-CODE:MM01 의 사용자 등록 과정과 동일하게 진행하고 마지막에 저장 버튼을 클릭한다. Recording 완료. T-CODE : MM01에 대한 Recording을 수행했다. SAPLMGMM 프로그램의 0060번 화면. 스크린을 떠나기 전에 커서의 위치 값과 OKCODE, 입력한 Field명과 내용이 저장되어 있다.
93
BDC Program 프로그램 내의 Recording 적용 예.
Similar presentations