segunda-feira, 6 de abril de 2009

Criando Conta Contábeis usando API do Oracle

E ai Galera, blz???

Hoje vou passar uma dica bastante simples, vamos ver como criar contas contábeis usando a API do Oracle.

O primeiro passo seria recuperar o CHART_OF_ACCOUNTS_ID, em muitos lugares na net as rotinas de criação de conta estão com o CHART_OF_ACCOUNTS_ID fixo, isso não legal, mesmo sabendo que muitas empresas sempre utilizam o mesmo CHART_OF_ACCOUNTS_ID...

Com a query abaixo estaremos recuperando o CHART_OF_ACCOUNTS_ID que esta associada ao livro contábil da responsabilidade.


SELECT DISTINCT chart_of_accounts_id
INTO v_chart_of_accounts_id
FROM gl_access_sets
WHERE access_set_id = fnd_profile.value('GL_ACCESS_SET_ID');


Agora usaremos a função FND_FLEX_EXT.GET_CCID para criar a conta contábil e retornar o ID da combinação contábil criada (CODE_COMBINATION_ID). Essa função é tão boa que ela mesma verifica se a conta contábil que esta tentando criar já existe criada, se existir craida ela apenas retorna o ID da conta contábil... Ela é foda!!!!

Se a função retornar 0, é porque deu algum na criação da conta contábil. Na maioria dos problemas é a regra de validação que não deixa criar a conta.


v_new_conta := FND_FLEX_EXT.GET_CCID('SQLGL'
,'GL#'
,v_chart_of_accounts_id
,TO_CHAR(SYSDATE, fnd_flex_ext.date_format)
,'SEGMENT1.SEGMENT2.SEGMENT3.SEGMENT4.SEGMENT5.SEGMENT6.SEGMENT7');

IF v_new_conta = 0 THEN -- ERRO NA CRIACAO DA CONTA CONTABIL
RAISE_APPLICATION_ERROR(-20000,'Não foi possível criar a combinação contábil!!!'fnd_message.get);
END IF;


Para verificar a conta criada é olhar a GL_CODE_COMBINATIONS.


SELECT *
FROM gl_code_combinations
WHERE code_combination_id = v_new_conta


Abraços a todos



Nenhum comentário:

Postar um comentário