##############################################################################################################
## ÇÁ·Î½ÃÁ®ÀÇ ÀÛ¼º¿¹
CREATE OR REPLACE PROCEDURE COLD.P_SALE_BP_P01
( c_BONCD IN CHAR,
c_BUCD IN CHAR,
c_REGDAY IN CHAR
)
AS
-- ¼ÂÆ®»óÇ°ÀΰÍÀ» È®ÀÎÇؼ µî·Ï±¸ºÐÀÇ ¼ÂÆÃ¹× ÇØÁ¦¸¦ ½Ç½ÃÇÑ´Ù.
-- Ãâ°íµî·ÏµÈ °ÍÁß¿¡¼ ¼ÂÆ®»óÇ°ÀΰÍÀº REGGB ¼ÂÆÃÀÌ ¾ÈµÇ¾î ÀÖÀ¸¹Ç·Î
-- ¸ÅÃâ¿øÀå¿¡¼ °³º°»óÇ°À» Á¶È¸ÇÑÈÄ ¼ÂÆ®»óÇ°¿¡ REGGB¿¡ ÇØ´çÇÏ´Â °ªÀ» ³Ö¾îÁØ´Ù.
c_REGGB CHAR(1) ;
c_PRODCD CHAR(8) ;
c_SUBDEALCD CHAR(5) ;
c_ORDERNUM CHAR(5) ;
c_STOCD CHAR(2) ;
c_CNT NUMBER(3) ;
-- ÇØ´çÀÏÀÚÀÇ ¼ÂÆ®»óÇ° ¸ÅÃâ³»¿ªÀ» È®ÀÎÇÑ´Ù.
-- ½ÂÀα¸ºÐÀÌ Y ÀΰÅ
-- µî·Ï±¸ºÐ¿¡ »ó°ü¾øÀÌ Á¶È¸¸¦ ÇÑ´Ù.
CURSOR C1_SALE_BP IS
SELECT PRODCD,SUBDEALCD,REGDAY,ORDERNUM,STOCD,COUNT(REGGB) AS CNT
FROM (
SELECT PRODCD,SUBDEALCD,REGDAY,ORDERNUM,STOCD,REGGB FROM SALE_BP
WHERE BONCD = c_BONCD
AND BUCD = c_BUCD
AND REGDAY = c_REGDAY
AND PRODCD != SUBPRODCD
AND AUTHGB ='Y'
AND PRODCD IN (SELECT PRODCD FROM PRODCD_BP WHERE BONCD =c_BONCD AND PRODGB='2')
GROUP BY PRODCD,SUBDEALCD,REGDAY,ORDERNUM,STOCD,REGGB
)
GROUP BY PRODCD,SUBDEALCD,REGDAY,ORDERNUM,STOCD ;
BEGIN
-- 1) µî·Ï±¸ºÐÀÌ ¸ðµÎ 'Y' ÀÏ °æ¿ì¿¡¸¸ ÇØ´ç ¼ÂÆ® »óÇ°¿¡ µî·Ï±¸ºÐÀ» 'Y'·Î ÇÑ´Ù.
-- /*-----------------------------------------------------------------------*/
FOR C1 IN C1_SALE_BP LOOP
c_PRODCD := C1.PRODCD ;
c_SUBDEALCD := C1.SUBDEALCD ;
c_ORDERNUM := C1.ORDERNUM ;
c_STOCD := C1.STOCD ;
c_CNT := C1.CNT ;
IF c_CNT = 1 THEN
-- REGGB ã´Â Äõ¸®
BEGIN
SELECT REGGB INTO c_REGGB
FROM SALE_BP
WHERE BONCD = c_BONCD
AND BUCD = c_BUCD
AND REGDAY = c_REGDAY
AND SUBDEALCD = C1.SUBDEALCD
AND PRODCD = C1.PRODCD
AND PRODCD!= SUBPRODCD
AND ORDERNUM = C1.ORDERNUM
AND STOCD = C1.STOCD
AND AUTHGB ='Y'
GROUP BY PRODCD,SUBDEALCD,REGDAY,ORDERNUM,STOCD,REGGB;
EXCEPTION WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-11009, 'SETPROD_REGGB_SETTING_P Error'||c_REGGB||c_BONCD ||c_REGDAY);
END;
BEGIN
UPDATE SALE_BP
SET REGGB = c_REGGB
WHERE BONCD = c_BONCD
AND BUCD = c_BUCD
AND REGDAY= c_REGDAY
AND SUBDEALCD = C1.SUBDEALCD
AND PRODCD = C1.PRODCD
AND SUBPRODCD = C1.PRODCD
AND ORDERNUM = C1.ORDERNUM
AND STOCD = C1.STOCD ;
EXCEPTION WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-21999, 'SETPROD_REGGB_SETTING_P Error'||c_REGGB);
END ;
END IF ;
END LOOP;
COMMIT ;
END;
##############################################################################################################
## PHP ·ÎÁ÷ »ó¿¡¼ ÇÁ·Î½ÃÁ® È£ÃâÇϱâ
$query = "BEGIN
Setprod_Reggb_Setting_P('$key_bonCd','$key_buCd','$key_date') ;
END ;
" ;
$stmt = SQLParse($conn,$query);
OCIExecute($stmt,OCI_DEFAULT);
SQLFreeStatement($conn,$stmt);
|
|
|