์ •์  ๋ถ„์„์„ ์‚ฌ์šฉํ•˜์—ฌ COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ์ฐพ๊ธฐ

์ •์  ๋ถ„์„์„ ์‚ฌ์šฉํ•˜์—ฌ COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

๋ ˆ๊ฑฐ์‹œ COBOL ์‹œ์Šคํ…œ์€ ์€ํ–‰, ๋ณดํ—˜, ์˜๋ฃŒ ๋ฐ ์ •๋ถ€ ๊ธฐ๊ด€์˜ ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ์ธํ”„๋ผ๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ตฌ๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์˜ค๋žœ ์„ธ์›” ๊ฒ€์ฆ๋˜์—ˆ์ง€๋งŒ, ์ˆจ๊ฒจ์ง„ ์ทจ์•ฝ์  ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ๋ฐ ์šด์˜ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•˜๋Š” ๊ฒƒ๋“ค ์ค‘ ๊ฐ€์žฅ ๊ฐ„๊ณผ๋˜๊ธฐ ์‰ฝ์ง€๋งŒ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณ ์ • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.

์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋‹ฌ๋ฆฌ COBOL์€ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์„ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์—„๊ฒฉํ•œ ๋ฐ์ดํ„ฐ ์ •์˜, ๊ณ ์ • ๊ธธ์ด ํ•„๋“œ์— ๋Œ€ํ•œ ์˜์กด์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ๋ฌธ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•ด MOVE, STRING๊ธ€๋ Œ๋ฐ์ผ REDEFINES ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” ๋ชจ๋‘ ์˜๋„์น˜ ์•Š์€ ๋ฎ์–ด์“ฐ๊ธฐ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋Š” ํ…Œ์ŠคํŠธ๋งŒ์œผ๋กœ๋Š” ๊ฐ์ง€ํ•˜๊ธฐ ์–ด๋ ต๊ณ , ํŠนํžˆ ์—ฌ๋Ÿฌ ํŒ€์ด ์ˆ˜์‹ญ ๋…„๊ฐ„ ๊ด€๋ฆฌํ•ด ์˜จ ๋ฐฉ๋Œ€ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ๋Š” ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์ˆจ๊ฒจ์ง„ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ณต๊ฐœ

Smart TS XL์„ ์‚ฌ์šฉํ•˜๋ฉด COBOL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ •๋ฐ€ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์นจ๋ฌต์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ํƒ์ƒ‰

๊ทœ์ • ์ค€์ˆ˜, ๋ณด์•ˆ ๊ฐ•ํ™”, ์‹œ์Šคํ…œ ์•ˆ์ •์„ฑ์— ๋Œ€ํ•œ ์š”๊ตฌ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์„ ํŒŒ์•…ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™ ์ฝ”๋“œ ๊ฒ€ํ† ๋Š” ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ๋Š” ๋น„ํ˜„์‹ค์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ์กฐ์ง์€ ๋” ์‹ฌ์ธต์ ์ธ ํ†ต์ฐฐ๋ ฅ์„ ์–ป๊ธฐ ์œ„ํ•ด ์ž๋™ํ™”๋œ ๋ฐฉ๋ฒ•์— ์˜์กดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„ ์ค‘๋‹จ์ด๋‚˜ ์นจํ•ด๋กœ ์ด์–ด์ง€๊ธฐ ์ „์— ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐํ˜€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ์ง€ํ•˜๋ ค๋ฉด ์ „๋ฌธ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ํ•„๋“œ ์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•˜๊ณ , ํ”„๋กœ์‹œ์ €, ์นดํ”ผ๋ถ, ์‹ฌ์ง€์–ด JCL ์Šคํฌ๋ฆฝํŠธ ์ „๋ฐ˜์— ๊ฑธ์นœ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ถ”์ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„๋Œ€ ์–ธ์–ด์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋œ ๊ธฐ์กด ๋„๊ตฌ๋Š” ์ด๋Ÿฌํ•œ ์ธก๋ฉด์—์„œ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์ ์ ˆํ•œ ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ์œ„ํ—˜์„ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ , ์˜คํƒ์ง€๋ฅผ ์ค„์ด๋ฉฐ, ๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์žฅ๊ธฐ์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ ์šฉ์ด์„ฑ๊ณผ ์•ˆ์ „์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์ด ์•ˆ์ „ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ค‘์š”ํ•œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ์ฒด๊ณ„์ ์ด๊ณ  ์ž๋™ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฐจ๋ก€

COBOL์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ์ดํ•ด

COBOL์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ๊ณ ์ˆ˜์ค€ ๊ตฌ์กฐํ™” ์–ธ์–ด๋ผ๋Š” ํ‰ํŒ ๋•Œ๋ฌธ์— ๊ฐ„๊ณผ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณ ์ • ๊ธธ์ด ํ•„๋“œ, ์žฌ์ •์˜๋œ ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋จผํŠธ, ๊ทธ๋ฆฌ๊ณ  ์ œํ•œ๋œ ๋Ÿฐํƒ€์ž„ ๊ฒ€์‚ฌ์— ์˜์กดํ•˜๋Š” COBOL์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ชจ๋ธ์€ ๋ฏธ๋ฌ˜ํ•˜๊ณ  ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ƒํ™ฉ์— ์ทจ์•ฝํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ๋ˆˆ์— ๋„์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์†์ƒ, ๋…ผ๋ฆฌ ์˜ค๋ฅ˜, ๊ทธ๋ฆฌ๊ณ  ์ตœ์•…์˜ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ์žฅ์•  ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์†์ƒ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

COBOL์€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ์ถ”์ƒํ™”ํ–ˆ์ง€๋งŒ, ๋ถ€์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ์ด๋™, ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋จผํŠธ์˜ ์˜ค์šฉ์€ ์ธ์ ‘ ํ•„๋“œ ๋ฎ์–ด์“ฐ๊ธฐ๋ฅผ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋ฐ์ดํ„ฐ ์‹ ๋ขฐ์„ฑ์ด ์ค‘์š”ํ•˜๊ณ  ์ข…์† ์‹œ์Šคํ…œ ์ „์ฒด์— ์žฅ์• ๊ฐ€ ํ™•์‚ฐ๋  ์ˆ˜ ์žˆ๋Š” ๊ธˆ์œต ์‹œ์Šคํ…œ, ์˜๋ฃŒ ๊ธฐ๋ก ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์ผ๊ด„ ์ฒ˜๋ฆฌ ์ค‘์‹ฌ์˜ ๋ฉ”์ธํ”„๋ ˆ์ž„ ์›Œํฌํ”Œ๋กœ์—์„œ ๋งค์šฐ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ „ํ•˜๊ณ  ์•ˆ์ •์ ์ธ COBOL ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ•„๋“œ์— ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ• ๋‹น๋œ ๊ณต๊ฐ„์„ ์ดˆ๊ณผํ•˜์—ฌ ์ธ์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์Šคํ•„๋ง(spilling)๋  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. COBOL์—์„œ ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. MOVE, STRING๋ฐ UNSTRING๋ฐ์ดํ„ฐ ๊ธธ์ด๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

COBOL์—๋Š” ํฌ์ธํ„ฐ ์—ฐ์‚ฐ์ด๋‚˜ ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ธฐ๋Šฅ์ด ์—†์ง€๋งŒ, ํ•„๋“œ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ๊ธธ์ด์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ๊ฐ€์ •์œผ๋กœ ์ธํ•ด ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—„๊ฒฉํ•˜๊ฒŒ ์ •์˜๋˜๋Š” ์–ธ์–ด ์„ค๊ณ„๋กœ ์ธํ•ด ๋”์šฑ ์•…ํ™”๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. PIC ์กฐํ•ญ์ด ์žˆ์ง€๋งŒ ์‹คํ–‰ ์ค‘์—๋Š” ๊ธธ์ด ๊ฒฝ๊ณ„์˜ ์ ์šฉ์ด ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค.

์˜ˆ:

01 CUSTOMER-NAME     PIC X(10).
...
MOVE "JonathanSmith" TO CUSTOMER-NAME.

์ด ์˜ˆ์—์„œ, CUSTOMER-NAME 10๋ฐ”์ดํŠธ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ 13์ž ๋ฌธ์ž์—ด์„ ์ด๋™ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. "JonathanSmith" ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. "JonathanSm"์˜ค๋ฅ˜ ๋ฐœ์ƒ ์—†์ด ์ฃผ์š” ID ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

COBOL์˜ ์ผ๋ฐ˜์ ์ธ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ์‹œ๋‚˜๋ฆฌ์˜ค

๋” ์งง์€ ํ•„๋“œ๋กœ ์ด๋™:
The MOVE ๋ฌธ์žฅ์€ ์˜๋„์น˜ ์•Š์€ ์˜ค๋ฒ„ํ”Œ๋กœ์˜ ๊ฐ€์žฅ ํ”ํ•œ ์›์ธ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. COBOL์€ ๊ธด ๊ฐ’์„ ๋” ์ž‘์€ ํ•„๋“œ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์„ ๋ง‰์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž˜๋ฆผ์ด๋‚˜ ์˜๋„์น˜ ์•Š์€ ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

01 ACCOUNT-NUMBER        PIC X(8).
01 INPUT-DATA PIC X(20).
...
MOVE INPUT-DATA TO ACCOUNT-NUMBER.

If INPUT-DATA 8์ž๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ฌธ์ž๋Š” ์ž๋™์œผ๋กœ ์ž˜๋ฆฝ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํŠนํžˆ ์žฌ๋ฌด ๋˜๋Š” ๊ณ ๊ฐ ๊ธฐ๋ก ์‹œ์Šคํ…œ์—์„œ ์ •๋ณด๊ฐ€ ๋ถˆ์™„์ „ํ•˜๊ฑฐ๋‚˜ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

