[ABAP] Data Type / Data Variable / DATA ๊ตฌ๋ฌธ


๐ŸŒ Data Type


TYPES dtype TYPE type.
or
TYPES dtype LIKE dobj.
  • ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

  • Data Variable๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ์„ ์–ธ

  • TYPES ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ด Data Type์„ ์„ ์–ธํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ > Local Data Type

  • Local Data Type์€ ์ด๋ฏธ ์ •์˜๋˜์–ด ์žˆ๋Š” ABAP Data Type์„ ์ฐธ๊ณ ํ•ด ์„ ์–ธ

  • Data Type์˜ ์ข…๋ฅ˜

    • Predefined ABAP Type

      • kerner ๋ ˆ๋ฒจ์—์„œ ์ •์˜๋˜์–ด ์žˆ๋Š”(ABAP์—์„œ ์ œ๊ณตํ•˜๋Š”) ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…
    • Local Data Type in Program

      • ABAP ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ Predefined ABAP Type์„ ์ด์šฉํ•ด Local Type์„ ์ƒ์„ฑ
    • Global Data Type in ABAP Dictionary

      • ๋ชจ๋“  ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Global Data Type

      • ABAP Dictionary Object(Table, Data Type, Data Element, Structure, Table Type)๋“ค์€ ๋ชจ๋“  ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ



๐ŸŒ Data Variable


DATA var TYPE type.
or
DATA var LIKE dobj.
  • Data Type์„ ์ฐธ๊ณ ํ•ด ๊ฐ’์„ ์ €์žฅ, ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜

  • ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์‹œ์ ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜

  • ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” Data Variable์˜ ์ด๋ฆ„์„ ํ†ตํ•ด์„œ ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ


๐ŸŒœ Data Object


  • Data Variable = ์‹ค์ œ Data Object

  • ABAP ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ์œ ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ๋‹จ์œ„

  • Data Object์˜ ์ด๋ฆ„์„ ์ด์šฉํ•ด ์ฃผ์†Œ๋ฅผ ํ™•์ธ -> Data Type์„ ์ฐธ๊ณ ํ•ด ํ•„๋“œ ๊ธธ์ด ๋“ฑ์˜ ์ •๋ณด๋กœ Contents ํ•ด์„



๐ŸŒ Data Type์„ ์ด์šฉํ•œ ABAP ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐฉ๋ฒ•


  • Predefined ABAP Type์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ

      DATA : gv_num   TYPE i,
          gv_deci     TYPE f,
          gv_date     TYPE d,
          gv_time     TYPE t,
          gv_text1    TYPE c,
          gv_text2(2) TYPE c,
          gv_longtext TYPE string.
    
  • ํ”„๋กœ๊ทธ๋žจ์˜ Local Type์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ : Local ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ฐ ๊ตฌ์กฐ๋ฅผ TYPE์œผ๋กœ ์„ ์–ธ, ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ๋งŒ ABAP ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

      TYPES : BEGIN OF t_struct,
          col1    TYPE c,
          col2    TYPE i,
          col3    TYPE d,
          END OF t_struct.
    
      DATA : gs_struct TYPE t_struct,
              gv_var LIKE gs_struct-col1.
    
    • ex)

      • Local Type ์„ ์–ธ ํ›„ ์ด ํƒ€์ž…์„ ์ฐธ๊ณ ํ•ด DATA Variable ์„ ์–ธํ•˜๊ธฐ

          TYPES t_var TYPE c LENGTH 20.
          DATA gv_var TYPE t_var.
          gv_var = 'HELLO ABAP'.
          WRITE gv_var.
        
      • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋ฐ”๋กœ TYPE ์ง€์ •ํ•˜๊ธฐ

          DATA gv_var TYPE c LENGTH 20.
        
  • ABAP Dictionary์˜ Type์„ ์ด์šฉํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ

      DATA : gv_carrid    TYPE s_carr_id,
          gv_connid       TYPE sflight-carrid,
          gv_matnr        TYPE mara-matnr.
    



๐ŸŒ DATA ๊ตฌ๋ฌธ


๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ๋ฌธ

  • TYPE type

    • ๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜์˜ ํƒ€์ž…์„ ์ •์˜

    • TYPE ๊ตฌ๋ฌธ ๋‹ค์Œ์—๋Š” 3๊ฐ€์ง€ ํƒ€์ž… ์œ ํ˜•(Predefined ABAP Type, Local Data Type in Program, Global Data Type in ABAP Dictionary)์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

    • DATA : gv_num TYPE i.
      
    • ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ ํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ•œ๋ฒˆ์— ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Œ, ๋งˆ์นจํ‘œ(.)๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ์‹คํ–‰

        DATA : gv_num1 TYPE i,
            gv_num2 TYPE i.
      
  • LIKE

    • ์•ž์—์„œ ์ƒ์„ฑํ•œ Data Variable๊ณผ ๋™์ผํ•œ ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ์‚ฌ์šฉ

    • ํƒ€์ž…์ด ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€์ˆ˜ (Field, Parameter, Structure, ์‹œ์Šคํ…œ ๋ณ€์ˆ˜, ..)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    • DATA gv_num2 LIKE gv_num1.
      
  • VALUE

    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ Initial Value๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ, DATA ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ๋–„ VALUE ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ Initial Value ๋Œ€์‹ ์— int๋กœ ์ดˆ๊นƒ๊ฐ’์„ ์„ค์ •

    • VALUE IS INITIAL ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด Data Type์˜ Initial Value๋กœ ์ง€์ •๋จ

    • Constants ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ VALUE ์˜ต์…˜์„ ํ•„์ˆ˜

    • DATA : gv_num TYPE i    VALUE 123,
              gv_flag         VALUE 'X',
              gv_val          VALUE IS INITIAL,
              gv_idx          LIKE sy_tabix VALUE 45.
      
  • LENGTH

    • ํ•„๋“œ์˜ ๊ธธ์ด ์„ค์ •

    • C, N, P, X ํƒ€์ž…์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

    • DATA : gv_num TYPE n LENGTH 2.
      
  • DECIMALS

    • P ํƒ€์ž…์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, 1 ~ 14 ์‚ฌ์ด์˜ ์†Œ์ˆ˜ ์ž๋ฆฌ ์ˆ˜ ์„ค์ •

    • DATA : gv_num TYPE p DECIMALS 3.
      



๐ŸŒ Predefined ABAP Type


  • ABAP Kernel ๋ ˆ๋ฒจ์—์„œ ์ •์˜๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…

  • ๋ชจ๋“  ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • ๊ณ ์ • ๊ธธ์ด๋ฅผ ๊ฐ€์ง€๋Š” 8๊ฐ€์ง€ ๊ธฐ๋ณธ Data Type ์ œ๊ณต, ๋ชจ๋“  ํ•„๋“œ์˜ ๊ธธ์ด๋Š” byte ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„

    • D, F, I๋Š” ์ด๋ฏธ ๊ธฐ์ˆ ์  ์†์„ฑ์ด ์ •์˜๋˜์–ด ์žˆ๊ธฐ ๋–„๋ฌธ์— ํ•„๋“œ ๊ธธ์ด๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

    • TYPE P๋Š” DECIMALS๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด ์†Œ์ˆ˜ ์ž๋ฆฌ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ

    • NUMERIC TYPES

      ํƒ€์ž… ์ดˆ๊ธฐ ๊ธธ์ด ๊ฐ€๋Šฅ ๊ธธ์ด ์ดˆ๊นƒ๊ฐ’ ์˜๋ฏธ
      I 4 4 0 Integer
      F 8 8 0 Floating point number
      P 8 1-16 0 Packed number
    • CHARACTER TYPES

      ํƒ€์ž… ์ดˆ๊ธฐ ๊ธธ์ด ๊ฐ€๋Šฅ ๊ธธ์ด ์ดˆ๊นƒ๊ฐ’ ์˜๋ฏธ
      C 1 1-65535 ย  Text Field
      D 8 8 00000000 Date Field (YYYYMMDD)
      N 1 1-65535 0โ€ฆ Numeric Text Field
      T 6 6 000000 HHMMSS
    • HEXADECIMAL TYPE

      ํƒ€์ž… ์ดˆ๊ธฐ ๊ธธ์ด ๊ฐ€๋Šฅ ๊ธธ์ด ์ดˆ๊นƒ๊ฐ’ ์˜๋ฏธ
      X 1 1-65535 X0.. Hexadecimal Field

Categories:

SAP/ABAP