CE PLUS - Nota 001053

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 17/03/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 15:01:02

Descrição da Nota: ESTORNO LIQ. AUTOMÁTICA CÂMBIO PRONTO MESMA FATURA PARCELA DIFERENTE

Sintoma

Ao estornar a vinculação/liquidação com a mesma fatura e parcelas diferentes (parcelas que tenham

liquidação em andamento), de um contrato de câmbio pronto (com liquidação automática), o programa

faz o estorno da primeira fatura corretamente: gerando os documentos de estorno da liquidação,

clearing da liquidação em andamento e clearing do ACE. Mas ao entrar na segunda FBRA, ao invés de

jogar o documento de liquidação da 2ª fatura, o programa está jogando o último documento gerado no

estorno da 1ª fatura que é de clearing de ACE, dessa forma ocorre erro no estorno e no momento do

clearing do ACE também não está jogando o documento de desmembramento do ACE da 2ª fatura.

 

 

Solução

Nas atualizações da itab_vinc, validado também o campo nrparcf (número da parcela da fatura).

 

Versões Tratadas

6.0

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 01053 Data: 17/03/2006 Hora: 13:48:14

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 01053

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00106

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

ESTORNO LIQ. AUTOMÁTICA CÂMBIO PRONTO MESMA FATURA PARCELA DIFERENTE

----------------------------------------------------------------------------------------------------

Palavras Chave:

ERRO ESTORNO LIQUIDAÇÃO AUTOMÁTICA CÂMBIO PRONTO LIQUIDAÇÃO EM ANDAMENTO

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

RELE F6PK900432 20060317 094712 PWSCIQA

REPS /PWS/MZYCB009F08

REPS /PWS/MZYCB009F10

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em RELE F6PK900432 20060317 094712 PWSCIQA

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

      EXIT.

    ENDIF.

    itab_vinc-belnr = v_belnr.

    MODIFY itab_vinc TRANSPORTING belnr

                             WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                               AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                               AND gsberf   = itab_vinc-gsberf

                               and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

    IF itab_vinc-status EQ 'A'.

      itab_vinc-status = 'I'.

      itab_vinc-belnr = v_belnr.

      MODIFY itab_vinc TRANSPORTING belnr

                           WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                             AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                             AND gsberf   = itab_vinc-gsberf

                             and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

      itab_vinc-status = 'E'.

    ELSE.

      itab_vinc-status = ' '.

    ENDIF.

    MODIFY itab_vinc.

...

 

...

    itab_zycbt006-belnr    = v_belnr.

    itab_zycbt006-dtvincul = itab_vinc-dtvincul.

    itab_zycbt006-status   = 'E'.

    MODIFY itab_zycbt006 TRANSPORTING belnr dtvincul status

                         WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                           AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                           AND gsberf   = itab_vinc-gsberf

                           and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

  ENDLOOP.

  IF v_subrc NE 0.

    LOOP AT itab_vinc

            WHERE flag = text-039 OR

          ( flag = text-040 AND status EQ 'C' ).

...

 

...

      IF NOT itab_vinc-belnr IS INITIAL.

        PERFORM anula_desm_ace TABLES itab_vinc.

        IF sy-subrc EQ 0.

          CLEAR itab_vinc-belnr.

          MODIFY itab_vinc TRANSPORTING belnr

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                   WHERE nrinvoic = itab_vinc-nrinvoic AND

                         gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                   WHERE nrinvoic = itab_vinc-nrinvoic

                     and gsberf   = itab_vinc-gsberf

                     and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      itab_vinc-belnr = v_belnr.

      PERFORM estorna_liq TABLES itab_vinc.

      IF itab_vinc-status = 'I' AND

...

 

...

    itab_vinc-slpagar = itab_vinc-slpagar -

                                itab_vinc-vlme_p.

    CLEAR itab_vinc-belnr.

    MODIFY itab_vinc TRANSPORTING belnr dtbelnr slpagar belnr

                             WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                               AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                               AND gsberf   = itab_vinc-gsberf

                               and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

    IF itab_vinc-status EQ 'A'.

      itab_vinc-status = 'I'.

      itab_vinc-dtbelnr = v_datum.

      MODIFY itab_vinc TRANSPORTING belnr dtbelnr

                           WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_FECHADO

                             AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO

                             AND gsberf   = itab_vinc-gsberf

                             and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

      IF NOT itab_vinc-tpcontr(1) CA 'PS'.

        itab_vinc-belnr_vinc = itab_vinc-belnr.

      ENDIF.

      itab_vinc-status = 'E'.

    ELSE.