STRING๊ณผ UNSTRING์˜ ์˜ค์šฉ:
๊ด€๋ จ ์ž‘์—… STRING UNSTRING ์ถœ๋ ฅ ํ•„๋“œ์˜ ํฌ๊ธฐ๋‚˜ ๊ตฌ๋ถ„์ด ์ ์ ˆํ•˜์ง€ ์•Š์œผ๋ฉด ์ทจ์•ฝํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ ํ•„๋“œ๊ฐ€ ๋„ˆ๋ฌด ์งง์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ธ์ ‘ ํ•„๋“œ๋กœ ๋„˜์น˜๊ฑฐ๋‚˜ ์ œ๋Œ€๋กœ ์ข…๋ฃŒ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

01 FULL-NAME             PIC X(15).
01 FIRST-NAME PIC X(10).
01 LAST-NAME PIC X(10).
...
STRING FIRST-NAME DELIMITED BY SPACE
LAST-NAME DELIMITED BY SIZE
INTO FULL-NAME.

๊ฒฐํ•ฉ๋œ ๊ธธ์ด๊ฐ€ FIRST-NAME LAST-NAME 15์ž๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ์„ฑ์˜ ์ผ๋ถ€๊ฐ€ ์ž˜๋ฆฌ๊ฑฐ๋‚˜ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์˜ค์šฉ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
The REDEFINES ์ ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๊ฐ€ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ํ•„๋“œ์— ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์„ ๊ณต์œ ํ•˜๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

01 PAYMENT-RECORD.
05 PAYMENT-TYPE PIC X(1).
05 PAYMENT-AMOUNT REDEFINES PAYMENT-TYPE
PIC 9(6)V99.
...
MOVE 1234.56 TO PAYMENT-AMOUNT.

์ด ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์€ PAYMENT-TYPE ์™€ ๊ณต์œ ๋จ PAYMENT-AMOUNT. ๋‹ค์ค‘ ๋ฐ”์ดํŠธ ์ˆซ์ž ๊ฐ’์„ ์“ฐ๊ธฐ PAYMENT-AMOUNT ์›๋ณธ ๋ฌธ์ž๋ฅผ ๋ฎ์–ด์”๋‹ˆ๋‹ค PAYMENT-TYPE.

์•„๋ž˜ ์ฒจ์ž ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
COBOL์˜ ๋ฐฐ์—ด ์ธ๋ฑ์‹ฑ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฒ”์œ„ ๊ฒ€์‚ฌ๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ ์–ธ๋œ ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ž˜๋ชป๋œ ์œ„์น˜์—์„œ ์ฝํžˆ๊ฑฐ๋‚˜ ์“ฐ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

01 TRANSACTIONS.
05 TRANSACTION OCCURS 10 TIMES
PIC 9(5).
...
MOVE 10000 TO TRANSACTION(11).

์ด ๋ช…๋ น๋ฌธ์€ 10๊ฐœ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด ๊ฒฝ๊ณ„๋ฅผ ๋„˜๋Š” ์š”์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์”๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์— ๋”ฐ๋ผ ๊ด€๋ จ ์—†๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ๋˜๊ฑฐ๋‚˜ ๋Ÿฐํƒ€์ž„ ๋ถˆ์•ˆ์ •์„ฑ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ 

์˜ค๋Š˜๋‚ ์—๋„ ์—ฌ์ „ํžˆ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋งŽ์€ COBOL ์‹œ์Šคํ…œ์€ ๋ฏผ๊ฐํ•œ ์žฌ๋ฌด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ทœ์ œ ๋ณด๊ณ ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๊ฑด๊ฐ• ๊ธฐ๋ก์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ์—์„œ ๋‹จ์ผ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ ์‹œ ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜์˜ ๋ฌด๊ฒฐ์„ฑ์ด ์†์ƒ๋˜๊ณ , ๊ณ„์‚ฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜, ๋‹ค์šด์ŠคํŠธ๋ฆผ ์‹œ์Šคํ…œ์— ์—ฐ์‡„์ ์ธ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. COBOL์—๋Š” ์ตœ์‹  ๋Ÿฐํƒ€์ž„ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋Š” ์‹ค์ œ ํ™˜๊ฒฝ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ๋•Œ๊นŒ์ง€ ๊ฐ์ง€๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๊ทœ์ œ๋˜๋Š” ๋ถ„์•ผ์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋Š” ๊ทœ์ • ์œ„๋ฐ˜, ๋ณด์•ˆ ๊ฐ์‚ฌ ์‹คํŒจ, ๊ทธ๋ฆฌ๊ณ  ํ‰ํŒ ์†์ƒ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์ด๋‚˜ ์˜ˆ์™ธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ตœ์‹  ์†Œํ”„ํŠธ์›จ์–ด์™€ ๋‹ฌ๋ฆฌ, COBOL ํ”„๋กœ๊ทธ๋žจ์€ ์†์ƒ๋œ ๋ฐ์ดํ„ฐ๋กœ ๊ณ„์† ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋ฒ„ํ”Œ๋กœ ์œ„ํ—˜์„ ์‚ฌ์ „์— ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์ตœ์„ ์˜ ๋ฐฉ๋ฒ•์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์žฅ๊ธฐ์ ์ธ ์šด์˜ ์•ˆ์ „์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์ธ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ์™„ํ™”ํ•˜๋ ค๋ฉด ๋จผ์ € ์œ„ํ—˜์ด ์–ด๋–ป๊ฒŒ, ์–ด๋””์—์„œ ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ธ์‹ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. COBOL ์ฝ”๋“œ์˜ ์ •์  ๋ถ„์„ ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ์‚ฐ ๊ณผ์ •์—์„œ ํ”ผํ•ด๋ฅผ ์ž…ํžˆ๊ธฐ ์ „์— ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ์•ˆ ๋˜๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ  ๋น„์นจํˆฌ์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

COBOL ์ •์  ๋ถ„์„ ์†Œ๊ฐœ

์ •์  ๋ถ„์„์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ์ด ์ œํ•œ์ ์ธ ์ผ๊ด„ ์ž‘์—…์ด๋‚˜ ๋ฉ”์ธํ”„๋ ˆ์ž„ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€ COBOL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, ์ •์  ๋ถ„์„์€ ์ˆจ๊ฒจ์ง„ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ•˜๋Š” ์•ˆ์ „ํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„์„ ํ†ตํ•ด ์กฐ์ง์€ ๊ฐœ๋ฐœ ๋˜๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ์ฃผ๊ธฐ ์ดˆ๊ธฐ์— ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ, ๋ฐ๋“œ ์ฝ”๋“œ, ๋ฐ์ดํ„ฐ ์†์ƒ ๊ฒฝ๋กœ๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

COBOL ์‹œ์Šคํ…œ์€ ์ˆ˜๋ฐฑ๋งŒ ์ค„์˜ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ , ์ˆ˜์‹ญ ๋…„์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜๋ฉฐ, ์™ธ๋ถ€ ์นดํ”ผ๋ถ, JCL ํŒŒ์ผ ๋ฐ ๋ฐ์ดํ„ฐ ์ •์˜์— ์˜์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งฅ๋ฝ์—์„œ ์ˆ˜๋™ ๊ฒ€ํ† ๋Š” ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„ ๋„๊ตฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—†์ด๋„ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ , ์ฝ”๋“œ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์˜๋ฏธ๋ก ์  ์ดํ•ด๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ํ๋ฆ„, ์ œ์–ด ๋กœ์ง, ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ์„ ์ค‘๋‹จํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์šด์˜ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๋ณต์ œํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ •์  ์ฝ”๋“œ ๋ถ„์„์ด๋ž€?

์ •์  ๋ถ„์„์€ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜, ๋ณด์•ˆ ์œ„ํ—˜ ๋ฐ ๊ตฌ์กฐ์  ๊ฒฐํ•จ์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋Ÿฐํƒ€์ž„ ์ „์— ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๋™์  ํ…Œ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ, ์ •์  ๋ถ„์„์€ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ์ง์ ‘ ์ ์šฉํ•˜์—ฌ ์‹คํ–‰ ๊ฒฝ๋กœ์™€ ๊ด€๊ณ„์—†์ด ์ž ์žฌ์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

COBOL์—์„œ ์ •์  ๋ถ„์„์€ ๋ฐ์ดํ„ฐ ํ•„๋“œ ์˜ค์šฉ, ๋ถ€์ ์ ˆํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ , ๋ฌด์ œํ•œ ๋ฐ์ดํ„ฐ ์ด๋™, ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐ์ดํ„ฐ ์ข…์†์„ฑ ๊ฐ์ง€ ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋ณธ, ํ”„๋กœ๊ทธ๋žจ, ์‹ฌ์ง€์–ด ํ•˜์œ„ ์‹œ์Šคํ…œ ์ „๋ฐ˜์— ๊ฑธ์นœ ํ˜„์žฅ ๊ด€๊ณ„.

์žฅ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค :

  • ์ƒ์‚ฐ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ฝ”๋”ฉ ๊ฒฐํ•จ์„ ์กฐ๊ธฐ์— ๊ฐ์ง€
  • ๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์Šค์บ”ํ•˜๋Š” ๊ธฐ๋Šฅ
  • ๊ฐ์‚ฌ, ๋ฌธ์„œํ™” ๋ฐ ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์œ„ํ•œ ์ถ”์ ์„ฑ
  • ์œ ์ง€ ๊ด€๋ฆฌ ์ฃผ๊ธฐ ๋™์•ˆ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ์ƒํƒœ ๊ฒ€์‚ฌ ์ž๋™ํ™”

COBOL ๊ด€๋ จ ์ •์  ๋ถ„์„ ๊ณผ์ œ

ํ˜„๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” ์ •์  ๋ถ„์„์ด ์ผ๋ฐ˜์ ์ด์ง€๋งŒ COBOL์€ ๋ ˆ๊ฑฐ์‹œ ์„ค๊ณ„, ์ ˆ์ฐจ์  ๊ตฌ์กฐ, ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ์— ๋Œ€ํ•œ ์˜์กด์„ฑ์œผ๋กœ ์ธํ•ด ๊ณ ์œ ํ•œ ๊ณผ์ œ๋ฅผ ์•ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

