Skip to Content
Author's profile photo Pedro Freitas

Solução de Problemas no Estorno do Documento de Faturamento (SD-BIL-IV)

Informações Gerais

A nota 400000 – “FAQ: Transaction VF11: Cancellation of SD billing documents descreve a resposta padrão do sistema quando fazendo o estorno do documento de faturamento e contém informações de auxílio para análise dos erros. Por favor leia essa nota para informações gerais e para tópicos comuns como:

  • Nova determinação de preço / nova determinação de conta em documentos de estorno
  • VF11 em background
  • Estorno de item
  • Campos VBRK-SFAKN e VBRK-FKSTO não preenchidos
  • VBRK-RFBSK = ‘E’

Se você tem problemas na compensação automática, leia as seções abaixo.



Qual o processo de estorno que é executado?


A partir da versão 4.6 o sistema ERP contém um novo processo de estorno, que faz a compensação automática dos documentos contábeis para o documento de faturamento de origem e o estorno do documento de faturamento em FI. O sistema sempre tenta executar o novo processo de estorno quando documentos de faturamento são estornados. Se o novo processo de estorno não puder ser executado por alguma razão (as possíveis razões para isso estão descritas nas notas 1259505 pergunta 3 e nota 309208), o processo antigo de estorno será executado.

Quando o novo processo de estorno é executado


  • o documento de FI original e os documentos de estorno de FI estão ligados pelo conteúdo dos campos BKPF-STBLG e BKPF-STJAH do cabeçalho do documento
  • o item de cliente do documento de estorno de FI tem chave de lançamento 12 (‘Reverse invoice’)
  • o tipo de documento FI é sempre determinado em FI, baseado no tipo de documento do documento de FI a ser estornado (T003-STBLA)
  • o item do cliente do documento de FI estornado e o item do cliente do documento de estorno de FI são compensados automaticamente

Quando o processo antigo de estorno é executado


  • o documento de FI original e os documentos de estorno de FI não estão ligados pelo conteúdo dos campos BKPF-STBLG e BKPF-STJAH do cabeçalho do documento
  • o item de cliente do documento de estorno de FI tem chave de lançamento 11 (‘Credit memo’)
  • o tipo de documento FI é sempre determinado em SD e passado para FI (TVFK-BLART)
  • o item do cliente do documento de FI estornado e o item do cliente do documento de estorno de FI não são compensados automaticamente


A mensagem de erro VF208 (“Automatic clearing of billing document &1 and canc. doc. &2 not poss.” ou em português Compensação automática doc.faturamento &1 e estorno &2 não é possível.”) é exibida em SD nesses casos. Essa mensagem de erro só informa o fato de que a compensação automática do documento de faturamento e documento de estorno falhou. Para entender porque o novo estorno não foi possível e que tipo de mensagem de erro dispara a VF208, veja a seção a seguir. Quando o processo antigo é executado, você precisa fazer a compensação dos documentos contábeis manualmente em FI (por exemplo, transação F-32).


Como descobrir porque não ocorreu o novo processo de estorno


A causa pode estar tanto no lado de SD ou de FI:


  1. As causas para que não ocorra o novo processo de estorno em SD estão detalhadas na nota 1259505 ponto 3.
  2. As causas para que não ocorra o novo processo de estorno em FI estão detalhadas na nota 309208.


Se você ainda não conseguiu identificar a causa, leia a seção a seguir para entender como depurar (debug) porque não ocorreu o novo procedimento de estorno.


Depurar (Debug) porque não ocorreu o novo procedimento de estorno


Possíveis causas para a falta do novo procedimento de estorno do lado de SD

Nesse código fonte estão definidas as causas que não permitem o novo procedimento de estorno do lado de SD.

Ver a nota 1259505 ponto 3.

Código fonte do programa LV60BU01

Function RV_ACCOUNTING_DOCUMENT_CREATE

* new cancellation
* sfakn is only set, when the whole invoice is cancelled
  if not vbrk-sfakn is initial and not vbrk-fktyp eq con_fktyp_p and
     rule_new_cancel ne con_a and new_acct_det is initial.                      <<< BREAKPOINT 
    if not rrrel is initial.
      nonewcancel = ‘X’.
    endif.

    if nonewcancel is initial.

call function ‘AC_DOCUMENT_REVERSE‘

  • O campo rule_new_cancel é blank por padrão.
  • A nota 339928 explica como setar o campo rule_new_cancel e o efeito disso




