CE PLUS - Nota 001600

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 16/06/2006 00:00:00

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

Descrição da Nota: ATUALIZAÇÃO DA TABELA QUANDO LIQUIDAÇÃO AUTOMÁTICA DE CÂMBIO PRONTO.

Sintoma

Quando Vinculado mais de uma fatura para contratos de Câmbio Pronto e simulado um erro no

Desmembramento do Cliente o programa baixava o Saldo mas não voltava quando o programa estornava os

documentos. NO estorno o programa não estava enviando a Data do pagamento no exterior para a FB08.

 

 

Solução

Foi efetuado consistências para passar as Datas corretas na transação FB08 e também foi efetuado

ajustes para o programa voltar os saldos corretos para a tabela.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01600 Data: 16/06/2006 Hora: 15:42:51

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

 

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

Nota Número              : 01600

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00117

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ATUALIZAÇÃO DA TABELA QUANDO LIQUIDAÇÃO AUTOMÁTICA DE CÂMBIO PRONTO.

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

Palavras Chave:

CÂMBIO PRONTO LIQUIDAÇÃO AUTOMÁTICA DATA ESTORNO

 

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

Objetos da nota:

REPS /PWS/MZYCB009F08

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

  itab_zycbe033-cpochv = v_cpochv.

  itab_zycbe033-belnr  = itab_vinc-belnr.

  itab_zycbe033-bukrs  = itab_vinc-bukrs.

  itab_zycbe033-bldat  = itab_vinc-dtvincul.

  itab_zycbe033-budat  = itab_vinc-dtvincul.

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

  IF ( /pws/zycbe001-tpcontr EQ 'C '  AND

       wa_zycbt007-liq_cp    EQ 'X' ) OR

     ( /pws/zycbe001-tpcontr EQ 'DP'  AND

       /pws/zycbt089-f_cont_vinc EQ 'F' ).

    MOVE: /pws/zycbe006-dtpagext TO itab_zycbe033-bldat,

          /pws/zycbe006-dtpagto  TO itab_zycbe033-budat.

  ENDIF.

* << Fim da inclusão

  PERFORM determina_periodo USING itab_zycbe033-bldat

                                  itab_zycbe033-bukrs

                          CHANGING v_monat.

  PERFORM determina_ano USING itab_zycbe033-bldat

                              itab_zycbe033-bukrs

...

 

 

 

...

    MESSAGE i173 WITH itab_zycbt005-nrinvoic.

  ELSEIF v_subrc <> 0 AND NOT wa_zycbt007-liq_trans IS INITIAL.

    MESSAGE i272 WITH text-153 text-154.

  ENDIF.

  CHECK v_subrc EQ 0.

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

  v_belnr_001 = /pws/zycbe001-belnr2.

  v_dtdocto   = /pws/zycbe001-dtvincul.

* << Fim da inclusão

  LOOP AT itab_zycbt005 WHERE flag = p_flag.

    IF /pws/zycet037-comis_provisao IS INITIAL OR

       /pws/zycet037-comis_provisao EQ 0.

      CLEAR itab_zycet010.

      REFRESH itab_zycet010.

...

 

 

 

...

    IF sy-subrc EQ 0.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ENDIF.

  ENDLOOP.

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

  IF v_subrc EQ 0.

    v_belnr_001 = /pws/zycbe001-belnr2.

    v_dtdocto   = /pws/zycbe001-dtvincul.

  ENDIF.

* << Fim da inclusão

  IF v_subrc NE 0.

    DESCRIBE TABLE itab_zycbt005 LINES v_linha.

    DO v_linha TIMES.

      v_index = v_linha - sy-index + 1.

      READ TABLE itab_zycbt005 INDEX v_index.

...

 

 

 

...

          PERFORM anula_desm_ace TABLES itab_zycbt005.

          READ TABLE itab_zycbt030

            WITH KEY nrinvoic = itab_zycbt005-nrinvoic

                     nrparcf  = itab_zycbt005-nrparcf

                     gsberf   = itab_zycbt005-gsberf.

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

          CLEAR v_belnr_001.

          MODIFY itab_zycbt005

            INDEX v_index.

* << Fim da exclusão

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

          MODIFY itab_zycbt005 INDEX v_index.

* << Fim da inclusão

        ENDIF.

        DELETE

          FROM /pws/zycbt084

          WHERE

            nrseqc   EQ itab_zycbt005-nrseqc   AND

...

 

 

 

...

                            AND nrparcf  = itab_zycbt005-nrparcf.

      CHECK NOT itab_zycbt030-belnr_d IS INITIAL.

      IF wa_zycbt007-liq_trans EQ space.

        itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.

        itab_zycbt030-budat  = itab_zycbt005-dtvincul.

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

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq - itab_zycbt030-v_kwert.

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans =

            itab_zycbt030-vlsltrans - itab_zycbt030-v_kwert.

        ENDIF.

* << Fim da inclusão

      ELSE.

        itab_zycbt030-belnr_t = itab_zycbt030-belnr_d.

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq - itab_zycbt005-vlme_p.

        itab_zycbt030-budat_t  = itab_zycbt005-dtvincul.

...

 

 

 

...

                                        tabela = 'ZYCBT005'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt030-belnr_d = itab_zycbt032-belnr.

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

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq - itab_zycbe033-wrbtr.

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans -

                                    itab_zycbe033-wrbtr.

        ENDIF.

* << Fim da exclusão

        MODIFY itab_zycbt030.

        ADD 1 TO v_f30_vinc.

        itab_contabil-nrinvoic = itab_zycbt030-nrinvoic.

        itab_contabil-vbeln    = itab_zycbt030-vbeln.

        itab_contabil-gsberf   = itab_zycbt030-gsberf.

...

 

 

 

...

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        itab_zycbt005-belnr = itab_zycbt032-belnr.

        MODIFY itab_zycbt005.

        ADD 1 TO v_f30_vinc.

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

        v_belnr_001 = itab_zycbt032-belnr.

        v_dtdocto = itab_zycbt005-dtvincul.

* << Fim da exclusão

        /pws/zycbe001-belnr2 = itab_zycbt032-belnr.

        /pws/zycbe001-dtvincul = itab_zycbe033-dtdocto.

        itab_contabil-nrinvoic = itab_zycbt005-nrinvoic.

        CLEAR itab_contabil-vbeln.

        itab_contabil-gsberf   = itab_zycbt005-gsberf.

...

 

 

 

...

    v_res_liq_and = 'X'.

  ENDIF.

  itab_partidas-tcode   = 'F-30'.

  itab_partidas-tabela  = 'ZYCBT005'.

  itab_partidas-cpochv  = itab_zycbe033-cpochv.

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

  itab_partidas-belnr   = v_belnr_001.

* << Fim da exclusão

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

  itab_partidas-belnr   =  /pws/zycbe001-belnr2.

* << Fim da inclusão

  itab_partidas-agkon   = itab_zycbe033-d_newko.

  itab_partidas-agkoa   = itab_zycbe033-koart.

  itab_partidas-agums   = wa_zycbt011-agums.

  itab_partidas-bukrs   = itab_zycbe033-bukrs.

  itab_partidas-shkzg   = 'S'.

...