๐ 2025-06-18 RSA ์ค๋ฌด ๋ฉ๋ชจ
๐ paging ์ด๋?
- ์๋ฏธ: ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๋ฟ๋ฆด ๋ ํ ๋ฒ์ ๋ช ๊ฐ๋ฅผ ๋ณด์ฌ์ค์ง ์ ์ดํ๋ ๊ธฐ๋ฅ
- ์: ํ ํ๋ฉด์ 10๊ฑด๋ง ๋ณด์ฌ์ฃผ๊ณ , ๋ค์ ํ์ด์ง๋ก ๋๊น
๐ OP ๋ช ๋ช ๊ท์น
- OP ์ด๋ฆ์ โ๋ชฉ๋กโ ์ด ํฌํจ๋์ง ์์ผ๋ฉด, ํ๋ผ๋ฏธํฐ์ ๋ค์ค์ฑ(*) ๋ถ์ฌ ์ ์ค๋ฅ ๋ฐ์
- ๋ฐ๋ผ์, ๋ชฉ๋ก ์กฐํ๋ผ๋ฉด ๋ฐ๋์
โฆ๋ชฉ๋ก์กฐํ
์ฒ๋ผ ๋ช ์์ ์ผ๋ก ์์ฑํ ๊ฒ
๐ ์ฉ์ด ๋ฑ๋ก ๋ฐ DTO ๋ฐ์ ์ ์ฐจ
๐น ์ฃผ์ ์ฉ์ด (์ ๋ฌธ๋ฒ์ ๋น๊ต์ฉ)
์ฉ์ด๋ช | ์ค๋ช |
---|---|
์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ์์_S16 | ์์ ๋ฒ์ ๋ฒํธ (S16) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธํ์_S16 | ํ์ ๋ฒ์ ๋ฒํธ (S16) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์์์_S16 | ์์ ์ ์ฉ์ผ์ (S16) |
์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์ํ์_S8 | ํ์ ์ ์ฉ์ผ์ (S8) |
๐น ๋ฑ๋ก ์ ์ฐจ
META > ํ์ค๋ฐ์ดํฐ > ์ ๋ฌธ์ฉ์ด๋ฑ๋ก์์ฒญ
์์ ์ฉ์ด ๋ฑ๋กDevOnMDA > Code > ์ฉ์ด์ฌ์ ๋ฆฌ๋ก๋ฉ
์คํ- ํด๋น ์ฉ์ด๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ DTO ํ๋์ ์ผ์น์์ผ์ผ ํจ
- ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ฌ์ฉ ์ โ ๋ฐ๋์
EBI
๋ด DTO์ ์ถ๊ฐํ ๊ฒ
๐ DTO/OP ์ฐ๊ฒฐ ๊ตฌ์กฐ ์ค๋ช
๐ธ <<i, ebi>>
๋ธ๋ญ
PBI
๋จ๋ง์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผEBI
์ OP๋ก ์ ๋ฌํ ๋ ์ฌ์ฉ- ์ฆ, ๋จ๋ง โ ๋ฐฑ์๋ ์ฐ๊ณ ์ง์
- OP์์ ์ ์ธ๋ ์ ๋ ฅ DTO์ ๋งคํ๋์ด์ผ ํ๋ฉฐ, ํ๋๋ช ์ด ์ ํํ ๋ง์์ผ ํจ
๐ธ <<c, dao>>
๋ธ๋ญ
EBI
์ OP ๋ด๋ถ์์ ์ค์ ์ฟผ๋ฆฌ(XML)๋ฅผ ์คํํ๋ ์ฐ๊ฒฐ ๋ธ๋ญ- OP์์ ์ง์ ํ
@SqlId
๊ฐ DAO XML ๋ด๋ถ์<statement name="โฆ">
์ ์ฐ๊ฒฐ๋จ - ์ด ๋ธ๋ญ ์์ด๋ ์ฟผ๋ฆฌ ์คํ ๋ถ๊ฐ
๐ ํ๋ฆ ์ ๋ฆฌ
[PBI ํ๋ฉด ์
๋ ฅ DTO]
โ
<<i, ebi>> โ EBI ์
๋ ฅ DTO ์ธํ
โ
<<c, dao>> โ DAO XML ์ฟผ๋ฆฌ ์คํ
โ
[EBI ์ถ๋ ฅ DTO ๋ฐํ]
๐ <<op, Interaction Block>>
์ค๋ช
๐น ์ ์
- ์ฌ๋ฌ ACSD์์ ๊ณตํต์ผ๋ก ๋ฐ๋ณต๋๋ ๋ก์ง์ ๋ฌถ์ด์ ์ฌ์ฌ์ฉํ๋ ๋ธ๋ญ
<<op, Interaction Block>>
๋ ํ๋์ ๋ ผ๋ฆฌ ํ๋ฆ ๋จ์๋ก ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
๐น ์ ์ฉ ์: ์ ๋ฌธ๋ฒ์ ๋ฑ๋ก vs ์์ ์ ์ ์ฉ์ผ์ ๊ฒ์ฆ
- ์ ๋ ฅ DTO๋ง ๋ค๋ฅด๊ณ , ๋๋จธ์ง ๋ก์ง์ ๋์ผ
- โ ๊ณตํต ๋ธ๋ญ์ผ๋ก ์ถ์ถํ๊ณ ๋ณ์๋ง ์ฌ๋งคํํ์ฌ ์ฌ์ฌ์ฉ
๐น ๋ณ์ ๋งคํ ์์
String [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ] = [iISO20022์ ๋ฌธ๋ฒ์ ๋ฑ๋ก].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ];
String [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์] = [iISO20022์ ๋ฌธ๋ฒ์ ๋ฑ๋ก].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์];
์์ ACSD์์๋ iISO20022์ ๋ฌธ๋ฒ์ ์์
์ผ๋ก ์นํ
๐ธ ๊ฒ์ฆ ์กฐ๊ฑด (๋ ผ๋ฆฌ์ฝ๋ if๋ฌธ)
// ํ์ ๋ฒ์ ๊ณผ ๋น๊ต
if (
[r์ ๋ฌธ๋ฒ์ ๋ด์ญ์ ์ฉ์ผ์์กฐํ].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธํ์_S16] < [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ] &&
[r์ ๋ฌธ๋ฒ์ ๋ด์ญ์ ์ฉ์ผ์์กฐํ].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์ํ์_S8] >= [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์]
) {
code = "9999";
params = "์ ์ฉ์ผ์ ์ค๋ฅ";
return;
}
// ์์ ๋ฒ์ ๊ณผ ๋น๊ต
if (
[r์ ๋ฌธ๋ฒ์ ๋ด์ญ์ ์ฉ์ผ์์กฐํ].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ์์_S16] > [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ๋ฒ์ ๋ฒํธ] &&
[r์ ๋ฌธ๋ฒ์ ๋ด์ญ์ ์ฉ์ผ์์กฐํ].[์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์์์_S8] <= [s์ ํ์๊ธ์ต๋ง์ ๋ฌธ์ ์ฉ์ผ์]
) {
code = "9999";
params = "์ ์ฉ์ผ์ ์ค๋ฅ";
return;
}
๐ ์ ์ฉ์ผ์ ๊ฒ์ฆ์ ์ํ ์ต์ข ์ฟผ๋ฆฌ (๋จ์ผ ํ ์กฐํ + ๋ณํฉ)
SELECT
MAX(A) AS NBW_MESG_VER_NO_UPRN_S16, -- ์์ ๋ฒ์ ๋ฒํธ
MAX(B) AS NBW_MESG_APLY_DT_UPRN_S16, -- ์์ ์ ์ฉ์ผ์
MAX(C) AS NBW_MESG_VER_NO_LWRN_S16, -- ํ์ ๋ฒ์ ๋ฒํธ
MAX(D) AS NBW_MESG_APLY_DT_LWRN_S8 -- ํ์ ์ ์ฉ์ผ์
FROM (
SELECT
NBW_MESG_VER_NO AS A,
NBW_MESG_APLY_DT AS B,
'' AS C,
'' AS D
FROM (
SELECT NBW_MESG_VER_NO, NBW_MESG_APLY_DT
FROM CPBBO_MSGVR_L
WHERE NBW_MESG_TYCD = ${nbw_mesg_tycd}
AND NBW_MESG_VER_NO > ${nbw_mesg_ver_no}
ORDER BY NBW_MESG_VER_NO ASC
)
WHERE ROWNUM = 1
UNION ALL
SELECT
'' AS A,
'' AS B,
NBW_MESG_VER_NO AS C,
NBW_MESG_APLY_DT AS D
FROM (
SELECT NBW_MESG_VER_NO, NBW_MESG_APLY_DT
FROM CPBBO_MSGVR_L
WHERE NBW_MESG_TYCD = ${nbw_mesg_tycd}
AND NBW_MESG_VER_NO < ${nbw_mesg_ver_no}
ORDER BY NBW_MESG_VER_NO DESC
)
WHERE ROWNUM = 1
)
โ ์ฅ์
- ์ํ์ ๋ฒ์ ๊ฐ๊ฐ ์ต์ 1๊ฑด๋ง ์กฐํ
- ๋ฃจํ ์์ด ๋จ์ผ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅ
Interaction Block
๊ณผ ํจ๊ป ์ฌ์ฉํ ๋ ๊ฐ์ฅ ํจ์จ์