이운형 2022. 6. 20. 12:57
반응형

 

#2022-06-20#

 

정리

1. ABAP 딕셔너리의 특징 

1. abap 은 sql 중심 개발이 아니다.

2. database interface 에서 sql 을 변환 = database independent

3. direct access =ABAP 에서 특정 DB SQL을 프로그래밍 내에서 사용할 수 있다.= db 커넥션이 필요 없다. 

domain은 특정 형식 type 등의 정의된 필드나 범위를 가질수 있다.

field는 data element를 가질수 있으며 data element 는 domain을 가질수 있다. (필수는 아니다. just 값의 범위를 통제하고싶을때 "validation")

값의 범위는 필수는 아니다.

 

# 기본 database 이론 정리

field ++ == > recode ++  = > table ==> database

 

Q. 동적으로 움직일수 없는 것은?

field

 

table 없이 field는 단독으로 존재할수 없다.

 

 

/**ABAP Dictionary  = ABAP Database**/

DATA Element = > 필드의 테이블의 길이와 사이즈를 정의

 

// 개인적으로 데이터 유형을 정하지 말고 DATA Element 사용하자.

Domain이 정해준다. ?

 

Data element 는 field를 필수로 갖지만 domain은 필수로 갖지 않는다.

 

domain을 할당해서 data element 값을 통제 할때 사용한다,

 

1개의 domain은 여러 data element를 상속가능하다.

 

Standard 객체=> 수정을 하지 말아야할 객체 == Entity

 

CBO 객체 ==dto

 

Z 로 시작하거나 Y로 시작하면 CBO 객체다

 

Z : 정식 cbo

Y : test or 임시용

 

/*****sap table 이론*****/

trasparent table은 db 와 1:1 관계를 갖는다.

ex) sap zc5t07001을 만들면 db에도 저장이 된다 // jpa @entity 처럼 eager loadin

 

db 테이블은 동일한 이름의 필드와 동일한 수를 가지고, 필드는 r/3 테이블의 정의와 동일한 이름을 갖는다.

table은 app data(record)를 저장하는데 사용된다,

app data(record)는 application에 의해 사용되는 master data or transaction data라고 한다.

 

CBO table은 꼭 'Z'로 시작해야 한다.

 

table 생성시에는 클라이언트 번호(mandt)가 존재한다. => 클라이언트별로 data가 들어간다.

 

 

domain 의 value table = java의 @enum

 

# @Transaction => DATA를 변경하는 모든 행위

 

 

객체는 모두다 보이지만,

DATA 는 Client Level로 존재하기 때문에

해당 Table은 관계된 DATA를 가지고 있어야한다.

 

3. mandt는 필수!

 

 

/** tcode 명령어**/  => Command 창에 입력

/n : end

/i  : 세션 제거

/nex : 활성창을 닫고 log out (다시 로그인해야한다.)

 

 


 

-만드는 방법

 

1. Commend 창에 se11을 입력한다.

 

 

2. Check box 클릭후 A 선택 + 유지보수는 허용으로!

 

 

 

# @Transaction => DATA를 변경하는 모든 행위

 

 

객체는 모두다 보이지만,

DATA 는 Client Level로 존재하기 때문에

해당 Table은 관계된 DATA를 가지고 있어야한다.

 

3. mandt는 필수!

 

 

 

SAVE 누른다면

저장버튼 클릭

 

저 버튼 클릭

+ 저장

 

CASE-SENSITVIE 는 대소문자를 구분해준다.

 

 

 

Utilites -> table content -> create entries로 필드내 값 변경

 

 

 

 

 

Setting >> UserParameter 로 필드 스펙 변경

 

 

/*****sap table 이론*****/

trasparent table은 db 와 1:1 관계를 갖는다.

ex) sap zc5t07001을 만들면 db에도 저장이 된다 // jpa @entity 처럼 eager loadin

 

db 테이블은 동일한 이름의 필드와 동일한 수를 가지고, 필드는 r/3 테이블의 정의와 동일한 이름을 갖는다.

table은 app data(record)를 저장하는데 사용된다,

app data(record)는 application에 의해 사용되는 master data or transaction data라고 한다.

 

CBO table은 꼭 'Z'로 시작해야 한다.

 

table 생성시에는 클라이언트 번호(mandt)가 존재한다. => 클라이언트별로 data가 들어간다.

 

 

domain 의 value table = java의 @enum

 

 

 

 

 

 

반응형