๊ด€๋ฆฌ ๋ฉ”๋‰ด

CS Student’s SAP&Tech Journey๐Ÿ’ซ

[SAP] ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(Internal Table) (2) ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ ๋ณธ๋ฌธ

SAP/์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” Internal Table

[SAP] ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(Internal Table) (2) ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ

์ธํฌ๋งˆํ‹ฑ 2025. 2. 7. 19:54

SAP ABAP์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(Internal Table, IT)์€ ํ•„์ˆ˜์ ์ธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋Š” ์ž„์‹œ ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”๋กœ, ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ๋ฐฉ์‹์„ ์ƒ์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฐ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ จ๋œ ํฌ์ŠคํŒ… ๋ณด๋Ÿฌ๊ฐ€๊ธฐโฌ‡๏ธ

 

ABAP ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(Internal Table) (1) ํ…Œ์ด๋ธ” ์„ ์–ธ, ์ƒ์„ฑํ•˜๊ธฐ

SAP ABAP์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”(Internal Table, IT)์€ ํ•„์ˆ˜์ ์ธ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋‹ฌ๋ฆฌ ์ž„์‹œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์—ญํ• ์„ ํ•ฉ

informatik.tistory.com


 


์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•˜๊ธฐ

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

  1. Work Area(WA)๋ฅผ ์ด์šฉํ•œ ๊ฐœ๋ณ„ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
    • APPEND๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฝ์ž… (Standard Table ์ „์šฉ)
    • INSERT๋ฅผ ์‚ฌ์šฉํ•œ ์‚ฝ์ž… (Sorted & Hashed Table ํฌํ•จ)
  2. Work Area(WA)๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… (LOOP + APPEND ํ™œ์šฉ)
    • DO, LOOP, CLEAR๋ฅผ ์ด์šฉํ•œ ๋ฐ˜๋ณต ์‚ฝ์ž…
  3. Work Area(WA) ์—†์ด ์ง์ ‘ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ 
    • APPEND VALUE #( ... )๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„ํŽธํ•œ ์‚ฝ์ž…

 

 

1.  Work Area(WA)๋ฅผ ์ด์šฉํ•œ ๊ฐœ๋ณ„ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…


โœ… APPEND๋กœ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… (Standard Table ์ „์šฉ)

DATA gw_flight TYPE ts_flightinfo.

gw_flight-carrid = 'AA'.
gw_flight-connid = '0017'.
gw_flight-fldate = sy-datum.
gw_flight-percentage = '98.00'.

APPEND gw_flight TO gt_flight. " Standard Table์—์„œ ๋งจ ๋’ค์— ์ถ”๊ฐ€

๐Ÿ“Œ Standard Table์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, APPEND ์‹œ ์ž๋™์œผ๋กœ ๋งˆ์ง€๋ง‰ ์œ„์น˜์— ์ถ”๊ฐ€๋จ

 

โœ… INSERT๋กœ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… (Standard & Sorted & Hashed Table ๋ชจ๋‘ ๊ฐ€๋Šฅ)

INSERT gw_flight INTO TABLE gt_flight.

๐Ÿ“Œ Sorted Table๊ณผ Hashed Table์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ INSERT ์‚ฌ์šฉ

 

๐ŸŽฏ ์˜ˆ์‹œ

DATA gt_carrier TYPE BC400_T_CARRIERS. "IT ์„ ์–ธ
DATA gw_carrier TYPE BC400_S_CARRIER. "WA ์„ ์–ธ

* ์ฒซ๋ฒˆ์งธ ํ–‰ ์ถ”๊ฐ€
gw_carrier-carrid ='KA'.
gw_carrier-carrname = 'Korean Air'.
gw_carrier-currcode = 'KRW'.
gw_carrier-url = 'http://www.ka.com'.

APPEND gw_carrier TO gt_carrier.

* ๋‘๋ฒˆ์งธ ํ–‰ ์ถ”๊ฐ€
CLEAR gw_carrier. 
gw_carrier-carrid = 'UA'.
gw_carrier-carrname = 'United Air'.
gw_carrier-currcode = 'USD'.


INSERT gw_carrier INTO TABLE gt_carrier.

๐Ÿ“Œ ์„ค๋ช…

  •  ํ•œ ๊ฐœ์˜ Work Area(WA)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
  •  APPEND → Standard Table์˜ ๋งจ ๋์— ์ถ”๊ฐ€
  •  INSERT → Key์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…
  • WA๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…ํ•  ๋•Œ, CLEAR ํ•ด์ค€ ํ›„ ์‚ฌ์šฉ
  • ๋ฐ˜๋ณต๋ฌธ ์—†์ด ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ• ๋‹น & ์ถ”๊ฐ€

 

๐Ÿ“Œ ์ถœ๋ ฅ

 

 

2.  Work Area(WA)๋ฅผ ํ™œ์šฉํ•œ LOOP + APPEND๋ฅผ ํ™œ์šฉํ•œ ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…

DATA gt_carrier TYPE BC400_T_CARRIERS.
DATA gw_carrier TYPE BC400_S_CARRIER.

DO 10 TIMES.
  CLEAR gw_carrier. " Work Area ์ดˆ๊ธฐํ™”
  gw_carrier-carrid = 'KA'.
  gw_carrier-carrname = 'Airline' && sy-index. " ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ
  gw_carrier-currcode = 'KRW'.
  gw_carrier-url = 'http://www.ka.com'.

  APPEND gw_carrier TO gt_carrier. " ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€
ENDDO.

๐Ÿ“Œ ์„ค๋ช…

  • Work Area(WA)๋ฅผ ๋จผ์ € ์„ ์–ธ (DATA gw_flight TYPE ts_flightinfo.)
  • CLEAR gw_flight. → ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค Work Area ์ดˆ๊ธฐํ™”
  • ๋ฐ˜๋ณต๋ฌธ(DO 10 TIMES.)์„ ์ด์šฉํ•ด 10๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
  • APPEND gw_flight TO gt_flight. → Work Area์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”๋กœ ์ถ”๊ฐ€

 

๐Ÿ“Œ ์ถœ๋ ฅ

 

 

3.  Work Area(WA) ์—†์ด ์ง์ ‘ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

โœ… ABAP 7.4 ์ด์ƒ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ํ•œ ์ค„๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ๊ฐ€๋Šฅ

APPEND VALUE #( carrid = 'AA' connid = '0017' fldate = sy-datum percentage = '98.00' ) TO gt_flight.