๋ฐ์ดํ„ฐ ํ˜„๋Œ€ํ™”๋ฅผ ์œ„ํ•œ VSAM ํŒŒ์ผ ๊ตฌ์กฐ ๋ถ„์„

๋ฐ์ดํ„ฐ ํ˜„๋Œ€ํ™” ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ VSAM ํŒŒ์ผ ๊ตฌ์กฐ ๋ถ„์„

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

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

๊ณต์œ  ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ์ฒด๊ณ„์ ์ธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

SMART TS XL ๋Œ€์ƒ ์Šคํ‚ค๋งˆ ์„ค๊ณ„์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”โ€ฆ

์ฐจ๋ก€

VSAM ๊ธฐ๊ด€ ๋„ค ๊ณณ๊ณผ ๊ฐ ๊ธฐ๊ด€์˜ ์š”๊ตฌ ์‚ฌํ•ญ

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

KSDS(Key-Sequenced Data Set) ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ VSAM(Virtual Storage Asset Management) ๊ตฌ์„ฑ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ ํ‚ค(ํ”„๋ผ์ž„ ํ‚ค)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์–ด ํ‚ค๋ฅผ ์ด์šฉํ•œ ์ง์ ‘ ์ ‘๊ทผ๊ณผ ํ‚ค ์ˆœ์„œ๋Œ€๋กœ์˜ ์ˆœ์ฐจ์  ์ ‘๊ทผ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. KSDS ํŒŒ์ผ์€ ์„ ํƒ์ ์œผ๋กœ ๋Œ€์ฒด ์ธ๋ฑ์Šค, ์ฆ‰ ๋ณด์กฐ ํ‚ค ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ํ‚ค ์ด์™ธ์˜ ํ•„๋“œ๋กœ๋„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. KSDS์˜ ๊ฐ€์žฅ ์ด์ƒ์ ์ธ ๋Œ€์ƒ์€ ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”์ด๋ฉฐ, ์ด ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ‚ค๋Š” ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋˜๊ณ  ๋Œ€์ฒด ์ธ๋ฑ์Šค๋Š” SQL ์ธ๋ฑ์Šค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

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

RRDS(Relative Record Data Set)๋Š” ์ƒ๋Œ€ ๋ ˆ์ฝ”๋“œ ๋ฒˆํ˜ธ๋กœ ์ฃผ์†Œ๊ฐ€ ์ง€์ •๋œ ๊ณ ์ • ๊ธธ์ด ๋ ˆ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์˜ ๊ฐ ์Šฌ๋กฏ์€ ๋ ˆ์ฝ”๋“œ ๋ฒˆํ˜ธ์— ํ•ด๋‹นํ•˜๋ฉฐ, ์Šฌ๋กฏ์€ ๋น„์–ด ์žˆ๊ฑฐ๋‚˜ ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RRDS ํŒŒ์ผ์€ ๋ ˆ์ฝ”๋“œ ๋ฒˆํ˜ธ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜๋ฏธ ์žˆ๋Š” ์ง์ ‘ ์•ก์„ธ์Šค ์‹œ๋‚˜๋ฆฌ์˜ค์— ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ฐ„๋‹จํ•œ ์กฐํšŒ ํ…Œ์ด๋ธ”์ด๋‚˜ ํ•ด์‹œ ๊ธฐ๋ฐ˜ ์ €์žฅ์†Œ๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ์ž‘๊ณ  ์ž์ฃผ ์•ก์„ธ์Šค๋˜๋Š” ๊ฒฝ์šฐ, RRDS ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋Œ€์ƒ์€ ์ˆซ์ž ์‹œํ€€์Šค ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง„ ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ” ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ์กฐํšŒ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

LDS(Linear Data Set) ๋Š” VSAM์—์„œ ๋ ˆ์ฝ”๋“œ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์—†๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์˜ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. ์ด๋Š” VSAM ๋ฐ”์ดํŠธ ๋ฒ”์œ„ ๋‚ด์—์„œ ์ž์ฒด์ ์ธ ๋‚ด๋ถ€ ํ˜•์‹์„ ๊ด€๋ฆฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์ผ๋ฐ˜์ ์œผ๋กœ DB2, Java ์›Œํฌ๋กœ๋“œ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กœ๊ทธ๋žจ)์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. LDS ํŒŒ์ผ์€ ํ‘œ์ค€ COBOL ํ•จ์ˆ˜ ์ข…์†์„ฑ ํ•ญ๋ชฉ์„ ํ†ตํ•ด ๋ถ„์„ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ํ•ด๋‹น ๊ตฌ์กฐ๋Š” ํŒŒ์ผ์„ ๊ธฐ๋กํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

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

๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ ๋ถ„์„ ๋ฌธ์ œ

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

FD ํ•ญ๋ชฉ ๋ฐ COPY ํšŒ์›

VSAM ๋ฐ์ดํ„ฐ์…‹์˜ ๋ ˆ์ฝ”๋“œ ๊ตฌ์กฐ๋Š” COBOL DATA DIVISION์˜ FILE DESCRIPTION(FD) ํ•ญ๋ชฉ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž˜ ๊ด€๋ฆฌ๋œ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ๋Š” FD ํ•ญ๋ชฉ์ด COPY ๋ฉค๋ฒ„๋ฅผ ์ฐธ์กฐํ•˜๋Š”๋ฐ, ์ด ๋ฉค๋ฒ„๋Š” ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ๊ณต์œ  ๋ณต์‚ฌ๋ณธ์œผ๋กœ, ๋ฐ์ดํ„ฐ์…‹์— ์ ‘๊ทผํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์—์„œ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋ณผ

       FILE SECTION.
       FD  CUSTOMER-FILE
           LABEL RECORDS ARE STANDARD
           RECORD CONTAINS 250 CHARACTERS.
       01  CUSTOMER-RECORD.
           COPY CUSTMSTR.

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

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ถ„์„์„ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ํ•จ์ˆ˜ ์ข…์†์„ฑ(FD) ํ•ญ๋ชฉ์„ ํ•ด๋‹น ์นดํ”ผ๋ถ์œผ๋กœ ์ถ”์ ํ•ด์•ผ ํ•˜๋ฉฐ, ๋ชจ๋“  ์นดํ”ผ๋ถ์„ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์— ๋งคํ•‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๋ ˆ์ด์•„์›ƒ ์ข…์†์„ฑ ๊ทธ๋ž˜ํ”„๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฒ”์œ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.

์žฌ์ •์˜: ์—ฌ๋Ÿฌ ๋ ˆ์ด์•„์›ƒ, ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ

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

์ฝ”๋ณผ

       01  TRANSACTION-RECORD.
           05  TXN-TYPE        PIC X(2).
           05  TXN-COMMON-DATA PIC X(48).
           05  TXN-DETAIL      REDEFINES TXN-COMMON-DATA.
               10  TXN-PAYMENT.
                   15  PAY-AMOUNT     PIC S9(11)V99 COMP-3.
                   15  PAY-CURRENCY   PIC X(3).
                   15  PAY-METHOD     PIC X(2).
                   15  FILLER         PIC X(28).
           05  TXN-WITHDRAWAL  REDEFINES TXN-COMMON-DATA.
               10  WDR-AMOUNT     PIC S9(11)V99 COMP-3.
               10  WDR-ACCOUNT    PIC 9(12).
               10  WDR-BRANCH     PIC 9(5).
               10  FILLER         PIC X(18).

์ด ์Œ๋ฐ˜์€ ๋ ˆ์ด์•„์›ƒ์ด ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ ์„ธ ๊ฐ€์ง€์ด๋ฉฐ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. TXN-TYPE๋Œ€์ƒ ๊ด€๊ณ„ํ˜• ์Šคํ‚ค๋งˆ์—์„œ ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹คํ˜•์„ฑ ํ…Œ์ด๋ธ” ์„ค๊ณ„(๊ฐ ๋ณ€ํ˜•์— ๋Œ€ํ•ด null ํ—ˆ์šฉ ์—ด์„ ๊ฐ€์ง„ ๋‹จ์ผ ๋„ˆ๋น„ ํ…Œ์ด๋ธ”), ์ •๊ทœํ™”๋œ ์„ค๊ณ„(๋ถ€๋ชจ ํ–‰๊ณผ ์œ ํ˜•๋ณ„ ์ž์‹ ํ–‰), ๋˜๋Š” ๋ณ€ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” JSON ์—ด ์ค‘ ํ•˜๋‚˜๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์€ ๋ฌด์—‡์„ ๋ถ„์„ํ•˜์ง€ ์•Š๊ณ ๋Š” ๋‚ด๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. TXN-TYPE ๋ฐ์ดํ„ฐ์— ์กด์žฌํ•˜๋Š” ๊ฐ’๊ณผ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” REDEFINES ๋ณ€ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์™„์ „ํ•œ ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ ๋ถ„์„์—๋Š” ๋‹ค์Œ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

