33
문문문 : SAP ABAP 문문문문 문문문문 : V-Project 문문문 -200212-1 문문문 : 2002.11 문문문문 : v1_r1_m1 V-Project 지지지 SAP ABAP 1 SAP ABAP 1 지지 지지 지지 지지 2003. 1

ABAP 1주차 교육

  • Upload
    munhs72

  • View
    286

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

V-Project 지원팀

SAP ABAP 1SAP ABAP 1 주차 교육주차 교육

2003. 1

Page 2: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1. System Architecture1. System Architecture

Page 3: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1.1.1 System Kernel1 System Kernel

1. R/3 system 의 특징 R3 System is a client system.

Logon 한 client 의 data 만 access 가능 . A Client is an independent unit in the R/3system.

각 client 는 자신의 데이터를 갖고 있다 User master record 는 client 에 대해 dependent 하다 . Program 과 table 등은 client 에 대해 independent -> repository object 에 저장되기 때문 . DB table 마다 MANDT 필드가 있고 그 필드에 client 번호가 저장되어 있다 .

TIP : t-code 및 node 찾기 1) T-code 입력 : /n search_sap_menu 2) 찾을 t-code 나 keyword 를 아래 처럼 입력

3) 결과 화면

Page 4: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1.1 System Kernel1.1 System Kernel

Dispatcher : 비어있는 work process 에 할당하는 기능• work process 를 통해 load 되는 트랜젝션의 분산• presentation level 의 interfacing

Dialog Step Dataflow• SAPGUI : 사용자가 화면에서 질의하고 응답받은 것을 자신의 포멧으로

바꾸고 dispatcher 에 전달한다 .• Dispatcher : SAPGUI 와 work process 간의 정보 교환을 관리하여 모든

사용자가 적은 work process 들을 공유한다 .• Processing 이 끝나면 dispatcher 는 work process 의 결과들을 SAPGUI

에 돌려준다 .

Presentation

SAPGUI SAPGUISAPGUI

Application

Database

Buffer

Communication

WorkProcess

WorkProcess

WorkProcess

Dispatcher

Page 5: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1.1 System Kernel1.1 System Kernel

R/3 Database Interface• R/3 database interface 는 syntax 를 검사 . • SAP buffer 들에 optimum utilization 을 공급한

다 . ( 각 application server 의 shared memory 에 지역적으로 위치 )

• buffer 에 저장된 data 는 application 들에 의해 사용됨 .

• ABAP/4 application 은 또한 EXEC-SQL instruction 을 사용하여 database 에 직접 접근할 수 있다 . ABAP/4-OpenSQL 대신에 R/3 database interface 는 다른 DBMS 들을 지원한다 .

• R/3 Database Interface 주로 Open SQL 사용 <-> Native SQL Open SQL 은 버퍼링하기 때문에 처리속도가

빠름

Page 6: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1.1 System Kernel1.1 System Kernel

R/3 Instance(Central System)• Instance 란 하나 또는 그 이상의 services 를 제공하는 R/3 System 의 components 를 묶어

놓은 administrative unit 이다 . 이 services 는 동시에 시작하고 끝나게 되며 , 어떤 instance 에 속한 components 는 common instance profile 에서 parameters 로서 specified 되어진다 .

• Central R/3 system 은 모든 필요한 SAP services 를 포함하는 단일 instance 로 구성된다 .

• 각각의 instance 는 자신의 SAP buffer area 를 가진다 .

Page 7: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

1.2 System Administration1.2 System Administration

• Background job monitor : SM37• Display application severs : SM51• Manage user sessions : SM04, AL08• Manage work processes : SM50, SM66• Administer lock entries : SM12• Administer update records : SM13, SM14• Analyze system logs : SM21• Send system messages : SM02• (Cross-system) monitoring : RZ20

이러한 정보는 TSTC table 에서 볼 수 있다 .

System Administration T-Code

Page 8: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2. ABAP Workbench 2. ABAP Workbench Concepts and ToolsConcepts and Tools

Page 9: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

1. Program Type

Type

Icon

명칭

1

= Executable Program= List Program= Report Program

M

= Module pool program

= Screen program

= (screen)Transaction program

= Online program

= Dynpro program

R/3 Repository : 모든 개발 object(program, db table 정의 , global type) 를 포함한다 .Development Class 사용 목적 : 관리용이 , transport 시키기 위해 .Repository Information System : Repository object 를 빠르게 검색할 수 있다 .(Tcode : SE84)

