Obsidian/Recognition/Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md

2.5 KiB

CREATE OR REPLACE PROCEDURE UIC.PROC_Test_CURSOR_Before
IS

	n_cnt NUMBER(10);

	/* 처리 대상 데이터 조회용 커서 */
	CURSOR C_IF_TEST IS
		select IF_SRC, IF_DT
        from (
        	 select 'ARTS_ARR' as IF_SRC, DATEANDTIME as IF_DT
        	 from ueai.EAI_ELECSTRIPARRARTS_RCV_TEST
        	 where DEAL_STAT = 'T'
        	 union all
        	 select 'ARTS_DEP' as IF_SRC, DATEANDTIME as IF_DT
        	 from ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
        	 where DEAL_STAT = 'T'
        	  union all
        	 select 'A-CDM_ARR' as IF_SRC, DATEANDTIME as IF_DT
        	 from ueai.EAI_FLTACDMMLSTNARR_RCV_TEST
        	 where DEAL_STAT = 'T'
        	  union all
        	 select 'A-CDM_DEP' as IF_SRC, DATEANDTIME as IF_DT
        	 from ueai.EAI_FLTACDMMLSTNDEP_RCV_TEST
        	 where DEAL_STAT = 'T'
        	  union all
        	 select 'GAM' as IF_SRC, DATEANDTIME as IF_DT
        	 from ueai.EAI_GRDACMVT_RCV_TEST
        	 where DEAL_STAT = 'T'
         )
         where if_dt < '20231219000000.000'
         order by if_dt, if_src;

BEGIN

	FOR cur IN C_IF_TEST LOOP

        IF cur.IF_SRC = 'ARTS_ARR' THEN
        
            update ueai.EAI_ELECSTRIPARRARTS_RCV_TEST
            set deal_stat = 'S'
            where dateandtime = cur.IF_DT;
                
            UIC.PROC_EAI_INTRFC_ARTS_ARR_edit();
        
        ElsIF cur.IF_SRC = 'ARTS_DEP' THEN
        
            update ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
            set deal_stat = 'S'
            where dateandtime = cur.IF_DT;
                
            UIC.PROC_EAI_INTRFC_ARTS_DEP_Edit();
        
        ElsIF cur.IF_SRC = 'A-CDM_ARR' THEN
        
            update ueai.EAI_FLTACDMMLSTNARR_RCV_TEST
            set deal_stat = 'S'
            where dateandtime = cur.IF_DT;
                
            UIC.PROC_EAI_INTRFC_ACDM_ARR_Edit();
            
        ElsIF cur.IF_SRC = 'ARTS_ARR' THEN
        
            update ueai.EAI_ELECSTRIPDEPARTS_RCV_TEST
            set deal_stat = 'S'
            where dateandtime = cur.IF_DT;
                
            PROC_EAI_INTRFC_ACDM_DEP_EDIT();
            
         ElsIF cur.IF_SRC = 'GAM' THEN
        
            update ueai.EAI_GRDACMVT_RCV_TEST
            set deal_stat = 'S'
            where dateandtime = cur.IF_DT;
                
            UIC.PROC_EAI_INTRFC_GAM_EDIT();
                      
        END IF;

    END LOOP;


RETURN;

EXCEPTION WHEN OTHERS THEN

	DBMS_OUTPUT.PUT_LINE('PROC_Test_CURSOR-'||'['||SQLERRM||']');

	RETURN ;

END;