1. ๋ฐฉ์–ธ ๋‹ค์–‘์„ฑ
COBOL์€ IBM Enterprise COBOL, Micro Focus COBOL, RM/COBOL ๋“ฑ ๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์–ธ์–ด๋“ค์€ ๊ตฌ๋ฌธ ํ™•์žฅ, ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค, ๊ทธ๋ฆฌ๊ณ  ๋™์ž‘ ๋ฐฉ์‹์ด ์„œ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํšจ๊ณผ์ ์ธ ๋ถ„์„ ๋„๊ตฌ๋Š” ์ด๋Ÿฌํ•œ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ด์— ์ ์‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. ์นดํ”ผ๋ถ๊ณผ JCL ํ†ตํ•ฉ ํ™œ์šฉ
COBOL ํ”„๋กœ๊ทธ๋žจ์€ ์ž์ฒด ํฌํ•จ ํŒŒ์ผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ์žฌ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ํฌํ•จ๋œ ์นดํ”ผ๋ถ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์™ธ๋ถ€ ํŒŒ์ผ์€ ๋ถ„์„ ๊ณผ์ •์—์„œ ์™„์ „ํžˆ ํ•ด์„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ํ”„๋กœ๊ทธ๋žจ์ด JCL ์Šคํฌ๋ฆฝํŠธ๋‚˜ ๋ฉ”์ธํ”„๋ ˆ์ž„ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์— ์ข…์†๋  ์ˆ˜ ์žˆ์–ด ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์ •์˜ ๋ฐ ์žฌ์ •์˜
์ •์  ๋ถ„์„์€ ํŠนํžˆ ๋ณ€์ˆ˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š”์ง€ ํ•ด์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. REDEFINES, OCCURS๋ฐ ๊ณ„์ธต์  ๊ทธ๋ฃน ํ•„๋“œ. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋ฅผ ์ž˜๋ชป ํ•ด์„ํ•˜๋ฉด ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๊ฐ€ ๋ถ€์ •ํ™•ํ•ด์ง€๊ฑฐ๋‚˜ ์˜คํƒ์ง€๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ œํ•œ๋œ ๋ช…์‹œ์  ํƒ€์ดํ•‘ ๋ฐ ์ œ์–ด ํ๋ฆ„ ๋ช…ํ™•์„ฑ
COBOL์€ ๊ฐ•๋ ฅํ•œ ํƒ€์ดํ•‘์ด ๋ถ€์กฑํ•˜๊ณ  ์ข…์ข… ์•”๋ฌต์ ์ธ ์ œ์–ด ํ๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ฌ์ธต์ ์ธ ์˜๋ฏธ ๋ถ„์„ ์—†์ด๋Š” ๋ณ€์ˆ˜ ๊ฒฝ๊ณ„๋‚˜ ์‹คํ–‰ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ค‘์ฒฉ PERFORM, GO TO๊ธ€๋ Œ๋ฐ์ผ THRU ๋ฌธ์žฅ์€ ๋…ผ๋ฆฌ์  ํ๋ฆ„์„ ๋ชจํ˜ธํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ๋‚ด์žฅ SQL ๋˜๋Š” CICS/IMS ํ˜ธ์ถœ
๋งŽ์€ COBOL ํ”„๋กœ๊ทธ๋žจ์€ SQL์„ ๋‚ด์žฅํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠธ๋žœ์žญ์…˜ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. CICS ๊ทธ๋ฆฌ๊ณ  IMS. ์ด๋Š” ์ •์  ๋ถ„์„๊ธฐ๊ฐ€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๊ฑฐ๋‚˜ ์•ˆ์ „ํ•˜๊ฒŒ ์ถ”์ƒํ™”ํ•ด์•ผ ํ•˜๋Š” ์™ธ๋ถ€ ์ข…์†์„ฑ๊ณผ ๋ถ€์ž‘์šฉ์„ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

๋ณต์†Œ ๋ณ€์ˆ˜ ์ค‘๋ณต์˜ ์˜ˆ:

01 EMPLOYEE-RECORD.
05 EMP-ID PIC 9(5).
05 EMP-NAME PIC X(20).
05 EMP-DATA REDEFINES EMP-NAME.
10 EMP-FIRST PIC X(10).
10 EMP-LAST PIC X(10).

์ด ๊ตฌ์กฐ์—์„œ๋Š” ํ•„๋“œ ๊ธธ์ด๋‚˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ๊ฐ€์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. EMP-NAME ์ฑ„์›Œ์ง€๋ฉด ์ผ๋ถ€๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EMP-LAST ๋ฐ์ดํ„ฐ ๊ฒฝ๊ณ„๊ฐ€ ์ค€์ˆ˜๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์œ ๋Šฅํ•œ ์ •์  ๋ถ„์„ ๋„๊ตฌ๋Š” ์˜ค๋ฒ„ํ”Œ๋กœ ์œ„ํ—˜์„ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์žฌ์ •์˜๋œ ํ•„๋“œ ๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ COBOL ํŠน์œ ์˜ ๋ณต์žก์„ฑ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์ •์  ๋ถ„์„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ณ  ํ•ด์„ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑํ•˜๋ฉด ์ˆจ๊ฒจ์ง„ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ํ‘œ๋ฉดํ™”ํ•˜๊ณ  ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์•ˆ์ •์„ฑ๊ณผ ๋ณด์•ˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ด ๋ฉ๋‹ˆ๋‹ค.

Smart TS XL์„ ์‚ฌ์šฉํ•˜์—ฌ COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€

๋Œ€๊ทœ๋ชจ COBOL ์‹œ์Šคํ…œ์—๋Š” ์–ธ์–ด์˜ ๊ตฌ์กฐ, ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ ๋ฐ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งฅ๋ฝ์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ํƒ์ง€ํ•˜๋ ค๋ฉด ๋‹จ์ˆœํ•œ ํŒจํ„ด ๋งค์นญ ์ด์ƒ์˜ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์ธํ”„๋ ˆ์ž„ ์–ธ์–ด ๊ตฌ๋ฌธ ๋ถ„์„, ๊ณ„์ธต์  ๋ฐ์ดํ„ฐ ์ •์˜ ํ•ด์„, ์นดํ”ผ๋ถ ๋ฐ JCL๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์ข…์†์„ฑ ํ•ด๊ฒฐ, ๊ทธ๋ฆฌ๊ณ  ์žฌ์ •์˜ ๋ฐ ๋ฐฐ์—ด ๊ตฌ์กฐ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ชจ๋ธ๋ง์ด ๊ฐ€๋Šฅํ•œ ์—”์ง„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Smart TS XL์€ ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ •ํ™•ํžˆ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, COBOL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ทจ์•ฝ์  ํƒ์ง€์— ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”Œ๋žซํผ์€ ๊ตฌ๋ฌธ ๊ฒ€์‚ฌ ๊ทธ ์ด์ƒ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜๋ฏธ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๊ฒฝ๊ณ„๋ฅผ ํŒŒ์•…ํ•˜๋ฉฐ, ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ ์ƒํ˜ธ์ž‘์šฉ์„ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์กฐ์ง์ด ํ…Œ์ŠคํŠธ๋‚˜ ์ˆ˜๋™ ๊ฒ€ํ†  ๊ณผ์ •์—์„œ ๊ฐ„๊ณผํ•  ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜ํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ถ”์ ์„ฑ์ด ํ•„์ˆ˜์ ์ธ ๊ทœ์ œ ์‚ฐ์—…์—์„œ ์ด ํ”Œ๋žซํผ์˜ ์—ญํ• ์€ ๋”์šฑ ์ค‘์š”ํ•ด์ง‘๋‹ˆ๋‹ค.

Smart TS XL ๊ฐœ์š”

Smart TS XL์€ COBOL, PL/I, JCL๊ณผ ๊ฐ™์€ ๋ ˆ๊ฑฐ์‹œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ์ •์  ๋ถ„์„ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ํ”„๋กœ์„ธ์„œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ก์„ธ์Šค ๊ณ„์ธต, ๋ณต์žกํ•œ ์ž‘์—… ์ œ์–ด ํ๋ฆ„ ๋“ฑ ๋ฉ”์ธํ”„๋ ˆ์ž„ ์‹œ์Šคํ…œ์˜ ์„ธ๋ถ€์ ์ธ ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • COBOL ์‚ฌ๋ณธ, ์ค‘์ฒฉ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋ฐ REDEFINES์— ๋Œ€ํ•œ ์ „์ฒด ๊ตฌ๋ฌธ ๋ถ„์„ ์ง€์›
  • ๋ฐ์ดํ„ฐ ์ด๋™, ๋ณ€์ˆ˜ ํฌ๊ธฐ ๋ฐ ์ œ์–ด ๋…ผ๋ฆฌ์˜ ์˜๋ฏธ ๋ชจ๋ธ๋ง
  • ์ˆ˜๋ฐฑ๋งŒ ์ค„์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ์ž๋™ํ™”๋œ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์ˆ˜์ง‘
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ, DevOps ํˆด์ฒด์ธ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ณด๊ณ  ๊ณ„์ธต๊ณผ์˜ ํ†ตํ•ฉ

ํ•„๋“œ ์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ๋ชจ๋ธ๋งํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ด๋™์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๋ฅผ ์œ„ํ•œ ์ฃผ์š” ๊ธฐ๋Šฅ

Smart TS XL์€ COBOL์—์„œ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ํŠน์ • ๊ตฌ์กฐ์— ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ ๊ธธ์ด ์‚ฌ์ด์˜ MOVE ์ž‘์—…
  • ํฌ๊ธฐ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๋Œ€์ƒ์— STRING ๋ฐ UNSTRING์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด์„œ ์“ฐ๋Š” ์žฌ์ •์˜ ์˜ค๋ฒ„๋ ˆ์ด
  • ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋กœ ์•ก์„ธ์Šค๋œ ์ธ๋ฑ์‹ฑ๋œ OCCURS ํ…Œ์ด๋ธ”