Page 10: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

Program Type 확인

System-status -> program double click -> Goto-Attribute

더블클릭

Page 11: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

• Object Navigator(SE80) : 모든 object 처리- 메뉴 (context menu) 선택 : 마우스 오른쪽 버튼 클릭- Navigation( 오브젝트에서 더블클릭 ) : 관련 툴바를 보이게 하고 , 해당 되는 곳으로 이동-Forward Navigation : 오브젝트가 없을 경우 더블클릭하여 생성하는 것

ABAP Editor(SE38) : program 코드 작성 / 수정• ABAP Dictionary(SE11) : table 처리• Menu Painter(SE41) : 메뉴바 , 표준툴바 , application 툴바 , 기능키 디자인• Screen Painter(SE51) : module pool 프로그램의 screen 디자인• Function Builder(SE37) : function module 처리• Class Builder(SE24) : central classes 처리

2. ABAP Workbench Tools

Page 12: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

Debugging Function Key F5(Single step) : Statement by statement F6(Execute) : Lines by line F7(Return) : Return to the main program F8(continue) : To the stop point/, Break poin

t/Cursor/, watch point/ 로 이동

• Debugging 6 가지 방법• se38 에서 Debugging button 사용• se80 : context menu 사용 (execute – debug

ging)• stop point 사용 : 조회하면에서 사용• break point 사용 : syntax 에서 사용• command field 내에서 /h 걸기 : screen

에서 처리 , 스탠다드 주로 사용• command field 내에서 /hs 걸기 : selectio

n screen 에서 처리 * se38, se80 에서 /h 사용하면 안됨 :

자신을 멈춤

3. Debugging

Page 13: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

프로그램은 individual statement 로 구성 각 statement 는 마침표 (.) 로 끝남 문장의 첫 단어는 keyword 로 시작 전체 주석 : 맨 앞에 (*) 뒤에 기재 문장 주석 : statement 끝에 (”) 뒤에 기재 chained statement : (,) 표기 줄 바꾸기 : WRIGHT: 뒤에 (/) 표기 들여쓰기와 keyword 대문자 변경 설정 : Pretty Printer 옵션 선택

4. General ABAP Syntax

Page 14: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.1 Introduction to the ABAP Workbench2.1 Introduction to the ABAP Workbench

Documentation(help) 보기 : keyword 에서 F1 또는 클릭 프로그램 구성 : 선언부 , 추출부 , transfer 부 , 출력부 Check : Syntax 체크 Save : Repository Object 로 저장 Activate : check + Save + Compile Extended program check : more comprehensive check & activate 된 것만 가능

4. General ABAP Syntax( 계속 )

실습 1. Development class 와 Change request number 생성 ,Local development class 를 development class 로 변환

5. 알아둬야 할 System Field SY-DATUM : 날짜 SY-UZEIT : 시간 SY-UNAME : user SY-CPROG : 프로그램 SY-SUBRC : 리턴코드 (0:success, 그 외는 exception error) ( 시스템 필드 보기 : SE11 에서 SYST structure 에서 확인 )

Page 15: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

1. Types

Type is type : data passing 이 안됨 . Data passing 이 되면 data object 가 된다 .즉 , 선언 해 줄때만 사용한다 .

ABAP Dictionary Global Types (SE11 에서 작업 )Data Element(=Field type, component type)Structure (type) : data passing 이 되면 work area 가 된다 . ( 둘 이상의 field 로 구성 )Table type : data passing 이 되면 internal table 이 됨 .

Local type and Global typeSAP system 에서

Local type : 프로그램에 기술된 attributeGlobal type : ABAP Dictionary 에 있는 누구나 쓸수 있는 type.

Program 내부에서Local type : 서브루틴내에서 정의된 타입 .Global type : 전역변수로 선언된 것 .

Using Elementary Dictionary TypesData Elements 라고 불리며 , technical type, 길이 , 소수점 길이 등을 갖고 있다 .Data Element 는 Field Label, Field Documentation, Search Help 를 포함한다 .

Finding ABAP Dictionary Typesscreen fields 에서 F1 키 클릭 -> Technical info. 클릭 -> data element 를 더블클릭se84 에서 search.

Page 16: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

2. Standard Type 종류

Local types in programs C : Character N : Number Text D : Date(YYYYMMDD) T : Time(HHMMSS) X : Byte I : Integer P : Packed Number F : Floating Point Number STRING : Character String XSTRING : String of Bytes(X String)

