SAP workbench
#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