์˜ˆ โ€“ MOVE ๋ถˆ์ผ์น˜ ๊ฐ์ง€:

01 PRODUCT-NAME         PIC X(12).
01 INPUT-FIELD PIC X(30).
...
MOVE INPUT-FIELD TO PRODUCT-NAME.

๋ถ„์„ ์—”์ง„์€ ์†Œ์Šค ํ•„๋“œ๊ฐ€ ๋Œ€์ƒ ํ•„๋“œ๋ณด๋‹ค ํ›จ์”ฌ ํฌ๊ณ , ์ž˜๋ฆผ ๋ฐฉ์ง€ ์žฅ์น˜๋‚˜ ์‚ฌ์ „ ๊ฒ€์ฆ ๋กœ์ง์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด ์ค„์— ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ์—”์ง„์€ ์ด๋ฅผ ์ธ์ ‘ ํ•„๋“œ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ์ ์ธ ๋ฌด์Œ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

Smart TS XL์€ ์—ฌ๋Ÿฌ ๋ฌธ๋‹จ๊ณผ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ๋ฅด๋Š”์ง€ ์ถ”์ ํ•˜์—ฌ ์ž…๋ ฅ ๊ฐ’์ด ์œ„ํ—˜ ์ง€์ ์œผ๋กœ ์ „ํŒŒ๋˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ „์ฒด ๋งต์„ ๊ตฌ์ถ•ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Smart TS XL์ด ์ •์  ๋ถ„์„์— ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”๊ฐ€

์ด ๋„๊ตฌ๋Š” COBOL ์ฝ”๋“œ๋ฒ ์ด์Šค์˜ ์ถ”์ƒ ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•˜์—ฌ ๋ชจ๋“  include, ์žฌ์ •์˜ ๋ฐ ์ œ์–ด ์ „์†ก์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ํ•„๋“œ ํฌ๊ธฐ, ๋ณ€์ˆ˜ ๋ฒ”์œ„ ๋ฐ ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์‚ฌ์ „์„ ์ƒ์„ฑํ•œ ๋‹ค์Œ, ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์กฐ์ž‘๋˜๊ณ  ์ด๋™๋˜๋Š”์ง€ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ถ”์ (์˜ˆ: ์ž…๋ ฅ์—์„œ ์ตœ์ข… ์‚ฌ์šฉ๊นŒ์ง€ ํ•„๋“œ ์ถ”์ )
  • ํ•„๋“œ ์ •๋ ฌ ๋ฐ ํฌ๊ธฐ ์ ์šฉ ๋…ผ๋ฆฌ
  • ์˜ค๋ฒ„ํ”Œ๋กœ ์ง€์ ์œผ๋กœ ์ด์–ด์ง€๋Š” ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๊ฒฝ๋กœ์˜ ์‹œ๊ฐ์  ๋งคํ•‘
  • COBOL ์–ธ์–ด ๋ณ€ํ˜• ๋ฐ ๋Ÿฐํƒ€์ž„ ์˜ต์…˜์„ ์กด์ค‘ํ•˜๋Š” ์ปจํ…์ŠคํŠธ ์ธ์‹ ๊ตฌ๋ฌธ ๋ถ„์„

์ด ๋ชจ๋ธ๋ง์„ ํ†ตํ•ด ๋„๊ตฌ๋Š” ๋ช…๋ฐฑํ•œ ๊ธธ์ด ๋ถˆ์ผ์น˜๋ฅผ ๊ฐ์ง€ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณต์žกํ•œ ๋ฉ”๋ชจ๋ฆฌ ์žฌ์‚ฌ์šฉ์ด๋‚˜ ๊ฐ„์ ‘ ํ• ๋‹น ํŒจํ„ด๊ณผ ๊ด€๋ จ๋œ ์˜ˆ์™ธ ์‚ฌ๋ก€๋„ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Smart TS XL ์‚ฌ์šฉ์˜ ์ด์ 

COBOL ์ •์  ๋ถ„์„์€ ๊นŠ์ด, ์ •ํ™•์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๊ทœ๋ชจ๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Smart TS XL์€ ์ด ์„ธ ๊ฐ€์ง€ ์ธก๋ฉด์„ ๋ชจ๋‘ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

  • ๋ถ„์„์„ ์œ„ํ•ด ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • COBOL ํŠน์ • ๊ตฌ๋ฌธ ๋ฐ ๋ฐ์ดํ„ฐ ์˜๋ฏธ ์ธ์‹์— ๋Œ€ํ•œ ๋†’์€ ์ถฉ์‹ค๋„
  • ๋…ธ์ด์ฆˆ๋ฅผ ์ค„์—ฌ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ ์œ„ํ—˜๋งŒ ๊ฐ•์กฐํ•˜๋„๋ก ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทœ์ • ์ค€์ˆ˜ ๋˜๋Š” ๊ฐœ๋ฐœ ํŒ€์„ ์œ„ํ•œ ์ถ”์  ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ์‚ฌ ๊ฐ€๋Šฅํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

Smart TS XL ์‹œ์ž‘ํ•˜๊ธฐ

๋ฐฐํฌ์—๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•œ ์ „์ฒด COBOL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ ์Šค์บ”์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  1. ์†Œ์Šค ์ฝ”๋“œ(ํ”„๋กœ๊ทธ๋žจ, ์‚ฌ๋ณธ)
  2. JCL ํŒŒ์ผ ๋ฐ ๊ด€๋ จ ๊ตฌ์„ฑ
  3. ๋ฐฉ์–ธ ํ•ด์„์„ ์œ„ํ•œ ํ™˜๊ฒฝ๋ณ„ ๋…ผ๋ฆฌ

ํ”Œ๋žซํผ์„ ์ˆ˜์ง‘ํ•˜๋ฉด ํŒ€์€ ์‚ฌ์šฉ์ž ์ •์˜ ๊ทœ์น™์„ ์ •์˜ํ•˜๊ณ , ์œ„ํ—˜ ์œ ํ˜•์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๊ณ , ๋ผ์ธ ์ˆ˜์ค€ ๋ฌธ์ œ, ์ œ์–ด ํ๋ฆ„ ๋‹ค์ด์–ด๊ทธ๋žจ, ์œ„ํ—˜ ์š”์•ฝ์„ ํฌํ•จํ•˜๋Š” ์ž์„ธํ•œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ์„ค์ •์—๋Š” ๊ธฐ์กด ๊ฐœ๋ฐœ ํŒŒ์ดํ”„๋ผ์ธ์ด๋‚˜ QA ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฒ€์‚ฌ ํ›„, ์กฐ์ง์€ ์ง€์†์ ์ธ ๋ถ„์„์„ ์˜ˆ์•ฝํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ํ”„๋กœ์„ธ์Šค์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Smart TS XL์˜ ์„ค๊ณ„๋Š” ๊ฐ€๋™ ์ค‘์ง€๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ  ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์™€ ๊ฐ™์€ ์ˆจ๊ฒจ์ง„ ๋ฌธ์ œ๋ฅผ ํฌ์ฐฉํ•˜๋Š” ๊ฒƒ์ด ์‹ค์ œ ์šด์˜์  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๋•์…˜ ๋“ฑ๊ธ‰ ์‹œ์Šคํ…œ์— ๋งž์ถฐ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๋ฅผ ์œ„ํ•œ ๋‹จ๊ณ„๋ณ„ ํ”„๋กœ์„ธ์Šค

COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•œ ์ •์  ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ฒด๊ณ„์ ์ด๊ณ  ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์›Œํฌํ”Œ๋กœ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์€ ์ข…์ข… ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ๋ชจ๋“ˆ, ๋‚ด์žฅ๋œ ์นดํ”ผ๋ถ, ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ ์ •์˜, ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹ญ ๋…„๊ฐ„์˜ ์ˆ˜์ • ๊ณผ์ •์— ๊ฑธ์ณ ๋ถ„์‚ฐ๋œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ด๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†๋‹ค๋ฉด, ์•„๋ฌด๋ฆฌ ์œ ๋Šฅํ•œ ๋ถ„์„ ๋„๊ตฌ๋ผ๋„ ๋ถˆ์™„์ „ํ•˜๊ฑฐ๋‚˜ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์กฐ์ง์ด ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์œ„ํ—˜์„ ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์šฉ์ ์ธ ๋ฐฉ๋ฒ•๋ก ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ชฉํ‘œ๋Š” ์ „์ฒด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์Šค์บ”ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ฐฉ์‹์„ ๋ชจ๋ธ๋งํ•˜๊ณ , ํ•„๋“œ ํฌ๊ธฐ ๋ถˆ์ผ์น˜ ์ง€์ ์„ ๊ฐ์ง€ํ•˜๊ณ , ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์„ ํ‘œ๋ฉดํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ์ด์ „ ๋‹จ๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ํ•„๋“œ ์ˆ˜์ค€์˜ ์ธ์‚ฌ์ดํŠธ๊ฐ€ ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ ๋งฅ๋ฝ์— ๊ธฐ๋ฐ˜ํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

1๋‹จ๊ณ„ โ€“ ์†Œ์Šค ์ฝ”๋“œ ์ค€๋น„

ํšจ๊ณผ์ ์ธ ๋ถ„์„์„ ์œ„ํ•œ ์ฒซ ๋ฒˆ์งธ ์š”๊ฑด์€ ๋ชจ๋“  ๊ด€๋ จ ์†Œ์Šค ์ž๋ฃŒ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” COBOL ํ”„๋กœ๊ทธ๋žจ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์นดํ”ผ๋ถ, ์ž‘์—… ์ œ์–ด ์–ธ์–ด(JCL) ์Šคํฌ๋ฆฝํŠธ, ๊ทธ๋ฆฌ๊ณ  ํ™˜๊ฒฝ๋ณ„ ๋งคํฌ๋กœ๋‚˜ ๊ตฌ์„ฑ ํŒŒ์ผ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์นดํ”ผ๋ถ์ด ํ•˜๋‚˜๋ผ๋„ ๋ˆ„๋ฝ๋˜๋ฉด ๋ฐ์ดํ„ฐ ์ •์˜ ๊ตฌ์กฐ๊ฐ€ ์™œ๊ณก๋˜์–ด ๋ถ„์„ ๊ณผ์ •์—์„œ ์ž˜๋ชป๋œ ๊ฒฐ๋ก ์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ์„ ์ผ๊ด€๋˜๊ณ  ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ•˜์„ธ์š”.

  • ํ•˜๋‚˜์˜ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ
  • ๋ช…ํ™•ํ•˜๊ฒŒ ์ฐธ์กฐ๋œ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์‚ฌ๋ณธ
  • ์‹คํ–‰ ํ๋ฆ„๋ณ„๋กœ ๊ทธ๋ฃนํ™”๋œ JCL ๋ฐ ๊ตฌ์„ฑ ์Šคํฌ๋ฆฝํŠธ

