cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Erro no retorno de evento para o ECC - J_1BNFE_EVENT_IN

kelly_ferreira
Explorer
0 Likes
1,548

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(2TO cs_acckey-nfyear,
        is_event-acckey+4(2TO cs_acckey-nfmonth,
        is_event-acckey+6(1TO 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

Accepted Solutions (0)

Answers (2)

Answers (2)

ALLANCAMARGO
Explorer
0 Likes

Boa tarde Kelly.

Estou com um erro parecido.

Seu caso foi solucionado? Se sim, como?

kelly_ferreira
Explorer
0 Likes

Boa tarde Allan,

Eu acabei informando o campo "DOCNUM" na chamada da função, no lugar da chave de acesso. Mas o problema persiste.

att,

Kelly Ferreira

Eduardo_Rubia
Product and Topic Expert
Product and Topic Expert
0 Likes

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

kelly_ferreira
Explorer
0 Likes

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

Eduardo_Rubia
Product and Topic Expert
Product and Topic Expert
0 Likes

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