代码
PROCEDURE SET_SW_PROACTIVE_DATA(
vBAT_NO KK_SW_WK.BAT_NO%TYPE,
vBAT_SEQ_NO KK_SW_WK.BAT_SEQ_NO%TYPE
)
IS
CURSOR vCUR_MAIN IS
SELECT DDT.BAT_NO, DDT.BAT_SEQ_NO, DDT.WK_SEQ_NO, DDT.SORT_SLIP_DIV FROM DDT;
CURSOR vCUR(vWK_SEQ_NO IN NUMBER,vSORT_SLIP_DIV IN NUMBER) IS
SELECT
vBAT_NO AS BAT_NO, --バッチNO
vBAT_SEQ_NO AS BAT_SEQ_NO, --バッチ処理回数
KSW.TOT_CD AS TOT_CD, --集計CD
KSW.WK_SEQ_NO AS WK_SEQ_NO --ワーク連番
FROM
KK_SW_WK KSW
WHERE
KSW.BAT_NO = vBAT_NO
AND KSW.BAT_SEQ_NO = vBAT_SEQ_NO
AND KSW.WK_SEQ_NO = vWK_SEQ_NO
AND KSW.SORT_SLIP_DIV = vSORT_SLIP_DIV;
vREC_CUR_MAIN vCUR_MAIN%ROWTYPE;
vREC_CUR vCUR%ROWTYPE;
BEGIN
FOR vREC_CUR_MAIN IN vCUR_MAIN LOOP
FOR vREC_CUR IN vCUR(vREC_CUR_MAIN.WK_SEQ_NO,vREC_CUR_MAIN.SORT_SLIP_DIV) LOOP
INSERT INTO KK_SW_PROACTIVE
(
BAT_NO, --バッチNO
BAT_SEQ_NO, --バッチ処理回数
TOT_CD, --集計CD
WK_SEQ_NO --ワーク連番
)
VALUES
(
vREC_CUR.BAT_NO,
vREC_CUR.BAT_SEQ_NO,
vREC_CUR.TOT_CD,
vREC_CUR.WK_SEQ_NO
);
END LOOP;
END LOOP;
END SET_SW_PROACTIVE_DATA;
vBAT_NO KK_SW_WK.BAT_NO%TYPE,
vBAT_SEQ_NO KK_SW_WK.BAT_SEQ_NO%TYPE
)
IS
CURSOR vCUR_MAIN IS
SELECT DDT.BAT_NO, DDT.BAT_SEQ_NO, DDT.WK_SEQ_NO, DDT.SORT_SLIP_DIV FROM DDT;
CURSOR vCUR(vWK_SEQ_NO IN NUMBER,vSORT_SLIP_DIV IN NUMBER) IS
SELECT
vBAT_NO AS BAT_NO, --バッチNO
vBAT_SEQ_NO AS BAT_SEQ_NO, --バッチ処理回数
KSW.TOT_CD AS TOT_CD, --集計CD
KSW.WK_SEQ_NO AS WK_SEQ_NO --ワーク連番
FROM
KK_SW_WK KSW
WHERE
KSW.BAT_NO = vBAT_NO
AND KSW.BAT_SEQ_NO = vBAT_SEQ_NO
AND KSW.WK_SEQ_NO = vWK_SEQ_NO
AND KSW.SORT_SLIP_DIV = vSORT_SLIP_DIV;
vREC_CUR_MAIN vCUR_MAIN%ROWTYPE;
vREC_CUR vCUR%ROWTYPE;
BEGIN
FOR vREC_CUR_MAIN IN vCUR_MAIN LOOP
FOR vREC_CUR IN vCUR(vREC_CUR_MAIN.WK_SEQ_NO,vREC_CUR_MAIN.SORT_SLIP_DIV) LOOP
INSERT INTO KK_SW_PROACTIVE
(
BAT_NO, --バッチNO
BAT_SEQ_NO, --バッチ処理回数
TOT_CD, --集計CD
WK_SEQ_NO --ワーク連番
)
VALUES
(
vREC_CUR.BAT_NO,
vREC_CUR.BAT_SEQ_NO,
vREC_CUR.TOT_CD,
vREC_CUR.WK_SEQ_NO
);
END LOOP;
END LOOP;
END SET_SW_PROACTIVE_DATA;