ํ™˜๊ฒฝ๋ณ„ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํŒŒ์ผ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์„ ๋„๊ตฌ๋Š” ๋ณ€์ˆ˜์˜ ๋™์ž‘๊ณผ ์ด๋™์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„์— ๋Œ€ํ•œ ์™„์ „ํ•˜๊ณ  ์ค‘๋‹จ ์—†๋Š” ๋ทฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

2๋‹จ๊ณ„ โ€“ ์ •์  ๋ถ„์„๊ธฐ ๊ตฌ์„ฑ

์†Œ์Šค๊ฐ€ ์–ด์…ˆ๋ธ”๋ง๋˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๋ถ„์„๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. COBOL์—๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ž˜๋ชป๋œ ์–ธ์–ด๋ฅผ ์„ ํƒํ•˜๋ฉด ํŒŒ์‹ฑ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์œ„ํ—˜์„ ๊ฐ„๊ณผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ตฌ์„ฑ์„ ์„ค์ •ํ•˜์„ธ์š”.

  • COBOL ๋ฐฉ์–ธ(์˜ˆ: IBM Enterprise COBOL)
  • ๋ผ์ธ ํ˜•์‹(๊ณ ์ • ๋˜๋Š” ์ž์œ )
  • ๋ณต์‚ฌ๋ถ ํฌํ•จ ๊ฒฝ๋กœ
  • ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ(์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ ๋…ผ๋ฆฌ์šฉ)

๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ๋ง ๊ธฐ๋ณธ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆซ์ž ํ•„๋“œ ํฌ๊ธฐ๊ฐ€ ์ž˜๋ฆด ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ถ„์„ ๋…ผ๋ฆฌ์—์„œ REDEFINES ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ƒํ˜ธ ๋ฐฐํƒ€์  ๋˜๋Š” ์ค‘๋ณต์œผ๋กœ ์ฒ˜๋ฆฌํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„ โ€“ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ ๋˜๋Š” ํ™œ์„ฑํ™”

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

ํƒ€๊ฒŸ์œผ๋กœ ์‚ผ์„ ์ˆ˜ ์žˆ๋Š” ์œ„ํ—˜ํ•œ ํŒจํ„ด์˜ ์˜ˆ:

  • ๊ธด ์˜์ˆซ์ž ํ•„๋“œ์—์„œ ์งง์€ ํ•„๋“œ๋กœ ์ด๋™
  • ๋ฌด์ œํ•œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒฐํ•ฉํ•˜๋Š” STRING ์ž‘์—…
  • ๊ต์ฐจ ํ•„๋“œ ํฌ๊ธฐ ์ œํ•œ์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค ๋ฒ”์œ„ ๊ฒ€์ฆ ์—†์ด ์•ก์„ธ์Šค๋œ ๋ฐฐ์—ด์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ทœ์น™ ๋…ผ๋ฆฌ์˜ ์˜ˆ:

๊ฐ์ง€ํ•  ๋•Œ MOVE ์†Œ์Šค ํ•„๋“œ์—๋Š” PIC X(30) ๋˜๋Š” ๋” ํฌ๊ณ  ๋Œ€์ƒ์—๋Š” ๋‹ค์Œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. PIC X(10) ๋˜๋Š” ๋” ์ž‘์Šต๋‹ˆ๋‹ค. ๋„๊ตฌ๋Š” ์ค‘๊ฐ„ ์ž˜๋ฆผ ๋…ผ๋ฆฌ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์œผ๋ฉด ์ด๋ฅผ ํ”Œ๋ž˜๊ทธ๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. INSPECT or IF LENGTH OF ํ™•์ธ.

4๋‹จ๊ณ„ โ€“ ๋ถ„์„ ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ ๊ฒ€ํ† 

๊ทœ์น™์ด ์„ค์ •๋˜๋ฉด ์ „์ฒด ์ฝ”๋“œ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”. ๋„๊ตฌ๋Š” ์œ ํ˜•, ์‹ฌ๊ฐ๋„, ์œ„์น˜๋ณ„๋กœ ๋ถ„๋ฅ˜๋œ ๊ฒฝ๊ณ  ๋˜๋Š” ๊ฒฐ๊ณผ ๋ชฉ๋ก์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€ํ†  ๊ณผ์ •์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ๋„์™€ ํ™œ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ๊ธฐ์ค€์œผ๋กœ ์กฐ์‚ฌ ๊ฒฐ๊ณผ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ:

  • ๊ณ„์ขŒ๋ฒˆํ˜ธ ํ•„๋“œ์˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋Š” ๊ณ ๊ฐ ์‹๋ณ„์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ ์ œ์–ด ํ•„๋“œ์˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ์ผ๊ด„ ์ž‘์—…์ด ์‹คํŒจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณด๊ณ ์„œ ์ƒ์„ฑ ๋ชจ๋“ˆ์˜ ๋ฌธ์ œ๋Š” ์ถœ๋ ฅ ์ „์šฉ์ธ ๊ฒฝ์šฐ ์œ„ํ—˜์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ํ—˜์„ฑ์ด ๋‚ฎ์€ ๊ฒฝ๊ณ ๋ฅผ ์™„์ „ํžˆ ๋ฌด์‹œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ˆˆ์— ๋„์ง€ ์•Š๊ฒŒ ์ƒํ™ฉ์ด ์•…ํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5๋‹จ๊ณ„ โ€“ ๋ณด๊ณ  ๋ฐ ์ˆ˜์ •

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

  • ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„ ๋ฐ ์ค„ ๋ฒˆํ˜ธ
  • ์˜ค๋ฒ„ํ”Œ๋กœ ๋˜๋Š” ๋ถˆ์ผ์น˜ ์œ ํ˜•
  • ์ œ์•ˆ๋œ ์ˆ˜์ • ๋˜๋Š” ์ฐธ์กฐ ๋…ผ๋ฆฌ ํŒจํ„ด
  • ํ•ด๋‹น๋˜๋Š” ๊ฒฝ์šฐ ๊ต์ฐจ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„

๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํƒ€๊ฒŸ ํ•„๋“œ ํ™•์žฅ
  • ์ž˜๋ฆผ ๊ฒ€์‚ฌ ์†Œ๊ฐœ
  • REDEFINES ๋ ˆ์ด์•„์›ƒ ์žฌ๊ตฌ์„ฑ
  • MOVE ๋˜๋Š” STRING ์ž‘์—… ์ „์— ๊ธธ์ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

์ถ”์ ์„ฑ๊ณผ ๊ฑฐ๋ฒ„๋„Œ์Šค๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฒ„์ „ ๊ด€๋ฆฌ ์›Œํฌํ”Œ๋กœ ๋˜๋Š” ๋ณ€๊ฒฝ ์š”์ฒญ ์‹œ์Šคํ…œ์— ์ˆ˜์ • ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ฉํ•˜์‹ญ์‹œ์˜ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์—…๋ฐ์ดํŠธ ํ›„ ์ •์  ๋ถ„์„์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ๊ณ  ์ƒˆ๋กœ์šด ์œ„ํ—˜์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ •๊ธฐ์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ ์ฃผ๊ธฐ์— ํฌํ•จ์‹œํ‚ค๋ฉด ๊ธฐ์กด COBOL ์‹œ์Šคํ…œ์˜ ๋ณด์•ˆ๊ณผ ๊ฐ์‚ฌ ๊ฐ€๋Šฅ์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•œ ์ˆจ๊ฒจ์ง„ ๋ฐ์ดํ„ฐ ์†์ƒ์— ์ €ํ•ญํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

COBOL ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๊ทœ์น™ ์ž‘์„ฑ

์ •์  ๋ถ„์„์€ ๊ทœ์น™ ์—”์ง„์ด COBOL ์‹œ์Šคํ…œ์˜ ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด์— ๋งž์ถฐ ์กฐ์ •๋  ๋•Œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ทœ์น™ ์„ธํŠธ๋Š” ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฒ„ํ”Œ๋กœ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‹ค๋ฃจ์ง€๋งŒ, ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์—๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๊ทœ์น™ ๊ฐœ๋ฐœ์ด ํ•„์š”ํ•œ ๋„๋ฉ”์ธ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ, ๋ช…๋ช… ๊ทœ์น™ ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์ด ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋ฉด ๋ณด์•ˆ ํŒ€๊ณผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋™์ž‘์„ ์‚ฌ์ „์— ํฌ์ฐฉํ•˜๊ณ , ์˜คํƒ์ง€๋ฅผ ์ค„์ด๋ฉฐ, ์žฌ์ •์˜ ์˜ค๋ฒ„ํ”Œ๋กœ ๋˜๋Š” ์ค‘์ฒฉ ํ•„๋“œ์˜ ์ž๋™ ์ž˜๋ฆผ๊ณผ ๊ฐ™์€ ํƒ์ง€ํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ํ™•๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ง€์ • ๊ทœ์น™์€ ๊ตฌ์กฐ์  ํƒ์ง€(ํŠน์ • COBOL ๋ช…๋ น๋ฌธ์ด๋‚˜ ์ ˆ ๋“ฑ)์™€ ์˜๋ฏธ์  ์˜๋„(๋ณดํ˜ธ๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์ด๋™์ด๋‚˜ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ํ•„๋“œ ํฌ๊ธฐ ๊ฐ€์ • ์‹๋ณ„ ๋“ฑ)๋ฅผ ๊ฒฐํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ทœ์น™์„ ์ •๋ฐ€ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ •์  ๊ทœ์น™ ์—”์ง„์„ ์‚ฌ์šฉํ•œ ํŒจํ„ด ๋งค์นญ

