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

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

STRING๊ณผ CHAR์˜ ์ฐจ์ด ๋น„๊ต (feat. '(์ž‘์€๋”ฐ์˜ดํ‘œ)์™€ `(๋ฐฑํ‹ฑ) ๋น„๊ต)

ABAP์—์„œ ๋ฌธ์ž์—ด์„ ์„ ์–ธํ•  ๋•Œ, ' '(์ž‘์€๋”ฐ์˜ดํ‘œ)์™€ ` `(๋ฐฑํ‹ฑ)์„ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๋‹จ์ˆœํžˆ ์™ธํ˜•๋งŒ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‚˜ ํ˜• ๋ณ€ํ™˜, ๊ฐ€๋…์„ฑ, ์‹คํ–‰ ์„ฑ๋Šฅ ๋“ฑ์— ์žˆ์–ด ์ค‘์š”ํ•œ ์ฐจ์ด๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด ๋‘ ๋ฐฉ์‹์˜ ์ฐจ์ด๋ฅผ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ , ์–ธ์ œ ์–ด๋–ค ๋ฐฉ์‹์„ ์จ์•ผ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.


๐Ÿ“Œ ์ž‘์€๋”ฐ์˜ดํ‘œ ' '๋Š” CHAR

ABAP์—์„œ ๋ฌธ์ž์—ด์„ ' '๋กœ ๊ฐ์‹ธ๋ฉด, ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž ํƒ€์ž…(CHAR) ๋กœ ์ธ์‹๋œ๋‹ค. 

DATA(text_char) = 'ABAP'.          "  => TYPE c LENGTH 4

 

ํ•˜์ง€๋งŒ ๋ฐ‘์— ์˜ˆ์‹œ์ฒ˜๋Ÿผ ๋ณ€์ˆ˜์— ์ง€์ •๋œ ๊ธธ์ด๋ณด๋‹ค ์งง์€ ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๋’ค์— ๊ณต๋ฐฑ์ด ์ž๋™์œผ๋กœ ์ฑ„์›Œ์ง€๊ฒŒ ๋œ๋‹ค. (Padding)

DATA text1 TYPE c LENGTH 10.
text1 = 'ABAP'.            " ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” 'ABAP      ' ๋กœ ์ €์žฅ๋จ

๐Ÿ“Œ ๋ฐฑํ‹ฑ ` `์€ STRING

๋ฐฑํ‹ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ABAP์—์„œ๋Š” ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž์—ด ํƒ€์ž…(STRING) ์œผ๋กœ ์ž๋™ ์ธ์‹๋œ๋‹ค. 

DATA(text_string) = `ABAP`.       " => TYPE string

 

๊ณต๋ฐฑ์ด ์ž๋™์œผ๋กœ ์ฑ„์›Œ์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ์ž…๋ ฅํ•œ ๊ธธ์ด ๊ทธ๋Œ€๋กœ ์ €์žฅ๋œ๋‹ค. 


๐Ÿ“Œ ๊ณต๋ฐฑ ๋น„๊ต – ์ž‘์€๋”ฐ์˜ดํ‘œ vs ๋ฐฑํ‹ฑ

๊ณต๋ฐฑ์˜ ์ฒ˜๋ฆฌ์—์„œ๋„ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ. ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž.

  • 'ABAP  ' ๊ณ ์ • ๊ธธ์ด CHAR๋กœ ์ €์žฅ๋˜๋ฉฐ, strlen()์€ ์‹ค์ œ ๋‚ด์šฉ์˜ ๊ธธ์ด์ธ 4๋งŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. (์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ๋ฌด์‹œ)
  • `ABAP  `๊ฐ€๋ณ€ ๊ธธ์ด STRING์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ, ๊ณต๋ฐฑ๊นŒ์ง€ ํฌํ•จํ•˜์—ฌ 5๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • CHAR ํƒ€์ž…์€ ๊ณ ์ • ๊ธธ์ด ํŠน์„ฑ์ƒ ๋‚ด๋ถ€์ ์œผ๋กœ ์˜ค๋ฅธ์ชฝ์— ๊ณต๋ฐฑ์„ ์ž๋™์œผ๋กœ ์ฑ„์›Œ ๋„ฃ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ strlen()์€ ์ด ๊ณต๋ฐฑ์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ค์ œ ์ž…๋ ฅ๋œ ๋ฌธ์ž ์ˆ˜๋งŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • STRING ํƒ€์ž…์€ ๊ฐ€๋ณ€ ๊ธธ์ด๋กœ ๊ณต๋ฐฑ๋„ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋กœ ๊ฐ„์ฃผํ•˜๋ฏ€๋กœ, strlen()์€ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๊ทธ๋Œ€๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ๊ฒฐ๋ก 

๊ตฌ๋ถ„ ์ž‘์€๋”ฐ์˜ดํ‘œ( '  ' ) ๋ฐฑํ‹ฑ( `  ` )
ํƒ€์ž… CHAR,  ๊ณ ์ • ๊ธธ์ด  STRING,  ๊ฐ€๋ณ€๊ธธ์ด 
๊ณต๋ฐฑ์ฒ˜๋ฆฌ  ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ž๋™ ํŒจ๋”ฉ, strlen()์—์„œ๋Š” ๋ฌด์‹œ๋จ ๊ณต๋ฐฑ ํฌํ•จ
strlen() ๊ฒฐ๊ณผ ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ์„ ์ œ์™ธํ•œ ์ž…๋ ฅ ๋ฌธ์ž ๊ธธ์ด ์ž…๋ ฅํ•œ ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ์ „์ฒด ๋ฌธ์ž ๊ธธ์ด
์‚ฌ์šฉ ์˜ˆ DB ํ•„๋“œ, ๊ณ ์ • ํฌ๋งท ๋ฐ์ดํ„ฐ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€, ํŒŒ์ผ ์ฒ˜๋ฆฌ, ์œ ์—ฐํ•œ ํ…์ŠคํŠธ

 

ABAP์—์„œ ์ž‘์€๋”ฐ์˜ดํ‘œ ' '์™€ ๋ฐฑํ‹ฑ ` `์€ ๋‹จ์ˆœํ•œ ์Šคํƒ€์ผ ์ฐจ์ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ด ๋‘˜์€ ์ „ํ˜€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์˜๋ฏธํ•˜๋ฉฐ, strlen()์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ๊ธธ์ด๋ฅผ ๋‹ค๋ค„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์˜ ํƒ€์ž…์„ ๊ผญ ํ™•์ธํ•˜๋„๋ก ํ•˜์ž. 

 


โ„น๏ธ ๊ฐ™์ด ์ฝ์œผ๋ฉด ์ข‹์€ ํฌ์ŠคํŒ…

๐Ÿ”— ABAP Clean Code : ๋ณ€์ˆ˜์™€ ๋ฆฌํ„ฐ๋Ÿด(Variables and Literals) - ๋ฌธ์ž์—ด(String)

 

ABAP Clean Code : ๋ณ€์ˆ˜์™€ ๋ฆฌํ„ฐ๋Ÿด(Variables and Literals) - ๋ฌธ์ž์—ด(String)

์ด ๊ธ€์€ ใ€ŽClean ABAP – A Style Guide for Developersใ€ ์„œ์  (written by Klaus Haeuptle, Florian Hoffmann, Rodrigo Jordão, Michel Martin, Anagha Ravinarayan, Kai Westerholz) ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์„ ์ข€ ๋” ์‰ฝ๊ณ 

twossun.tistory.com