drop function if exists staging2.fn_IHTEMT_RUN; CREATE OR REPLACE FUNCTION staging2.fn_IHTEMT_RUN() RETURNS void AS $$ declare f record; w_file_syspk int; status text; begin for f in select file_syspk from fw_core.fw_jobctl_file_runschedule where end_status like 'stg1-completed' and file_mnemonic = 'IHTEMT' order by file_syspk loop select f.file_syspk into w_file_syspk; perform fw_core.fn_get_function_exception('staging2.fn_IHTEMT_EMT_Block(20,1,''IHTEMT'',''IHTEMT_EMT'','||w_file_syspk||')'); select e.status from fw_core.db_run_status e where file_syspk = w_file_syspk and file_sheet_mnemonic ='IHTEMT_EMT' order by error_timestamp desc into status; if status = 'success' then perform fw_core.fn_get_function_exception('staging2.fn_IHTEMT_EMT_TRX(20,1,''IHTEMT'',''IHTEMT_EMT'','||w_file_syspk||')'); end if; perform fw_core.fn_get_function_exception('staging2.fn_IHTEMT_STD_Block(20,1,''IHTEMT'',''IHTEMT_STD'','||w_file_syspk||')'); select e.status from fw_core.db_run_status e where file_syspk = w_file_syspk and file_sheet_mnemonic ='IHTEMT_STD' order by error_timestamp desc into status; if status = 'success' then perform fw_core.fn_get_function_exception('staging2.fn_IHTEMT_STD_TRX(20,1,''IHTEMT'',''IHTEMT_STD'','||w_file_syspk||')'); end if; end loop; end; $$ LANGUAGE plpgsql;