COBOL์„ ์ง€์›ํ•˜๋Š” ์ •์  ๋ถ„์„๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋„๋ฉ”์ธ๋ณ„ ์–ธ์–ด, XML ์Šคํ‚ค๋งˆ, ํŒจํ„ด ํŠธ๋ฆฌ ๋˜๋Š” ์Šคํฌ๋ฆฝํŒ… ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ทœ์น™ ๊ตฌ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋ฉด ๊ทœ์น™์ด ํฌ๊ธฐ ๋ถˆ์ผ์น˜๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์ •ํ™•ํ•œ ์—ฐ์‚ฐ์„ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๋‹น ์—ฐ์‚ฐ์˜ ์ •์˜๊นŒ์ง€ ์ถ”์ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ: ์•ˆ์ „ํ•˜์ง€ ์•Š์€ MOVE ์ž‘์—… ๊ฐ์ง€

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๋ฅผ ์œ„ํ•œ ์ผ๋ฐ˜ ํŒจํ„ด MOVE ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ž…๋‹ˆ๋‹ค.

IF operation = "MOVE"
AND length(source-field) > length(target-field)
AND no truncation or validation logic is present
THEN flag overflow risk

์ผ๋ถ€ ๋ถ„์„๊ธฐ๋Š” AST(์ถ”์ƒ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ) ์ˆ˜์ค€ ์ ‘๊ทผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ, ๋‹ค์Œ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์—ฌ ๊ทœ์น™์„ ๊ตฌ์ฒดํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์†Œ์Šค ํ•„๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. PIC X(n) ์—ฌ๊ธฐ์„œ n > ์ž„๊ณ„๊ฐ’(์˜ˆ: 30)
  • ๋Œ€์ƒ ํ•„๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. PIC X(m) ์—ฌ๊ธฐ์„œ m < ์ž„๊ณ„๊ฐ’(์˜ˆ: 15)
  • The MOVE ์กฐ๊ฑด ์—†์ด ๋ฐœ์ƒ IF LENGTH OF or INSPECT ์ธ๊ทผ
  • ๋‘ ํ•„๋“œ ๋ชจ๋‘ ๊ทธ๋ฃน ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ง์ ‘ ๋งคํ•‘๋˜๊ฑฐ๋‚˜ ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค. REDEFINES

์ฝ”๋“œ ์ƒ˜ํ”Œ :

01 EMAIL-ADDRESS         PIC X(40).
01 USERNAME PIC X(12).
...
MOVE EMAIL-ADDRESS TO USERNAME.

์ด๋Š” ๊ทœ์น™ ์ผ์น˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. EMAIL-ADDRESS ํ• ๋‹น๋Ÿ‰์„ ์ดˆ๊ณผํ•ฉ๋‹ˆ๋‹ค USERNAME, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ž˜ ์ž‘์„ฑ๋œ ๊ทœ์น™์€ ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜๋ฅผ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. EMAIL-ADDRESS ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด๋‚˜ ์™ธ๋ถ€ ๊ธฐ๋ก์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์œ„ํ—˜์ด ์ฆ๊ฐ€ํ•˜๋ฏ€๋กœ ์‹ฌ๊ฐ๋„๋„ ๊ทธ์— ๋”ฐ๋ผ ์กฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๊ธ‰ ๊ฐ์ง€:

๊ณ„์ธต์  ๋…ผ๋ฆฌ๋‚˜ ๋ณต์žกํ•œ ํ๋ฆ„์ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ ๊ทœ์น™์€ ๋‹ค์Œ์„ ์ง€์›ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ๋ฝ ๊ฐ„ ๋ณ€์ˆ˜ ์ถ”์ 
  • PERFORMed ๋ฃจํ‹ด์— ๋Œ€ํ•œ ๋ถ„์„
  • ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๊ฐ„์ ‘์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” MOVE ์ฒด์ธ(A TO B, B TO C)์„ ํ”Œ๋ž˜๊น…ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž˜๋ฆผ์ด ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋  ๋•Œ ์กฐ๊ฑด๋ถ€ ๊ทœ์น™ ์–ต์ œ

๋ณ€์ˆ˜ ํฌ๊ธฐ ๋ฐ ๊ฒฝ๊ณ„ ์ถ”์ 

์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐ์ง€๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์š”์†Œ์˜ ์„ ์–ธ๋œ ํฌ๊ธฐ์™€ ์‹ค์ œ ํฌ๊ธฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. COBOL์˜ ๊ฒฝ์šฐ, ์ด๋Š” ๊ตฌ๋ฌธ ๋ถ„์„์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. PIC ์กฐํ•ญ, ๋ชจ๋“  ์ ์šฉ VALUE or USAGE ์†์„ฑ ๋ฐ ์žฌ์ •์˜๋œ ์ €์žฅ ์˜์—ญ ํ•ด๊ฒฐ.

๊ทœ์น™์—์„œ ๋ชจ๋ธ๋งํ•  ํ•ต์‹ฌ ์š”์†Œ:

  • PIC ์•”์‹œ์  ์†Œ์ˆ˜๋ฅผ ํฌํ•จํ•œ ํฌ๊ธฐ(์˜ˆ: 9(6)V99 ์ด 8๋ฐ”์ดํŠธ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค)
  • OCCURS ์ ˆ ์ฒ˜๋ฆฌ, ๋ฐฐ์—ด ๊ฒฝ๊ณ„๊ฐ€ ์กด์ค‘๋˜๋„๋ก ๋ณด์žฅ
  • ๋ถ€๋ชจ ํ•„๋“œ์— ์ค‘์ฒฉ๋œ ํ•˜์œ„ ํ•„๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ทธ๋ฃน ํ•„๋“œ ์ง‘๊ณ„
  • REDEFINES ์ค‘๋ณต์œผ๋กœ ์ธํ•ด ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ผ๊ด€๋˜์ง€ ์•Š๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Œ

OCCURS ์˜ค์šฉ์˜ ์˜ˆ:

01 TRANSACTION-HISTORY.
05 ENTRY OCCURS 10 TIMES.
10 DATE PIC 9(8).
10 AMOUNT PIC 9(5)V99.
...
MOVE 12345 TO AMOUNT(11).

์ด๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋ฉด ๊ทœ์น™์—์„œ ๋‹ค์Œ ์‚ฌํ•ญ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์„ ์–ธ๋œ ์ƒํ•œ ๊ฒฝ๊ณ„(OCCURS 10)
  • ํ•ด๋‹น ์ธ๋ฑ์Šค 11์€ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.
  • ๋…ผ๋ฆฌ์— ๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ

์ผ๋ถ€ ๋ถ„์„๊ธฐ์—์„œ๋Š” ๋™์  ์ž„๊ณ„๊ฐ’์ด๋‚˜ ์‚ฌ์šฉ์ž ์ •์˜ ์ƒ์ˆ˜๋ฅผ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ๋ณ€์ˆ˜์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋Š” ๊ฒฝ์šฐ(AMOUNT(I)), ๊ทธ๋Ÿฌ๋ฉด ๊ทœ์น™์—๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•˜๋Š” ๋…ผ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. I ์‚ฌ์šฉ ์ „์— ๊ฒ€์ฆ์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ ๊ทœ์น™ ๋…ผ๋ฆฌ(์˜์‚ฌ ์ฝ”๋“œ):

IF variable = OCCURS-array-access
AND subscript-value > OCCURS-declared-size
AND no prior validation of subscript
THEN flag as potential out-of-bounds write

๋”์šฑ ๋ฐœ์ „๋œ ํˆด์„ ์‚ฌ์šฉํ•˜๋ฉด, ํ…Œ์ธํŠธ ๋ถ„์„์„ ํ†ตํ•ด ๊ทœ์น™์„ ๋”์šฑ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—”์ง„์€ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ์‚ฌ์šฉ์ž ์ž…๋ ฅ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ์™ธ๋ถ€ ํŒŒ์ผ์—์„œ ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ถ”์ ํ•˜์—ฌ ์ด๋ก ์ ์ธ ์ธก๋ฉด๋ฟ ์•„๋‹ˆ๋ผ ๊ณต๊ฒฉ๊ณผ ๊ด€๋ จ๋œ ์˜ค๋ฒ„ํ”Œ๋กœ ์œ„ํ—˜์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทœ์น™ ์„ค๊ณ„๋ฅผ ์œ„ํ•œ ๊ธฐํƒ€ ๊ธฐ์ˆ 

  • ์ปจํ…์ŠคํŠธ ์ธ์‹ ์–ต์ œ: ํŠน์ • ์ œ์–ด ๋ธ”๋ก(์˜ˆ: ์•Œ๋ ค์ง„ ์•ˆ์ „ํ•œ ์ž˜๋ฆผ ๋…ผ๋ฆฌ) ๋‚ด์˜ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋œ ์ฝ”๋“œ๋ฅผ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.
  • ์‹ฌ๊ฐ๋„ ์ ์ˆ˜: ์˜ค๋ฒ„ํ”Œ๋กœ ์œ ํ˜•, ๋ฐ์ดํ„ฐ ์ค‘์š”๋„ ๋˜๋Š” ๋…ธ์ถœ ์ˆ˜์ค€์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ๋ณด์„ธ์š”.
  • ํ•„๋“œ ํƒœ๊ทธ ์ง€์ •: ๋” ์—„๊ฒฉํ•œ ์˜ค๋ฒ„ํ”Œ๋กœ ์ž„๊ณ„๊ฐ’์„ ์ ์šฉํ•˜๋ ค๋ฉด ์ค‘์š” ํ•„๋“œ(ID, ์ž”์•ก ๋˜๋Š” ์ œ์–ด ํ”Œ๋ž˜๊ทธ ๋“ฑ)์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

