๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง‘‍๐Ÿ’ผ SAP/ABAP

[SAP ABAP] ABAP Dictionary๋ž€? (Database Table)

by Jay Din 2023. 8. 29.
728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

ABAP Dictionary๋ž€?

ABAP ํ”„๋กœ๊ทธ๋žจ์— ์‚ฌ์šฉ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋“ค(Table, View, Structure, Types...)์„ ABAP Dictionary๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค์˜ ์ •๋ณด๋ฅผ Metadata ๋˜๋Š” Data Definition์ด๋ผ๊ณ  ์ •์˜ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ABAP Dictionary๊ฐ€ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ABAP Dictionary๋Š” ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋˜๋Š” ์˜ค๋ธŒ์ ํŠธ๋“ค์„ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค ์‹ ๊ทœ ๋˜๋Š” ๋ณ€๊ฒฝ๋œ Metadata์˜ ์ •๋ณด๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ์˜ค๋ธŒ์ ํŠธ์—๊ฒŒ ์•Œ๋ ค์ง‘๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•ด์„œ, ABAP Dictionary๋Š” ๋™์ ์œผ๋กœ ABAP Workbench์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ABAP Program๊ณผ Screen์— ๋ฐ”๋กœ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋“ค์„ ์ค‘์•™ ์ง‘์ค‘์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ Data Integrity(๋ฌด๊ฒฐ์„ฑ), Data Consistency(์ผ๊ด€์„ฑ), Data Security(์•ˆ์ •์„ฑ)๋ฅผ ๋ณด์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ABAP Dictionary๋Š” ํ†ต์ƒ์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” Database Object์ธ ํ…Œ์ด๋ธ”๋งŒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ TYPE Definition, Data base Object, ABAP Tool ์„ธ ๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

 

ABAP Dictionary ์ข…๋ฅ˜

Database Object

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” 2๊ฐ€์ง€ Object์ž…๋‹ˆ๋‹ค.

  • Table์€ ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ ๊ณต๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ”ํƒ•์„ ์ด๋ฃฌ๋‹ค.
  • View๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ Table์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฒฐํ•ฉํ•œ ๊ตฌ์กฐ๋กœ์„œ, ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Table์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ฃผ๋กœ ๋‹ด๋‹นํ•œ๋‹ค.

Type Definition

ABAP Dictionary๋Š” ์‚ฌ์šฉ์ž ์ •์˜ Type(Data Elements, Structures, Table Types)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋Š” Type์€ TYPES ๊ตฌ๋ฌธ์œผ๋กœ ์ƒ์„ฑํ•˜์ง€๋งŒ ๋ชจ๋“  ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” TYPE Object๋Š” ABAP Dictionary์—์„œ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ค‘์•™์ง‘์ค‘์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— Type Object๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3๊ฐ€์ง€์˜ ํƒ€์ž… ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • Data Element(Elementary Type๊ณผ Reference Type): ํ•„๋“œ์˜ ๋‚ด์—ญ๊ณผ ๊ฐ™์€ ์–ด์˜์ ์ธ ์ •๋ณด๋ฅผ ๊ฐ€์ง„๋‹ค. Domain์€ ํ…Œ์ด๋ธ” ํ•„๋“œ์˜ ๊ธฐ์ˆ ์  ์†์„ฑ์„ ์ •์˜ํ•˜๋Š” ์˜ค๋ธŒ์ ํŠธ์ด๋ฉฐ, ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ฐธ๊ณ ํ•˜์—ฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ๋Š” ์—†๋‹ค.
  • Structure(Structured Type): Structure๋Š” Type์„ ๊ฐ€์ง€๋Š” Component๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.
  • Table Type: ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋Šฅ์  ์†์„ฑ์„ ์ •์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ํŠน๋ณ„ํ•œ ํ˜•ํƒœ์ธ Range Table Type์ด ์กด์žฌํ•œ๋‹ค.

ABAP Tool

ABAP Dictionary Tool์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ ์ด์™ธ์— ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ํ†ต์นญํ•ฉ๋‹ˆ.

์˜ˆ๋ฅผ ๋“ค์–ด, ์Šคํฌ๋ฆฐ ํ•„๋“œ์—์„œ F4 ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ฉด Possible Entry๋กœ ์กฐํšŒ๋˜๋Š” Search Help ๋“ฑ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

728x90

 

Table

ABAP Dictionary Table๊ณผ Database Table

ํ…Œ์ด๋ธ”์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ”๊ณผ ABAP Dictionary์˜ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

T-CODE:SE11์—์„œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜์—ฌ ํ™œ์„ฑํ™”ํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋‚˜ ๋งŽ์€ ํšŒ์‚ฌ์—์„œ ORACLE์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ์Œ).

