메뉴 건너뛰기

SAP 한국 커뮤니티



ABAP [Dictionary] Database Object

문바이 2011.10.06 20:32 조회 수 : 19746 추천:1

ABAP Dictionary를 이해하기 전에.

Oracle 이든 MS-SQL 이든 어떠한 DB 1개정도는 컨트롤 하신 경험이 있으시면 보다 쉽게 이해할수 있습니다.

이 정리표는 사용자 Interface화면을 기준으로 작성되었기 때문에 그냥 읽기보다는 실제 화면을 펼쳐놓고 읽으시면 도움이 됩니다

 

Database Object : ABAP Dictionary의 5개의 큰 분류중 가장 중요한 부분입니다

  뭐 그렇다고 안중요한 부분도 없지만, 실질적으로 DB상에 Data의 저장을 결정짓는 부분이라 특히 중요합니다.

  결론은, 테이블(Table) / 뷰(View)를 어떻게 관리하고 정의할지를 결정하는 부분입니다.

 

(잘못된 정보는 리플좀 달아주십시오. 감사합니다.) 

중요한 부분은 밑줄이나 색갈을 칠해드리고 있는데 여기에서 어느 하나 중요하지 않은 부분이 없군요.

Table
[메인화면]

Table은
4속성으로

구성되어있다

 

 

Table에
[탐색도움말]
을 장착한

후에
코딩에서

참조할경우

약간의

Delay

시간이

필요하므로

너무

서두루지

말자

Table Field
[탭,버튼]

Field들을

의미한다

Attribute[Type,Length,etc]

[Data element][Built-in Type]으로 지정할 수 있다.

Reference Field/Table

수량[QUAN],통화[CURR]는그 수치와 단위가 같이 움직여야 함
이 때 [참조필드]로 그 짝을 지정하여 사용한다
DATA[CURR] -> 통화[CURK]  와 짝을 이룬다
   CURR을 항상 CURK를 필요로 하지만,

   CURK는 단독으로 사용이 가능하다

   Write s_101-val1 To l_vall  Left-Justified Currency 'KRW'

Include Structure

구조체를 이용하여 필드선언을 보다쉽게 한다.
Depth(9까지 허용) , 여러개의 Inculde의 사용이 가능

Append Structure

1개의 Table에 만 사용할수 있는 전용 구조체
표준Table에추가목적으로사용된다/SAP Upgrade시 영향無
[구조추가]버튼을 사용하며

  그자리에 필드를 추가하면서 구성하게 된다.

Foreign Key
[버튼]

 

ABAP Dic

에관계가
저장되어

DB에서

직접조회를

할 경우

확인할수

없다

 

화면점검

_점검요청
을 체크한

경우메인

Table의

Field항목의

Search Help

Field가
H_체크테이블

으로

변경되어

체크테이블이

검색도움말

역할을

하게된다

foreign key table(dependent table)
     foreign key 

[마스터 테이블]을 말하며 필드중에 [외래키]를 가지고 있다
[마스터 테이블]의 [외래키]필드를 말한다

check table(referenced table)
     check field
     generic foreign key


     constant foreign key

 

외래키[마스터 테이블]을 말한다.
외래키[마스터 테이블]의Primary키중 참조될필드를 말한다
외래키[마스터 테이블]의Primary키중 참조될필요가없는항목
  일반화[generic]하여 검색조건에서 제거하고자 하는 필드
외래키 [마스터 테이블]의Primary키중 항상 값이일정

  constant들어가서 조건을 형성하고자 하는 필드를 말함

Automatic Input Check

[From Dict]를 설정하면 외래키 저장시 자동으로 유효성검사를한다

foreign key field type
       Not Specified
       Non-key-fields/candidates

       Key fields/candidates

       Key fields of a text table

foreign table과 check table과의 관계를 지정한다
1) 지정하지 않음 : 아무것도 지정하지 않는다
2) 키필드이외/후보자 : [외래키]는[기본키]가아니며Unique하지않다
3) 키필드/후보자: [외래키]는[기본키]이거나,Unique해야 한다
4) 텍스트테이블의 키필드: 자재코드+[로그인언어]등의 관계를가질때

Cardinality(n:m/check:foreign)
       1:1  
          1:C  
       1:N  
          1:CN  
       C:1  

          C:C  
       C:N  

          C:CN  

