Foi criada a package conforme abaixo porem não esta carregando as informações do arquivo para a tabela, porem tambem não retorna erro algum.
Existe algo errado com a proc ou pode ser problema de diretório?
Verifiquei na pasta Directories e o diretorio esta correto, porem o diretorio não esta na pasta do oracle e sim na pasta C:\.
O Banco de teste esta instalado localmente na minha maquina.
Obrigado
WHENEVER SQLERROR EXIT FAILURE ROLLBACK
WHENEVER SQLERROR CONTINUE
CREATE OR REPLACE PACKAGE BODY mrsc_gl_interface001_pk IS
-- $Header: %M% %I% %E% %U% appldev ship $
-- +=================================================================+
-- | Copyright (c) 2006 Oracle Brasil, São Paulo, Brasil |
-- | All rights reserved. |
-- +=================================================================+
-- | FILENAME |
-- | MRSC_GL_INTERFACE001_PK_B.PLS |
-- | |
-- | PURPOSE |
-- | Script de criacao de package. |
-- | |
-- | DESCRIPTION |
-- | Package de carga de Saldos Contábeis MRS |
-- | |
-- | CREATED BY |
-- | Fernando Hein Magalhães (09/02/2009) |
-- | |
-- | UPDATED BY |
-- | |
-- +=================================================================+
-- Interface GL
PROCEDURE ins_carga_saldo( errbuf OUT VARCHAR2
,retcode OUT NUMBER
-- ,p_set_of_books_id IN gl_sets_of_books.set_of_books_id%TYPE
,p_period_name_ini IN gl_periods.period_name%TYPE
,p_period_name_fim IN gl_periods.period_name%TYPE
,p_dt_contabil IN date) IS
l_set_of_books_id NUMBER(15,0);
l_accounting_date DATE;
l_creation_date DATE;
l_created_by NUMBER (15,0);
l_user_je_source_name VARCHAR2(25);
l_user_je_category_name VARCHAR2(25);
l_period_name VARCHAR2(15);
l_reference10 VARCHAR2(100);
l_segment01 VARCHAR2(25);
l_segment02 VARCHAR2(25);
l_segment03 VARCHAR2(25);
l_segment04 VARCHAR2(25);
l_segment05 VARCHAR2(25);
l_segment06 VARCHAR2(25);
l_segment07 VARCHAR2(25);
l_segment08 VARCHAR2(25);
l_segment09 VARCHAR2(25);
l_segment10 VARCHAR2(25);
l_segment11 VARCHAR2(25);
l_segment12 VARCHAR2(25);
l_debit NUMBER(10,2);
l_credit NUMBER(10,2);
l_tam_linha varchar2(5000) ;
v_nome_arquivo utl_file.file_type;
FND_FILE utl_file.file_type;
--BEGIN
-- --
-- ---------------------------------------gravacao de log ----------------------------------
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, chr(10) ||
-- ' INÍCIO Processo de Carga de Saldos Contábeis MRS');
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ' --------------------------------------------------------------------');
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ' ' ||
-- to_char(SYSDATE, 'DD-MON-RRRR HH24:MI:SS'));
--
-- ------------------------------------Carga do Arquivo texto de Saldos Contábeis-----------------------------
BEGIN
-- abre o arquivo para escrita
v_nome_arquivo := UTL_FILE.FOPEN('PROJETO_MRS','TESTE_INSERT.TXT','r');
BEGIN
LOOP
utl_file.get_line(v_nome_arquivo, l_tam_linha);
BEGIN
l_segment03 := trim(substr( l_tam_linha,1 ,instr(l_tam_linha ,'|',1,1)-1));
l_segment04 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,1)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment05 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,2)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment06 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,3)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment07 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,4)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment08 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,5)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment09 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,6)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment10 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,7)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment11 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,8)+1, instr(l_tam_linha,'|',1,1) -1));
l_segment12 := trim(substr( l_tam_linha, instr(l_tam_linha, '|',1,9)+1, instr(l_tam_linha,'|',1,1) -1));
l_debit := trim(to_number(substr( l_tam_linha, instr(l_tam_linha, '|',1,10)+1, instr(l_tam_linha, '|',1,1)-1)));
l_credit := trim(to_number(substr( l_tam_linha, instr(l_tam_linha, '|',1,11)+1)));
BEGIN
SELECT DISTINCT SET_OF_BOOKS_ID
INTO L_SET_OF_BOOKS_ID
FROM GL_SETS_OF_BOOKS
WHERE NAME = 'MRS_FISCAL';
EXCEPTION WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('NÃO FOI ENCONTRADO ID PARA O LIVRO FISCAL');
END;
BEGIN
select period_name
INTO l_period_name
from gl_periods
where start_date >= p_period_name_ini
and end_date <= p_period_name_fim;
EXCEPTION WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('NÃO FOI ENCONTRADO O PERIODO NA TABELA ORIGEM');
END;
BEGIN
INSERT INTO GL_INTERFACE_TESTE (
STATUS, --1
SET_OF_BOOKS_ID, --2
ACCOUNTING_DATE, --3
CURRENCY_CODE , --4
DATE_CREATED, --5
-- CREATED_BY, --6
ACTUAL_FLAG , --7
USER_JE_CATEGORY_NAME , --8
USER_JE_SOURCE_NAME , --9
SEGMENT1 , --10
SEGMENT2 , --11
SEGMENT3, --12
SEGMENT4, --13
SEGMENT5, --14
SEGMENT6, --15
SEGMENT7, --16
SEGMENT8, --17
SEGMENT9, --18
SEGMENT10, --19
SEGMENT11, --20
SEGMENT12, --21
ENTERED_DR, --22
ENTERED_CR, --23
ACCOUNTED_DR, --24
ACCOUNTED_CR, --25
REFERENCE10, --26
PERIOD_NAME) --27
VALUES (
'NEW', --01
L_SET_OF_BOOKS_ID, --02
p_dt_contabil, --03
'BRL', --04
SYSDATE, --05
--FND_PROFILE.VALUE('USER_ID'), --06
'A', --07
'CARGA INICIAL', --08
'CARGA', --09
'001', --10
'0000', --11
l_segment03, --12
l_segment04, --13
l_segment05, --14
l_segment06, --15
l_segment07, --16
l_segment08, --17
l_segment09, --18
l_segment10, --19
l_segment11, --20
l_segment12, --21
l_debit, --22
l_debit, --23
l_credit, --24
l_credit, --25
'CARGA INICIAL', --26
l_period_name ); --27
EXCEPTION
WHEN OTHERS THEN
errbuf := SQLERRM;
retcode := SQLCODE;
END;
EXCEPTION WHEN NO_DATA_FOUND THEN
EXIT;
END;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
errbuf := SQLERRM;
retcode := SQLCODE;
END;
COMMIT;
-- END;
utl_file.fclose(v_nome_arquivo);
---------------------------------------gravacao de log ----------------------------------
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, chr(10) ||
-- ' FIM Processo de Carga de Saldos Contábeis MRS ');
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ' --------------------------------------------------------------------');
-- IF to_char(SQLCODE) <> '0' THEN
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'ERRO: ' || to_char(SQLCODE) || '-' ||
-- errbuf);
-- END IF;
--
-- FND_FILE.PUT_LINE(FND_FILE.OUTPUT, ' ' ||
-- to_char(SYSDATE, 'DD-MON-RRRR HH24:MI:SS'));
exception
when utl_file.invalid_operation then
utl_file.fclose(v_nome_arquivo);
raise_application_error(-20002,'Operação invalida !!!');
when utl_file.read_error then
utl_file.fclose(v_nome_arquivo);
raise_application_error(-20003,'Erro de leitura !!!');
when utl_file.write_error then
utl_file.fclose(v_nome_arquivo);
raise_application_error(-20004,'Erro de gravação !!!');
when TOO_MANY_ROWS then
utl_file.fclose(v_nome_arquivo);
raise_application_error(-20006,'Arquivo já Processado !!!');
end INS_CARGA_SALDO;
END;
-- indicativo de final de arquivo, não deve ser removido
/
--EXIT;