๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ABAP Concept (๐Ÿ“๊ฐœ๋…)/Basic

|ABAP ๊ฐœ๋…์ •๋ฆฌ| Data Type

Data Object์˜ Type์„ ๊ฒฐ์ •ํ•˜๋Š” Data Type์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•ด๋ณด๊ฒ ๋‹ค.

 

์•ž์„œ Data Object ๊ฐœ๋…์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…ํ•œ ๊ธ€์ด ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž.

๐Ÿ”—[ABAP Basic/๊ฐœ๋… ์ •๋ฆฌ] - Data Object
 

|ABAP ๊ฐœ๋…์ •๋ฆฌ| Data Object

ABAP ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ€์žฅ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” Data Object ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.  ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ˆซ์ž, ๋ฌธ์ž ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”๋ฉ”๋ชจ๋ฆฌ๋ผ๋Š” ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์ธ ์ž‘์—…

twossun.tistory.com

 

Data Type์€ Data Object์˜ ํ˜•ํƒœ ๋ฐ ์†์„ฑ์„ ๋ถ€์—ฌํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ,

Data Object๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋‚˜์˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ๋„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

๋นต์ง‘์—์„œ ์ฟ ํ‚ค๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ฐ์ข… ๋ชจ์–‘์˜ ํ‹€๋กœ ์ฐ์–ด์„œ ํ† ๋ผ, ๋ณ„, ๋‹ฌ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ,

๊ทธ ์ฐ์–ด๋‚ด๋Š” ํ‹€์„ Data Type์œผ๋กœ, ์ฐํ˜€์„œ ๋‚˜์˜จ ์ฟ ํ‚ค๋ฅผ Data Objcet๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์ด๋Ÿฌํ•œ ํ…œํ”Œ๋ฆฟ( Data Type )์€ ABAP์—์„œ ์‚ฌ์ „์— ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ๊ธฐ๋„ ํ•˜๊ณ , 

์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ง์ ‘ ์ •์˜๋ฅผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 

๋˜ํ•œ Data Object๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹น๋˜๋Š” ์กด์žฌ์ง€๋งŒ Data Type์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

Data Type์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

 

  • ABAP Predefined Type ( ๊ธฐ๋ณธ Type )
  • ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ์ •์˜ํ•œ Type 
  • ABAP Dictionary์—์„œ ์ •์˜๋œ Type 

์ด 3๊ฐ€์ง€ Type์€ Data Object ์„ ์–ธ ์‹œ 'TYPE' ๊ตฌ๋ฌธ ๋’ค์— ์‚ฌ์šฉ๋˜์–ด์ง„๋‹ค.  

DATA  Data Object Name   TYPE  Data Type. 

 1.  ABAP Predefined Type (Built-in Type) 

ABAP ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋„ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ Type์œผ๋กœ

๋ฌธ์žํ˜•, ์ •์ˆ˜ํ˜• ๋“ฑ์„ ์ •์˜ํ•˜๋ฉฐ, Type์— ๋”ฐ๋ผ ๊ธธ์ด๊ฐ€ ๊ณ ์ •์ธ ๊ฒƒ๋„ ์žˆ๊ณ  ๊ฐ€๋ณ€์ธ ๊ฒƒ๋„ ์žˆ๋‹ค. 

ํ•„๋“œ ํƒ€์ž…( ๋ณ€์ˆ˜ )๊ณผ ๊ฐ™์€ Single Value ํ˜•ํƒœ๋ฅผ ๊ฐ–๋Š” Data Object ์„ ์–ธ ์‹œ์— ์‚ฌ์šฉ๋œ๋‹ค. 

 

ABAP ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” Predefined Type. 

ํ˜•ํƒœ ๊ธธ์ด ํƒ€์ž… ์„ค๋ช…
๋ฌธ์ž   ๊ณ ์ • (๊ธธ์ด ์ง€์ • ๊ฐ€๋Šฅ)   C   ์ˆ˜๋ฅผ ํฌํ•จํ•œ ๋ฌธ์ž ํƒ€์ž…์œผ๋กœ Alphanumeric ํƒ€์ž…
  ๊ณ ์ • (๊ธธ์ด ์ง€์ • ๊ฐ€๋Šฅ)   N   ์ˆ˜๋ฅผ ๋ฌธ์žํƒ€์ž…์œผ๋กœ ํ‘œํ˜„ํ•œ ํ˜•ํƒœ. 
  ๊ณ ์ •   D   ๋‚ ์งœ ํƒ€์ž…. *์„ธํŒ… ํฌ๋งท์— ๋งž๋Š” 8์ž๋ฆฌ (๊ธฐ๋ณธ YYYYMMDD)
  ๊ณ ์ •   T   ์‹œ๊ฐ„ ํƒ€์ž….  *์„ธํŒ… ํฌ๋งท์— ๋งž๋Š” 6์ž๋ฆฌ (๊ธฐ๋ณธ HHMMSS) 
  ๊ฐ€๋ณ€   STRING   ๊ธธ์ด ์ œํ•œ์ด ์—†๋Š” ๋ฌธ์žํ˜• ํƒ€์ž… 
์ˆซ์ž
  ๊ณ ์ •   I   ์ •์ˆ˜ํ˜• ํƒ€์ž… 
  ๊ณ ์ • ( ์†Œ์ˆ˜์  ๊ธธ์ด์ง€์ •)   P   Packed number. ์ •์ˆ˜์™€ ์†Œ์ˆ˜์ ์„ ํฌํ•จํ•œ ์ˆ˜์˜ ํ˜•ํƒœ. ์†Œ์ˆ˜์  ๊ธธ์ด๋ฅผ ๋ช…์‹œํ•ด ์ฃผ์–ด์•ผ ํ•จ.
  ๊ณ ์ •   F   ์ด์ง„ ๋ถ€๋™ ์†Œ์ˆ˜์ 
 ( ์‹ค์ˆ˜๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ €์žฅํ•˜๊ณ  ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ ) 