COMP-3 ๋ฐ ์ˆ˜์น˜ ์ •๋ฐ€๋„

์ฝ”๋ณผ์˜ PIC S9(11)V99 COMP-3 ํŒฉํ˜• ์‹ญ์ง„์ˆ˜(packed decimal)๋Š” SQL ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ํ˜•์‹์—๋Š” ์ง์ ‘์ ์œผ๋กœ ๋Œ€์‘ํ•˜๋Š” ํ˜•์‹์ด ์—†๋Š” ํŠน์ •ํ•œ ์ •๋ฐ€๋„ ๋ฐ ์Šค์ผ€์ผ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. V ์†Œ์ˆ˜์ ์ด ์•”์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ฐ’์€ ์†Œ์ˆ˜์  ์ดํ•˜ ๋‘ ์ž๋ฆฌ๊นŒ์ง€ ํ‘œ์‹œ๋˜๋Š” ์ •์ˆ˜๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. COMP-3 ๋ฐ”์ดํŠธ๋‹น ๋‘ ์ž๋ฆฌ ์‹ญ์ง„์ˆ˜๋ฅผ ์ €์žฅํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ ๋ฐ˜ ๋ฐ”์ดํŠธ์—๋Š” ๋ถ€ํ˜ธ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

์ด ํ•„๋“œ๋ฅผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ ์˜ฌ๋ฐ”๋ฅธ SQL ๋Œ€์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. DECIMAL(13, 2)๊ฐ€ ์•„๋‹Œ FLOAT์ด๋Š” ๋ฐ˜์˜ฌ๋ฆผ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ๊ฒƒ์ด๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. INTEGER์ด๋Š” ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ์žƒ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค. COMP-3 ํ•„๋“œ์— ๊ธˆ์•ก์ด ์ €์žฅ๋˜๋Š” ๊ธˆ์œต ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ, ์ •๋ฐ€๋„ ์š”๊ตฌ ์‚ฌํ•ญ์€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. PIC S9(11)V99 COMP-3 ๋Œ€์ƒ ์Šคํ‚ค๋งˆ์˜ ๋ถ€๋™ ์†Œ์ˆ˜์  ์œ ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด ๋ฐฐ์น˜ ์‹คํ–‰ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ˆ„์ ๋˜๋Š” ๋ฐ˜์˜ฌ๋ฆผ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ทœ์ œ ๋ณด๊ณ ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ ์Šคํ‚ค๋งˆ ์„ค๊ณ„๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ๋ชจ๋“  ํ•จ์ˆ˜ ์ข…์†์„ฑ(FD) ํ•ญ๋ชฉ์˜ ๋ชจ๋“  COMP-3 ํ•„๋“œ๋Š” ์ •ํ™•ํ•œ ์ •๋ฐ€๋„, ์ฒ™๋„ ๋ฐ ๋ถ€ํ˜ธ ๊ทœ์น™๊ณผ ํ•จ๊ป˜ ๋ฌธ์„œํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

COBOL ์†Œ์Šค ์ฝ”๋“œ์—์„œ VSAM ์•ก์„ธ์Šค ํŒจํ„ด ๋ถ„์„

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

SELECT ์ ˆ: ์ฒซ ๋ฒˆ์งธ ์‹ ํ˜ธ

ENVIRONMENT DIVISION ์ ˆ์˜ SELECT ์ ˆ์€ COBOL ํ”„๋กœ๊ทธ๋žจ์ด VSAM ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋ณผ

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CUSTOMER-FILE
               ASSIGN TO CUSTFILE
               ORGANIZATION IS INDEXED
               ACCESS MODE IS DYNAMIC
               RECORD KEY IS CUST-PRIME-KEY
               ALTERNATE RECORD KEY IS CUST-ALT-KEY
                   WITH DUPLICATES
               FILE STATUS IS WS-CUST-STATUS.

