CICS ์์คํ ์ ์ธ๊ณ์์ ๊ฐ์ฅ ๋ฏผ๊ฐํ๊ณ ๋์ฉ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ ํ๊ฒฝ์ ์ง์ํฉ๋๋ค. ์ํ ๋ฐ ๋ณดํ๋ถํฐ ๋ฌผ๋ฅ ๋ฐ ๋ฐฉ์ ์ฐ์ ์ ์ด๋ฅด๊ธฐ๊น์ง ์ด๋ฌํ ํ๋ซํผ์ ๋ณด์ ๊ฐ๋ ์ด ๊ฐ๋นํ๊ธฐ ์ด๋ ค์ด ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ด์ ๊ฐ๋ ์๊ฐ์ด ๊ฐ์ฅ ์ค์ํ ์์์ด์ง๋ง, CICS ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ์จ๊ฒจ์ง ์ํ ์ผ์์ ์ธ ๊ฒํ ์ค์ ๋์น๊ธฐ ์ฌ์ด ์ฌํญ์ ๋๋ค.
์ด๋ฌํ ์ํ์ ๋๋ถ๋ถ์ ๋ ๊ฑฐ์ ์ฝ๋์์ ๋ฐ์ํฉ๋๋ค. ์ค์ฒฉ๋ COBOL ๋ชจ๋, ํธ๋์ญ์ ํ๋ก๊ทธ๋จ ๋ฐ์ธ๋ฉ, ๋์ ํ๋ก๊ทธ๋จ ํธ์ถ, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฌ์ฉ๋ ์ผํ(command)๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์์ต๋๋ค. ์ทจ์ฝ์ ํ๋ฉด์ ์ผ๋ก๋ ๋ณด์ด์ง ์๋ ์ทจ์ฝ์ ์ ๋๋ค. ์ผ๋ฐ์ ์ธ ์๋ก๋ ๊ฒ์ฆ๋์ง ์์ ํฐ๋ฏธ๋ ์ ๊ทผ, XCTL ๋๋ LINK ๋ช ๋ น์ด์ ์ค์ฉ, ์๋ชป๋ ํธ๋์ญ์ ๋ผ์ฐํ ์ ํตํด ๋ถ์ฌ๋ ๊ถํ ์์น ๋ฑ์ด ์์ต๋๋ค. ์ด๋ฌํ ์ทจ์ฝ์ ์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ๋ ์๋ ๊ฐ ์ด์ ํ๊ฒฝ์ ์กด์ฌํ ์ ์์ต๋๋ค.
์ ์ ๋ถ์ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์ ์ฉ๋๊ธฐ ์ ์ ์๋ณํ ์ ์๋ ์ฒด๊ณ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ํ์ง๋ง ์น์ด๋ API ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฌ๋ฆฌ CICS ์ํฌ๋ก๋ ์ค์บ๋์๋ ํจ์ฌ ๋ ์ฌ์ธต์ ์ธ ๊ฒ์ฌ๊ฐ ํ์ํฉ๋๋ค. ๋ถ์๊ฐ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ ์์ค์์ ์ ์ด ํ๋ฆ์ ์ถ์ ํ๊ณ , ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๊ฐ ์ด๋ํ๋ ๋ฐฉ์์ ์ดํดํ๊ณ , ๋ฉ์ธํ๋ ์ ํธ๋์ญ์ ๋์์ ํนํ๋ ํจํด์ ๊ฐ์งํด์ผ ํฉ๋๋ค.
์ด ๋ฌธ์๋ CICS ํ๊ฒฝ์์ ์ ์ ๋ถ์์ ์ ์ฉํ์ฌ ๋ณด์ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ๊ณ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์ ์ผ๋ก ๋ค๋ฃน๋๋ค. ์ฃผ์ํด์ผ ํ ๊ณ ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๊ณ , COBOL ์ฝ๋์์ ํธ๋์ญ์ ๋ก์ง์ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๋๊ท๋ชจ ๋ ๊ฑฐ์ ์์คํ ์ ์ ํํ๊ณ ์ฌ๋ ์๊ฒ ๊ฒํ ํด์ผ ํ๋ ์์ง๋์ด๋ฅผ ์ํ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฌธ์์ ๋ชฉํ๋ ํ์ด ์ถ์ธก์ด๋ ์ค๋จ ์์ด ํธ๋์ญ์ ๊ณ์ธต์ ์์ ํ๊ฒ ๋ณดํธํ ์ ์๋๋ก ์ง์ํ๋ ๊ฒ์ ๋๋ค.
CICS ํธ๋์ญ์ ๊ณต๊ฒฉ ํ๋ฉด ์ดํด
CICS ํธ๋์ญ์ ์ ๋จ์ํ ํ๋ก๊ทธ๋๋ฐ ์์ ๋จ์๊ฐ ์๋๋๋ค. ์ก์ธ์ค ์ ์ด, ์ฌ์ฉ์ ์ ์, ๋ฆฌ์์ค ๊ถํ ๋ถ์ฌ ๋ฐ ์ธ์ ๋ฌด๊ฒฐ์ฑ์ ๊น์ด ๋ด์ฌ๋์ด ์์ต๋๋ค. ๋ง์ ๋ฉ์ธํ๋ ์ ์์คํ ์ ๋ณด์ ๊ฐํ๊ฐ ๋ช ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง๊ธฐ๋ณด๋ค๋ ์๋ฌต์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋ ์์ญ ๋ ๋ ์ค๊ณ ํจํด์ ์์กดํฉ๋๋ค. ์ด๋ก ์ธํด ํ ์คํธ ๋๋ ๊ท์ ์ค์ ๊ฐ์ฌ ๊ณผ์ ์์ ๊ฐ๊ณผ๋๋ ์ํ์ด ๋ฐ์ํฉ๋๋ค.
์ด ์์ค์ ์ ์ ๋ถ์์ ์ ์ด๊ถ์ด ์ด๋๋ก ์ด์ ๋๋์ง, ์ ๋ ฅ์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋๋์ง, ๊ทธ๋ฆฌ๊ณ ํน์ ์คํ ์ปจํ ์คํธ์์ ์ด๋ค ๊ฒฝ๋ก์ ๋๋ฌํ ์ ์๋์ง ๋งคํํ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ์นจํฌ ํ ์คํธ๋ฅผ ํต๊ณผํ ์์คํ ์กฐ์ฐจ๋ ์๋ชป ๋ผ์ฐํ ๋๊ฑฐ๋ ๊ถํ์ด ๊ณผ๋ํ๊ฒ ๋ถ์ฌ๋ ํธ๋์ญ์ ํ๋ฆ๊ณผ ๊ด๋ จ๋ ์ทจ์ฝ์ ์ ์ฌ์ ํ ํฌํจํ๊ณ ์์ ์ ์์ต๋๋ค.
EXEC CICS ํธ์ถ์ ์จ๊ฒจ์ง ์ทจ์ฝ์
์ผ๋ฐ์ ์ธ ์ฝ์ ์๋ ๋์ ์ฌ์ฉ์ด ํฌํจ๋ฉ๋๋ค. EXEC CICS LINK, XCTL๋ฐ RETURN ํธ์ถ์ ์ถ์ฒ๋ ์ปจํ
์คํธ๋ฅผ ํ์ธํ์ง ์๊ณ ํ๋ก๊ทธ๋จ์ด ๋์จํ๊ฒ ์ฐ๊ฒฐ๋๊ณ ํ๋ก๊ทธ๋จ ์ด๋ฆ์ด ์ธ๋ถ์์ ์ ๊ณต๋๊ฑฐ๋ ๋์ ์ผ๋ก ์์ฑ๋๋ ๊ฒฝ์ฐ, ์
์์ ์ธ ์
๋ ฅ์ ํตํด ๊ถํ์ด ์์น๋ ๋ชจ๋๋ก ์คํ์ด ์ ๋๋ ์ ์์ต๋๋ค.
์ค์ ๋ก๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
EXEC CICS LINK PROGRAM(PROG-NAME) COMMAREA(COMM-AREA) LENGTH(COMM-LEN) END-EXEC
If PROG-NAME ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ๊ฐ์ผ๋ก ์์ฑ๋๊ฑฐ๋ ์๊ฒฉํ ๊ฒ์ฆ ์์ด ํ
์ด๋ธ์์ ๋งคํ๋ ๊ฒฝ์ฐ, ๊ถํ์ด ์๋ ์ฌ์ฉ์๊ฐ ๋
ธ์ถ๋๋๋ก ์๋๋์ง ์์ ์ค์ํ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์์ต๋๋ค.
์ ์ ๋ถ์์ ํนํ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์งํด์ผ ํฉ๋๋ค.
- ํ๋ก๊ทธ๋จ ์ด๋ฆ์ ์ฐ๊ฒฐ๋๊ฑฐ๋ ๋ง์คํฌ๋ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ํ์ฉ๋ ๋์์ด๋ ์์ ๋์์ ๋ํ ๋์ฒด ๊ฒ์ฌ๊ฐ ๊ตฌํ๋์ง ์์์ต๋๋ค.
- ์์ ํ๋ก๊ทธ๋จ์ ๊ถํ์ ๋ํ ์ถ๊ฐ ๊ฒ์ฆ ์์ด ์๋ํฉ๋๋ค.
SVC ๋ฐ ์คํ ๋ฆฌ์ง ์ ์ด ์์ค์ปฌ๋ ์ด์ ํจํด
ํน์ SVC ๊ธฐ๋ฐ ํธ์ถ์ด๋ ๋งคํฌ๋ก ์์ค ๋ช
๋ น์ด๋ฅผ ํตํด ์ ๊ทผํ๋ ๋ด๋ถ ์๋น์ค ๋ฃจํด์ ๋ฉ๋ชจ๋ฆฌ ์กฐ์์ ํตํ ์์ค์ปฌ๋ ์ด์
์ ํ์ฉํ ์ ์์ต๋๋ค. ADDRESS, ASSIGN์์
์์ค ๋ณด์ ์ปจํ
์คํธ๊ฐ ์ ์ ํ๊ฒ ์ ์ฉ๋์ง ์์ผ๋ฉด ํฐ๋ฏธ๋ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ํ ์ง์ ์ก์ธ์ค๊ฐ ๋ณดํธ ์กฐ์น๋ฅผ ์ฐํํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ์ํ ์ ํธ ํจํด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์์ ์ ๋ ฅ์์ ํฐ๋ฏธ๋ ID ๋๋ ์์ ๋ฒํธ ํ ๋น
- ์ฌ์ฉ
EXEC CICS ADDRESS TCTUA๋๋ ์ง์ ์ฐ๊ธฐ์ ๋ฐ๋ฅธ ๋๋ฑํ ํธ์ถ - ์ญํ ๊ฒ์ฆ ์์ด ์ธ์ ์ํ์ ๋ฐ๋ฅธ ์ ์ด ์ ํ
ํฐ๋ฏธ๋ ๊ตฌ์กฐ์ CICS ๋ด๋ถ์ ์ต์ํ ๊ณต๊ฒฉ์๋ ์ด๋ฌํ ์ก์ธ์ค ํฌ์ธํธ๋ฅผ ์ ์ฉํ์ฌ ๊ถํ์ ์์น์ํค๊ฑฐ๋ ์๋์น ์์ ๋ช ๋ น์ ์ฝ์ ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ทจ์ฝ์ ์ ์๋ณํ๋ ค๋ฉด CICS ๋ช ๋ น์ ์ค์บํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์ ์ฒด์์ ๋ฐ์ดํฐ ๊ณ๋ณด๋ฅผ ํ์ธํ๊ณ , ์ ์ด ๋งค๊ฐ๋ณ์์ ์ถ์ฒ๋ฅผ ํ์ธํ๊ณ , ์์ ํ์ง ์๊ฑฐ๋ ์ธ์ฆ๋์ง ์์ ์ปจํ ์คํธ ๊ฐ์ ์ฌ์ฉ์ ํ๋๊ทธ๋ก ์ง์ ํด์ผ ํฉ๋๋ค.
CICS ํ๊ฒฝ์ ์ ์ ๋ถ์ ๋ฒ์
CICS ํ๊ฒฝ์์ ์ ์ ๋ถ์์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ๋ฌธ์ด๋ ํค์๋ ๊ฐ์ง๋ฅผ ๋์ด์ผ ํฉ๋๋ค. ๋ถ์๊ฐ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฟ๋ง ์๋๋ผ ํธ๋์ญ์ ๋ชจ๋ธ, ํ๋ก๊ทธ๋จ ์ฐ๊ฒฐ, ๋ฐ์ดํฐ ํ๋ฆ, ๊ถํ ๊ฒฝ๊ณ๊น์ง ์ดํดํด์ผ ํฉ๋๋ค. ์ ์ฒด ํ๊ฐ๋ ์ฌ์ฉ์, ํฐ๋ฏธ๋, ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ ์คํ ๋ก์ง์ ํตํด ์ด๋ป๊ฒ ์ํธ์์ฉํ๋์ง๋ฅผ ๋ฐ์ํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ์์ค์ ๊ฒ์ฌ๋ ํนํ ์์ญ ๋ ์ ์ ์์ฑ๋์ด ์ฌ๋ฌ ํ์ด ์ค๋ ์๊ฐ ๋์ ์ ์ง ๊ด๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ณต์กํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐํ๋์ง ์์ ์ ์ด ํ๋ฆ, ๋์ ์ธ ์ผํ ์ฌ์ฉ, ๊ทธ๋ฆฌ๊ณ ์ฌ์ฌ์ฉ๋ ํ๋ก๊ทธ๋จ ID์ ์์กดํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ฌํ ๋ชจ๋ ์์๋ ๊ถํ์ ์์๊ณผ ๋์ ๋ชจํธํ๊ฒ ๋ง๋ญ๋๋ค.
์ ๋ขฐ ๊ฒฝ๊ณ๋ฅผ ์ํ COBOL-CICS ์์ค ํ๋ฆ ๋ถ์
์ต์ ์ ํ๋ฆฌ์ผ์ด์ ํ๊ฒฝ์์ ์ ๋ขฐ ๊ฒฝ๊ณ๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ฐํธ์๋ UI์ API ์ฌ์ด์ ๊ฐ์ ๊ณ์ธต์ ์ํด ์ ์๋ฉ๋๋ค. CICS์์๋ ์ ๋ขฐ ๊ฒฝ๊ณ๊ฐ ์ข ์ข ์๋ฌต์ ์ด๋ฉฐ ํ๋ก๊ทธ๋จ ์ฐ๊ฒฐ ๋ด๋ถ์ ๋ฌปํ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ ์ด๊ถ์ ๋๊ธฐ๋์ง, ์ ๋ ฅ์ด ์์คํ ์ ์ด๋ป๊ฒ ๋ค์ด์ค๋์ง, ๊ทธ๋ฆฌ๊ณ ํด๋น ์ ๋ ฅ์ ์ถ์ฒ๊ฐ ์ ๋ขฐํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ์ถ์ ํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ก๊ทธ์ธ ํธ๋์ญ์ ์ผ๋ก ์์ํ๋ ์ฒด์ธ์ ๋ค์ฏ ๊ฐ ์ด์์ ํ๋ก๊ทธ๋จ์ ๊ฑฐ์ณ ์ ์ด๊ถ์ ๋๊ธธ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ๋ก๊ทธ๋จ ์ค ํ๋๊ฐ ์๋ก์ด ์ฌ์ฉ์ ์ ๋ ฅ(์: ์ ๋ฐ์ดํธ๋ ์ฝค๋ง ์ธ๊ทธ๋จผํธ)์ ์ฌ๊ฒ์ฆํ์ง ์๊ณ ๋ฐ์๋ค์ด๋ฉด ์ ๋ขฐ ๊ฒฝ๊ณ๊ฐ ๋ฌด๋์ง๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฌํ ์ ํ ์ง์ ์ ๊ฒํ ๋์์ผ๋ก ํ์ํด์ผ ํฉ๋๋ค.
๊ฒํ ํด์ผ ํ ์ค์ํ ์ธก๋ฉด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ธ๋ถ ๋ฐ์ดํฐ๊ฐ ์คํ ๊ฒฝ๋ก์ ๋ค์ด์ค๋ ์ง์ ์
- ํธ์ถ์๋ฅผ ํ์ธํ์ง ์๊ณ ๋ฐ์ํ๋ LINK ๋๋ XCTL ํธ์ถ
- ์คํ์ด ์ธ์ฆ๋ ํ๋ฆ์์ ์ธ์ฆ๋์ง ์์ ํ๋ฆ์ผ๋ก ์ ํ๋๋ ์์ญ
ํ๋์ฝ๋ฉ๋ ์๊ฒฉ ์ฆ๋ช ๋ฐ ๊ถํ ์์ค์ปฌ๋ ์ด์ ๋ ผ๋ฆฌ ๊ฐ์ง
ํ๋์ฝ๋ฉ๋ ๋ณด์ ํ ํฐ, ์ฌ์ฉ์ ID ๋๋ APPLID๋ ์ ์ํ ๊ฐ๋ฐ์ด๋ ๊ธด๊ธ ํจ์น ๊ณผ์ ์์ ๋์ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ ํ์ค ์ก์ธ์ค ์ ์ด๋ฅผ ์ฌ์ ์ํ๊ฑฐ๋ ์ค์ ์ธ์ฆ ์คํจ ์ ๋์ฒด ์ก์ธ์ค๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ COBOL ์ธ๊ทธ๋จผํธ:
IF USER-ID = 'SECADMIN' THEN
MOVE 'Y' TO AUTH-FLAG
END-IF
ํ๋ฉด์ ์ผ๋ก๋ ์ํํ์ง ์์ ๋ณด์ผ ์ ์์ง๋ง, USER-ID ์ธ๋ถ์์ ์ํฅ์ ๋ฐ๊ฑฐ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฌ์ฉ๋ ์ ์์ผ๋ฏ๋ก ์ง์์ ์ธ ์ํ์ด ๋ฐ์ํฉ๋๋ค.
์ ์ ๋ถ์ ์์ง์ ๋ค์์ ๊ฒ์ํด์ผ ํฉ๋๋ค.
- IF ๋ฌธ ๋๋ ํ ๋น์ ๋ณด์์ ๋ฏผ๊ฐํ ๊ฐ
- ๊ฒ์ฆ ์์ด ์ง์ ์ค์ ๋ ๊ถํ ํ๋๊ทธ
- ์ ์ด ๋ ผ๋ฆฌ๋ฅผ ์ฐํํ๋ ์ผ๋ฐ APPLID ๋๋ ์ฌ์ฉ์ ์ด๋ฆ ์ฌ์ฉ
์ด๋ฌํ ํจํด์ ๋ฏธ๋ฌํ์ง๋ง, ๋ณด์ ๋ก์ง์ด ๋น์ฆ๋์ค ๊ท์น๊ณผ ์ฝํ ์๋ ๋ ํฐ ์ค๊ณ ๋ฌธ์ ๋ฅผ ๋ํ๋ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์ ๋ถ์์ ํตํด ์ด๋ฌํ ํจํด์ ๋ถ๋ฆฌํ๋ฉด ํ์ด ์จ๊ฒจ์ง ๊ถํ ๊ฒฝ๋ก ์์ด ์์ ํ๊ฒ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ ์ ์์ต๋๋ค.
CICS ํ๊ฒฝ์ ์ ์ ๋ถ์ ๋ฒ์
CICS ์์คํ ์ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์คํ๊ณผ ์๋นํ ๋ค๋ฆ ๋๋ค. ์ต์ ์๋น์ค๋ API์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ํ๋ฆ์ ์ ๊ณตํ๋ ๋ฐ๋ฉด, CICS ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผํ, ํฐ๋ฏธ๋ ์ ๋ ฅ, ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌ๋๋ ๋ฐ์ดํฐ์ ์์กดํ๋ ๋ฐ์ ํ๊ฒ ๊ฒฐํฉ๋ ํ๋ก๊ทธ๋จ ์ฒด์ธ ํํ๋ก ์คํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฌํ ์ํคํ ์ฒ๋ ์ ์ ๋ถ์์ ํนํ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ๋ถ์๊ฐ๋ ๋จ์ํ ์๋ ค์ง ์ทจ์ฝํ ํธ์ถ์ ์ฐพ๋ ๊ฒ์ด ์๋๋ผ, ์์ญ ๋ ์ ๋ ๊ฑฐ์ ๊ฐ๋ฐ์ ๊ฑธ์ณ ์๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์คํ ํ๋ฆ์ ์ฌ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์๋ฏธ ์๋ ์ ์ ๊ฒํ ๋ ๋ฐ์ดํฐ๊ฐ ์์คํ ์ ์ ๋ ฅ๋๋ ๋ฐฉ์, ํ ๋ชจ๋์์ ๋ค์ ๋ชจ๋๋ก ์ ์ด๊ฐ ์ ๋ฌ๋๋ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ๊ฒ์ฆ์ด ํ์ํ์ง๋ง ์ค์ ๋ก ์ํ๋์ง ์๋ ๋ถ๋ถ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. CICS์์ ๋ณด์ ์๋ฐ์ ๋ช ๋ฐฑํ ์ํํ ํธ์ถ์์ ํญ์ ๋ฐ์ํ๋ ๊ฒ์ ์๋๋๋ค. ๋ ์์ฃผ ๋ฐ์ํ๋ ๊ฒ์ ์ ๋ขฐ์ ๋ํ ๊ฐ๊ณผ๋ ๊ฐ์ , ์ปจํ ์คํธ ํ์ธ ๋๋ฝ, ๋๋ ์ค์ฒฉ ๋๋ ์ง์ฐ ์คํ ํ๋ฆ์์ ๋ฐ์ํ๋ ๊ถํ ๋ถ์ผ์น์ ๋๋ค.
์ ๋ขฐ ๊ฒฝ๊ณ๋ฅผ ์ํ COBOL-CICS ์์ค ํ๋ฆ ๋ถ์
์ผ๋ฐ์ ์ธ COBOL-CICS ํธ๋์ญ์
์ ๋จ์ผ ๋ชจ๋๋ฆฌ์ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ๋์ง ์์ต๋๋ค. ์ด๋ ์ข
์ข
์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ผ๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค. EXEC CICS LINK, XCTL๋ฐ RETURN, commarea ๋ธ๋ก์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค. ๋ง์ ํ๋ก๊ทธ๋จ์ ์์ ํ commarea ์ฝํ
์ธ ์ ์ ํจ์ฑ์ ๋
๋ฆฝ์ ์ผ๋ก ๊ฒ์ฆํ์ง ์๊ณ , ์ ๋ขฐํ ์ ์๋ ํธ์ถ์๊ฐ ์ด๋ฏธ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ๋ค๋ ๊ฐ์ ์ ์์กดํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ์ ๊ถํ ๋ณ๋ ๋ฐ ๋ฌด๋จ ์ ๊ทผ์ ๊ฐ์ฅ ๋น๋ฒํ ์์ธ ์ค ํ๋์
๋๋ค.
์ ์ ๋ถ์์ ๋ฐ์ดํฐ ์ ์ ์ ์์์ ์ ํ์ ํ๊ณ ์ด๋ฌํ ํธ์ถ์ ํตํ ๋ฐ์ดํฐ ์ ํ๋ฅผ ์ถ์ ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
MOVE WS-USERID TO COMM-USERID
EXEC CICS LINK PROGRAM('ACCTUPD') COMMAREA(COMMAREA-BLOCK) LENGTH(COMM-LEN)
๊ทธ๋ฐ ๋ค์ ACCTUPD, ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ๋ํ๋ ์ ์์ต๋๋ค.
IF COMM-USERID = 'ADMIN01'
PERFORM ADMIN-ROUTINE
์ด๋ ๊ฒ ํ๋ฉด ์๋ฌต์ ์ธ ์ ๋ขฐ ๊ฒฝ๊ณ๊ฐ ์์ฑ๋ฉ๋๋ค. WS-USERID ํ๋ฆ ์ด๊ธฐ์ ๋ฎ์ด ์ฐ๊ฑฐ๋ ์์กฐ๋ ์ ์ด ์์ต๋๊น? ACCTUPD ๊ด๋ฆฌ ๋ฃจํด์ ๋งน๋ชฉ์ ์ผ๋ก ์คํํฉ๋๋ค. ์ ์ ๋ถ์์ ์๊ด ๊ด๊ณ๋ฅผ ๊ฐ์ ธ์ผ ํฉ๋๋ค. COMM-USERID์ถ์ฒ๋ฅผ ํ์ํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏผ๊ฐํ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ชจ๋ ๋ค์ด์คํธ๋ฆผ ์ฝ๋๋ฅผ ์ฌ๊ฒ์ฆํ์ง ์๊ณ ํ์ํฉ๋๋ค.
์ ์ ์ค์บ์ ํตํด ๊ฐ์งํ ์ ์๋ ์ผ๋ฐ์ ์ธ ์ ๋ขฐ ๊ฒฝ๊ณ ์๋ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ก์ปฌ ์ธ์ฆ ์์ด ์ผํ ํ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ฒฐ์ ๋ถ๊ธฐ
- ํฐ๋ฏธ๋ ๋๋ APPLID ๊ฐ์ ๋ฐ๋ผ ์กฐ๊ฑดํ๋ ๋ ผ๋ฆฌ ์คํ
- ์ฌ์ฉ
EIBTRMID,EIBTASKN๋ฐEIBRESP์์ ํ์ธ์ด ์๋ ์ ์ด ๋ ผ๋ฆฌ์์ - ๊ฐ์ ๋ํํ ์ฒด์ธ์ ๋ค์ ๋ค์ด๊ฐ ๋ ์ฌ์ฉ์ ์ธ์ ์ฌ๊ฒ์ฆ์ด ์์
ํ๋์ฝ๋ฉ๋ ์๊ฒฉ ์ฆ๋ช ๋ฐ ๊ถํ ์์ค์ปฌ๋ ์ด์ ๋ ผ๋ฆฌ ๊ฐ์ง
์ ์ ๊ฒํ ๋ฅผ ํตํด COBOL ๋ช ๋ น๋ฌธ์ ์ง์ ํฌํจ๋ ํ๋์ฝ๋ฉ๋ ์ฌ์ฉ์ ID, ํน์ ์ฝ๋ ๋๋ APPLID๊ฐ ์์ฃผ ๋ฐ๊ฒฌ๋ฉ๋๋ค. ์ด๋ฌํ ํญ๋ชฉ์ ๋ด๋ถ ํ ์คํธ๋ ์ด์์์ ์์ ํด๊ฒฐ์ฑ ์ผ๋ก ์ถ๊ฐ๋์์ ์ ์์ง๋ง, ์ค์ ์ด์ ํ๊ฒฝ์ ๊ทธ๋๋ก ๋จ์ ์ฌ๊ฐํ ์ํ์ ์ด๋ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ค์์ ์์ฃผ ํ์๋๋ ์ค์ ์ํ ํจํด์ ๋๋ค.
IF USER-ID = 'SYSROOT'
MOVE 'FULL' TO ACCESS-LEVEL
or
IF EIBTRMID = 'TSTTERM1'
MOVE 'Y' TO BYPASS-SECURITY-FLAG
์ด๋ฌํ ๊ณต๊ฒฉ์ ํต์ ๋์ง ์๋ ๊ฒฝ๋ก๋ฅผ ์์ฑํ์ฌ ๋์ ๊ถํ์ผ๋ก ์ ๊ทผํ๊ฒ ํฉ๋๋ค. ๊ณต๊ฒฉ์๊ฐ ํฐ๋ฏธ๋์ ์ ๊ทผํ๊ฑฐ๋ ํ๋์ฝ๋ฉ๋ ์ฌ์ฉ์ ID๋ฅผ ๋ฐ๊ฒฌํ๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋จธ์ง ๋ถ๋ถ์ ๋ง์น ์ ์ฒด ์ธ์ฆ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ฒ๋ผ ๋์ํ ์ ์์ต๋๋ค.
์ข ๋ ๋ฏธ๋ฌํ ์:
IF SUBSTR(COMMAREA-DATA, 1, 5) = 'DEBUG'
PERFORM DIAGNOSTIC-ROUTINES
์ด ๋ ผ๋ฆฌ๊ฐ ์ ๊ฑฐ๋๊ฑฐ๋ ๋ณดํธ๋์ง ์์ผ๋ฉด, ์กฐ์๋ ์ ๋ ฅ์ผ๋ก ์ธํด ์ผ๋ฐ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ์ง ์๋ ๋ก๊ทธ, ํ์ผ ํฌ์ธํฐ ๋๋ ๋ฉ๋ชจ๋ฆฌ ์ง๋จ์ ๋ ธ์ถํ๋ ๊ธฐ๋ฅ์ด ํ์ฑํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ฒฐํจ์ ๊ฐ์งํ๊ธฐ ์ํ ์ ์ ๊ท์น์ ์์ฑํ ๋ ๋ค์ ์ฌํญ์ ์ค์ ์ ๋์ญ์์ค.
IForEVALUATE์ฌ์ฉ์ ๋๋ ํฐ๋ฏธ๋์ ์ฐ๊ฒฐ๋ ํ๋์ฝ๋ฉ๋ ๋ฆฌํฐ๋ด ๊ฐ์ ์ฌ์ฉํ๋ ๋ช ๋ น๋ฌธ- ํ๋์ฝ๋ฉ๋ ์๊ฒฉ ์ฆ๋ช ์ ์ก์ธ์ค ํ๋๊ทธ์ ์ง์ ๋งคํ
- ๋ค์๊ณผ ๊ฐ์ ํ๋๊ทธ
BYPASS,OVERRIDE๋ฐDEBUG์กฐ๊ฑด ๋ ผ๋ฆฌ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ - ์ฌ์ฉ์ ์ด๋ฆ์ด๋ ํฐ๋ฏธ๋ ID์ ๋ํ ํ๋ฉด์ ์ธ ๊ฒ์ฌ๋ก๋ง ๋ณดํธ๋๋ ์ฝ๋ ์น์
๋ง์ ๊ฒฝ์ฐ ์ด๋ฌํ ์ ๊ฒ์ ๋น๊ณต์์ ์ผ๋ก ์ถ๊ฐ๋์๊ณ ๊ฒํ ๋์ง ์์์ต๋๋ค. ์ ์ ๊ฒ์ฌ๋ฅผ ํตํด ์๋ ์ ๊ฒ์ ์ํด ํ๋๊ทธ๋ฅผ ์ง์ ํ๊ฑฐ๋, ๋ฐ๋ณต์ ์ธ ์ค์ฉ์ ๋ํด ํจํด ๊ธฐ๋ฐ ์๋ฆผ์ ์ํํด์ผ ํฉ๋๋ค.
์ ์ ๋ถ์ ๋ ์ฆ๋ฅผ ํ์ฅํ์ฌ ์ด๋ฌํ ๊ฒฝ๊ณ ์กฐ๊ฑด๊ณผ ํ๋์ฝ๋ฉ๋ ๋์ฒด ๋ฐฉ์์ ํฌ์ฐฉํจ์ผ๋ก์จ ๊ฐ์ฌ์๊ณผ ๋ณด์ ์์ง๋์ด๋ CICS ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋ขฐ ์ฒด์ธ์ ๋์ ์ ์๋ ๋ถ๋ถ์ ๋ ์ ํ์ ํ ์ ์์ต๋๋ค. ๋๋จธ์ง ์์คํ ์ ์์ ํ๊ฒ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ผ๋ ๋ง์ ๋๋ค.
๋ณด์ ์ํ์ ๋ํ๋ด๋ ์ฝ๋ ๊ตฌ์กฐ ํจํด
๊ฐ๋ณ CICS ๋ช ๋ น์ ๋จ๋ ์ผ๋ก๋ ์์ ํด ๋ณด์ผ ์ ์์ง๋ง, ํ๋ก๊ทธ๋จ ๋ก์ง์ ๊ตฌ์กฐ๊ฐ ํธ๋์ญ์ ์ ์ค์ ๋ณด์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์ ๋ถ์์ ๋จ์ํ ์ค ๋จ์์ ์ค์บ๋์ ๋์ด ํ๋ก๊ทธ๋จ ๊ฐ ์ํธ ์์ฉ ๋ฐฉ์, ๊ถํ ์ ์ถ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ์ ์ด ํ๋ฆ์ ์๋ฌต์ ์ ๋ขฐ๊ฐ ํฌํจ๋ ๋ถ๋ถ์ ํ์ ํด์ผ ํฉ๋๋ค.
๋ ๊ฑฐ์ ์์คํ ์ ํนํ ์ด๋ฌํ ํจํด์ ์ทจ์ฝํฉ๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ๋ฐํ์ ์์ ๋ก์ง, ๊ถํ ๋จ์ถ, ๊ทธ๋ฆฌ๊ณ ๊ด์ฌ์ฌ ๋ถ๋ฆฌ๋ฅผ ๋ชจํธํ๊ฒ ๋ง๋๋ ๋ค๋ชฉ์ ํธ๋์ญ์ ์ ๋์ ํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ์ ์ํฐํจํด์ ํ์ ํ๋ ๊ฒ์ ํธ๋์ญ์ ๋ณด์์ ๊ฐํํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
๊ถํ์ด ์์น๋ ํธ๋์ญ์ -ํ๋ก๊ทธ๋จ ๋งคํ
๊ฐ CICS ํธ๋์ญ์ ID๋ ์ผ๋ฐ์ ์ผ๋ก ํน์ ํ๋ก๊ทธ๋จ ๋๋ ๋์คํจ์น ๋ฃจํด์ ๋งคํ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ ์์คํ ์ ์ฌ๋ฌ ๋ชจ๋์์ ํธ๋์ญ์ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ผ ์ฌ๋ฌ ๋ฏผ๊ฐํ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ๊ด๋ฒ์ํ ํ๋ก๊ทธ๋จ ํธ๋ค๋ฌ๋ฅผ ํ ๋นํฉ๋๋ค.
์ ์ ํ ํํฐ๋ง ์์ด ๋ฒ์ฉ ํธ๋ค๋ฌ๊ฐ ๋์ ๊ถํ์ ํธ๋์ญ์ ์ ์ฐ๊ฒฐ๋๋ฉด ์ํํด์ง๋๋ค. ์ ์ ๋ถ์์ ์ด๋ค ํธ๋์ญ์ ID๊ฐ ์ด๋ค ํ๋ก๊ทธ๋จ์ ๋งคํ๋๋์ง ์ถ์ ํ๊ณ , ๊ฐ ํ๋ก๊ทธ๋จ์ด ํด๋น ํธ๋์ญ์ ์ปจํ ์คํธ์์ ์ด๋ค ๋ก์ง์ ์คํํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์:
EXEC CICS RETRIEVE INTO(COMM-AREA)
EVALUATE COMM-AREA-FUNCTION
WHEN 'UPDATE'
PERFORM UPDATE-ROUTINE
WHEN 'DELETE'
PERFORM DELETE-ROUTINE
WHEN OTHER
PERFORM INQUIRY-ROUTINE
END-EVALUATE
์์ ๋ด์ฉ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฑฐ๋์ ๋งคํ๋๋ ๊ฒฝ์ฐ FINTRN01, ํด๋น ๊ฑฐ๋์ ์น๊ฒฉ๋ ์์คํ
๊ถํ์ด ํ ๋น๋๋ฉด ํด๋น ๊ถํ์ด ๋จ์ฉ๋ฉ๋๋ค. COMM-AREA-FUNCTION ์ฌ์ฉ์๊ฐ ์ญํ ์ ํ์ ์ฐํํ๊ณ ์ญ์ ๋๋ ์
๋ฐ์ดํธ ๋
ผ๋ฆฌ๋ฅผ ํธ์ถํ ์ ์๋๋ก ํ์ฉํ ์ ์์ต๋๋ค.
์ํ ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ํ๋๊ทธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ง ๊ถํ์ด ์๋ ์์ ์ ์ํํ๋ ๋จ์ผ ํ๋ก๊ทธ๋จ
- ํ๋์ฝ๋ฉ๋ ํธ๋์ญ์ -ํจ์ ์ ํ์ด ๋ถ์กฑํจ
- ํ๊ฒฝ ๋๋ ์ฌ์ ๋ถ ๊ฐ ๊ณต์ ๊ฑฐ๋ ์ฝ๋
- ๋์คํจ์น ๋ชจ๋ ๋ด์ ํน์ ์ง์ ์ ์ฐ๊ฒฐ๋ ์ก์ธ์ค ๊ฒ์ฌ๊ฐ ์์
์ ์ ์ค์บ์ commarea ํ๋๊ทธ๊ฐ ํ๋ฆ์ ์ ์ดํ๋ ์์น์ ํด๋น ํ๋ฆ์ด ์ธ์ฆ, ์ญํ ๊ฒ์ฆ ๋๋ ๋ฆฌ์์ค ์์ค ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ๋ณดํธ๋๋์ง ์ฌ๋ถ๋ฅผ ์๋ณํด์ผ ํฉ๋๋ค.
๋ช ๋ น ์์ค ๋ ๋งคํฌ๋ก ์์ค ํธ์ถ ๊ฒฝ๋ก์ ์ฝ์
๋ ๋ค๋ฅธ ์ํ ์์๋ ๋ช ๋ น ์์ค ํ๋ก๊ทธ๋จ๊ณผ ๋งคํฌ๋ก ์์ค ํ๋ก๊ทธ๋จ ๊ฐ์ ๋ถ์ผ์น์ ๋๋ค. ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ฐ์ ํด ์จ ์์คํ ์ ์ข ์ข ๋ ๊ฐ์ง ์คํ์ผ์ด ํผํฉ๋์ด ์์ต๋๋ค. ๋ช ๋ น ์์ค ์ฝ๋๋ ๊ตฌ์กฐํ๋ ๊ตฌ๋ฌธ๊ณผ ๋ ๋์ ๊ฐ๋ ์ฑ์ ์ด์ ์ ์ ๊ณตํ๋ ๋ฐ๋ฉด, ๋งคํฌ๋ก ์์ค ์ฝ๋๋ ๋ฎ์ ์์ค์ ์ ๊ทผ ๊ถํ๊ณผ ๋ ์ ์ ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๋ ์ ํ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ฏธ๋ฌํ ํธ์ถ ๊ฒฝ๋ก ์ทจ์ฝ์ ์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ํนํ ๋งคํฌ๋ก ์์ค ํ๋ก๊ทธ๋จ์ด ์ค๊ฐ ๋ณด์์ ์ ์ฉํ์ง ์๊ณ ๋์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
์:
- ๋ช ๋ น ์์ค ํ๋ก๊ทธ๋จ์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ง์ ์ฝ๊ฑฐ๋ ์์ ํ๋ ๋งคํฌ๋ก ์์ค ๋ชจ๋์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
- ๋งคํฌ๋ก ์์ค ๋ชจ๋์ ํธ์ถ ํ๋ก๊ทธ๋จ์ด ์ด๋ฏธ ๋ฐ์ดํฐ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
- ์ ๋ ฅ๊ณผ ์คํ ์ฌ์ด์ ์ค๊ฐ ๊ฒ์ฌ๋ ์ํ๋์ง ์์ต๋๋ค.
ํ๋ฆ์ ๋ํ ๊ฐ๋จํ ๋ณด๊ธฐ:
* In command-level handler
EXEC CICS LINK PROGRAM('LEGACYIO') COMMAREA(DATA-BLOCK)
* In macro-level module LEGACYIO
L R1,=V(DATA-BLOCK)
ST R1,=V(SYSTEM-FILE-POINTER)
์ฌ๊ธฐ์ ๋งคํฌ๋ก ์์ค ๋ชจ๋์ ์ ์ฅ์ ํฌ์ธํฐ์์ ์ง์ ์๋ํ๋๋ก ์ ๋ขฐ๋ฉ๋๋ค. ํธ์ถ ํ๋ก๊ทธ๋จ์ด ์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํ๋ฉด DATA-BLOCK๊ณต๊ฒฉ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์กฐ์ํ๊ฑฐ๋ ์น์ธ๋์ง ์์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
์ ์ ๋ถ์์์๋ ๋ค์ ์ฌํญ์ ํนํ ์ฃผ์ํด์ผ ํฉ๋๋ค.
- ๊ตฌ์กฐํ๋ ํ๋ก๊ทธ๋จ์์ ๋ ๊ฑฐ์ ๋ชจ๋๋ก์ LINK ๋๋ XCTL ํธ์ถ
- ๋ช ๋ น ์์ค ์ฝ๋์ ๋งคํฌ๋ก ์์ค ์ฝ๋ ๊ฐ ๋งค๊ฐ๋ณ์ ์ ๋ฌ
- ๊ฒฝ๊ณ ๊ฒ์ฌ ์์ด ์ ์ฅ์ ํฌ์ธํฐ ๋๋ ์์คํ ํ์ผ ์๋ณ์ ์ฌ์ฉ
- ์ ๋ ฅ ๊ฒ์ฆ์ด ๋ค๋ฅธ ๊ณณ์์ ๋ฐ์ํ ๊ฒ์ผ๋ก ๊ฐ์ ๋๋ ์ฌ์ฌ์ฉ ๋ชจ๋
์ด๋ฌํ ์ทจ์ฝ์ ์ ํ ์คํธ์์ ๊ฑฐ์ ๋ฐ๊ฒฌ๋์ง ์์ต๋๋ค. ์ ์ฉ ์กฐ๊ฑด์ด ํฐ๋ฏธ๋ ์ปจํ ์คํธ, ์์ ๋งค๊ฐ๋ณ์, ์คํ ํ๋ฆ ๊ฐ์ ์ ํํ ์ผ์น๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ ์ ๊ฒ์ฌ๋ ์ด๋ฌํ ์ทจ์ฝ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ตฌ์กฐ์ ์ค์ ์ ๊ฐ์งํ ์ ์์ต๋๋ค.
๋ถ์๊ฐ๋ ์ฝ๋์ ๊ฒฐํจ๋ฟ ์๋๋ผ ๊ตฌ์กฐ์ ์ํ์ ์๋ณํจ์ผ๋ก์จ CICS ์์คํ ์ ์ ๋ฐ์ ์ธ ๋ณด์ ํ์ธ๋ฅผ ๋ณด๋ค ํจ๊ณผ์ ์ผ๋ก ํ๊ฐํ๊ณ ์ํฅ ์ ์ฌ๋ ฅ์ ๋ฐ๋ผ ์์ ์ ์ฐ์ ์์๋ฅผ ์ ํ ์ ์์ต๋๋ค.
CICS ํน์ API ๋จ์ฉ์ ์ ์ ๊ฐ์ง
CICS๋ ์์คํ ์์ค ๋ฆฌ์์ค์ ์ํธ ์์ฉํ๋ ๊ด๋ฒ์ํ EXEC ๋ช ๋ น๊ณผ ๋งคํฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์๋ ํฐ๋ฏธ๋ ์๋ณ์, ์์ ๋ฒํธ, ์ธ์ ๋ฉ๋ชจ๋ฆฌ, ํธ๋์ญ์ ๋ผ์ฐํ ๋ก์ง ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ ์ฐ์ฑ์ ์ ๊ณตํ์ง๋ง, ์ถฉ๋ถํ ๋ณด์ ์กฐ์น ์์ด ์ฌ์ฉํ ๊ฒฝ์ฐ ์ทจ์ฝ์ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ธํฐํ์ด์ค๋ฅผ ์ค์ฉํ๋ฉด ์๋์น ์์ ๊ถํ ์์น, ์ ์ด ์ฐํ ๋๋ ๋ฌด๋จ ์์คํ ์์ญ ์ ๊ทผ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ์ ๋ถ์์ ํตํด ๊ฐ๋ฐ์์ ๊ฐ์ฌ์๋ API ํธ์ถ ๋ฐฉ์, API์์ ์ฌ์ฉํ๋ ๋งค๊ฐ๋ณ์, ๊ทธ๋ฆฌ๊ณ ํธ์ถ ์ปจํ ์คํธ๊ฐ ์ ์ ํ ๊ฒ์ฆ์ ์ ๊ณตํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒํ ํ์ฌ ์ด๋ฌํ ์ํ์ ์๋ณํ ์ ์์ต๋๋ค. ์ ์ ํ ๊ตฌํ์ ์ํด์๋ ํธ๋์ญ์ ๊ฐ ์คํ ์ปจํ ์คํธ, ์ก์ธ์ค ํจํด, ๋ฐ์ดํฐ ํ๋ฆ ๊ฒฝ๊ณ๋ฅผ ๋ฉด๋ฐํ ๊ฒํ ํด์ผ ํฉ๋๋ค.
EXEC CICS ASSIGN ๋ฐ ADDRESS์ ์์ ํ์ง ์์ ์ฌ์ฉ ์ถ์
The ASSIGN ADDRESS ๋ช
๋ น์ CICS ๋ด๋ถ ๊ตฌ์กฐ์ ์ง์ ์ก์ธ์คํ ์ ์๋๋ก ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ํฐ๋ฏธ๋ ID, ์ ํ๋ฆฌ์ผ์ด์
์๋ณ์, ์์
๋ณ ๋ฉ๋ชจ๋ฆฌ ์์น์ ๊ฐ์ ์ค์ํ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ๋ก๊น
์ด๋ ์ธ์
์ถ์ ์ ์์ฃผ ์ฌ์ฉ๋์ง๋ง, ์ ์ด ๋ก์ง์ด ๋ณด์ ๊ฒฐ์ ์ ์ํด ์ด๋ฌํ ๊ฐ์ ์์กดํ ๊ฒฝ์ฐ ์ํํด์ง ์ ์์ต๋๋ค.
์ด ์์ ๋ฅผ ๋ณด์ :
EXEC CICS ASSIGN TERMINALID(TERM-ID)
IF TERM-ID = 'DEVBYPASS'
PERFORM SKIP-AUTH-CHECKS
์ฌ๊ธฐ์ ์ ๊ทผ ์ ์ด๋ ํฐ๋ฏธ๋ ID์ ์ง์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ํด๋น ๊ฐ์ ์๊ณ ์๊ฑฐ๋ ํฐ๋ฏธ๋ ์ค์ ์ ์คํธํํ ์ ์๋ ์ฌ์ฉ์๋ ์ด ๋ ผ๋ฆฌ๋ฅผ ์ ์ฉํ์ฌ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ์ฐํํ ์ ์์ต๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ณํ์ ๊ณ ๋ คํ์ญ์์ค. ADDRESS:
EXEC CICS ADDRESS EIBTASKN
MOVE EIBTASKN TO TRACE-BUFFER
๊ณ ๋ฆฝ๋ ์ํ์์๋ ์ด๊ฒ์ด ๋ฌดํดํด ๋ณด์
๋๋ค. ๊ทธ๋ฌ๋ EIBTASKN ๋์ค์ ์ธ์ฆ์ด๋ ๊ฑฐ๋ ์น์ธ์ ์ฌ์ฉ๋๋ฉด ์์ธก ๊ฐ๋ฅ์ฑ๊ณผ ๋ฌด๋จ ์ธ์
์ฌ์นญ์ ์ํ์ด ์์ต๋๋ค.
์์ ํ์ง ์์ ASSIGN ๋ฐ ADDRESS ์ฌ์ฉ์ ์ผ๋ฐ์ ์ธ ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํฐ๋ฏธ๋ ID, APPLID ๋๋ ์์ ๋ฒํธ๋ง์ ๊ธฐ์ค์ผ๋ก ๋ถ๊ธฐ ์ ์ด
- ์ก์ธ์ค ๊ฒ์ฆ ๋๋ ์ฐํ ํ๋๊ทธ์ ํ ๋น๋ ๊ฐ์ ์ง์ ์ฌ์ฉ
- ADDRESS ๋ช ๋ น ํ ๊ตฌ์กฐ์ ๊ฒ์ฆ ์์ด ํฌ์ธํฐ ์ฐธ์กฐ
- IF ์กฐ๊ฑด์์ ์์คํ ์ด ํ ๋นํ ์๋ณ์์ ๋น๊ตํ ํ๋์ฝ๋ฉ๋ ๊ฐ
์ ์ ์ค์บ๋ ๋๊ตฌ๋ ํนํ ํ ๋น๋ ๋ฐ์ดํฐ๊ฐ ํ๋ก๊ทธ๋จ ๋ผ์ฐํ ์ด๋ ๊ถํ ๋ ผ๋ฆฌ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์กฐ๊ฑด์ ํ๋๊ทธ๋ก ํ์ํ๋๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋์ฒด ์คํ ๊ฒฝ๋ก๋ฅผ ํตํ ํธ๋์ญ์ ํ๋ฆ ๋ณ์กฐ
๋ง์ CICS ์ ํ๋ฆฌ์ผ์ด์ ์์ ํด๋ฐฑ(fallback) ๋๋ ๋์ฒด ํธ๋์ญ์ ๋ผ์ฐํ (alternate transaction routing)์ ํตํด ์ฅ์ ํ์ฉ์ฑ์ ํฅ์์ํต๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋์ฒด ๊ฒฝ๋ก๋ ์ ์ ํ ์ ๊ทผ ๊ฒ์ฆ์ด ๋ถ์กฑํ๊ฑฐ๋ ์๋์น ์์ ์ํฉ์์ ์ ๊ทผ๋ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ๊ณต๊ฒฉ์๊ฐ ์ ์์ ์ธ ํธ๋์ญ์ ํ๋ฆ ์ธ๋ถ์์ ๋ฏผ๊ฐํ ๋ก์ง์ ์คํํ ์ ์๋ ๊ธฐํ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ค์ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํด ๋ณด์ธ์.
IF EIBCALEN = 0
EXEC CICS XCTL PROGRAM('RETRYTX')
์ด ์ฝ๋๋ ์ผํ๊ฐ ์ ๋ฌ๋์ง ์์ผ๋ฉด ์คํ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ํ์ง๋ง RETRYTX ์ ๋ขฐํ ์ ์๋ ์ํ์ค์์๋ง ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์์ ์ ์์ต๋๋ค. ์์ฒด ๊ฒ์ฆ์ ์ํํ์ง ์์ผ๋ฉด ์ฌ์ฉ์๋ ๊ธธ์ด๊ฐ 0์ธ ํธ๋์ญ์
์ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ฏผ๊ฐํ ๊ธฐ๋ฅ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์๋ก๋ ์นจ๋ฌต์ ํ๋๊ฐ ์์ต๋๋ค.
IF AUTH-FAILS
EXEC CICS START TRANSID('ALTID')
EXEC CICS RETURN
If ALTID ๋ ํฐ ๊ถํ์ด๋ ๋ ๊ด๋ฒ์ํ ๊ธฐ๋ฅ์ด ์๋ ํธ๋์ญ์
์ ๋งคํ๋๊ณ ์ญํ ๊ฒ์ฌ๊ฐ ๋ถ์กฑํ์ฌ ์ด๋ฌํ ๋์ฒด ์กฐ์น๋ก ์ธํด ์๋์น ์์ ์ก์ธ์ค๊ฐ ๋ฐ์ํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ํ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ๋ฐ์ํฉ๋๋ค.
- ์ค๋ฅ ์ํ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ ํํ๊ธฐ ์ํด START, XCTL ๋๋ LINK ์ฌ์ฉ
- ์ฌ๋ฌ ๊ฑฐ๋ ์ฝ๋์์ ์ฌ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋จ ID
- ๋ค์ด์คํธ๋ฆผ ๋ชจ๋์ ๋ํ ๊ฒ์ฆ์ ์ฐ๊ธฐํ๋ RETURN ๋ ผ๋ฆฌ
- ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ์์ด ํ๋ฆ์ ์ง์ํ๋ Commarea ๊ฐ
์ ์ ๋ถ์์ ์ฌ๋ฌ ์ง์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ ์๋ณํ๊ณ , ๋ถ์์ ํ ๊ฒ์ฆ ํ ์ ์ด๊ถ์ ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ๊ฐ์กฐํ๊ธฐ ์ํด ์ ์ฒด ํธ๋์ญ์ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค. ํจ์๊ฐ ๋ถ๋ฆฌ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋๋ผ๋, ์จ๊ฒจ์ง ํ๋ฆ์ ํตํด ๊ณต๊ฒฉ์๋ ์์ ์ฉ๋ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๊ถํ์ด ์๋ ์์ ์ ์คํํ ์ ์์ต๋๋ค.
๋ณต์กํ ๋ณด์ ๋ก์ง ๋๋ ํ ์ฒ๋ฆฌ
๋ ๊ฑฐ์ CICS ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์์์ ๊ฐ์ฅ ์ด๋ ค์ด ์ธก๋ฉด ์ค ํ๋๋ ๋๋ ํ๋๊ฑฐ๋ ๊น์ด ์ค์ฒฉ๋ ๋ณด์ ๋ก์ง์ ํ์ด๋ด๋ ๊ฒ์ ๋๋ค. ๋ง์ CICS ํ๋ก๊ทธ๋จ์ด ์์ญ ๋ ์ ๊ฑธ์ณ ๋ฐ์ ํ๊ณ ์ฌ๋ฌ ํ์ ๊ฑฐ์น๋ฉฐ ์ฌ๋ฌ ๊ณ์ธต์ ์ ๊ทผ ๊ด๋ฆฌ ์์คํ ์ ํตํฉํด ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, ํต์ฌ ๋ณด์ ๊ฒฐ์ ์ ์ข ์ข ๋๋ฌ ๋ถ๊ฐ๋ฅํ ๊ฒฝ๋ก์ ๋ฌปํ๊ฑฐ๋, ์ฌ๋ฌ ๋ชจ๋์ ๋ณต์ ๋๊ฑฐ๋, ๋จํธํ๋ ๋ฃจํด์ผ๋ก ๋ถํ ๋ฉ๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฌํ ํจํด์ ์ฌ๊ตฌ์ฑํ๊ณ ๊ฐ์ ์ด๋ ๊ฐ๊ณผ๋ก ์ธํด ์ํ์ด ๋ฐ์ํ ๋ถ๋ถ์ ํ์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ๋ถํ ์น์ธ ๊ฒฝ๋ก ์๋ณ
CICS ๊ฐ๋ฐ์๋ค์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ์ฌ์ฉ์ ์ํธ์์ฉ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์์ฌ ๋ํํ ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌํํฉ๋๋ค. ์ด ๊ณผ์ ์์ ์๋์น ์๊ฒ ์ธ์ฆ๊ณผ ๊ถํ ๋ถ์ฌ๊ฐ ๋ถ๋ฆฌ๋ ์ ์์ต๋๋ค. ํ ํ๋ก๊ทธ๋จ์ ์๊ฒฉ ์ฆ๋ช ์ ํ์ธํ๊ณ , ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ธ์ ํ๋๊ทธ๋ฅผ ์ค์ ํ๋ฉฐ, ์ธ ๋ฒ์งธ ํ๋ก๊ทธ๋จ์ ์ ๊ทผ ๊ถํ ํ์ธ์ ์ํํฉ๋๋ค. ์ด ์ฒด์ธ์ ์ด๋ ๋ถ๋ถ์ด๋ ์ฐ๊ฒฐ์ด ๋์ด์ง๊ฑฐ๋ ๋ค๋ฅธ ์ปจํ ์คํธ์์ ์ฌ์ฌ์ฉ๋๋ฉด ๋ณด์ ํ์ ์ด ๋ฐ์ํฉ๋๋ค.
์:
ํ๋ก๊ทธ๋จ 1 :
IF USERID = 'SUPPORT1'
MOVE 'OK' TO SESSION-AUTH
EXEC CICS RETURN TRANSID('TX02')
ํ๋ก๊ทธ๋จ 2 :
IF SESSION-AUTH = 'OK'
PERFORM PROCESS-ADMIN-DATA
์๋ํ ๋๋ก ์ฌ์ฉํ๋ฉด ์์ ํด ๋ณด์
๋๋ค. ํ์ง๋ง ๋ค๋ฅธ ํธ๋์ญ์
์ด ํ๋ก๊ทธ๋จ 2์ ๊ฑฐ์น์ง ์๊ณ ํ๋ก๊ทธ๋จ 1๋ฅผ ์ง์ ์์ํ๋ฉด ๋ณ์ SESSION-AUTH ์ด๊ธฐํ๋์ง ์์๊ฑฐ๋ ์์กฐ๋์์ ์ ์์ต๋๋ค. ๋ ๋ฒ์งธ ํ๋ก๊ทธ๋จ์ ์๊ฒฉ ์ฆ๋ช
์ ๋ค์ ํ์ธํ์ง ์๊ณ ๋ณ์๋ง์ ๊ธฐ๋ฐ์ผ๋ก ์ธ์
์ด ์ ํจํ๋ค๊ณ ์ ๋ขฐํฉ๋๋ค.
์ ์ ๋ถ์์ ํนํ ๋ค์๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ ์ ํ ๊ณผ์ ์์ ๋ณ์ ํ ๋น์ ์ถ์ ํด์ผ ํฉ๋๋ค.
- ํ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ์ก์ธ์ค ๊ฒฐ์ ์ ์ํด ์ฝ๋ ํ๋๊ทธ๋ฅผ ์ค์ ํ๋ ๊ฒฝ์ฐ
- ์ธ์ฆ ๋ ผ๋ฆฌ ์ธ๋ถ์ ๊ถํ ๋ ผ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ
- ํ๋ก๊ทธ๋จ์ ์ง์ ์คํํ๊ณ ์ผ๋ฐ ํญ๋ชฉ ๊ฒ์ฆ์ ์ฐํํ ์ ์๋ ๊ฒฝ์ฐ
์ด๋ฌํ ํจํด์ ๊ธฐ์กด ๋์์ธ์์ ๋งค์ฐ ํํ๊ฒ ๋ฐ์ํ๋ฉฐ ์๋ ๊ฒํ ์์๋ ์ข ์ข ๊ฐ๊ณผ๋ฉ๋๋ค.
๋ด๋ถ ๋๋ฒ๊ทธ ๋๋ ํ ์คํธ ๋ชจ๋๋ฅผ ํตํ ์ ์ด ํ๋ฆ ์ ํ
๊ฐ๋ฐ์๋ ํ ์คํธ ์ค์ ๋์์ ์ฃผ๊ธฐ ์ํด ์จ๊ฒจ์ง ํ๋๊ทธ๋ ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ ์ ์ ์ ๊ฑฐ๋์ง ์๊ฑฐ๋ ์ด์ ํฐ๋ฏธ๋์์ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฏผ๊ฐํ ๋ถ๋ถ์ ๋ํ ๋ฐฑ๋์ด๊ฐ ๋ ์ ์์ต๋๋ค.
์:
IF COMM-FLAG = 'DEBUG'
PERFORM BYPASS-AUTH-CHECK
๋๋ ๋ ๋ฏธ๋ฌํ๊ฒ:
IF CURRENT-TIME > '210000'
PERFORM EMERGENCY-ROUTINE
๋ ๋ฒ์งธ ์ฌ๋ก์์๋, ๊ทผ๋ฌด ์๊ฐ ์ธ ๋ฃจํด์ด ์ผ๋ถ ์ ์์ ์ธ ๋ณด์ ๊ฒ์ฌ๋ฅผ ์ฐํํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ผ๊ด ์์ ์ด๋ ๋น์ ๋์์ ์ํ ๊ฒ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ํํ ์ธ์ ์์ ํธ๋ฆฌ๊ฑฐ๋ ์ ์๋ค๋ฉด, ์๊ฐ ๊ธฐ๋ฐ ๊ณต๊ฒฉ ๋ฒกํฐ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋๋ ํ๋๊ฑฐ๋ ์ํํ ๋ ผ๋ฆฌ๋ฅผ ์ค์บํ ๋ ์ ์ ๋ถ์์ ๋ค์์ ์ฐ์ ์ํด์ผ ํฉ๋๋ค.
- ๋ณด์ ๋ ผ๋ฆฌ๋ฅผ ์ ์ดํ๋ ๋น์ ์์ ์ธ ์กฐ๊ฑด(์๊ฐ, ํฐ๋ฏธ๋ ID, ์ง์ญ ์ฝ๋)
- DEBUG, DEV, OVERRIDE, TEST ๋๋ BACKDOOR์ ๊ฐ์ ํ๋๊ทธ
- ํน์ ๋ฐํ์ ์กฐ๊ฑด์์ ๊ฑด๋๋ฐ๋ ์ก์ธ์ค ๊ฒ์ฌ
- ๊ฒ์ฆ ๋ธ๋์น๋ฅผ ๋์๋ค๋๋ GOTO ๋๋ PERFORM ๊ฒฝ๋ก
๋ชฉํ๋ ์ง์ ์ ์ด๊ณ ๊ฐ์์ ์ธ ๊ถํ ํ์ธ ์์ด ์คํ์ ๊ถํ์ด ์๋ ์ฝ๋๋ก ์ ๋ฌํ ์ ์๋ ๋ชจ๋ ๊ฒ์ ํ๋ฉดํํ๋ ๊ฒ์ ๋๋ค.
์ผ๊ด๋์ง ์์ ์ก์ธ์ค ์ ์ด๊ฐ ์๋ ์ฌ์ฌ์ฉ ๋ฃจํด
๋ง์ ๋๊ท๋ชจ CICS ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ ์ก์ธ์ค ๋๋ ๋น์ฆ๋์ค ๋ก์ง์ ์ํด ๊ณตํต ๋ฃจํด์ ์ฌ์ฌ์ฉํฉ๋๋ค. ์ด๋ฌํ ๋ฃจํด์ ๊ณต๊ฐ ํธ๋์ญ์ ๊ณผ ๋ด๋ถ ๊ด๋ฆฌ ์ ํธ๋ฆฌํฐ ๋ชจ๋์์ ํธ์ถ๋ ์ ์์ต๋๋ค. ๊ณต์ ๋ก์ง์์ ํธ์ถ์๊ฐ ์ฌ์ฉ์ ์ญํ ์ ์ ํจ์ฑ์ ์ด๋ฏธ ๊ฒ์ฆํ๋ค๊ณ ๊ฐ์ ํ๊ณ , ์ด ๊ฐ์ ์ด ํญ์ ์ฑ๋ฆฝํ๋ ๊ฒ์ ์๋๋ผ๋ฉด, ๊ฐ์ ์ ์ธ ์ทจ์ฝ์ ์ด ๋ฉ๋๋ค.
๊ณ ์ ์ ์ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
PERFORM UPDATE-ACCT-INFO
...
UPDATE-ACCT-INFO.
IF ROLE = 'ADMIN'
EXEC CICS WRITE FILE('ACCTDB')
์ด๊ฒ์ ๋ชจ๋ ํธ์ถ์๊ฐ UPDATE-ACCT-INFO ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํฉ๋๋ค ROLE ๋ณ์. ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ๋ถ๋ถ์ด ์ด ๋ฃจํด์ ํธ์ถํ๋ ๊ฒฝ์ฐ ROLE ์ด๊ธฐํ๋์ง ์์๊ฑฐ๋ ํธ์ถ์๊ฐ ์ทจ์ฝํ ๊ฒ์ฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ชป ์ค์ ํ ๊ฒฝ์ฐ ๋ฌด๋จ ์ก์ธ์ค๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ์ ์ค์บ์์๋ ๋ค์ ์ฌํญ์ ํ๋๊ทธ๋ก ์ง์ ํด์ผ ํฉ๋๋ค.
- ๋ณด์์ ๋ฏผ๊ฐํ ์์ ์ ์ํํ๋ ๊ณต์ ๋ฃจํด
- ๊ณต์ ๋ฃจํด ๋ด ๋ก์ปฌ ๊ฒ์ฆ์ ๋ถ์ฌ
- ์ธ๋ถ์์ ์ ์๋ ์ก์ธ์ค ๊ฒฐ์ ์ ์ฌ์ฉ๋๋ ๋ณ์
- ์ํ ์ง์ ์์ ๋ฉ๋ฆฌ ๋จ์ด์ง ๊ณณ์์ ๋ฐ์ํ๋ ์ญํ ํ ๋น
์ด๋ฌํ ํํ์ ๋๋ ํ๋ ์๋์ ์ธ ์ํ๊ฐ ์๋๋ผ ์ฅ๊ธฐ์ ์ธ ์ํคํ ์ฒ ๋ณํ์์ ๋น๋กฏ๋ฉ๋๋ค. ๊ตฌ์ฑ ์์๊ฐ ์ฌ๋ฌ ๋ชจ๋์์ ์ฌ์ฌ์ฉ๋จ์ ๋ฐ๋ผ ์๋ ์ ๊ทผ ๊ฐ์ ์ด ์ฝํ๋ฉ๋๋ค. ์ฌ์ธต์ ์ธ ์ฝ๋ ์ถ์ ๊ณผ ์ปจํ ์คํธ ์๊ด๊ด๊ณ ๋ถ์๋ง์ด ์ด๋ฌํ ์ํ์ ๋ ธ์ถํ ์ ์์ต๋๋ค.
์ฌ์ฉ SMART TS XL CICS ํธ๋์ญ์ ์ทจ์ฝ์ ์ ๊ฐ์งํ๊ณ ์ ๊ฑฐํ๊ธฐ
๋ ๊ฑฐ์ ๋ฉ์ธํ๋ ์ ์์คํ ์์ ๋ณด์ ๋ถ์์ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋ณธ์ง์ ์ผ๋ก ๋ณต์กํฉ๋๋ค. CICS ํ๊ฒฝ์ ์ค์ ์ง์ค์ ๊ตฌ์กฐ๊ฐ ๋ถ์กฑํ๊ณ , ์ต์ ๋ฌธ์๊ฐ ๊ฑฐ์ ์์ผ๋ฉฐ, ์์ญ ๋ ์ ๊ฑธ์ณ ์ ์ฐจ๊ฐ ๋ฐ์ ํด ์์ต๋๋ค. SMART TS XL COBOL, PL/I, JCL ๋ฐ CICS ํน์ ํจํด์ ๋ง์ถฐ ํน๋ณํ ์ค๊ณ๋ ์ ์ ๋ถ์ ์์ง์ ์ ๊ณตํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์ผ๋ฐ ๋๊ตฌ์ ๋ฌ๋ฆฌ ๋ฉ์ธํ๋ ์ ์ํ๊ณ ๊ณ ์ ์ ์ํคํ ์ฒ์ ๊ท์น์ ์ดํดํฉ๋๋ค.
CICS๋ฅผ ์ํ ๋ค๋จ๊ณ ํ๋ฆ ์ฌ๊ตฌ์ฑ
SMART TS XL ์ ์ฒด ์ง์ ํฌํธํด๋ฆฌ์ค๋ฅผ ๊ฒํ ํ๊ณ ํ๋ก๊ทธ๋จ ๊ฐ ํ๋ฆ๋๋ฅผ ๊ตฌ์ถํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ํธ๋์ญ์ -ํ๋ก๊ทธ๋จ ๋งคํ
- LINK, XCTL ๋ฐ RETURN์ ์ฌ์ฉํ ํ๋ก๊ทธ๋จ ๊ฐ ์ ํ
- ๋ณ์ ๋ฐ ์ผํ ์ ํ
- ์ญํ ๊ธฐ๋ฐ ์ ์ด ๋ ผ๋ฆฌ ๋ฐ ์ง์ ์กฐ๊ฑด ์ถ์
์ ์ฒด ์คํ ์ฒด์ธ์ ์ฌ๊ตฌ์ฑํจ์ผ๋ก์จ ์ ๋ขฐํ ์ ์๋ ์ปจํ ์คํธ๋ฅผ ๊ฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ด ์ ์ฌ์ ์ผ๋ก ๊ฒ์ฆ๋์ง ์์ ์ง์ ์ ํฌํจํ์ฌ ์ฌ๋ฌ ์ง์ ์์ ์ค์ ๋ก ๋๋ฌํ ์ ์๋์ง ๊ฐ์งํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก ์์:
๋ด๋ถ ๊ฐ์ฌ์์ ๊ฑฐ๋์ ๋ณด์ ๊ฒฐํจ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. TX94 ์๋ ๊ด๋ฆฌ์์ฉ์ผ๋ก๋ง ์๋๋ ํ๋ก๊ทธ๋จ์ ํธ๋ฆฌ๊ฑฐํ์ต๋๋ค. SMART TS XL ํ๋ก๊ทธ๋จ์ ํธ์ถ ๊ทธ๋ํ๋ฅผ ์ถ์ ํ์ฌ ์ ์ด ํ๋๊ทธ๊ฐ ํ์ธ๋์ง ์์ commarea ํ๋๋ฅผ ํตํด ์ ๋ฌ๋์์์ ๋ฐ๊ฒฌํ์ผ๋ฉฐ, ๋์ผํ ํ๋ก๊ทธ๋จ ํญ๋ชฉ์ ์ ๊ทผํ๋ ๋ค๋ฅธ ํธ๋์ญ์
5๊ฐ๋ฅผ ์๋ณํ์ต๋๋ค. ์๋ ์ถ์ ์์๋ ์ด ๋ถ๋ถ์ ๋์ณค์ต๋๋ค.
์จ๊ฒจ์ง ์ ์ด ํ๋๊ทธ ๋ฐ ๋๋ ํ๋ ์ก์ธ์ค ๊ฒฝ๋ก ๊ฐ์ง
๋ง์ ๋ ๊ฑฐ์ ํ๋ก๊ทธ๋จ์๋ ๋ด์ฅ๋ ์ค๋ฒ๋ผ์ด๋ ์กฐ๊ฑด์ด๋ ๋น์ ๋ฃจํด์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ์กฐ๊ฑด์ ์ค์ฒฉ์ด ๊น๊ฑฐ๋, ๋ณ์ ์ด๋ฆ์ด ์ผ๋ฐ์ ์ด์ง ์๊ฑฐ๋, ๋์ฒด ๋ก์ง ๋ด๋ถ์ ๋ฐฐ์น๋์ด ์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ฐพ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. SMART TS XL ๊ท์น ๊ธฐ๋ฐ ๋ฐ ํจํด ๋งค์นญ ์ค์บ์ ์ฌ์ฉํ์ฌ ๋ค์์ ์ถ์ถํฉ๋๋ค.
- ๊ฑฐ์ ์ฌ์ฉ๋์ง ์๋ ํ๋๊ทธ ๊ฐ์ผ๋ก ์ ์ด๋๋ ์กฐ๊ฑด ๋ถ๊ธฐ
- ํฐ๋ฏธ๋ ID, ์๊ฐ ๋๋ ์์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํธ๋ฆฌ๊ฑฐ๋๋ ๋ก์ง
- ์ผํ ํ๋๊ทธ, ํ๋์ฝ๋ฉ๋ ์ฌ์ฉ์ ID ๋๋ ๋งคํฌ๋ก ์์ค ๋ฃจํด์ ์ฌ์ฉํ์ฌ ๋ถ๊ธฐ๋ฅผ ์ฐํํฉ๋๋ค.
์ ์ฌ์ ์ผ๋ก ํน๊ถ์ด ์๋ ์์ฌ๊ฒฐ์ ์ง์ ์ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ํ๋ฉดํํ๊ณ ๋๋ฌ ๊ฐ๋ฅ์ฑ, ๊ฑฐ๋ ๋ ธ์ถ, ํน๊ถ ํ๋ ๊ฐ๋ฅ์ฑ์ ๊ธฐ์ค์ผ๋ก ์์๋ฅผ ๋งค๊น๋๋ค.
CICS ๊ตฌ์ฑ์ ๋ํ ์๋ํ๋ ์ทจ์ฝ์ฑ ๊ท์น
ํ๋ฉด ์์ค ์ค์บ๋์ ๋ฌ๋ฆฌ SMART TS XL COBOL-CICS ํ๋ก๊ทธ๋จ์ ๋ง์ถฐ ๋ด์ฅ๋ ๊ท์น์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด ๊ท์น์ ๋ค์๊ณผ ๊ด๋ จ๋ ์ทจ์ฝ์ ์ ์๋ณํฉ๋๋ค.
- ์์ ํ์ง ์์ EXEC CICS ASSIGN ๋ฐ ADDRESS ์ฌ์ฉ
- PERFORMed ๋ฃจํด์ ์ผ๊ด๋์ง ์์ ์ก์ธ์ค ๋ ผ๋ฆฌ
- WRITE, DELETE ๋๋ START ๋ช ๋ น ์ ์ ๊ฒ์ฆ์ด ๋๋ฝ๋์์ต๋๋ค.
- ์ทจ์ฝํ ์ํ ๊ด๋ฆฌ๊ฐ ์๋ ๊ตฌ์ ์์ฌ ๋ํ ํ๋ฆ
์ด๋ฌํ ๊ท์น์ ํ๊ฒฝ, ๋น์ฆ๋์ค ๊ธฐ๋ฅ ๋๋ ๊ฐ์ฌ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ง์ถค ์ค์ ํ ์ ์์ต๋๋ค. ํนํ ๊ธฐ์กด ๊ฐ๋ฐํ์ด ๋จ๊ธด ์๋ชป๋ ๊ฐ์ ์ ํ์ ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
์ํฅ ์ถ์ ์ ํตํ ๊ฐ์ํ๋ ๊ต์
์ทจ์ฝ์ ์ด ํ๋๊ทธ๋ก ํ์๋๋ฉด ๋ค์์ ํตํด ์์ ์ ๊ฐ์ํํ ์ ์์ต๋๋ค. SMART TS XL์ ์ถ์ ๊ธฐ๋ฅ์ ๋๋ค. ๋ชจ๋ ๋ ผ๋ฆฌ ๋ถ๊ธฐ ๋๋ ํ๋ก๊ทธ๋จ ํจ์์ ๋ํด ๋ค์์ ํ์ํ ์ ์์ต๋๋ค.
- ์ด๋ฅผ ์ด๋ํ๋ ๋ชจ๋ ๊ฑฐ๋
- ์ด๊ฒ์ด ํธ์ถํ๋ ๋ชจ๋ ๋ชจ๋
- ๋ชจ๋ ๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฐํํ๋ ๋ชจ๋ ์ก์ธ์ค ๋ ผ๋ฆฌ
์ด ์ถ์ ๋งต์ ๊ฐ๋ฐ์์ ๊ฐ์ฌ์๊ฐ ๊ฒฐํจ์ด ๊ณ ๋ฆฝ๋ ๊ฒ์ธ์ง ์๋๋ฉด ์์คํ ์ ์ผ๋ก ๋ ธ์ถ๋ ๊ฒ์ธ์ง ์ฆ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ํ ์ข ์์ฑ์ ์๋์ผ๋ก ๋งคํํ๋ ๋ฐ ์์๋๋ ์๊ฐ์ ์ค์ด๊ณ ํจ์น ์ ์ฉ ์ค ์๋ก์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ํ์ ์ค์ฌ์ค๋๋ค.
๊ฒฐ๋ก ๋ฐ ๋ค์ ๋ณด์ ๊ฒํ ๋จ๊ณ
๋ ๊ฑฐ์ CICS ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ๋น์ฆ๋์ค ๋ก์ง์ ๋ณด์ ํ๊ณ ์์ง๋ง, ์ค๋๋๊ณ ๋ณต์กํ ๊ตฌ์กฐ๋ก ์ธํด ํ์ค ๋ฐฉ์์ผ๋ก๋ ์ข ์ข ๊ฐ๊ณผ๋๋ ๋ณด์ ์ฌ๊ฐ์ง๋๊ฐ ๋ฐ์ํฉ๋๋ค. ์ ์ ๋ถ์์ ์จ๊ฒจ์ง ์ํ์ ์ ์ฉ๋๊ธฐ ์ ์ ๋ฐ๊ฒฌํ ์ ์๋ ์ ๋ขฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ฉฐ, ํนํ ๊ตฌ๋ฌธ์ด๋ ์ฝ๋ ์กฐ๊ฐ๋ฟ๋ง ์๋๋ผ ํธ๋์ญ์ ์ ๋ฐ์ ๋ ๊ด๋ฒ์ํ ์ ์ด ํ๋ฆ๊ณผ ์ ๊ทผ ๊ฐ์ ์ ๋์์ผ๋ก ํ ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
์ด ๊ธฐ์ฌ์์๋ CICS ์์คํ ์๋ง ์กด์ฌํ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐํจ ์ ํ์ ์ดํด๋ณด์์ต๋๋ค.
- ๋์จํ๊ฒ ๊ฒฐํฉ๋ ํ๋ก๊ทธ๋จ์ ๋ถ์ฐ๋ ๊ถํ ๋ถ์ฌ ๋ ผ๋ฆฌ
- ๊ฒ์ฆ ์์ด ASSIGN ๋ฐ ADDRESS์ ๊ฐ์ ์ทจ์ฝํ ๋ช ๋ น ํจํด
- ์ ์์ ์ธ ๊ฒ์ฌ๋ฅผ ์ฐํํ๋ ํด๋ฐฑ ํธ๋์ญ์ ๋ฐ ๋๋ฒ๊ทธ ๊ฒฝ๋ก
- ํธ์ถ์๋ก๋ถํฐ ์ ๋ขฐํ ์ ์๋ ์ ๋ ฅ์ ๊ฐ์ ํ๋ ์ฌ์ฌ์ฉ๋ ๋ฃจํด
๋๊ท๋ชจ CICS ํฌํธํด๋ฆฌ์ค๋ฅผ ์ด์ํ๋ ์กฐ์ง์ ๊ฒฝ์ฐ, ๋จํธ์ ์ธ ๋ณด์ ์ ๊ทผ ๋ฐฉ์์ ๋ ์ด์ ์ ํจํ์ง ์์ต๋๋ค. ์ต์ ์ํ์ ์๋ฐฑ ๊ฐ์ ๋ชจ๋์ ์จ๊ฒจ์ง ๋จ ํ๋์ ์ค์๋ ์ ์ฉํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ฌ์ธต์ ์ธ ์ํฉ ์ธ์์ ์ ์ฉํ๋ฉด, ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๊ฐ์ฌ๋ฅผ ๋ฐ๊ธฐ ์ ์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ๋ก ๊ณ ๋ คํด์ผ ํ ์ฃผ์ ์กฐ์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ชจ๋ XCTL ๋ฐ LINK ๊ฒฝ๋ก๋ฅผ ํฌํจํ์ฌ ์ ์ฒด ํธ๋์ญ์ -ํ๋ก๊ทธ๋จ ๋งต์ ๋ง๋ญ๋๋ค.
- ํน๊ถ ์์ ์ ์ํํ๋ ๊ณต์ ๋น์ฆ๋์ค ๋ก์ง์ ์๋ณํ๊ณ ๋ฆฌํฉํ ๋งํฉ๋๋ค.
- commarea ํ๋๊ทธ ๋๋ ํฐ๋ฏธ๋ ๊ธฐ๋ฐ ๊ฒฐ์ ์ ์ํฅ์ ๋ฐ๋ ๋ชจ๋ ์ง์ ์ ๊ฐ์ฌํฉ๋๋ค.
- ๊ฐ ๊ฑฐ๋์ ์ง์ ์ง์ ์์ ๋ณด์ ๊ฒ์ฆ์ ์ค์ ํฉ๋๋ค.
- ์๋์น ์์ ๋ ธ์ถ์ ๋ํ ๋์ฒด ๋ ผ๋ฆฌ ๋ฐ ๋น์ ๊ฒฝ๋ก๋ฅผ ๊ฒํ ํฉ๋๋ค.
์ด ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์๋ ์์ ์ ์ค์ด๋ ค๋ ํ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค. SMART TS XL CICS ์ํคํ ์ฒ์ ๋ง์ถฐ ์ ์ ๋ถ์์ ์ ๊ณตํ์ฌ ์ ์ฒด ํ๋ฆ ์ถ์ ์ ํตํ ์์ ํ ๋ฆฌํฉํ ๋ง์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ฉ์ธํ๋ ์ ํ๊ฒฝ์ ๋ณดํธํ๋ ค๋ฉด ๊ฒฝ๊ณ๋ฟ๋ง ์๋๋ผ ๊ฐ์์ฑ๋ ํ์ํฉ๋๋ค. ์ ์ ๋ถ์์ ์ด ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ ๊ณตํ๋ ๋ช ์ ๋๋ ๊ธฐ์ ์ค ํ๋์ ๋๋ค.