on 02-03-2010 6:47 PM
Bom dia Senhores(a). Tudo bem?
Meu problema é que criamos algumas notas de entrada através da BAPI_J_1B_NF_CREATEFROMDATA, e o XML foi gerado com sucesso, tal como as NFe´s do processo de SD. Porém ao efetuar o retorno, apesar do monitor a NFe aparecer com Status "Completo", na tabela J_1BNFDOC o campo DOCSTAT, vem em branco. O Problema é por causa deste campo estar em branco a NFe não esta aparecendo no livro de entrada mesmo estando ok no monitor.
Nos casos de NFe´s criadas por SD (VA01) este campo vem preenchido automaticamente após o retorno realizado.
OU seja, quando a Nfe esta ok no monitor tb está ok no livro fiscal.
Espero poder ter sido claro, agradeço a ajuda de vocês.
Um abraço
Vitor Grassato
Bom dia Fernando, como sempre você veio nos ajuda, obrigado!
Seguinte, verificamos as NFe´s e percebemos que não foi feito nenhuma rejeição anteriormente então, acreditamos que isso não se encaixa no nosso caso.
Em uma conversa junto ao abap verificamos os parametros da BAPI em questão e encontramos:
*gs_header-authcod = '999999999999999'.*
Será que isso pode ser a causa do problema? Ah! Se tirarmos essa linha, a BAPI não gera a NFe.
Grande abraço!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia Vitor,
Esta linha está comentada. Está comentada também no código ? Se tiver não fede nem cheira...
Quando você diz que não funciona, não funciona como ? Que retorno tem no RETURN ?
Na chamada da BAPI_J_1B_NF_CREATEFROMDATA tem um parâmetro NFCHECK que gerencia os checks obrigatórios é uma string preenchida com vários X e espaços, sendo o X verificar o o espaço permitir campo vazio.
No código fonte da BAPI você encontra estas informações:
*----
-
Positions in character 30 string NFCHECK
...
Following checks are executed when NF-e flag is set in the header
40. Check NF-e number filled
41. Check Protocol number filled
42. Check XML-Version filled
43. Check Sefaz code filled
*
A. Check if duclicate keys are existing (NF line items, NF taxes)
*
=> e.g. NFCHECK = 'XX X XXX XXXXXXXXXX.....' will perform all checks,
except checks number 3, 5 and 9)
*----
-
Se o parâmetro não for preenchido, no código temos:
IF nfcheck IS INITIAL.
*--------------12345678901234567890123456789012345678901234567890123
nfcheck = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'.
ENDIF.
O que quer dizer que por default apenas o NF-e number filled é verificado. Vocês estão preenchendo NFCHECK ? Que erro está dando que impede o processo ?
Editando: Outra pergunta: Quais são os valores para AUTHCOD, DOCSTAT e CODE na J_1BNFDOC logo após a criação ? E após a autorização ?
Atenciosamente, Fernando Da Rós
Edited by: Fernando Ros on Feb 4, 2010 2:57 PM
Vitor,
Talvez eu tenha cometido confusão na análise desta thread.
Reli e vi que é uma nota de entrada.
Poderia confirmar em que nota você está tendo problema ? É uma nota de entrada sua que deve ser enviada pra Sefaz para receber autorização ou é uma nota de entrada que você só está registrando e faz a consulta de status na Sefaz ?
E em que relatório não aparece ? Que transação ?
Atenciosamente, Fernando Da Ró
Opa Fernandão seguinte então...
Essa nfe criada pela BAPI é uma nota de entrada, e ela tem que chegar a sefaz para ser autorizada, esse processo esta Ok, tanto que a NFE retorna como autorizada.
O Problema acontece que o campo DOCSTAT da tabela J_1BNFDOC não é preenchido após o retorno, enquanto na na tabela J_1BNFE_ACTIVE o campo é preenchido normalmente no retorno.
No processo de SD o DOCSTAT vem preenchido como "1" de autorizada, em ambas as tabelas em questão (J_1BNFE_ACTIVE e a J_1BNFDOC).
A conseqüencia deste campo não estar preenchido na J_1BNFDOC na NFe de entrada é que no relatório * S_ALR_87012150 - Registro de Entradas (Mod.1) + Lista de Códigos de Emitentes (Mod.10) * ela não aparece, vem vazio. Descobrimos que não aparece porque este campo esta em branco após o debugge do funcional.
Abraço!
Opa Fernandão seguinte então...
Essa nfe criada pela BAPI é uma nota de entrada, e ela tem que chegar a sefaz para ser autorizada, esse processo esta Ok, tanto que a NFE retorna como autorizada.
O Problema acontece que o campo DOCSTAT da tabela J_1BNFDOC não é preenchido após o retorno, enquanto na na tabela J_1BNFE_ACTIVE o campo é preenchido normalmente no retorno.
No processo de SD o DOCSTAT vem preenchido como "1" de autorizada, em ambas as tabelas em questão (J_1BNFE_ACTIVE e a J_1BNFDOC).
A conseqüencia deste campo não estar preenchido na J_1BNFDOC na NFe de entrada é que no relatório * S_ALR_87012150 - Registro de Entradas (Mod.1) + Lista de Códigos de Emitentes (Mod.10) * ela não aparece, vem vazio. Descobrimos que não aparece porque este campo esta em branco após o debugge do funcional.
Abraço!
Bom dia Pessoal,
Fernando e Henrique, gostaria de agradece-los pela força, ontem devido fortes chuvas em São Paulo acabou a força por isso deixei pendente essa Thread para hj!
Indo ao que interessa, eu fiz junto ao abap as modificações de deixar os campos CODE e AUTHCODE ambos vazios, porém no Consultor de MM ( Afinal esse processo que esta dando problema é parte de MM) disse que deu erro ao gerar a NFe, e foi acusado pela BAPI o erro, extamente por esses 2 campos por estarem vazios por sua vez.
Novamente obrigado!
EDIT: Corrigindo erros
Bom dia Vitor,
Para que não seja exigido estes dois campos, as posições 41 e 43 devem conter espaço.
Passe o texto completo do NFCHECK (nesta thread) pro ABAP para entendimento e peça para ele passar este valor NFCHECK e também debug a criação, e o momento onde o erro é gerado (include LJ1BBF2G, a partir da linha 607)
Atenciosamente, Fernando Da Ró
Vitor,
acredito que esteja faltando tratamento na chamada da BAPI.
Se for nota de importacao, entao a numeracao é feita pelo ERP (numero/serie da NFe tem que ser criados em branco) e a nota tem que ir pra SEFAZ (ou seja, CODE e AUTHCODE nao podem ser informados, pois eles vao vir da resposta da SEFAZ).
Isso acontece pois a nota de importacao, mesmo sendo incoming (J_1BNFDOC-DIRECT = '1'), tem que ter o flag de entrada (J_1BNFDOC-ENTRAD = 'X'). Isso faz com que o sistema identique que ela tenha que ir pra SEFAZ. Notas comuns de entrada (compras simples) tem o DIRECT = '1' mas ENTRAD vazio.
Entao, antes de chamar a BAPI, vc tem que saber se a nota eh de importacao (fazer um IF, baseado em algum dado ou flag que o usuario tenha setado previamente) e flagar o campo ENTRAD de acordo, setar/nao setar os checks 40, 41, 42 e 43 do NFECHECK, preencher ou nao o numero, serie, code e authcode, e determinar o NF Type correto.
Abs,
Henrique.
Bom dia Vitor,
Tem uma issue que se antes da aprovação da NF-e você recebeu uma rejeição e nesta rejeição chegou um numero de protocolo, você pode cair numa situação desta onde na J_1BNFDOC-DOCSTAT fica vazio.
Verifique o histórico da NF-e se teve uma rejeição antes.
Talvez o que esteja acontecendo no seu processo é que estão informando o campo de protocolo com zeros, como o campo é char dá como se a autorização estivesse preenchida daí ele não atualiza AUTHCOD,DOCSTAT e CODE da resposta da Sefaz... Mesmo comportamento da issue.
Pelo que entendi sua solução definitiva está em revisar a interface que chama a BAPI. Verifique o campo AUTHCOD.
Para o passado, atualizar AUTHCOD, DOCSTAT e CODE na mão.
Segue as notas referentes ao tratamento de rejeições pela Sefaz:
SAP Note 1350587 faz com que o GRC filtre e somente manda protocolo para as autorizações.
SAP Note 1404094 faz com que o ERP limpe estes valores na função de RESET na J1BNFE.
Atenciosamente, Fernando Da Rós
Edited by: Fernando Ros on Feb 3, 2010 8:13 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
14 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.