...

 

...

                                          tpmsg  = 'S'.

        IF sy-subrc EQ 0.

          CLEAR itab_vinc-belnr.

          MODIFY itab_vinc TRANSPORTING belnr

                 WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ANULA_DESM_ACE

                   AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ANULA_DESM_ACE

                   AND gsberf   = itab_vinc-gsberf

                   and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

          itab_contabil-nrinvoic = itab_vinc-nrinvoic.

          CLEAR itab_contabil-vbeln.

          itab_contabil-gsberf   = itab_vinc-gsberf.

          itab_contabil-docto    = itab_zycbt032-belnr.

          itab_contabil-msg      = text-183.

...

 

...

    itab_vinc-dtbelnr = itab_vinc-dtvincul.

    itab_vinc-slpagar = itab_vinc-slpagar -

                                itab_vinc-vldif.

    MODIFY itab_vinc TRANSPORTING belnr dtbelnr slpagar

                             WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO

                               AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO

                               AND gsberf   = itab_vinc-gsberf

                               and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

    IF itab_vinc-status EQ 'A'.

      itab_vinc-belnr   = v_belnr.

      itab_vinc-dtbelnr = itab_vinc-dtvincul.

      MODIFY itab_vinc TRANSPORTING belnr dtbelnr

                           WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO

                             AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO

                             AND gsberf   = itab_vinc-gsberf

                             and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

      itab_vinc-status = 'I'.

    ELSE.

      itab_vinc-status = ' '.

    ENDIF.

    MODIFY itab_vinc.

...

 

...

    itab_zycbt006-belnr    = v_belnr.

    itab_zycbt006-dtvincul = itab_vinc-dtvincul.

    itab_zycbt006-status   = 'E'.

    MODIFY itab_zycbt006 TRANSPORTING belnr dtvincul status

                         WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO

                           AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO

                           AND gsberf   = itab_vinc-gsberf

                           and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

  ENDLOOP.

  MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.

  MODIFY /pws/zycbt221 FROM TABLE itab_zycbt221.

  COMMIT WORK.

  sy-subrc = v_subrc.

...

 

...

            CLEAR itab_vinc-belnr.

          ENDIF.

          itab_vinc-belnr_d = v_belnr_comp.

          MODIFY itab_vinc TRANSPORTING belnr belnr_d

                 WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ANULA_LIQUIDACAO

                   AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ANULA_LIQUIDACAO

                   AND gsberf   = itab_vinc-gsberf

                   and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

          itab_contabil-nrinvoic = itab_vinc-nrinvoic.

          CLEAR itab_contabil-vbeln.

          itab_contabil-gsberf   = itab_vinc-gsberf.

          itab_contabil-docto    = itab_zycbt032-belnr.

          itab_contabil-msg      = text-294.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB009F10

 

...

          v_doc_f30 = 'X'.

          CLEAR itab_vinc-belnr.

          itab_vinc-belnr_d = v_belnr_comp.

          MODIFY itab_vinc TRANSPORTING belnr belnr_d

                 WHERE nrinvoic = itab_vinc-nrinvoic

* >> Início da exclusão: FORM ANULA_LIQUIDACAO_2

                   AND gsberf   = itab_vinc-gsberf.

* << Fim da exclusão

* >> Início da inclusão: FORM ANULA_LIQUIDACAO_2

                   AND gsberf   = itab_vinc-gsberf

                   and nrparcf  = itab_vinc-nrparcf.

* << Fim da inclusão

          itab_contabil-nrinvoic = itab_vinc-nrinvoic.

          CLEAR itab_contabil-vbeln.

          itab_contabil-gsberf   = itab_vinc-gsberf.

          itab_contabil-docto    = itab_zycbt032-belnr.

          itab_contabil-msg      = text-294.

...