์ด SELECT ์ ˆ์€ ๋‹ค์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • ORGANIZATION IS INDEXED โ†’ KSDS
  • ACCESS MODE IS DYNAMIC โ†’ ํ”„๋กœ๊ทธ๋žจ์€ ์ˆœ์ฐจ ์ ‘๊ทผ๊ณผ ์ž„์˜ ์ ‘๊ทผ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ALTERNATE RECORD KEY IS CUST-ALT-KEY WITH DUPLICATES โ†’ ๋Œ€์ฒด ์ธ๋ฑ์Šค๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ์ด ํ”„๋กœ๊ทธ๋žจ์€ ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

์ ‘๊ทผ ๋™์‚ฌ์™€ ๊ทธ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ํ•จ์˜

๊ฐ ํŒŒ์ผ ์ ‘๊ทผ ๋™์‚ฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด VSAM ๋ฐ์ดํ„ฐ ์„ธํŠธ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ธก๋ฉด์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ฝ๊ธฐ(์ง์ ‘): READ CUSTOMER-FILE KEY IS WS-CUST-KEY์ง์ ‘ ํ‚ค ์กฐํšŒ. ๋‹ค์Œ ํ•ญ๋ชฉ์— ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. SELECT ... WHERE primary_key = ?๋Œ€๋ถ€๋ถ„์˜ KSDS ํ”„๋กœ๊ทธ๋žจ์€ ์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ๊ด€๊ณ„ํ˜• ์ธ๋ฑ์Šค ์กฐํšŒ๋กœ ์ง์ ‘ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ(์ˆœ์ฐจ์ ): READ CUSTOMER-FILE NEXT RECORDํ˜„์žฌ ์œ„์น˜์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์Šค์บ”ํ•ฉ๋‹ˆ๋‹ค. ์ง€๋„์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. SELECT ... ORDER BY primary_key ์ปค์„œ ์œ„์น˜ ์ง€์ •๊ณผ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค. VSAM์˜ ์ˆœ์ฐจ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ํ‚ค ์ˆœ์„œ์— ์˜์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ, ์•”๋ฌต์ ์ธ ์ˆœ์„œ ์ข…์†์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์ƒ ์‹œ์Šคํ…œ์—์„œ ํ•ด๋‹น ์ˆœ์„œ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ€ํŠธ: START CUSTOMER-FILE KEY >= WS-SEARCH-KEY ๋‹ค์Œ READ NEXT๋ถ€๋ถ„ ํ‚ค ์œ„์น˜์—์„œ ๋ฒ”์œ„ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„ ์ฟผ๋ฆฌ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. SELECT ... WHERE primary_key >= ? ORDER BY primary_keySTART๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ์ˆœ์ฐจ ์Šค์บ”์— ๋Œ€ํ•œ ํ•˜ํ•œ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” KSDS ํŒŒ์ผ์— ๋Œ€ํ•œ ์ค‘์š”ํ•œ ์•ก์„ธ์Šค ํŒจํ„ด์ด๋ฉฐ, ๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ํ‚ค ์ˆœ์„œ๊ฐ€ ๋™์ผํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ„๋‹จํ•œ ๋Œ€์‘ ๋ฐฉ์‹์ด ์—†์Šต๋‹ˆ๋‹ค.

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

๊ณ ์ณ ์“ฐ๊ธฐ: ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ์ž๋ฆฌ์—์„œ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ๋Š” ํ˜„์žฌ ๋ณด์กด ์ƒํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋ณด๋ฅ˜ ์˜๋„๊ฐ€ ์žˆ๋Š” ์ฝ๊ธฐ ์ž‘์—… ํ›„). ๋งคํ•‘ ๋Œ€์ƒ UPDATE ... WHERE primary_key = ?REWRITE๋Š” ์ฝ๊ธฐ-์ˆ˜์ •-์“ฐ๊ธฐ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ๊ณผ์ • ์ „๋ฐ˜์— ๊ฑธ์ณ ํŠธ๋žœ์žญ์…˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋Œ€์ฒด ์ธ๋ฑ์Šค ์‚ฌ์šฉ: ์ˆจ๊ฒจ์ง„ ์ข…์†์„ฑ

