on 2015 Nov 13 11:54 AM
Bom dia pessoal,
Estou com problema no retorno do evento cancelamento para o ECC através da função J_1BNFE_EVENT_IN. Nós usamos sistema de mensageria NÃO SAP. O sistema de NFe processa o cancelamento corretamente, e faz a chamada da função J_1BNFE_EVENT_IN com os seguintes parâmetros:
DOCNUM = ' ' (este campo não é informado pois o sistema de mensageria não possui a informação da numeração interna do SAP)
EXT_EVENT = '110111'
SEQNUM = '01'
EXT_SEQNUM = '01'
ACCKEY = '52151103306578001211550010001271441501173880'
AUTHCODE = 152150013083741
REPLY_TMPL = '20151112164623.0000000'
CODE = '135'
MSGTYP = '1'
Então o SAP retorna a mensagem:
TYPE = E
ID = J1B_NFE_ERP_GRC
NUMBER = 103
MESSAGE =
| Nenhuma entrada na tabela NF-e p/nº documento 0000000000/chave de acesso 5215110 | 550010001271451508178256 |
Para verificar melhor o problema, eu executei a chamada da função direto da SE37, informando os mesmos parâmetros acima, e verifiquei que o problema está no trecho abaixo, aonde ele passa apenas um dígito do CNPJ do emitente no momento de montar a chave de acesso:
INCLUDE: LJ_1B_NFE_EVENTF05
*&---------------------------------------------------------------------*
*& Form get_acckey_from_event
*&--------------------------------------------------------------1711095*
FORM get_access_key_from_event
USING is_event TYPE j_1bnfe_event_in
CHANGING cs_acckey TYPE j_1b_nfe_access_key.
MOVE: is_event-acckey(2) TO cs_acckey-regio,
is_event-acckey+2(2) TO cs_acckey-nfyear,
is_event-acckey+4(2) TO cs_acckey-nfmonth,
is_event-acckey+6(1) TO cs_acckey-stcd1,
is_event-acckey+20(2) TO cs_acckey-model,
is_event-acckey+22(3) TO cs_acckey-serie,
is_event-acckey+25(9) TO cs_acckey-nfnum9,
is_event-acckey+34(9) TO cs_acckey-docnum9,
is_event-acckey+43(1) TO cs_acckey-cdv.
ENDFORM. "get_acckey_from_event
Dessa forma quando ele chama a função abaixo, ele retorna o erro, pois está passando a chave de acesso incompleta (faltando a informação do CNPJ).
* Get current status of NF-e
CALL FUNCTION 'J_1B_NFE_XML_RAED_ACTIVE_TAB'
EXPORTING
i_docnum = is_event-docnum
i_acckey = ls_acckey
IMPORTING
e_acttab = cs_active
EXCEPTIONS
no_entry = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e103(j1b_nfe_erp_grc) WITH is_event-docnum ls_acckey
INTO lv_dummy_msg.
PERFORM fill_bapiret2_from_sy CHANGING ct_bapiret2[].
cx_err = 'X'.
RETURN.
ENDIF.
A função foi criada no sistema pela Nota 1711095. Estamos na versão SAP ECC 617 SP 03
Eu procurei alguma nota que fizesse a alteração desse trecho mas não encontrei. Alguém já passou por este problema? o problema é realmente este ou estou fazendo algum procedimento incorreto?
estou anexando um documento com alguns prints.
Obrigada,
Kelly Ferreira
Request clarification before answering.
Boa tarde Kelly.
Estou com um erro parecido.
Seu caso foi solucionado? Se sim, como?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Kelly,
Se você reparar, na chamada da 'J_1B_NFE_XML_RAED_ACTIVE_TAB' o sistema utiliza o DOCNUM como critério de busca, o qual você informou não suprir no retorno da sua mensageria.
Não seria este o problema?
Abs,
Eduardo
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia Eduardo,
Realmente, mas eu estou imaginando que funcione como na J_1B_NFE_XML_IN, aonde eu posso informar o DOCNUM ou o ACCKEY, já que a NF também pode ser identificada pela chave de acesso. E se eu debugar a função e alterar a chave de acesso preenchendo o CNPJ corretamente, ela gera o retorno correto para o ECC.
Abs,
Kelly
Kelly,
Olhei melhor e entendi agora. Realmente na J_1B_NFE_XML_RAED_ACTIVE_TAB existe lógica para buscar NF-es com base na chave de acesso sem precisar do DOCNUM.
Contudo, na função de recepção de eventos, para o caso de eventos de cancelamento, a chave do CNPJ é passada incompletamente como você bem analisou.
Curiosamente, isso não ocorre no caso de recepção de evento CC-e, apenas de cancelamentos.
Isso é um erro do software, mesmo. Creio que você precisará abrir um chamado para corrigí-lo.
Abs,
Erubia
| User | Count |
|---|---|
| 17 | |
| 8 | |
| 7 | |
| 6 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.