ABAP Dictionary์—์„œ ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ”์€ SAP DB UTILITY์—์„œ ๋ฒˆ์—ญํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”๋กœ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ABAP Dictionary ํ…Œ์ด๋ธ”์˜ ํ•„๋“œ ์ˆœ์„œ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด์˜ ํ•„๋“œ ์ˆœ์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

SAP๋Š” ์ผ๋ฐ˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ DBMS์— ์ง์ ‘ ๋กœ๊ทธ์ธํ•ด์„œ ํ…Œ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ , ์‹ฌ์ง€์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ถŒํ•œ๋„ ๋ถ€์—ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ABAP Dictionary์— ์กด์žฌํ•˜๋Š” Foreign Key๊ฐ€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ์ƒ์„ฑ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ Data Integrity(๋ฌด๊ฒฐ์„ฑ)๊ฐ€ ํ›ผ์†๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์ ์ธ ์˜์—ญ์€ ์•Œ์ง€ ๋ชปํ•ด๋„ ABAP ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์—๋Š” ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ABAP Dictionary๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋‹ค๊ฐ€ ์›์ธ์„ ์•Œ ์ˆ˜ ์—†๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ „๋ฌธ๊ฐ€์ธ BC ๋‹ด๋‹น์ž๋“ค์˜ ๋„์›€์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

 

ํ…Œ์ด๋ธ”์€ 2์ฐจ์›์˜ ํ–‰๋ ฌ(Matrix)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ–‰๋ ฌ์˜ ์—ด์€ ๊ฐ๊ฐ์˜ ์ด๋ฆ„๊ณผ ์†์„ฑ์ด ์žˆ์œผ๋ฉฐ ์ด๊ฒƒ์„ ํ•„๋“œ(Field) ๋˜๋Š” ์นผ๋Ÿผ(Column)์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

ํ•„๋“œ๋Š” ๊ณ ์œ ํ•œ(์ค‘๋ณต๋˜์ง€ ์•Š๋Š”) ์ด๋ฆ„๊ณผ ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜ ํ˜น์€ ๊ทธ ์ด์ƒ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ•„๋“œ๋“ค์„ Key๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด Key ํ•„๋“œ๋ฅผ ํ†ตํ•ด์„œ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋ ˆ์ฝ”๋“œ๋“ค๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Key ํ•„๋“œ ์ด์™ธ๋Š” ์ผ๋ฐ˜ ํ•„๋“œ(General Field) ๋˜๋Š” ๊ธฐ๋Šฅ ํ•„๋“œ(Functional Field)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”์˜ ํ–‰์€ ๋ผ์ธ(Line), ํŠœํ”Œ(Tuple), ๋ ˆ์ฝ”๋“œ(Record), ๋ฐ์ดํ„ฐ(Data)๋ผ๋Š” ์šฉ์–ด๋“ค๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

 

ABAP ํ…Œ์ด๋ธ”์€ ์ธ๋ฐ˜์ ์ธ ํƒ€์ž…์œผ๋กœ Transparent Table, Pooled Table, Cluster Table ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 

Pool/Cluster Table์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ Table์„ ํ•˜๋‚˜๋กœ ๊ทธ๋ฃน ์ง€์–ด๋†“์€ ABAP Dictionary Object์ž…๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ๊ธฐ๋ณต ์†์„ฑ์€ DD02L ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜๋ฉฐ, ํ…Œ์ด๋ธ” ํ•„๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” DD03L ํ…Œ์ด๋ธ”์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”์€ ์•„๋ž˜ 4๊ฐ€์ง€ ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Table Field ํ•„๋“œ ์ด๋ฆ„๊ณผ ํ•„๋“œ ์†์„ฑ์„ ๊ฐ€์ง„๋‹ค. Key ํ•„๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
Foreign Key ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๊ณผ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ๋‹ค.
Technical Setting ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ์ด ๊ฑด์ˆ˜, ๋ฒ„ํผ๋ง ์„ค์ •๊ณผ ๊ฐ™์€ ํ…Œ์ด๋ธ” ์†์„ฑ์„ ์„ค์ •ํ•œ๋‹ค.
Index ๋ฐ์ดํ„ฐ SELECT ์†๋„๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์ค€๋‹ค.
์ธ๋ฑ์Šค๋Š” ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€๋˜์–ด ์ƒ์„ฑ๋œ๋‹ค.
์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉด ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค ์ธ๋ฑ์Šค์—๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์“ฐ๊ธฐ ์†๋„๋Š” ๊ฐ์†Œํ•˜๊ณ  ์ฝ๊ธฐ ์†๋„๋Š” ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

๋ฐ˜์‘ํ˜•
728x90
๋ฐ˜์‘ํ˜•