ํ‹ฐ์Šคํ† ๋ฆฌ

syd’s code lab
๊ฒ€์ƒ‰ํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ ํ™ˆ

syd’s code lab

sydney-study.tistory.com/m

slow and steady wins the race ๐Ÿข

๊ตฌ๋…์ž
3
๋ฐฉ๋ช…๋ก ๋ฐฉ๋ฌธํ•˜๊ธฐ

์ฃผ์š” ๊ธ€ ๋ชฉ๋ก

  • [programmers] 5์›” ์‹ํ’ˆ๋“ค์˜ ์ด๋งค์ถœ ์กฐํšŒํ•˜๊ธฐ ๋ฌธ์ œ FOOD_PRODUCT์™€ FOOD_ORDER ํ…Œ์ด๋ธ”์—์„œ ์ƒ์‚ฐ์ผ์ž๊ฐ€ 2022๋…„ 5์›”์ธ ์‹ํ’ˆ๋“ค์˜ ์‹ํ’ˆ ID, ์‹ํ’ˆ ์ด๋ฆ„, ์ด๋งค์ถœ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ์ด๋งค์ถœ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ์ด๋งค์ถœ์ด ๊ฐ™๋‹ค๋ฉด ์‹ํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด JOIN ์‚ฌ์šฉ - ์ด๋งค์ถœ์€ SUM() ์„ ์‚ฌ์šฉ(์ˆ˜๋Ÿ‰*๊ฐ€๊ฒฉ) - GROUP BY ๋ฅผ ์‚ฌ์šฉํ•ด ID ๋ณ„ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•จ - 2022-04-04 ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์—์„œ ์—ฐ๋„์™€ ์›”๋งŒ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด YEAR(), MONTH() ์‚ฌ์šฉ - ORDER BY ๋กœ ์ •๋ ฌ SELECT A.PRODUCT_ID, B.PRODUCT_NAME, (SUM(A.AMOUNT) * B.PRICE) AS TOTAL_SAL.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 9.
  • [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(5) ์‹คํ–‰ ์ˆœ์„œ if ๋ฌธ์€ ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰. C ์–ธ์–ด๋Š” 0์ด๋ฉด ๊ฑฐ์ง“, 0์ด ์•„๋‹ˆ๋ฉด ์ฐธ if(-1) ์—์„œ -1 ์€ ์ฐธ(true)์ด๋ฏ€๋กœ printf(”A”) ์ถœ๋ ฅ; ๊ทธ ์™ธ ์กฐ๊ฑด๋“ค(else if, else) ์€ ํ•ด๋‹น์‚ฌํ•ญ ์—†์œผ๋ฏ€๋กœ skip printf(”D”) ์ถœ๋ ฅ ์ถœ๋ ฅ AD ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 8.
  • [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(4) - ์žฌ๊ท€ํ•จ์ˆ˜ ์‹คํ–‰ ์ˆœ์„œ main ํ•จ์ˆ˜๋ถ€ํ„ฐ ์‹คํ–‰ fn(3) ์ด๋ฏ€๋กœ int n = 3 printf ์— ์˜ํ•ด 3 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ์ฐธ(3>1) ์ด๋ฏ€๋กœ, fn(2) ํ˜ธ์ถœ fn(2) ์ด๋ฏ€๋กœ printf ์— ์˜ํ•ด 2 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ์ฐธ(2>1) ์ด๋ฏ€๋กœ, fn(1) ํ˜ธ์ถœ fn(1) ์ด๋ฏ€๋กœ printf ์— ์˜ํ•ด 1 ์ถœ๋ ฅ if ๋ฌธ ์‹คํ–‰, ์กฐ๊ฑด์ด ๊ฑฐ์ง“(1>1) ์ด๋ฏ€๋กœ ์•„๋ž˜ printf์— ์˜ํ•ด 1 ์ถœ๋ ฅ fn(1)์„ ํ˜ธ์ถœํ–ˆ๋˜ ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€ ์•„๋ž˜ printf์— ์˜ํ•ด 2 ์ถœ๋ ฅ fn(2)์„ ํ˜ธ์ถœํ–ˆ๋˜ ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€ ์•„๋ž˜ printf์— ์˜ํ•ด 3 ์ถœ๋ ฅ fn(3) ์œผ๋กœ ๋Œ์•„๊ฐ€์ง€๋งŒ, ์ดํ›„ ๋ช…๋ น์ด ์—†์œผ๋ฏ€๋กœ ์ข…๋ฃŒ. ์ถœ๋ ฅ 321123 ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 7.
  • [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(3) ์‹คํ–‰ ์ˆœ์„œ a = 1, i= ์ดˆ๊ธฐ๊ฐ’, sum = 0์œผ๋กœ ์ดˆ๊ธฐํ™” switch ๋ฌธ์—์„œ, a++ ์ผ๋•Œ๋Š” a๋ฅผ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ’์„ 1 ์ฆ๊ฐ€ ์‹œํ‚ด → 1 ๊ฐ’์„ ๋จผ์ € ์‚ฌ์šฉํ•˜๊ณ  ์—ฐ์‚ฐ์ด ๋๋‚œ ํ›„ 1 ์ฆ๊ฐ€ ++sum, 1 ์ฆ๊ฐ€๋ฅผ ๋จผ์ € ์‹œํ‚ค๊ณ  ๊ฐ’ ์‚ฌ์šฉ → 0 ๊ฐ’์— +1 ์„ ํ•œ 1์ด sum ๊ฐ’์ด ๋จ. ⇒ ‘a++’(1) + ‘++sum’(1) = 2 ๊ฐ€ ๋จ ํ˜„์žฌ a: 2 , sum: 1 case 2: ์— ํ•ด๋‹นํ•˜๋ฏ€๋กœ for ๋ฌธ ์‹คํ–‰ i=1, for ๋ฌธ์˜ ์กฐ๊ฑด์‹(i ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 6.
  • [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(2) ์‹คํ–‰ ์ˆœ์„œ ๋ฐ˜๋ณต๋ฌธ sum += *(p+i) ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” p ๊ฐ’์„ ์•Œ์•„์•ผํ•จ p = a[0] ์ด๋ผ๊ณ  ๊ธฐ์„ ์–ธํ–ˆ์œผ๋ฏ€๋กœ, sum += *(a[0]+i) ๊ณผ ๊ฐ™์Œ → ๊ทธ๋ ‡๋‹ค๋ฉด *(a[0]+i) ๋Š”? ๋ฐฐ์—ด + i == &๋ฐฐ์—ด[i] a[0] + i == &a[0] *(a[0]+i) ๋Š” *( &a[0]) ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ ⇒ ํฌ์ธํ„ฐ์—์„œ ์ฃผ์†Œ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ๊ณผ(&) ๊ทธ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ(*)์€ ์„œ๋กœ ์ƒ์‡„๋˜์–ด ์—†์–ด์ง ⇒ a[0][i] ๊ฐ€ ๋œ๋‹ค. ⇒ a[0][0]์€ 2์ด๋ฏ€๋กœ sum ์€ 2 ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ ๋Œ์•„์™€์„œ i = 1, a[0][1]์€ 3, sum ์€ 5 ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ ๋Œ์•„์™€์„œ i = 2, a[0][2]๋Š” 5, sum ์€ 10 ** a[0][2] ๋Š” a[1][0] ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ for ๋ฌธ์œผ๋กœ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 5.
  • [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] C์–ธ์–ด ๋ฌธ์ œ ํ’€์ด(1) tip. ๋ณ€์ˆ˜ ๋ณ€ํ™”๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ ค๋†“๊ณ  ์‹œ์ž‘ ์‹คํ–‰ ์ˆœ์„œ i = 0, j=0, k ๋Š” ์ดˆ๊ธฐํ™” ์ƒ๋žต๋˜์–ด ์žˆ์–ด ์“ฐ๋ ˆ๊ธฐ ๊ฐ’ i=0 ์ฒซ ๋ฒˆ์งธ, for๋ฌธ ์ดˆ๊ธฐ์‹์ด ์ƒ๋žต๋˜์–ด์žˆ์Œ → ๋‹ค์Œ ์กฐ๊ฑด์œผ๋กœ ๋ฐ”๋กœ ๋„˜์–ด๊ฐ ๋‘ ๋ฒˆ์งธ for ๋ฌธ i = 0, j=0 ์„ธ ๋ฒˆ์งธ for ๋ฌธ k =’A’ → ์ž‘์€ ๋”ฐ์˜ดํ‘œ A ๋Š” ๋ฌธ์ž, ๋ฌธ์ž๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋งคํ•‘ํ•ด์„œ ์ˆซ์ž์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ A = 65 ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ด๋ฏ€๋กœ, printf ์‹คํ–‰ 4. printf ๋ฌธ %c ๋Š” ํฌ๋งท์ŠคํŠธ๋ง ์ค‘ ๋ฌธ์ž๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ, i + j + k = 0+ 0+ 65 ์ด๋ฏ€๋กœ ์•„์Šคํ‚ค์ฝ”๋“œ 65 ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž A ๋ฅผ ์ถœ๋ ฅ 5. ์„ธ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ์•„๊ฐ k++ ์ด๋ฏ€๋กœ k ๊ฐ’์€ 66 ์ด ๋˜์–ด ์กฐ๊ฑด๋ฌธ false ๊ฐ€ ๋จ → false ์ผ ๋•Œ ๋กœ์ง์ด ์—†์–ด ์ƒ์œ„ for.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 4.
  • [programmers] ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค ๋ฌธ์ œ ๋ณดํ˜ธ ์‹œ์ž‘์ผ๋ณด๋‹ค ์ž…์–‘์ผ์ด ๋” ๋น ๋ฅธ ๋™๋ฌผ์˜ ์•„์ด๋””์™€ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ๊ฒฐ๊ณผ๋Š” ๋ณดํ˜ธ ์‹œ์ž‘์ผ์ด ๋น ๋ฅธ ์ˆœ์œผ๋กœ ์กฐํšŒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ’€์ด - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ํ•„๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด JOIN(INNER JOIN) ์‚ฌ์šฉ - DATETIME ์„ ๋น„๊ต(๋‚ ์งœ๋Š” ์—ฐ์‚ฐ์ž๋กœ ๋น„๊ต ๊ฐ€๋Šฅ) - ์ •๋ ฌ SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS INS INNER JOIN ANIMAL_OUTS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 3.
  • [programmers] ์—†์–ด์ง„ ๊ธฐ๋ก ์ฐพ๊ธฐ ๋ฌธ์ œ ์ฒœ์žฌ์ง€๋ณ€์œผ๋กœ ์ธํ•ด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž…์–‘์„ ๊ฐ„ ๊ธฐ๋ก์€ ์žˆ๋Š”๋ฐ, ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๊ธฐ๋ก์ด ์—†๋Š” ๋™๋ฌผ์˜ ID์™€ ์ด๋ฆ„์„ ID ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๋‘ ํ…Œ์ด๋ธ”์„ ๋น„๊ตํ•ด ํ•œ ์ชฝ์—๋งŒ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด LEFT OUTER JOIN ์‚ฌ์šฉ - IS NULL ์„ ์‚ฌ์šฉํ•˜์—ฌ ID ๊ฐ€ ์—†๋Š” ๊ฐ’๋งŒ ์กฐํšŒ - ID ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUTS LEFT JOIN ANIMAL_INS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID; ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 9. 2.
  • Cardinality Cardinality(n:m)๋Š” Foreign key ๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ๊ฐ€๋Šฅํ•œ ์ข…์† ๋ ˆ์ฝ”๋“œ(dependent records ,records of the foreign key table) ์ˆ˜์™€ ๊ด€๋ จ๋œ foreign key ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , ์ฐธ์กฐ๋œ ๋ ˆ์ฝ”๋“œ(records of the check table)์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ** check table : ์™ธ๋ž˜ํ‚ค(Foreign Key)๋กœ ์—ฐ๊ฒฐ๋œ ํ…Œ์ด๋ธ” Cardinality ์™ผ์ชฝ(n)โ— n=1 foreign key table์˜ ๊ฐ ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•ด check table์— ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. โ— n=C foreign key field๊ฐ€ ๋น„์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— foreign key table์—๋Š” check table์˜ ๋ ˆ์ฝ”๋“œ์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋  ์ˆ˜.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 25.
  • FIELD-SYMBOL ์˜ˆ์ œ - ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ ์ž…๋ ฅํ•œ ํšŒ๊ณ„ ๋…„๋„์— ํ•ด๋‹นํ•˜๋Š” 1์›”๋ถ€ํ„ฐ ์ž…๋ ฅ ์›”๊นŒ์ง€์˜ ํ•ฉ์‚ฐ์„ ๊ตฌํ•ด write ๋กœ ํ•ฉ์‚ฐ ๊ธˆ์•ก์„ ์ถœ๋ ฅํ•œ๋‹ค. *&---------------------------------------------------------------------* *& Report ZRTEST_FS *&---------------------------------------------------------------------* *& *&---------------------------------------------------------------------* REPORT zrtest_fs MESSAGE-ID z000. TYPES : BEGIN OF ts_sum. INCLUDE TYPE ztfs_b00. TYPES: sum TYP.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 24.
  • Message, Message Classe MessagesMESSAGE { msg | text } { { [DISPLAY LIKE dtype] [WITH dobj1 ... dobj4] } | { [DISPLAY LIKE dtype] [WITH dobj1 ... dobj4] RAISING exception } | { [WITH dobj1 ... dobj4] INTO text } }. - ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋™์ž‘, ์˜ค๋ฅ˜, ์ƒํƒœ ๋˜๋Š” ์ž‘์—… ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์•Œ๋ฆฐ๋‹ค. - ๋Ÿฐํƒ€์ž„ ์‹œ dialog box๋‚˜ status bar์™€ ๊ฐ™์€ ๊ณณ์— ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. - ๊ณ ์œ ํ•œ 3์ž๋ฆฌ ๋ฉ”์‹œ์ง€ ๋ฒˆํ˜ธ, ํ•œ ์ž๋ฆฌ ์–ธ์–ด ํ‚ค, ํ…์ŠคํŠธ ์ •๋ณด ๋ฐ ๋ฉ”์‹œ์ง€ ํด๋ž˜์Šค๋กœ ์ง€์ •๋œ๋‹ค. - database table T100์— ์ €์žฅ๋œ๋‹ค.Message with a Long Text๋ฌธ์ œ์˜ ์›์ธ๊ณผ ์ž .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 23.
  • SAP Memory/ ABAP Memory ๊ด€๋ จ Keywordsmain program program group ์˜ ์ฒซ ๋ฒˆ์งธ program. program ํ˜ธ์ถœ์— ์˜ํ•ด internal session ์œผ๋กœ ๋กœ๋“œ ๋˜๋Š” ์ฒซ ๋ฒˆ์งธ program(ex. executable program, module pool, or function group)์€ main program group์˜ main program์ด๋‹ค. additional program group์„ ๋กœ๋“œํ•  ๋•Œ ์ƒ์„ฑ๋˜๋Š” program (function group or class pool) ์€ additional program group์˜ main program์ด๋‹ค. internal session program์ด ์‹คํ–‰๋  ๋•Œ ABAP program์˜ data ์™€ objects๊ฐ€ ์ €์žฅ๋˜๋Š” ์ž์ฒด program.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 22.
  • Dialog Program - Module Pool SAP-ABAP์—๋Š” Report Program ๊ณผ Dialog Program, ๋‘ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋žจ ํƒ€์ž…์ด ์กด์žฌํ•œ๋‹ค.Report and Dialog ProgramReport Program: ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ๋ถ„์„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ Dialog Program: ์‹œ์Šคํ…œ๊ณผ ๋Œ€ํ™”ํ˜•์œผ๋กœ ์ž‘์—…ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจDialog Program ํŠน์ง•ABAP ํ”„๋กœ๊ทธ๋žจ์— ์‚ฌ์šฉ์ž ์ž…๋ ฅ(input)์ด ์š”๊ตฌ ๋˜๋Š” ๊ฒฝ์šฐ, Dialog programming์ด ์‚ฌ์šฉ๋œ๋‹ค.screen ์ด๋™์ด ํ•„์š”ํ•  ๋•Œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.‘M’ Type ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค – Module Pool๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.์ดˆ๊ธฐ ํ™”๋ฉด์„ ์„ค์ •ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ํŠธ๋žœ์žญ์…˜ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.๋ชจ๋“  o.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 21.
  • CALL TRANSACTION/ LEAVE TO TRANSACTION CALL TRANSACTIONํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ(calling program)์ด active ์ƒํƒœ๋กœ ์œ ์ง€๋˜๊ณ  ํ˜ธ์ถœ ํŠธ๋žœ์žญ์…˜(call transaction) ์‹คํ–‰ ํ›„ ์ œ์–ด(control)๊ฐ€ ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ(calling program) ์œผ๋กœ ๋Œ์•„์˜จ๋‹ค. -> ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•œ๋‹ค. -> ํ˜ธ์ถœ๋œ ํŠธ๋žœ์žญ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด, ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž‘์—…์ด ๋‹ค์‹œ ์‹œ์ž‘๋œ๋‹ค.LEAVE TO TRANSACTION์ œ์–ด(control)๊ฐ€ ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ(calling program)์„ ์˜๊ตฌ์ ์œผ๋กœ ๋– ๋‚˜ ํ˜ธ์ถœ๋œ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ, ํ˜ธ์ถœ๋œ ํŠธ๋žœ์žญ์…˜์„ ์ข…๋ฃŒํ•˜๋ฉด ํ˜ธ์ถœ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž‘์—…์ด ์žฌ๊ฐœ๋˜์ง€ ์•Š๋Š”๋‹ค. ExampleReport ztest1. CALL TRANSACTION 'MM01'. WRITE 'Hi'. * Output : Hi.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 14.
  • [programmers] ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์ž๋™์ฐจ๋“ค์˜ ์›”๋ณ„ ๋Œ€์—ฌ ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ CAR_RENTAL_COMPANY_RENTAL_HISTORY ํ…Œ์ด๋ธ”์—์„œ ๋Œ€์—ฌ ์‹œ์ž‘์ผ์„ ๊ธฐ์ค€์œผ๋กœ 2022๋…„ 8์›”๋ถ€ํ„ฐ 2022๋…„ 10์›”๊นŒ์ง€ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ 5ํšŒ ์ด์ƒ์ธ ์ž๋™์ฐจ๋“ค์— ๋Œ€ํ•ด์„œ ํ•ด๋‹น ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ์›”๋ณ„ ์ž๋™์ฐจ ID ๋ณ„ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜(์ปฌ๋Ÿผ๋ช…: RECORDS) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์›”์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ์›”์ด ๊ฐ™๋‹ค๋ฉด ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํŠน์ • ์›”์˜ ์ด ๋Œ€์—ฌ ํšŸ์ˆ˜๊ฐ€ 0์ธ ๊ฒฝ์šฐ์—๋Š” ๊ฒฐ๊ณผ์—์„œ ์ œ์™ธํ•ด์ฃผ์„ธ์š”. ํ’€์ด - WHERE ์กฐ๊ฑด์— ๋“ค์–ด๊ฐˆ SELECT ๋ฌธ์„ ๋จผ์ € ์ž‘์„ฑ(subquery) - BETWEEN ์„ ์‚ฌ์šฉํ•ด ์›ํ•˜๋Š” ๊ธฐ๊ฐ„ ์„ค์ • - GROUP BY ๋กœ ID ๋กœ ๊ทธ๋ฃนํ™” ํ•˜๊ณ , COUNT() ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ 5๊ฐœ ์ด์ƒ์ธ ID ๋งŒ ์ถœ๋ ฅํ•˜๋„๋ก ํ•จ *.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 13.
  • [programmers] ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ๋„์„œ ํŒ๋งค๋Ÿ‰ ์ง‘๊ณ„ํ•˜๊ธฐ ๋ฌธ์ œ 2022๋…„ 1์›”์˜ ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ๋„์„œ ํŒ๋งค๋Ÿ‰์„ ํ•ฉ์‚ฐํ•˜๊ณ , ์นดํ…Œ๊ณ ๋ฆฌ(CATEGORY), ์ด ํŒ๋งค๋Ÿ‰(TOTAL_SALES) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋ช…์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์—์„œ ์›ํ•˜๋Š” ํ•„๋“œ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด INNER JOIN ์‚ฌ์šฉ - ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์ง‘๊ณ„ํ•จ์ˆ˜ SUM() ์‚ฌ์šฉ - 2022 ๋…„ 1์›” ๋ฐ์ดํ„ฐ๋งŒ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด LIKE ๋กœ ์ฒดํฌ - GROUP BY ์— ์ง‘๊ณ„ํ•จ์ˆ˜ ๊ทธ๋ฃนํ™” ๊ธฐ์ค€ ์ž‘์„ฑ - ORDER BY ๋กœ ์˜ค๋ฆ„์ฐจ ์ •๋ ฌ SELECT b.CATEGORY, SUM(bs.SALES) AS TOTAL_SALES FROM BOOK b JOIN BOOK_SALES bs ON b.BOOK_ID = bs.BOOK_ID WHERE bs.SALES_.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 12.
  • ABAP Report Program - Event block ABAP report programs ์€ ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋žจ์ด๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ Event block ์„ ๊ฐ€์ง„๋‹ค. Load-of-program Type 1, M, F ๋˜๋Š” S์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋กœ๋“œํ•œ ํ›„ internal session์—์„œ ๊ด€๋ จ ์ด๋ฒคํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚จ๋‹ค. ๊ฐ ํ”„๋กœ๊ทธ๋žจ ๋ฐ internal session์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ์”ฉ๋งŒ ์‹คํ–‰ํ•œ๋‹ค. ABAP Objects ์˜ ์ƒ์„ฑ์ž(Constructor) ์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค. Initialization selection screen์ด ํ‘œ์‹œ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋œ๋‹ค. ๋ชจ๋“  ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. selection screen์—์„œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ง€์ •๋œ ๊ฐ’ ์ด์™ธ์˜ ๋‹ค๋ฅธ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹คํ–‰ ๋  ๋•Œ selection screen ์„ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์ฑ„์šธ ์ˆ˜ ์žˆ๋‹ค. At Selection.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 11.
  • ABAP Report Program - Selection Screen Selection Screen ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ž…๋ ฅ ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ํ™”๋ฉด. selection screen ์€ ๋ณดํ†ต ์•„๋ž˜ ์š”์†Œ๋“ค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. Parameters Select-Options Syntax Selection-screen begin of screen selection-screen begin of block with frame title ......... ......... selection-screen end of block selection-screen end of screen Parameters ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๊ฐ’(paramter)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ํ•œ ๋ฒˆ ์‹คํ–‰ ๋  ๋•Œ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅ๋œ๋‹ค. Syntax - data type Parameters p_id(30) type c. .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 10.
  • ABAP Report Program SAP-ABAP์—๋Š” Report Program ๊ณผ Dialog Program, ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ๋‹ค. ๊ทธ ์ค‘ Report Program์€ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. Report Program ์šฉ๋„ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ ๋ฐ ๊ฐ€๊ณต ํ•œ ํ›„ ์ถœ๋ ฅํ•ด์•ผ ํ•  ๋•Œ. ๋ณด๊ณ ์„œ์— ํŠน๋ณ„ํ•œ ํ˜•์‹์ด ํ•„์š”ํ•  ๋•Œ. (custom) ๋ณด๊ณ ์„œ๋ฅผ SAP์—์„œ ์—‘์…€ ์‹œํŠธ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๋ฐฐํฌํ•ด์•ผ ํ•  ๋•Œ Report Program ์ฃผ์š” ํŠน์ง• Report Programs ์€ ํ•ญ์ƒ Executable Programs ์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Program Type ๋„ ํ•ญ์ƒ 1์ด๋‹ค. ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ฒซ ์ค„์€ ํ•ญ์ƒ ์ด๋‹ค. line-size ๋ฅผ ์‚ฌ์šฉํ•ด์„œ line ์˜ size ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. line-cou.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 9.
  • DELETE vs CLEAR vs REFRESH vs FREE Internal Table ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ธ Delete, Clear, Refresh, Free ๋Š” ๊ฐ๊ฐ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์œ„ ์‚ฌ์ง„์—์„œ, FREE ๋Š” ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•˜๊ณ , DELETE ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. CLEAR ์™€ REFRESH ๋Š” ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๊ณ  internal table ์„ ์ดˆ๊ธฐ ํฌ๊ธฐ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, REFRESH ๋Š” header line ์„ ์‚ญ์ œํ•  ์ˆ˜ ์—†๊ณ , CLEAR๋Š” header line๊ณผ work area ๋ชจ๋‘ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์กด์žฌํ•œ๋‹ค. ์š”์•ฝ DELETE ๋ฉ”๋ชจ๋ฆฌ ์ƒ๊ด€ ์—†์ด ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ REFRESH itab[]์— ํ•ด๋‹นํ•˜๋Š” body๋งŒ ์‚ญ์ œ(structure ์‚ญ์ œ ๋ถˆ๊ฐ€) CLEAR itab[] .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 8.
  • Internal Table ๋ณต์‚ฌ ๋ฐ ์‚ญ์ œ Copy Internal table์˜ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ table๋กœ ๋ณต์‚ฌํ•˜๋ ค๋ฉด APPEND LINES ๋˜๋Š” INSERT LINES ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ MOVE ๋˜๋Š” = ํ• ๋‹น์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. MOVE To . OR = . ITAB1์˜ ๋‚ด์šฉ์ด ITAB2๋กœ ๋ณต์‚ฌ๋œ๋‹ค. itab1[] = itab2[]. Internal table with header line ์˜ ๊ฒฝ์šฐ, work area์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด []๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. Delete 1. LOOP Syntax DELETE . ์œ„ ์ฝ”๋“œ๋Š” loop ๋‚ด์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ˜„์žฌ line ์„ ์‚ญ์ œํ•˜์ง€๋งŒ, WHERE ์ ˆ์„ ์ถ”๊ฐ€ํ•ด ์กฐ๊ฑด๋ถ€๋กœ ์‚ญ์ œ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. 2. INDEX Syntax DELETE INDEX . index๊ฐ€ ์ธ ์ค„์ด ์‚ญ์ œ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 7.
  • [programmers] ๊ฐ€๊ฒฉ์ด ์ œ์ผ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์ •๋ณด ์ถœ๋ ฅํ•˜๊ธฐ ๋ฌธ์ œ FOOD_PRODUCT ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€๊ฒฉ์ด ์ œ์ผ ๋น„์‹ผ ์‹ํ’ˆ์˜ ์‹ํ’ˆ ID, ์‹ํ’ˆ ์ด๋ฆ„, ์‹ํ’ˆ ์ฝ”๋“œ, ์‹ํ’ˆ๋ถ„๋ฅ˜, ์‹ํ’ˆ ๊ฐ€๊ฒฉ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด MAX() ์‚ฌ์šฉ - ์ง‘๊ณ„ํ•จ์ˆ˜๋Š” WHERE ์กฐ๊ฑด์— ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์„œ๋ธŒ์ฟผ๋ฆฌ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ ** HAVING ์—์„œ๋Š” ์ง‘๊ณ„ ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) PRICE FROM FOOD_PRODUCT); ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 6.
  • [programmers] ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„ ์ƒํ’ˆ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ PRODUCT ํ…Œ์ด๋ธ”์—์„œ ๋งŒ์› ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„๋กœ ์ƒํ’ˆ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ ๊ฐ๊ฐ ์ปฌ๋Ÿผ๋ช…์€ PRICE_GROUP, PRODUCTS๋กœ ์ง€์ •ํ•ด์ฃผ์‹œ๊ณ  ๊ฐ€๊ฒฉ๋Œ€ ์ •๋ณด๋Š” ๊ฐ ๊ตฌ๊ฐ„์˜ ์ตœ์†Œ๊ธˆ์•ก(10,000์› ์ด์ƒ ~ 20,000 ๋ฏธ๋งŒ์ธ ๊ตฌ๊ฐ„์ธ ๊ฒฝ์šฐ 10,000)์œผ๋กœ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๊ฐ€๊ฒฉ๋Œ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„๋กœ ๊ตฌ๊ฐ„์„ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด TRUNCATE(number, decimals) ์‚ฌ์šฉ - ๊ตฌ๊ฐ„๋ณ„ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ ์œ„ํ•ด COUNT(*) ์‚ฌ์šฉ SELECT TRUNCATE(PRICE,-4) AS PRICE_GROUP, COUNT(*) AS PRODUCTS FROM PRODUCT GROUP BY TRUNCATE(PRICE,-4) ORDER BY PRICE_.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 5.
  • Internal Table ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ 1. Loop -Endloop Syntax LOOP AT [INTO ] ................................... ENDLOOP. LOOP AT ๊ตฌ๋ฌธ์€ ITABLE์„ ํ•œ ์ค„์”ฉ ๋งˆ์ง€๋ง‰ ํ–‰๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์„œ ์ฝ์–ด์˜จ๋‹ค. ์›ํ•˜๋Š” ํŠน์ • ํ–‰์˜ ์—ด ๊ฐ’์— ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ. ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ฝ๋”๋ผ๋„ SY-SUBRC์˜ ๊ฐ’์€ 0์ด ์ถœ๋ ฅ๋œ๋‹ค. 2. READ ๋ฌธ Syntax READ TABLE [INTO ] INDEX . ํ˜„์žฌ line ๋˜๋Š” index ์— ์ง€์ •๋œ line์„ ์ฝ์–ด์˜จ๋‹ค. SY-TABIX ๋ฅผ ์‚ฌ์šฉํ•ด ์ฝ์–ด์˜จ ์ค„์˜ ์ธ๋ฑ์Šค๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์ˆ ํ•œ index ๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ฝ์–ด์˜ค๋ฉด SY-SUBRC๊ฐ’์€ 0์ด ์ถœ๋ ฅ๋œ๋‹ค. ์ž‘์„ฑํ•œ index๊ฐ€ 0๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์ž‘์„ฑํ•œ index๊ฐ€ ํ…Œ์ด.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 4.
  • Internal Table ๋ฐ์ดํ„ฐ ์ฑ„์šฐ๊ธฐ 1. ํ•œ ์ค„์”ฉ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ - APPEND ๋‹ค๋ฅธ work area์—์„œ internal table์— ํ•œ ์ค„์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, internal table์— ์ฒซ ํ•œ ์ค„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. Syntax APPEND [ TO / INITIAL LINE TO] . work area ๋˜๋Š” intial line์ด internal table ์— ์ถ”๊ฐ€๋œ๋‹ค. ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ SY-TABIX์— ๋”ํ•ด์ง„ ์ค„์˜ ์ธ๋ฑ์Šค๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค. Example Data: Begin of itab occurs 10, col1 type C, col2 type I, end of itab. Append initial line to itab. * output : ' ' '0' initial line์€ ํ•ด๋‹น ์œ ํ˜•์— ๋งž๋Š” ์ดˆ๊ธฐ ๊ฐ’์„ ํ…Œ์ด๋ธ”์— ์ถ”๊ฐ€ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ c.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 3.
  • Internal Table ์ƒ์„ฑํ•˜๊ธฐ 1. TYPE ๋ฌธ Types : begin of line, column1 type I, column2 type I, end of line. Data itab type line occurs 10. TYPES ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ •์˜ํ•œ ๋Œ€๋กœ structure ๋ฅผ ์ƒ์„ฑํ•œ ํ›„, Data ๋ฌธ์œผ๋กœ internal table ์„ ์„ ์–ธํ•œ๋‹ค. 2. ๊ธฐ์กด table ์ฐธ์กฐ ๊ธฐ์กด ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ internal table์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์กด ํ…Œ์ด๋ธ”์€ standard SAP table, ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ table ๋˜๋Š” ๋‹ค๋ฅธ internal table ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. Syntax Data [with header line]. Example DATA gt_sflight TYPE SFLIGHT. 3. ๊ธฐ์กด structure ์ฐธ์กฐ ํ…Œ์ด๋ธ”.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 2.
  • Internal Table, Work area Internal Table ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ถœ๋ ฅ ํ˜•์‹์„ ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋‚ด๋ถ€ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์€ ๋™์ผํ•œ ํ•„๋“œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค(๋™์ผํ•œ structure ๊ตฌ์กฐ) Work Area ๋ฐ์ดํ„ฐ์˜ ๋‹จ์ผ ํ–‰ Internal Table ๊ณผ ๋™์ผํ•œ ํ˜•์‹์ด๋‹ค. Internal table์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ํ•œ ์ค„์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. Internal Table ์œ ํ˜• Internal tables with HEADER line Internal tables without HEADER line. Internal Tables with Header Line ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ work area ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. work area์˜ data type ์€ internal table ๊ณผ ๋™์ผํ•˜๋‹ค. .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 8. 1.
  • Call by Value /Call by Reference /Call by Value and Reference Call by Value ๋„˜๊ฒจ์ฃผ๋Š” ๋ณ€์ˆ˜(Actual Parameter)์™€ ๋ฐ›๋Š” ๋ณ€์ˆ˜(Formal Parameter)๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Call by Reference ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ณต์œ ํ•˜์—ฌ ๋„˜๊ฒจ์ฃผ๋ฉฐ ๊ฐ’์€ ์ฃผ์†Œ์ด๋‹ค. Call by Value and Result ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋„˜๊ฒจ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ตฌ๋ฌธ์—์„œ ์ž‘์—…์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์˜€์„ ๊ฒฝ์šฐ ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ๋˜๋Œ๋ ค ์ค€๋‹ค. ๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ๋‹ค๋ฅธ ์˜์—ญ์„ ์‚ฌ์šฉํ•œ๋‹ค. Call by Value FORM subr USING .. VALUE(pi) [TYPE | LIKE ]. USING ํ‚ค์›Œ๋“œ ๋‹ค์Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž‘์„ฑํ•˜๊ณ , VALUE ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค. VALUE ๊ตฌ๋ฌธ์—์„œ Formal Parameter ๋Š” ์ž์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง„๋‹ค. Subroutine.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 31.
  • [programmers] ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์—์„œ ์ž๋™์ฐจ ์ข…๋ฅ˜๊ฐ€ 'SUV'์ธ ์ž๋™์ฐจ๋“ค์˜ ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ํ‰๊ท  ์ผ์ผ ๋Œ€์—ฌ ์š”๊ธˆ์€ ์†Œ์ˆ˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ , ์ปฌ๋Ÿผ๋ช…์€ AVERAGE_FEE ๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”. ํ’€์ด - SUV ์ธ ์ž๋™์ฐจ๋“ค๋งŒ ์กฐํšŒ -> WHERE ์— ์กฐ๊ฑด ์ฃผ๊ธฐ - ํ‰๊ท  ์š”๊ธˆ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด AVG() ์‚ฌ์šฉ - ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฐ’ ์ถœ๋ ฅ ์œ„ํ•ด ROUND(number, decimals) ์‚ฌ์šฉ SELECT ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE = 'SUV' ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 30.
  • [programmers] ์žฌ๊ตฌ๋งค๊ฐ€ ์ผ์–ด๋‚œ ์ƒํ’ˆ๊ณผ ํšŒ์› ๋ฆฌ์ŠคํŠธ ๊ตฌํ•˜๊ธฐ ๋ฌธ์ œ ONLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ๋™์ผํ•œ ํšŒ์›์ด ๋™์ผํ•œ ์ƒํ’ˆ์„ ์žฌ๊ตฌ๋งคํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•˜์—ฌ, ์žฌ๊ตฌ๋งคํ•œ ํšŒ์› ID์™€ ์žฌ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ID๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ํšŒ์› ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ํšŒ์› ID๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”. ํ’€์ด - ํšŒ์›๋ณ„๋กœ ์–ด๋–ค ํ•ญ๋ชฉ์„ ๊ตฌ๋งคํ–ˆ๋Š”์ง€, ๊ทธ ํšŒ์›์ด ๊ตฌ๋งคํ•œ ํ•ญ๋ชฉ ์ค‘ 2๋ฒˆ ์ด์ƒ ๊ตฌ๋งคํ•œ ํ•ญ๋ชฉ์€ ๋ฌด์—‡์ธ์ง€ ์กฐํšŒํ•ด์•ผํ•˜๋ฏ€๋กœ GROUP BY ๋ฅผ ์‚ฌ์šฉํ•ด ๊ทธ๋ฃนํ™” ํ•œ ํ›„, HAVING ์œผ๋กœ ์žฌ๊ตฌ๋งค(2ํšŒ ์ด์ƒ ๊ตฌ๋งค) ์ฒดํฌ - ์ •๋ ฌ SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) >= 2 ORDER BY USER_ID, PRODU.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 29.
    728x90
    ๋ฌธ์˜์•ˆ๋‚ด
    • ํ‹ฐ์Šคํ† ๋ฆฌ
    • ๋กœ๊ทธ์ธ
    • ๊ณ ๊ฐ์„ผํ„ฐ

    ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ์นด์นด์˜ค์—์„œ ์‚ฌ๋ž‘์„ ๋‹ด์•„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ยฉ Kakao Corp.