C, N, P 는 자릿수 선언 가능 .I, P, F 는 numeric. 그 외는 alpha numeric 이다 .

Page 17: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

3. Data Object 의 종류

Data Element Structure

Table type

A

BA

BA

BA

BA

Data element 정의 DATA : <varname> TYPE <user-defined-type> DATA : <varname> TYPE <ABAP-dictionary-type> DATA : <varname> LIKE <data-object>.

<varname> 은 최대 30 자 까지 , ( ) + . , : 등은 이름으로 사용 못함 . Default 는 C type, 1 length 이다 . DATA : PACK TYPE P DECIMALS 3 VALUE '-123.23'. "소수점은 ' '로 묶고 , 초기값은 value 로 정의 .

4. Data Elements

Page 18: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

Changing Variables Move var1 TO var2 var2 = var1 ADD 1 TO I I = I + 1 Clear: counter => field reset COMPUTE => 계산식 ( 생략가능 ) CASE … WHEN … ENDCASE => 하나의 값으로 비교 수행 (data object 만 가능 ) IF … ENDIF => 조건식으로 비교 수행 (logical expression 가능 )

CASE <data object1>.WHEN <data object2>.

…WHEN <data object4> OR <data

object5>.…

WHEN OTHERS.…

ENDCASE.

IF <logical expression>.…

ElSEIF <logical expression>.…

ElSEIF <logical expression>.…

ELSE.…

ENDIF.

Page 19: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

5. Structures

정의 DATA <name> TYPE <structure_type>. TABLES <ABAP-Dictionary-Structure>.

ex) DATA : SDYN_CONN TYPE SDYN_CONN TABLES : SDYN_CONN. ( 가능하면 이 문장을 이용한다 .)

* Open SQL 을 사용하지 않으면 database 단의 data 핸들 못 한다 .

•Assigning values field for field

• MOVE-CORRESPONDING <rec1> TO <rec2>.

• rec1, rec2 는 structure type 을 가져야 한다 .

• 순서는 상관없이 일치하는 field 명에 대해서만 대입한다 .

• MOVE A TO B : 무조건 순서대로 대입

Page 20: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

6. Internal Tables

정의 : Data 를 쌓아 놓게 해 놓은 내부 테이블 . Run time 시만 존재 .

• Internal Table 종류

실습 2. Table Type 만들기

종류Access

With index

Access

With Key

Unique/Non Unique key

Access

UsingStandard tables

Sorted tables

Hashed tables

Non Unique

Unique / non-unique

Unique

Mainly Index

Mainly Keys

Keys Only

Page 21: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

6. Internal Tables

정의 : Data 를 쌓아 놓게 해 놓은 내부 테이블 . Run time 시만 존재 .• internal table 에서 Single record 다루는 법

•APPEND <wa> TO <it>.•INSERT <wa> INTO <it> <condition>.•READ TABLE <it> INTO <wa> <condition>.•MODIFY TABLE <it> <cond>.•DELETE <it> <cond>.

• Internal table 에서 multiple record 읽는 법 .• Loop 이용 : IT 를 바로 출력할 수 없고 WA 를 사용해야 함

LOOP AT IT INTO WA.WRITE:/ WA-CARRID, WA-CONNID.

ENDLOOP.

• Index 를 이용READ TABLE IT INTO WA INDEX 3. “3 번째 레코드를 읽음WRITE:/ WA-CARRID, WA-CONNID.

• Key 를 이용READ TABLE IT INTO WA.WITH TABLE KEY CARRID = ‘LH’.IF SY-SUBRC = 0. “ 0 – SUCCESSFUL, 기타 - EXCEPTION

WRITE:/ WA-CARRID, WA-CONNID.ENDIF.

Page 22: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

6. Internal Tables

Header line 을 가지는 internal table.

사용예 )APPEND <itab>.LOOP AT <itab>.

* SAP 에서는 header line 이 없는 internal table 을 쓸 것을 recommend 한다 .

DATA : <itab> TYPE <itabtype> [WITH HEADER LINE].

7. ABAP Statement Attribute

Message 쓰는 법SE91 (Message Class 생성 )ID(number) 관리Program 내에서 사용

MESSAGE (ZXXX) with OO.

Page 23: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.2 ABAP Statements and Data Declarations2.2 ABAP Statements and Data Declarations