KSDS ํŒŒ์ผ์˜ ๋Œ€์ฒด ์ธ๋ฑ์Šค๋Š” VSAM ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ๊ฐ„๊ณผ๋˜๋Š” ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ๋Œ€์ฒด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ•„๋“œ๋ฅผ ํ†ตํ•ด KSDS ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ฒด ์ธ๋ฑ์Šค ์ž์ฒด๋Š” ๋ณ„๋„์˜ VSAM ๋ฐ์ดํ„ฐ์…‹(PATH)์ด๋ฉฐ, ๊ธฐ๋ณธ ํด๋Ÿฌ์Šคํ„ฐ์™€ ๋™๊ธฐํ™” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ ‘๊ทผํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ CUSTOMER-FILE ๋‹ค๋ฅธ ํ‚ค๋ฅผ ํ†ตํ•ด CUST-ALT-KEY ๊ธฐ๋ณธ ํด๋Ÿฌ์Šคํ„ฐ FD ํ•ญ๋ชฉ๋งŒ ๋ถ„์„ํ•  ๊ฒฝ์šฐ ๋ณด์ด์ง€ ์•Š๋Š” ์ข…์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ๋Œ€์ฒด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค(SELECT ์ ˆ์— ํ‘œ์‹œ๋จ). ALTERNATE RECORD KEY (์„ ์–ธ)
  2. ๊ฐ ๋Œ€์ฒด ํ‚ค๋ฅผ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น SQL ์ธ๋ฑ์Šค์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋Œ€์ƒ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ INSERT ๋ฐ DELETE ์ž‘์—…์ด ๋Œ€์ฒด ์ธ๋ฑ์Šค์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ž๋™์œผ๋กœ ์œ ์ง€ํ•˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์ด ํˆฌ๋ช…ํ•˜๊ฒŒ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” SQL ๊ณ ์œ  ๋˜๋Š” ๋น„๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ„์„์—์„œ๋Š” ๋ชจ๋“  KSDS ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋Œ€์ฒด ์ธ๋ฑ์Šค๋ฅผ ์—ด๊ฑฐํ•˜๊ณ  ๊ฐ๊ฐ์„ ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์— ๋งคํ•‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์œ  ๋ฐ์ดํ„ฐ์…‹ ๋ฌธ์ œ: ์•”๋ฌต์  ๋ฐ์ดํ„ฐ ๊ณ„์•ฝ

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

๊ณต์œ  ๋ฐ์ดํ„ฐ์…‹ ์ข…์†์„ฑ์€ ๋‘ ๊ฐ€์ง€ ์ฐจ์›์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

์™„์ „ํ•œ ๊ณต์œ  ๋ฐ์ดํ„ฐ์…‹ ๋ถ„์„์€ ๋‹ค์Œ์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • VSAM ๋ฐ์ดํ„ฐ์…‹๊ณผ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์…‹์— ์ ‘๊ทผํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์—ด๊ฑฐํ•˜์‹ญ์‹œ์˜ค.
  • ๊ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ƒ์‚ฐ์ž(์“ฐ๊ธฐ/์žฌ์“ฐ๊ธฐ/์‚ญ์ œ), ์†Œ๋น„์ž(์ฝ๊ธฐ) ๋˜๋Š” ๋‘˜ ๋‹ค๋กœ ๋ถ„๋ฅ˜ํ•˜์‹ญ์‹œ์˜ค.
  • ๊ฐ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” JCL ์ž‘์—… ์ปจํ…์ŠคํŠธ, ๋‹จ๊ณ„, ์ž‘์—…, ์Šค์ผ€์ค„๋Ÿฌ ์ข…์†์„ฑ ์ฒด์ธ์„ ๋ฌธ์„œํ™”ํ•˜์‹ญ์‹œ์˜ค.
  • ์ƒ์‚ฐ์ž์˜ ์ถœ๋ ฅ ํ˜•์‹์ด ์†Œ๋น„์ž์˜ ์˜ˆ์ƒ ์ž…๋ ฅ ํ˜•์‹๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•ด์•ผ ํ•˜๋Š” ์ƒ์‚ฐ์ž-์†Œ๋น„์ž ์Œ์„ ์‹๋ณ„ํ•˜์‹ญ์‹œ์˜ค.

์ด ๋ถ„์„์€ ๊ฐœ๋ณ„ ํ”„๋กœ๊ทธ๋žจ๋งŒ ๋”ฐ๋กœ ๊ฒ€ํ† ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ๊ฐ„, JCL ์ „์ฒด์— ๊ฑธ์นœ ๊ตฌ์กฐ์  ๋ถ„์„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „ ํ•„์ˆ˜ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฌผ: ๋ถ„์„์„ ํ†ตํ•ด ๋„์ถœํ•ด์•ผ ํ•  ์‚ฌํ•ญ

