Roteiro de testes carga diaria
PROCEDURE carga_diaria_prod_med_homo
/*
Job para carga das autorizacoes de homo:
Carrega sempre do dia 01 ao dia anterior do sysdate e grava na producao do mes seguinte, de acordo com a regra praticada explicada pelo Sr.
Ex: Se hoje È 04/07/2012, o job carregara as notas de 01/07/2012 ate 03/07/2012 e colocara na producao: 2012/08/01-M
*/
IS
n_unimed number; n_ano number; n_mes number; n_seq number; n_ano_data number; n_mes_data number; n_dia_data number; s_unidade varchar2(1); d_data_ini date; d_data_fim date; d_data_ini_periodo date; d_data_fim_periodo date; n_ano_periodo number; n_mes_periodo number; n_lote_ini number; n_lote_fim number; n_lote_ini_val number; n_lote_fim_val number; n_erro number; s_erro varchar2(150); n_aux number; v_mens_erro CARGA_AUT_CARTAO.vet_char200; v_mens_erro1 CARGA_AUT_CARTAO_SD1.vet_char200; n_aux1 number; n_aux2 number; n_aux3 number;
CURSOR c_grupo IS
SELECT cod_grupo_prestador
FROM grupo_prestadores
WHERE cod_grupo_prestador in (1,3)
ORDER BY cod_grupo_prestador;
r_grupo c_grupo%ROWTYPE;
BEGIN
n_erro := 0;
execute immediate 'alter session set nls_date_format = ''DD/MM/YYYY''';
-- Obter dia e mes do sysdate --
BEGIN
select to_number(to_char(sysdate-1,'DD')),to_number(to_char(sysdate-1,'MM')),to_number(to_char(sysdate-1,'YYYY')) into n_dia_data,n_mes_data,n_ano_data from sys.dual; exception when others then n_erro := 1; END;
-- Calculo das Datas iniciais e Finais para executar o fechamento das autorizacoes para todos os grupos --
d_data_ini := TO_DATE('01/'||to_char((n_mes_data))||'/'||n_ano_data || ' 00:00:00','DD/MM/YYYY HH24:MI:SS'); d_data_fim := sysdate-1; d_data_fim := TO_DATE(TO_CHAR(d_data_fim,'DD/MM/YYYY') || ' 23:59:59','DD/MM/YYYY