7. ABAP Statement Attribute

Message 쓰는 법 SE91 (Message Class 생성 ) ID(number) 관리 Program 내에서 사용

(A, X 는 roll-back 에서 쓰임 ) A : termination X : short dump E : error W : warning I : information S : success

: Message ID(000~999) (ZXXX) : message class 메세지 변수는 4 개 까지만 사용 .

MESSAGE (ZXXX) with OO.

실습 3. Message 작성

Page 24: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.3 Database Dialog I2.3 Database Dialog I

Reading Database Tables

1) Select 문

2) Open sql 문장은 database interface 에 의해 database-specific 한 SQL 문으로 변경된다 .

3) Single Record 처리

• Select single * 문장의 경우 where 절에 key field 가 모두 쓰여졌을 경우 , 즉 unique entry 의 경우 사용 .

• ENDSELECT 사용 안함 .

• Work area 에 넣기 위해서는 INTO절 사용 .

• CORRESPONDING FIELDS OF : into 다음에 사용 . 구조가 틀리더라도 이름이 같은 field 와 매칭시켜 넣어줌 .

• SELECT single 이 SELECT 보다 퍼포먼스가 좋다 .

SELECT <result> FROM <table> INTO <destination> WHERE <condition>.…ENDSELECT.

Page 25: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.3 Database Dialog I2.3 Database Dialog I

4) Array Fetch

• INTO TABLE <itab> : internal table <itab> 으로 곧 바로 insert 함 .

• ENDSELECT 가 필요 없다 .

• 가장 퍼포먼스가 좋다 .

5) Reading multiple database tables

1) Methods of global classes

2) Methods of business object

3) Function group

4) Logical DB

SELECT <field1>, <field2> FROM <table> INTO TABLE <itab> WHERE <condition>.

실습 4. Single record ,select loop, Array fetchAuthority-check 사용법

Page 26: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.4 Internal Program Modularization2.4 Internal Program Modularization

1) Processing block 은 ABAP 에서 가장 작은 단위이다 .

종류

• Event blocks

• Subroutine

• Modules

2) Event block 과 selection screen

• 필드 길이 : PARAMETERS 는 8, DATA 는 30 자리까지 가능

PARAMETERS: pa_date LIKE sy-datum “ 시스템 필드와 Data object 는 LIKE 를 사용

DEFAULT sy-datum. " 초기값을 줄 때 사용

INITIALIZATION. "selection screen 나오기 전 변수값 변경하기 위해 사용 .

pa_date = pa_date - 7.

START-OF-SELECTION.

WRITE:/ pa_date.

ABAP event blocks

Event Block

Event Block

Page 27: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.4 Internal Program Modularization2.4 Internal Program Modularization

3) ABAP runtime 실행 순서

a) INITIALIZATION 을 부른다 .

b) Presentation server 로 selection screen 을 보낸다 .

c) START-OF-SELECTION 을 call 한다 .

d) Write, skip, uline 과 같은 문장이 있으면 START-OF-SELECTION 은 list buffer 를 채우게 된다 .

e) List buffer 의 내용이 순서로 화면에 보내짐 .

Event block 의 순서는 ABAP runtime 이 제어 .

Default event block : START-OF-SELECTION.

4) Subroutine interface

Interface parameters it accesses(read-only) : USING 뒤에 사용

Interface parameters it changes : CHANGING 뒤에 사용

PERFORM <subroutine name> USING a1 CHANGING a2 a3.

FORM <subroutine name> USING value(fv1) value(fv2) fr3.

Page 28: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.4 Internal Program Modularization2.4 Internal Program Modularization

3) 파라미터 call 하는 방법

a) Perform 문에서 선언한 변수들은 1 대 1 로 FORM 문에 매칭된다 .

b) Calling by reference

• Actual parameter 의 address 가 call 됨 .

• Variable 이 formal parameter 이름을 사용하여 address 됨 .

• 변경된 값이 global variable 에 즉각 반영됨 .

• Using 이나 changing 뒤에 value 가 없을 경우 .

c) Calling by value

• actual parameter 값이 formal parameter 값으로 복사되고 , actual parameter 값은 변하지 않음 .

• Form 에서 using뒤에 value 가 올 경우 .

d) Calling by value and by result

• actual parameter 값이 formal parameter 값으로 복사되고 , ENDFORM 을 만날 때 formal parameter 값이 actual parameter 값으로 돌려줌 .