๋ฐ์ดํ„ฐ ํ˜„๋Œ€ํ™” ๊ณ„ํš์— ์ถฉ๋ถ„ํ•œ VSAM ๊ตฌ์กฐ ๋ถ„์„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ 6๊ฐ€์ง€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฌผ 1: VSAM ๋ฐ์ดํ„ฐ์…‹ ๋ชฉ๋ก

ํ™˜๊ฒฝ ๋‚ด ๋ชจ๋“  VSAM ๋ฐ์ดํ„ฐ ์„ธํŠธ์—๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ตฌ์„ฑ(KSDS/ESDS/RRDS/LDS), ํ‰๊ท  ๋ฐ ์ตœ๋Œ€ ๋ ˆ์ฝ”๋“œ ๊ธธ์ด, ์˜ˆ์ƒ ๋ ˆ์ฝ”๋“œ ์ˆ˜(JCL SPACE ๋งค๊ฐœ๋ณ€์ˆ˜ ๋˜๋Š” ์นดํƒˆ๋กœ๊ทธ ํ•ญ๋ชฉ ๊ธฐ์ค€), ํ‚ค ๊ตฌ์กฐ(๊ธฐ๋ณธ ํ‚ค ์˜คํ”„์…‹, ๊ธธ์ด, ๋Œ€์ฒด ํ‚ค ๊ตฌ์กฐ) ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€์ฒด ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์‚ฐ์ถœ๋ฌผ 2: ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ ์นดํƒˆ๋กœ๊ทธ

๊ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ๋ชจ๋“  FD ํ•ญ๋ชฉ๊ณผ ํ•ด๋‹น ํ•ญ๋ชฉ์ด ์ฐธ์กฐํ•˜๋Š” ์นดํ”ผ๋ถ์ด ํฌํ•จ๋˜๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” REDEFINES ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ํ•„๋“œ ์ •์˜, ์ •ํ™•ํ•œ ์ •๋ฐ€๋„์™€ ์Šค์ผ€์ผ์„ ๊ฐ€์ง„ ๋ชจ๋“  COMP-3 ํ•„๋“œ, ๋ฐ”์ดํŠธ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ๋ฐ”์ด๋„ˆ๋ฆฌ(COMP/COMP-5) ํ•„๋“œ, ๋ชจ๋“  ๊ฐ€๋ณ€ ๊ธธ์ด ์š”์†Œ(์ œ์–ด ํ•„๋“œ์™€ ํ•จ๊ป˜ OCCURS DEPENDING ON์œผ๋กœ ๋ฐœ์ƒ), ๊ทธ๋ฆฌ๊ณ  REDEFINES์— ์˜ํ•ด ์•”์‹œ๋˜๋Š” ๋ชจ๋“  ์กฐ๊ฑด๋ถ€ ๋˜๋Š” ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ˜•์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฌผ 3: ํ”„๋กœ๊ทธ๋žจ๋ณ„ ์ ‘๊ทผ ํŒจํ„ด ๋ถ„๋ฅ˜

๊ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์ ‘๊ทผํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. SELECT ์ ˆ์˜ ํŠน์„ฑ(๊ตฌ์„ฑ, ์ ‘๊ทผ ๋ชจ๋“œ, ๋Œ€์ฒด ํ‚ค ์‚ฌ์šฉ ์—ฌ๋ถ€), ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ ‘๊ทผ ๋™์‚ฌ(READ/START/WRITE/REWRITE/DELETE), ์ˆœ์ฐจ์  ์ ‘๊ทผ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€ ๋ฐ ํ‚ค ์ˆœ์„œ์— ์˜์กดํ•˜๋Š”์ง€ ์—ฌ๋ถ€, ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ฒด ์ธ๋ฑ์Šค, ๊ทธ๋ฆฌ๊ณ  ์ฝ๊ธฐ-์ˆ˜์ •-์“ฐ๊ธฐ ํŒจํ„ด(์•”๋ฌต์ ์ธ ํŠธ๋žœ์žญ์…˜ ์š”๊ตฌ ์‚ฌํ•ญ)์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€.

๊ฒฐ๊ณผ๋ฌผ 4: ๊ณต์œ  ๋ฐ์ดํ„ฐ์…‹ ์ง€๋„