Possíveis causas para a falta do novo procedimento de estorno do lado de FI


Quando o sistema tenta liberar o documento de estorno para a contabilidade o seguinte programa é chamado:


Código fonte do programa LV60BU01
FUNCTION RV_ACCOUNTING_DOCUMENT_CREATE

call function ‘AC_DOCUMENT_REVERSE’                               <<< BREAKPOINT  
  EXPORTING     
    i_accrev           = loc_accrev    
    i_comp             = i_comp  
  EXCEPTIONS    
    reverse_impossible = 1    
    error_message      = 2   
    others             = 3.


Se a função AC_DOCUMENT_REVERSE encerrar com sy-subrc = 0  os documentos de faturamento são automaticamente compensados. A função AC_DOCUMENT_REVERSE pode retornar exceções:


  • reverse_impossible
  • error_message
  • outros


No caso de “reverse_impossible” ou “outros” o sistema irá prosseguir com o procedimento de estorno antigo.


A mensagem de erro VF208 é eventualmente lançada no caso de “error_message” e dependendo do tipo de mensagem:


  • Abend message -> sempre pára a transação
  • Error message -> pára a transação, ou prossegue com o procedimento de estorno antigo dependendo do que estiver setado em rule_new_cancel (ver nota 339928)
  • Outros tipos de mensagens -> prossegue com o procedimento de estorno antigo


if sy-subrc eq 1 or sy-subrc = 3.          <<< BREAKPOINT   
   if check eq con_x.     
      message id ‘VF’ type ‘I’ number ‘208’     
      with vbrk-sfakn vbrk-vbeln.   
    else.     
      o_new_cancel_fail = ‘X’.   
   endif.
endif.

Para encontrar que erro está por trás da mensagem VF208, a maneira mais simples é setar um breakpoint na função AC_DOCUMENT_REVERSE dentro do FORM routine CALL_DISPATCHER_STORNO_P.

Source code of   LRWCLF10
FORM CALL_DISPATCHER_STORNO_P

CALL FUNCTION lt_trwpr-function          <<< BREAKPOINT   
   CHANGING     
     i_accrev           = r_accrev   
   EXCEPTIONS     
     reverse_impossible = 1     
     error_message      = 2.
IF NOT sy-subrc IS INITIAL.          <<< BREAKPOINT (checar SY-MSGID, SY-MSGNO)

A variável LT_TRWPR-FUNCTION é usada para a chamada de funções individuais.
O conteúdo do campo LT_TRWPR-FUNCTION é o nome da função onde a exceção REVERSE_IMPOSSIBLE está ocorrendo.

Se a compensação automática não é possível, o indicador será setado como REVERSE_IMPOSSIBLE = 1. No segundo breakpoint é recomendado checar o conteúdo dos campos SY-MSGID e SY-MSGNO que indicam o número da mensagem de erro.

Lembrando que as possíveis causas que não permitem o novo procedimento de estorno (do lado de FI) estão listadas na nota 309208.

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Olá Pedro boa tarde,

      Sabe me informar se estas mesmas regras se aplicam as devoluções de vendas? Estou com um problema na devolução REB (com nota do cliente), o que ocorre é que a partida em aberto da devolução não compensa automaticamente, já revisamos a VOFA e esta tudo certo, em FI também não identificamos nada estranho...

      Se tiver alguma dica agradeço.

      Att.

      Cássia

      Author's profile photo Pedro Freitas
      Pedro Freitas
      Blog Post Author

      Oi Cassia,

      Desculpe a demora. Já conseguiu solucionar o problema?

      Se ainda não, poderia especificar um pouco mais o que está fazendo exatamente e o que esperava como resultado?

      Cordialmente,

      Pedro

      Author's profile photo Former Member
      Former Member

      Olá Pedro boa tarde,

      Ja descobri que as regras do estorno não se aplicam a devolução de vendas.

      Pois no estorno há somente um documento de faturamento e por isso as partidas compensam entre si. E no caso da devolução de vendas existem novos documentos, portanto ha a necessidade de compensar as partidas em aberto manualmente.

      Agradeço pelo retorno.

      Att.

      Cássia Gomes

      Author's profile photo Former Member
      Former Member

      Bom dia,

      Não consigo acessar as notas.

      Entro com meu cadastro do blog SAP, mas sem êxito. Preciso de outro tipo de acesso?

       

      Grata.

      Karla Souza