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

[SAP ABAP] ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB) ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•

by Jay Din 2024. 3. 21.
728x90
๋ฐ˜์‘ํ˜•

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” (DBํ…Œ์ด๋ธ”)

SAP ์‹œ์Šคํ…œ์—์„œ DB ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

SAP ์‹œ์Šคํ…œ์˜ ๋ฐฑ์—”๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS)์— ์˜ํ•ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

SAP ABAP์—์„œ๋Š” ๋”•์…”๋„ˆ๋ฆฌ ํ…Œ์ด๋ธ”๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

 

DB ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

 

SELECT ... FROM <dbtab> ... ENDSELECT

 

์ด ๊ตฌ๋ฌธ์€ ABAP์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB ํ…Œ์ด๋ธ”)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ฃผ์–ด์ง„ ์กฐ๊ฑด์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • SELECT: ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์›Œ๋“œ
  • FROM <dbtab>: ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ์ง€์ •
  • ...: ์„ ํƒ์ ์œผ๋กœ WHERE, ORDER BY ๋“ฑ์˜ ์ถ”๊ฐ€ ์˜ต์…˜์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ
  • ENDSELECT: SELECT ๋ฌธ์˜ ๋

์˜ˆ์‹œ

DATA: lt_customers TYPE TABLE OF scustom.

SELECT * FROM scustom INTO TABLE lt_customers
       WHERE city = 'New York'.
ENDSELECT.

 

์œ„ ์ฝ”๋“œ๋Š” SCUSTOM ํ…Œ์ด๋ธ”์—์„œ ๋„์‹œ๊ฐ€ 'New York'์ธ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์„ ์ฝ์–ด์™€ lt_customers ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

 

์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” (internal ํ…Œ์ด๋ธ”)

์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์€ ABAP ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋Š” ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์€ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ์—๋งŒ ์กด์žฌํ•˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

ABAP ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์€ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ธํ„ฐ๋„ ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

Loop AT <internal table> ... ENDLOOP

LOOP AT ... ENDLOOP ๊ตฌ๋ฌธ์€ ABAP์—์„œ ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”(Internal Table)์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœํšŒํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๊ฐ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์™€์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • LOOP AT  <internal table>: ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์ง€์ •
  • ...: ๋ฐ˜๋ณต๋ฌธ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋กœ์ง ์ž‘์„ฑ
  • ENDLOOP: LOOP ๋ฌธ์˜ ๋

์˜ˆ์‹œ

DATA: lt_customers TYPE TABLE OF scustom,
      ls_customer TYPE scustom.

" lt_customers์— ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ ํ›„

LOOP AT lt_customers INTO ls_customer.
    WRITE: / 'Customer ID:', ls_customer-customer_id,
           / 'Name:', ls_customer-name,
           / 'City:', ls_customer-city.
ENDLOOP.

 

์œ„ ์ฝ”๋“œ๋Š” lt_customers ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๊ฐ ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฝ์–ด์™€์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ๊ณ ๊ฐ ID, ์ด๋ฆ„, ๋„์‹œ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, LOOP AT ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ์ธํ„ฐ๋„ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•