VSAM ๋ฐ์ดํ„ฐ์…‹๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ๋…ธ๋“œ๋กœ ํ•˜๊ณ , ์ฝ๊ธฐ/์“ฐ๊ธฐ ์œ ํ˜•๊ณผ ๊ฐ™์€ ์ ‘๊ทผ ๊ด€๊ณ„๋ฅผ ์—ฃ์ง€๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ์ด ๊ทธ๋ž˜ํ”„๋Š” ๋ชจ๋“  ํ”„๋กœ๋“€์„œ, ๋ชจ๋“  ์ปจ์Šˆ๋จธ, ํ”„๋กœ๋“€์„œ-์ปจ์Šˆ๋จธ ์Œ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ ‘๊ทผ์— ๋Œ€ํ•œ JCL ์ž‘์—… ์‹œํ€€์Šค ์ปจํ…์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฌผ 5: ๋Œ€์ƒ ์Šคํ‚ค๋งˆ ๊ถŒ์žฅ ์‚ฌํ•ญ

๊ฐ VSAM ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ๊ตฌ์„ฑ ๋ฐ ์•ก์„ธ์Šค ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ถŒ์žฅ๋˜๋Š” ๋Œ€์ƒ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

VSAM ์œ ํ˜•๊ธฐ๋ณธ ์•ก์„ธ์Šค ํŒจํ„ด์ถ”์ฒœ ๋Œ€์ƒ
KSDS, ์ง์ ‘ ํ‚ค ์ ‘๊ทผ ๋ฐฉ์‹๋งŒ ๊ฐ€๋Šฅ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์ด์šฉํ•œ ํฌ์ธํŠธ ์กฐํšŒ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”, ์ธ๋ฑ์‹ฑ๋จ
KSDS, ์‹œ์ž‘/๋‹ค์Œ ์ฝ๊ธฐ ๊ธฐ๋Šฅ ํฌํ•จ์ฃผ์š” ์ˆœ์„œ๋Œ€๋กœ ๋ฒ”์œ„ ์Šค์บ”ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”
๋Œ€์ฒด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” KSDS๋‹ค์ค‘ ๊ฒฝ๋กœ ํ‚ค ์•ก์„ธ์Šค์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”
ESDS, ์ถ”๊ฐ€ ์ „์šฉ์ˆœ์ฐจ ์ถ”๊ฐ€, ํ‚ค ์—†์Œ์ถ”๊ฐ€ ์ „์šฉ ํ…Œ์ด๋ธ”, ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ ๋˜๋Š” ๋กœ๊ทธ
RBA ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ESDS๋ฐ”์ดํŠธ ์˜คํ”„์…‹ ์œ„์น˜ ์ง€์ •๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ธ๋ฑ์Šค๊ฐ€ ํฌํ•จ๋œ ๊ฐ์ฒด ์ €์žฅ์†Œ
RRDS๊ธฐ๋ก ๋ฒˆํ˜ธ ์ ‘๊ทผ์ˆœ์„œ ์—ด์ด ์žˆ๋Š” ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”
๋Œ€๊ทœ๋ชจ KSDS(๋ฒŒํฌ, ๋ถ„์„)์ „์ฒด ์ˆœ์ฐจ ์Šค์บ”์ปฌ๋Ÿผํ˜• ์Šคํ† ๋ฆฌ์ง€ ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ
์‹ ๋ถ„์ฆ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋‚ด๋ถ€ ํ˜•์‹์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ณ„์ธต ๋ถ„์„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ๋ฌผ 6: ์ •๋ฐ€๋„ ๋ฏผ๊ฐํ˜• ํ•„๋“œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ

๋ชจ๋“  ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ชจ๋“  COMP-3, COMP, COMP-5 ๋ฐ ๋ถ€๋™ ์†Œ์ˆ˜์  ํ•„๋“œ์™€ ํ•ด๋‹น COBOL ์ •์˜, ์˜ฌ๋ฐ”๋ฅธ SQL ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋งคํ•‘, ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „ํ›„์— ์ •๋ฐ€๋„ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ํ•„๋“œ์— ๋Œ€ํ•œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

VSAM ๋ถ„์„๊ณผ ๊ด€๊ณ„ํ˜• ์Šคํ‚ค๋งˆ ๋ถ„์„์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

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