• Changing뒤에 value 가 올 경우 .

실습 5. Subroutine 예제

Page 29: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.5 User Dialog : Lists2.5 User Dialog : Lists

1) Text symbol 을 사용하면 여러 언어로 표시 가능하며 반복되는 text도 입력이 가능 .

TEXT-<xxx>

‘<text>’(<xxx>)

2) Basic list -> Detail list 보는 3 가지 방법

Line 에 위치 후 double-clicking

Line 에 위치 후 F2 키

Line 에 위치 후 ‘ PICK’ 버튼

실습 6. List 프로그램 예제

Page 30: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.6 User Dialog : Selection Screens2.6 User Dialog : Selection Screens

Entering selection

범위 지정 : 녹색은 포함 , 적색은 제외

Page 31: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.6 User Dialog : Selection Screens2.6 User Dialog : Selection Screens

Select - options

SELECT-OPTIONS <name> FOR <data object>.

• name 은 헤더를 가진 internal table임 .

SELECT <field> FROM <table> INTO <wa> WHERE <field> IN <name>

-> Select-options 를 사용하면 IN 을 사용

• Internal Table 구조

- sign : 포함 또는 배제 코드 (예 . I / E)

- option : 연산자 (예 . GE, LE, NE, BT 등 )

- low : 범위의 최저값 또는 단일값

-high : 범위의 최대값

Selection screen events

Selection screen 은 INITIALIZATION event block 이후에 표시

AT SELECTION-SCREEN : data type 이 맞으면 시스템이 이 screen 실행

User 가 execute 선택하면 START-OF-SELECTION 실행

실습 7. Selection screen 예제

Page 32: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.7 User Dialog : Screens2.7 User Dialog : Screens

Module pool program 사용법

1. SE80/SE51(T-CODE) 에서 프로그램명을 SAPMZxxx 로 생성 (with TOP include 체크 )

2. Include program 들을 생성

i. Include _______TOP ( 선언부 )

ii. * Include _______O01 (PBO 처리부 )

iii. * Include _______i01 (PAI 처리부 )

iv. * Include _______F01 (subroutine 처리부 )

v. * Include _______E01 (Event 처리부 )

* 된 것을 삭제하고 v 는 추가해준다 .

3. Transaction code 생성 (SE93) or other object 에서 zxxx 로 생성 .

1. Normal screen type 으로 생성 (100 번 단위 )

2. Element list 내에서 OK_CODE 입력

3. Program 의 Include ____TOP 내에서 OK_CODE 정의

Ex) DATA:OK_CODE like sy-ucomm,

SAVE_OK like OK_CODE.

* ok_code 는 user 가 누른 function code 를 저장하기 위한 변수이다 .

Screen 들을 Module pool program 에 붙이는 법

실습 8.Module pool 예제

Page 33: ABAP 1주차 교육

문서명 : SAP ABAP 전달교육 문서번호 : V-Project 지원팀 -200212-1

개정일 : 2002.11개정차수 : v1_r1_m1

2.8 Reuse components2.8 Reuse components

Reuse components 종류Object, Function Group, Business object, LDB(LogicalDatabase)

• Function group 구성 : Data objects, Subroutines, Screen• Function Module : 파라미터가 interface 에 pass 됨 . Import parameters, Export

parameters, Changing parameters, Exceptions element 로 구성• BAPIs : Business Object Repository 를 사용할 수 있게 하는 business object 의 method.• LDB : Executable program 과 결합하는 data collection program. Data 는 계층구조를 갖고

transfer 됨 . Selection screen 을 만들 수 있으며 권한체크를 할 수 있음 .

• LDB 특징 ( 확인은 SE36 에서 )• SAP 이 제공하는 특별한 data collection programs.• Database 에서 논리적으로 구성된 데이터를 읽기 위해 사용함 .• 테이블의 hierarchy 를 갖는 structure 를 갖는다 .• Performance 를 높여 준다 .• Dynamic selection screen 을 제공한다 .• 권한체크를 할 수 있음 .• 하나의 프로그램에는 하나의 LDB 를 붙일 수 있다 .• LDB 에서는 테이블을 Node 라고 한다 .• Nodes 의 기능 : 1. Work Area 의 역할 , 2. Selection screen 효과

NODES: <node> <node>.

GET GET <node> FIELDS <field> <field>.

WRITE:/ <field>, <field>, <field>.