ํƒœ๊ทธ ์‚ฌ์šฉ ์˜ˆ:

01 CUSTOMER-ID      PIC X(10). *> #critical

๊ท€ํ•˜์˜ ๊ทœ์น™ ๋…ผ๋ฆฌ๋Š” ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ํ•„๋“œ์— ๋” ๋†’์€ ์ˆ˜์ค€์˜ ๊ฐ์‹œ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #critical ๋”์šฑ ๋ˆˆ์— ๋„๋Š” ์•Œ๋ฆผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ž, QA, ๋ณด์•ˆ ํŒ€ ๊ฐ„์˜ ๊ธด๋ฐ€ํ•œ ํ˜‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทœ์น™์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฝ”๋”ฉ ํŒจํ„ด ๋ฐ ๋„๋ฉ”์ธ ๋กœ์ง๊ณผ ์ผ์น˜ํ•˜๋ฉด, ๊ฐ„๊ณผ๋œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•œ ์€๋ฐ€ํ•œ ๋ฐ์ดํ„ฐ ์†์ƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ณดํ˜ธ ์žฅ์น˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ์ „๋ฌธ๊ฐ€ ํŒ

COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ํƒ์ง€ํ•˜๋Š” ๊ฒƒ์€ ์ผํšŒ์„ฑ ์ž‘์—…์ด ์•„๋‹™๋‹ˆ๋‹ค. ํŠนํžˆ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์›๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ์‚ฌ๋žŒ๋ณด๋‹ค ์˜ค๋ž˜ ์ง€์†๋˜๋Š” ๋ ˆ๊ฑฐ์‹œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ง€์†์ ์ธ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„์€ ์•ˆ์ „ํ•œ ๊ฐœ๋ฐœ ๋ฐ ์žฅ๊ธฐ์ ์ธ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ผ๋Š” ๋” ๊ด‘๋ฒ”์œ„ํ•œ ๋ฌธํ™”์— ํฌํ•จ๋  ๋•Œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” COBOL ์‹œ์Šคํ…œ์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ํƒ์ง€์˜ ์ •ํ™•์„ฑ, ์•ˆ์ •์„ฑ ๋ฐ ๊ฐ€์น˜๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ์ฃผ์š” ๋ชจ๋ฒ” ์‚ฌ๋ก€์™€ ์ „๋ฌธ ๊ธฐ์ˆ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ •์  ๋ถ„์„๊ณผ ์ˆ˜๋™ ์ฝ”๋“œ ๊ฒ€ํ†  ๊ฒฐํ•ฉ

์ •์  ๋ถ„์„ ๋„๊ตฌ๋Š” ๋น ๋ฅธ ์†๋„์™€ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ์‚ฌ๋žŒ์˜ ๊ฐ๋…์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์ด ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ COBOL ํ”„๋กœ๊ทธ๋žจ์—๋Š” ์ผ๋ฐ˜์ ์ธ ๊ทœ์น™ ์ง‘ํ•ฉ์œผ๋กœ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ๋„๋ฉ”์ธ๋ณ„ ๋กœ์ง์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ํ™”๋œ ๊ฒ€์‚ฌ์™€ ํŠน์ • ๋Œ€์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ˆ˜๋™ ๊ฒ€ํ† ๋ฅผ ๊ฒฐํ•ฉํ•˜๋ฉด ๋ชจํ˜ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์‹ค์ œ ์œ„ํ—˜์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ถ„์„์„ ์œ„ํ•œ ์ „๋žต:

  • ๋น„์ฆˆ๋‹ˆ์Šค์— ์ค‘์š”ํ•œ ๋ชจ๋“ˆ์—์„œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋œ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜๋™ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด ์šฐ์„  ์ˆœ์œ„ ์ง€์ •
  • ์—ฌ๋Ÿฌ ๋ฌธ๋‹จ์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ์— ๊ฑธ์ณ ์žˆ๋Š” MOVE ์ฒด์ธ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ์— ์ง‘์ค‘ํ•˜์„ธ์š”.
  • ๋ณต์žกํ•œ REDEFINES ๊ตฌ์กฐ ํ•ด์„์— ๊ณ ์œ„ COBOL ๊ฐœ๋ฐœ์ž ํฌํ•จ
  • ๋™๋ฃŒ ๊ฒ€ํ† ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฑฐ์ง“ ์–‘์„ฑ์ด ๋” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ€๋ฆฌ์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์˜ˆ:

์ •์  ๋ถ„์„๊ธฐ๋Š” MOVE๋ฅผ ํ”Œ๋ž˜๊ทธ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FIELD-A ์— FIELD-B ํฌ๊ธฐ ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FIELD-B ํ•ญ์ƒ ์‚ฌ์ „์— ์Šน์ธ๋˜๊ฑฐ๋‚˜ ๋กœ๊น…์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ๊ฒ€ํ† ๋Š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ์˜ ๋“ฑ๊ธ‰์„ ๋‚ฎ์ถ”๊ฑฐ๋‚˜ ๊ฐ์‚ฌ์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋ฅผ ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์  ์ฝ˜ํ…์ธ ๋‚˜ ๊ตฌ์„ฑ ํŒŒ์ผ์ด ์‹ค์ œ ๋™์ž‘์„ ์ง€์‹œํ•  ๋•Œ ๋ชจํ˜ธํ•œ ํ•„๋“œ ํฌ๊ธฐ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ๋„ ์ˆ˜๋™ ์ž…๋ ฅ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ๊ฒ€ํ† ๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ๊ตฌ์กฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ฐ„์˜ ๊ฐ„๊ทน์„ ๋ฉ”์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ„์„ ์›Œํฌํ”Œ๋กœ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ์ž๋™ํ™”

์ •์  ๋ถ„์„์€ ์ผ์ƒ์ ์ธ ์›Œํฌํ”Œ๋กœ์— ํฌํ•จ๋  ๋•Œ ๋”์šฑ ๊ฐ•๋ ฅํ•ด์ง‘๋‹ˆ๋‹ค. ์ž„์‹œ๋ฐฉํŽธ์œผ๋กœ ์ˆ˜๋™์œผ๋กœ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ข…์ข… ์˜ค๋ž˜๋œ ๊ฒฐ๊ณผ์™€ ํšŒ๊ท€ ๋ถ„์„ ๋ˆ„๋ฝ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ํ†ต์ œ๋˜๊ณ  ๋ฒ„์ „ ๊ด€๋ฆฌ๋˜๋Š” ํ”„๋กœ์„ธ์Šค์— ๋ถ„์„์„ ํ†ตํ•ฉํ•˜์—ฌ ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ๊ฒฐ๊ณผ๊ฐ€ ์ง„ํ™”ํ•˜๋„๋ก ํ•˜์„ธ์š”.

์›Œํฌํ”Œ๋กœ ํ†ตํ•ฉ ํŒ:

  • ์ •๊ธฐ์ ์ธ ์ „์ฒด ๊ฒ€์‚ฌ ์ผ์ •์„ ์žก์œผ์„ธ์š”(๋งค์ฃผ, ๋งค์›” ๋˜๋Š” ๊ฐ ๋ฆด๋ฆฌ์Šค ์ฐฝ ์ดํ›„)
  • ์†Œ์Šค ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๊ณ  ๋ฒ„์ „ ์Šค์บ” ์ถœ๋ ฅ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ๋ฅผ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‚˜ ํ‹ฐ์ผ“ ๋Œ€๊ธฐ์—ด์— ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์˜ค๋ฒ„ํ”Œ๋กœ ๋˜๋Š” ์žฌ๋„์ž…๋œ ์˜ค๋ฒ„ํ”Œ๋กœ๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ค€์„  ๋น„๊ต๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ทœ๋ชจ ํŒ€์ด๋‚˜ ๊ทœ์ œ๋œ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ, ๊ฐ์‚ฌ ํŒจํ‚ค์ง€์— ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”. ์ด๋Š” ์ทจ์•ฝ์ ์ด ๊ฐ์ง€๋˜์—ˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ทจ์•ฝ์ ์„ ์ง€์†์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ž๋™ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ์˜ˆ:

  1. ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„๋“œ ํฌ๊ธฐ ์ˆ˜์ •์„ ํฌํ•จํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.
  2. ์ •์  ๋ถ„์„๊ธฐ๋Š” ํ•ด๋‹น ๋ถ„์•ผ์™€ ๊ด€๋ จ๋œ ์ƒˆ๋กœ์šด ์œ„ํ—˜์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  3. ๋„๊ตฌ๋Š” ํŒŒ์ผ ์ด๋ฆ„, ์ค„ ๋ฒˆํ˜ธ ๋ฐ ์ œ์•ˆ๋œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋Š” ํ‹ฐ์ผ“์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ฒ€ํ† ์ž๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹œ์ • ์กฐ์น˜๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์žฌ๋ถ„์„์„ ํ†ตํ•ด ํ•ด๊ฒฐ์ด ํ™•์ธ๋œ ํ›„์—๋งŒ ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋Š” ๊ฐ€๋”์”ฉ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณด์•ˆ ์ž‘์—…์ด ์•„๋‹Œ ์ผ์ƒ์ ์ธ ํ’ˆ์งˆ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฒ„ํ”Œ๋กœ ์•ˆ์ „์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฅ ์•ˆ์ „์„ ์œ„ํ•œ ๋ช…ํ™•ํ•œ ์ฝ”๋”ฉ ํ‘œ์ค€ ์ˆ˜๋ฆฝ

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•œ ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ์žฅ๊ธฐ์  ๋ฐฉ์–ด์ฑ… ์ค‘ ํ•˜๋‚˜๋Š” ํ•„๋“œ์˜ ํฌ๊ธฐ, ์ ‘๊ทผ ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ์žฌ์ •์˜ ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๊ธฐ์กด COBOL ์‹œ์Šคํ…œ์€ ํ‘œ์ค€ํ™”๋œ ์ง€์นจ์ด ๋ถ€์กฑํ•˜๋ฉฐ, ํŠนํžˆ ์—ฌ๋Ÿฌ ๊ณต๊ธ‰์—…์ฒด์—์„œ ๊ฐœ๋ฐœํ–ˆ๊ฑฐ๋‚˜ ์ˆ˜์‹ญ ๋…„์— ๊ฑธ์ณ ๊ฐœ๋ฐœ๋œ ๊ฒฝ์šฐ ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