외래키 설정시 테이블과의 관계정의를 말한다.
체크테이블의 100%내용이 외래키에 100% 적용되야 한다
  오라클에서 말하는 관계 1:1의 관계.
체크테이블의 100%내용이 외래키에 100% 적용된다.[중복]
  오라클에서 말하는 관계 1:N의 관계
체크테이블의100%내용이 외래키에 100% 적용되거나,Null이거나
  오라클에서 말하는 관계 1:1의 관계. [Null허용]
체크테이블의100%내용이외래키에100%적용되거나[중복]Null이거나
   오라클에서 말하는 관계 1:N의 관계. [Null허용]

Technical

setting
[버튼]


테이블의

크기,

버퍼링,

Log

관리등의

내용을

셋팅

하는것

Logical

Storage

parameters

 

TableSpace

Data  Class

   Master

   Transaction

   Organization

   System

 

변경이 잦지 않은 데이타  공통코드등
변경이 잦은 데이타[일반데이타]    일반 실적데이타들
시스템 설정 후 거의 변경되지 않는데이타    국가코드 등
시스템 자체가 필요로 하는 데이타.

Size Category

테이블에 생성될 Record의 수를 예상 정의한다.

Buffering


입출력이

많은경우
버퍼설정은

DB IO를

증가시킨다

Buffering not allowed 

[트랜잭션많음] 비동기,Application Server의 데이타를 조회

Buffering allowed

but switched off 

[SAP Standard Table]의[site]특성을고려하여설정/해제를 선택
Read 많음, Update 극히일부

Buffering

switched on 

Read 많음, Update 없음  비동기, 버퍼설정을 통해 움직임

   Single

한번에 한개의 데이타만 읽어서 버퍼에 저장한다.

   Generic Area

한번에 여러개의 데이타를 읽어서 버퍼에 저장한다.
Generic의 수는 외래키의 Generic 설정과 유사하다.
해당테이블의 모든 Primary Key중

    Generic을 몇 개를 설정할것인지를 설정함

   Fully

해당 테이블의 모든 내역을 버퍼에 저장한다. 

Log Data changes

모든내역을Log로기록한다[로그]기록에 의한 속도저하 예상됨

Index

[버튼]

속도개선

을위해

Primary Index

PK가 설정되면 해당 키값은 자동으로 Index를 가지게 된다.

Secondary Index

사용자가 임으로 추가를 하며, 신중하게 추가해야 한다
분포도가 좋지못할경우Table Full Scan보다 좋지 못할수 있다
SM66->ST04를 통한Query계획을확인해보는 습관은 좋은습관이다

View
[메인화면]

 

View를

만들때
Oracle용

View를

만든다는

생각으로

접근하면

쉽게만들수

있다

Database View 

 [ABAP 코딩에서 select가능

 Oracle View와 transparent됨]

테이블 N개로 구성된 View.
(N >= 2 : ReadOnly, N = 1: Update가능)
Oracle View개념임. (여러정보를 하나로 조회)

[Inner Join]

Projection View

 [ABAP 코딩가능 select가능 

 Oracle View와 transparent됨]

테이블 1개로 구성된 View.
(상시 : ReadOnly)
Oracle View개념임. (정보보안 유지)

테이블이 1개이므로
Join자체가 필요없다

Help View

[ABAP 코딩불가능 

Table 의 Help View항목에서 선택가능]

테이블 N개로 구성된 View.
(N >=1 : ReadOnly)
ABAP Dic 전용 View개념임(F4 Possible Entry용)
[Search Help],[Selection Method]에서만 사용

테이블 1개로 구성시
Join필요없음.
테이블 N개로 구성시
[Outer Join]

Maintenance View

[ABAP 코딩불가능 

 DB의 일괄갱신때 사용가능]
작성화면->메뉴->유틸리티->

테이블유지보수생성기(SM30)->

설정세팅[작성]
을 통해 작성을 해야.

해당 Data를 수정할 수 있다.
테이블유지보수생성기

확장(SM54)를 통해 권한

이벤트의 제약조건을 설정할수있다

테이블 N개로 구성된 View.
(N >= 2 : Update전용)
ABAP Dic 전용 View개념임(일괄갱신을 목적으로함)
데이타를 일괄조회/변경/생성할 때 사용한다.

[Outer Join]