( * ๋‚ ์งœ์™€ ์‹œ๊ฐ„์˜ Format์€ User Profile์— ์˜ํ•ด ๊ฐ์ž์˜ User ID๋ณ„๋กœ ์„ธํŒ…ํ•œ ํ˜•ํƒœ๋กœ ๋ณด์ธ๋‹ค. )

 

๊ทธ ์™ธ์— ์ˆซ์ž ํƒ€์ž…์œผ๋กœ๋Š” B, S, DECFLOAST16, DESFLOAT34, F ๊ฐ€ ์žˆ์œผ๋ฉฐ

๋ฌธ์ž, ์ˆซ์ž ์™ธ์— BYTE TYPE์ธ X, XSTRING์ด ์กด์žฌํ•œ๋‹ค. ( *๋ฌธ์„œ ์ฒจ๋ถ€ ๊ฐ™์€ ํŒŒ์ผ ์ œ์–ด์‹œ ์ฃผ๋กœ ์‚ฌ์šฉ )

 

์ถ”๊ฐ€๋กœ ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ Type์€ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ Data Object ์„ ์–ธ ์‹œ์— ์‚ฌ์šฉ๋˜๋ฉฐ,

ABAP Dictionary์—์„œ๋Š” ์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋ณ„๋„๋กœ Dictionary๋‚ด์— ์ •์˜๋œ Predefined Type์„ ์‚ฌ์šฉํ•œ๋‹ค. 


2.  ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ์ •์˜ํ•œ Type   

ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉํ•  ๋ชฉ์ ์œผ๋กœ ์ •์˜ํ•˜๋ฉฐ, Type์ด ์„ ์–ธ๋œ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

'TYPES' ๊ตฌ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  Type์„ ์ •์˜ํ•œ๋‹ค. 

 

'TYPES'์˜ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

TYPES  Data Type Name   TYPE  Data Type. 

'TYPES'์˜ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ํ†ตํ•ด์„œ Data Object์˜ ๋ชจ๋“  ํ˜•ํƒœ ( ํ•„๋“œ / ๊ตฌ์กฐ์ฒด / ์ธํ„ฐ๋„ํ…Œ์ด๋ธ” )์˜

Type์ด ์ •์˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 


3.  ABAP Dictionary์—์„œ ์ •์˜๋œ Type  

ABAP Dictionary ( T-Code 'SE11')์—์„œ ์ •์˜๋œ Type ๋“ค์„ ๋งํ•˜๋ฉฐ, 

์ด๊ณณ์—์„œ ์ •์˜๋œ Type๋“ค์€ Global ํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—

ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ„๋„ ์ •์˜ ์—†์ด ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

ABAP Dictionary์—์„œ๋Š” ๋ชจ๋“  ํ˜•ํƒœ์˜ Data Object Type์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, 

Data Object ์„ ์—ฐ์‹œ ์‚ฌ์šฉ๋˜๋Š” Dictionary ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

Data Object  Dictionary ์†์„ฑ ์„ค๋ช…
  ํ•„๋“œ(๋ณ€์ˆ˜)    Data Element    Single Value๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ํ•„๋“œ ํ˜•ํƒœ.
  Dictionary Predefined Type ๋˜๋Š” Domain ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜๋จ.
  ๊ตฌ์กฐ์ฒด   Structure   ํ•˜๋‚˜ ์ด์ƒ์˜ ํ•„๋“œ๊ฐ€ ๊ทธ๋ฃน๋˜์–ด์ง„ ํ˜•ํƒœ.
  ๊ตฌ์กฐ์ฒด   Database Object     Dictionary์—์„œ Type์„ ์ •์˜ํ•˜๋Š” ์†์„ฑ์ด ์•„๋‹Œ
  Database์— ์กด์žฌํ•˜๋Š” Table๊ณผ Classic View๋ฅผ ๋งํ•จ. 
  Type ์œผ๋กœ ์‚ฌ์šฉ์‹œ Table/View์™€ ๋™์ผํ•œ ํ•„๋“œ๋“ค์˜ ๊ตฌ์„ฑ์„
  ๊ฐ€์ง„ ๊ตฌ์กฐ์ฒด ํ˜•ํƒœ๊ฐ€ ๋จ. 
  ์ธํ„ฐ๋„ํ…Œ์ด๋ธ”    Table Type    ๋™์ผ Structure ์˜ ํ˜•ํƒœ๋กœ ์—ฌ๋Ÿฌ ๋ผ์ธ์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ. 
  Dictionary์— ์ •์˜๋œ Structure ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์˜๋จ.

๊ณตํ†ต์ ์œผ๋กœ ๊ตฌ์กฐ์ฒด ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ Data Type ๋“ค์€ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•„๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ํƒํ•ด

ํ•„๋“œ ํ˜•ํƒœ์˜ Data Object ์„ ์–ธ ์‹œ์—๋„ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. 

ํ‘œ๊ธฐ๋ฒ•์€ 'Structrue๋ช…-Field๋ช…' ๊ณผ ๊ฐ™์ดํ•˜๋ฉฐ  '-' ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค

 

๋˜ํ•œ ์„ ์–ธ ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ๊ตฌ์กฐ์ฒด ๋˜๋Š” ํ•„๋“œ ํ˜•ํƒœ์˜ Data Type์œผ๋กœ๋„

์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ Data Object๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.