๊ถŒ์žฅ๋˜๋Š” ์‚ฌ๋ก€:

  • ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํฌ๊ธฐ ๋ถˆ์ผ์น˜๊ฐ€ ์žˆ๋Š” ํ•„๋“œ ๊ฐ„์˜ MOVE ์ž‘์—…์„ ํ”ผํ•˜์‹ญ์‹œ์˜ค.
  • ์ฃผ์„์€ ์‚ฌ์šฉ ๋ฐ ์˜ˆ์ƒ ๊ฐ’ ํ•œ๋„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•„์ˆ˜์ ์ด๊ณ  ์ž˜ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ํ•œ REDEFINES ๋‚ด์— OCCURS๋ฅผ ์ค‘์ฒฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
  • ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ธธ์ด ์˜ˆ์ƒ์„ ๋ฐ˜์˜ํ•˜๋Š” PIC ์ ˆ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • ๊ทœ์น™ ํƒ€๊ฒŸํŒ… ๋ฐ ๊ฒ€ํ†  ์ดˆ์ ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์„์˜ ์ค‘์š” ํ•„๋“œ์— ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ด€ํ–‰์„ ๊ณต์‹ํ™”ํ•˜๋ฉด ํŒ€์€ ์˜ค๋ฒ„ํ”Œ๋กœ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ๊ณผ ์ž๋™ ์Šค์บ” ๊ฒฐ๊ณผ์˜ ๋…ธ์ด์ฆˆ ์–‘์„ ๋ชจ๋‘ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฅผ ์šด์˜ ๋ฐ์ดํ„ฐ์™€ ์—ฐ๊ด€์‹œํ‚ต๋‹ˆ๋‹ค.

๋ถ„์„ ๊ฒฐ๊ณผ๋Š” ์šด์˜ ํ™˜๊ฒฝ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๊ณผ ์—ฐ๊ณ„๋  ๋•Œ ํ›จ์”ฌ ๋” ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊น… ๋ฐ์ดํ„ฐ, ์ธ์‹œ๋˜ํŠธ ๊ธฐ๋ก, ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •์  ๋ถ„์„ ๊ฒฐ๊ณผ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜์‹ญ์‹œ์˜ค. ์ค‘์š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ž‘์€ ์˜ค๋ฒ„ํ”Œ๋กœ๋Š” ๋ณด๊ณ ์„œ ์ถœ๋ ฅ ๋ฃจํ‹ด์˜ ํฐ ์˜ค๋ฒ„ํ”Œ๋กœ๋ณด๋‹ค ๋” ์‹œ๊ธ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•:

  • ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ง€์ •๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ์ž ์ง€ํ–ฅ ์–‘์‹์ด๋‚˜ API ์ž…๋ ฅ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
  • ์•Œ๋ ค์ง„ ์‚ฌ๊ณ  ๋˜๋Š” ๊ฒฐํ•จ ๋ณด๊ณ ์„œ์— ๋Œ€ํ•œ ๋งํฌ ๋ถ„์„ ๊ฒฐ๊ณผ
  • ๋Ÿฐํƒ€์ž„ ๋นˆ๋„ ๋ฐ ๋ฐ์ดํ„ฐ ๋ณ€๋™์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฒ„ํผ ์œ„ํ—˜ ํ‰๊ฐ€

์ด๋Ÿฌํ•œ ๋งฅ๋ฝ์€ ํ˜„์‹ค์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์œ„ํ—˜์„ฑ์ด ์žˆ๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์‹œ์ • ๋…ธ๋ ฅ์— ์ง‘์ค‘ํ•˜๊ณ  ๊ธฐ์กด ๋ชจ๋“ˆ์„ ํ˜„๋Œ€ํ™”ํ•˜๋Š” ๋ฐ ๋Œ€ํ•œ ํˆฌ์ž ์‚ฌ๋ก€๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฅด๋ฉด ์กฐ์ง์€ ๋ฐ˜์‘ํ˜• ์Šค์บ๋‹์„ ๋„˜์–ด COBOL ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์† ๊ฐ€๋Šฅํ•˜๊ณ  ๋†’์€ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฐ–์ถ˜ ์œ ์ง€ ๊ด€๋ฆฌ ๋ชจ๋ธ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๋Š” ๋‹จ์ˆœํ•œ ๊ธฐ์ˆ ์  ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ ์žฅ๊ธฐ์ ์ธ ์ฝ”๋“œ ์ƒํƒœ์™€ ์•„ํ‚คํ…์ฒ˜ ์•ˆ์ •์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค.

์ˆจ๊ฒจ์ง„ ์œ„ํ—˜ ์ œ๊ฑฐ๋ฅผ ํ†ตํ•œ ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๊ฐ•ํ™”

COBOL์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ๋ ˆ๊ฑฐ์‹œ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ ์ˆจ๊ฒจ์ ธ ์žˆ์ง€๋งŒ ์ง€์†์ ์ธ ์œ„ํ˜‘์ž…๋‹ˆ๋‹ค. ์ˆ˜๋…„๊ฐ„ ๊ฐ์ง€๋˜์ง€ ์•Š๊ณ  ๋‚จ์•„ ๋ฐ์ดํ„ฐ ์ •ํ™•์„ฑ, ์šด์˜ ์•ˆ์ •์„ฑ, ๊ทธ๋ฆฌ๊ณ  ์‹œ์Šคํ…œ ๋ณด์•ˆ์„ ์กฐ์šฉํžˆ ์ €ํ•ดํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ๊ณผ ๋‹ฌ๋ฆฌ COBOL ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋Š” ๋ˆˆ์— ๋„๋Š” ์ถฉ๋Œ์ด๋‚˜ ๊ฒฝ๊ณ ๋ฅผ ๊ฑฐ์˜ ์ผ์œผํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , ์ถ”์ ํ•˜๊ธฐ๋Š” ์–ด๋ ต์ง€๋งŒ ๋ฌด์‹œํ•˜๊ธฐ์—๋Š” ํฐ ๋น„์šฉ์ด ๋“œ๋Š”, ์กฐ์šฉํ•œ ์ž˜๋ฆผ, ์†์ƒ๋œ ๋ ˆ์ฝ”๋“œ, ๋˜๋Š” ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์˜ค๋ฅ˜๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ •์  ๋ถ„์„์€ ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์„ ์กฐ๊ธฐ์— ๋Œ€๊ทœ๋ชจ๋กœ ์‹๋ณ„ํ•˜๋Š” ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ์นดํ”ผ๋ถ, ์žฌ์ •์˜, ์ ˆ์ฐจ์  ๋ถ„๊ธฐ ๋“ฑ์—์„œ ๋ฐ์ดํ„ฐ ์ด๋™์„ ์ถ”์ ํ•˜์—ฌ ํ•„๋“œ ๊ฒฝ๊ณ„๋ฅผ ์ดˆ๊ณผํ•˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์ด ๋ฎ์–ด์”Œ์›Œ์ง„ ์œ„์น˜๋ฅผ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ์‚ดํŽด๋ณด์•˜๋“ฏ์ด, COBOL์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ํƒ์ง€๋Š” ๋‹จ์ˆœํžˆ ์ฝ”๋“œ ์ค„์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์„ ์ดํ•ดํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ๋ฅผ ํ•ด์„ํ•˜๊ณ , ์‹ค์ œ ์œ„ํ—˜์„ ๋ฐ˜์˜ํ•˜๋Š” ํŠน์ • ๊ทœ์น™์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ฑ๊ณต์€ ๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์›์น™์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ž…๋ ฅ์˜ ์ฒ ์ €ํ•œ ์ค€๋น„, ์ •ํ™•ํ•œ ๊ทœ์น™ ์ •์˜, ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์‹ ์ค‘ํ•œ ํ•ด์„, ๊ทธ๋ฆฌ๊ณ  ์ •๊ธฐ์ ์ธ ์›Œํฌํ”Œ๋กœ์— ๋ถ„์„์„ ํฌํ•จ์‹œํ‚ค๋ ค๋Š” ์˜์ง€์ž…๋‹ˆ๋‹ค. COBOL ์ •์  ๋ถ„์„์— ํŠนํ™”๋œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒ€์€ ๋ฐœ๊ฒฌ ์—ฌ๋ถ€๊ฐ€ ํ™•์ธ๋˜๋”๋ผ๋„ ๋ช‡ ์ฃผ ๋™์•ˆ ์ˆ˜์ž‘์—… ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ‘œ๋ฉดํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋…ธ๋ ฅ์€ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์˜ ๋ณด์•ˆ, ์•ˆ์ •์„ฑ, ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•˜๋ ค๋Š” ๋” ํฐ ๋ชฉํ‘œ์˜ ์ผํ™˜์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜์„ ์ง€์†์ ์œผ๋กœ ๋’ท๋ฐ›์นจํ•˜๋ฉฐ, ์ตœ์‹  ํ”Œ๋žซํผ๊ณผ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ์ฒ ์ €ํ•œ ๊ฒ€ํ† ์™€ ๋ณดํ˜ธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ •์  ๋ถ„์„์„ COBOL ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ์ „๋žต์— ํฌํ•จํ•จ์œผ๋กœ์จ ์กฐ์ง์ด ์˜์กดํ•˜๋Š” ํ•ต์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์žฅ๊ธฐ์ ์ธ ์•ˆ์ „์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์— ํˆฌ์žํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.