VSAM ๋ถ„์„์„ ๊ตฌ์กฐ์ ์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ์„ธ ๊ฐ€์ง€ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ๋Š” ์ฝ”๋“œ ์•ˆ์— ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. VSAM ๋ฐ์ดํ„ฐ์…‹์˜ ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์นดํƒˆ๋กœ๊ทธ๊ฐ€ ์•„๋‹Œ COBOL ์†Œ์Šค ์ฝ”๋“œ์— ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์Šคํ‚ค๋งˆ๋ฅผ ์ฐพ์œผ๋ ค๋ฉด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ๋™์ผํ•œ ์นดํ”ผ๋ถ์„ ๊ณต์œ ํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์กฐ์œจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณ€ํ˜•์„ ์ดํ•ดํ•˜๋ ค๋ฉด ํ•จ์ˆ˜ ์ข…์†์„ฑ(FD) ํ•ญ๋ชฉ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง๊นŒ์ง€ ๋ถ„์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

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

๋ฐฉ๋ฒ• SMART TS XL VSAM ๊ตฌ์กฐ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

SMART TS XL์˜ ์ •์  ์ฝ”๋“œ ๋ถ„์„ ์ด ๋„๊ตฌ๋Š” COBOL ์†Œ์Šค ์ฝ”๋“œ์— ์กด์žฌํ•˜๋Š” VSAM ๊ตฌ์กฐ์˜ ๋ชจ๋“  ์š”์†Œ(FD ํ•ญ๋ชฉ, COPY ๋ฉค๋ฒ„ ํ™•์žฅ, SELECT ์ ˆ ์„ ์–ธ(๊ตฌ์„ฑ, ์•ก์„ธ์Šค ๋ชจ๋“œ, ๊ธฐ๋ณธ ๋ฐ ๋Œ€์ฒด ํ‚ค ์ง€์ •), PROCEDURE DIVISION์˜ ๋ชจ๋“  ํŒŒ์ผ ์•ก์„ธ์Šค ๋™์‚ฌ)๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ VSAM ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋Œ€ํ•ด ์•ก์„ธ์Šค ํŒจํ„ด ๋ถ„๋ฅ˜, REDEFINES ํ•ด์ƒ๋„๊ฐ€ ์™„๋ฒฝํ•œ ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ, ๊ทธ๋ฆฌ๊ณ  ์ •ํ™•ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ COMP-3 ํ•„๋“œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

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

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

์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ˜„๋Œ€ํ™” ํ”„๋กœ๊ทธ๋žจ ์ „๋ฐ˜์— ๊ฑธ์ณ ์ „์ฒด VSAM ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • VSAM ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ, ํŠน์ • ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ๋ชจ๋“  ์นดํ”ผ๋ถ, START/READ NEXT ํŒจํ„ด(์ˆœ์„œ ์ข…์†์„ฑ ํ‘œ์‹œ)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ, COMP-3(์ •๋ฐ€๋„ ์ธ์‹ ๋Œ€์ƒ ๋งคํ•‘ โ€‹โ€‹ํ•„์š”)์œผ๋กœ ์ •์˜๋œ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์ˆ˜๋ฐฑ๋งŒ ์ค„์˜ COBOL ์ฝ”๋“œ์—์„œ ๋‹จ ๋ช‡ ์ดˆ ๋งŒ์— ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‹น์‹ ์ด ์ดํ•ดํ•˜๋Š” ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋กœ ๋‹น์‹ ์ด ์ด์ „ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

VSAM ํŒŒ์ผ ๊ตฌ์กฐ ๋ถ„์„์€ ํ˜„๋Œ€ํ™” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ถ”๊ฐ€์ ์ธ ๋ถ€๋‹ด์ด ์•„๋‹™๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์˜์‚ฌ ๊ฒฐ์ •์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ˜•์„ ์•Œ์ง€ ๋ชปํ•˜๋ฉด ๋Œ€์ƒ ์Šคํ‚ค๋งˆ๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž์˜ ๊ด€๊ณ„๋ฅผ ์•Œ์ง€ ๋ชปํ•˜๋ฉด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ˆœ์„œ๋ฅผ ์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์†Œ์ˆ˜์ ์„ ์ธ์‹ํ•˜๋Š” ๋Œ€์ƒ ์œ ํ˜•์ด ํ•„์š”ํ•œ ํ•„๋“œ๋ฅผ ์•Œ์ง€ ๋ชปํ•˜๋ฉด COMP-3 ํ•„๋“œ์˜ ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

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