CE PLUS - Nota 000742

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 27/01/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 14:47:31

Descrição da Nota: ROTINA MENSAL VALOR DA DIFERENÇA A PROVISIONAR

Sintoma

Ao rodar a rotina mensal para todos os tipos de contrato, no segundo

relatório (Relatório de contabilidade), o programa não está trazendo

o valor da diferença à provisionar, ou seja, traz igual a 0,00 ao

invés de trazer o valor da diferença à provisionar do primeiro

relatório da rotina mensal. Alguns valores do relatório vem com

casas decimais incorretas.

 

 

Solução

Tratar para que o clearing no pagamento receba o valor da diferença a

provisionar.

Quando a moeda não for encontrada, fixar duas casas decimais p/ a mesma.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

NÃO ESTÁ SENDO EFETUADA A CONTABILIZAÇÃO SEPARADA DE ACC/ACE

Informações Complementares

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

Nota Número 00742 Data: 27/01/2006 Hora: 14:45:41

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

 

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

Nota Número              : 00742

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00098

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00438  - 00001 - 6.0    - 00022  - NÃO ESTÁ SENDO EFETUADA A CONTABILIZAÇÃO SEPARADA DE ACC/ACE

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

ROTINA MENSAL VALOR DA DIFERENÇA A PROVISIONAR

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

Palavras Chave:

ROTINA MENSAL VALOR DA DIFERENÇA A PROVISIONAR

CLEARING NO PAGAMENTO

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

Objetos da nota:

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

 

 

Contexto: FORM processa_aberto.

 

...

 

    IF NOT itab_relat-waers = wa_zycbt007-waersb.

      WRITE: itab_relat-waers.

    ELSE.

      WRITE: (5) ' '.

    ENDIF.

 

    WRITE: itab_relat-vlmev CURRENCY wa_zycbt007-waersb NO-ZERO,

                                       " Variação cambial

           itab_relat-vlmetransf CURRENCY itab_relat-waers NO-ZERO,

           itab_relat-vlmitransf CURRENCY wa_zycbt007-waersb NO-ZERO,

                                       " Transferência

           213 sy-vline.

 

    IF itab_relat-vlmej > 0.

      WRITE: 215 itab_relat-vlmej  CURRENCY itab_relat-waers NO-ZERO.

      WRITE: 252 itab_relat-aliqir,

             260 itab_relat-vlmeir CURRENCY itab_relat-waers NO-ZERO.

    ELSE.

      WRITE: 231 itab_relat-vlmej CURRENCY itab_relat-waers NO-SIGN

                                                            NO-ZERO.

      WRITE: 252 itab_relat-aliqir,

             260 itab_relat-vlmeir CURRENCY itab_relat-waers NO-ZERO.

    ENDIF.

 

    WRITE: AT sy-linsz sy-vline.

 

* Subtotal

    MOVE itab_relat TO wa_itab_relat.

    IF itab_relat-vlmitransf IS INITIAL.

      ADD itab_relat-vlmej  TO v_vlmej_w.

      ADD itab_relat-vlmeir TO v_vlmeir_w.

*<< Inicio exclusão >>

*      CHECK wa_zycbt007-fprovisao      NE 'C' AND

*            /pws/zyglt009-calc_rot_sep NE 'S' AND

*            /pws/zyglt009-cont_rot_sep NE 'S'.

*<< Fim exclusão >>

*<< Inicio inclusão >>

      CHECK ( wa_zycbt007-fprovisao      NE 'C' AND

              /pws/zyglt009-calc_rot_sep NE 'S' AND

              /pws/zyglt009-cont_rot_sep NE 'S' ) OR

             wa_zycbt007-fprovisao EQ 'C'.

*<< Fim inclusão >>

 

* Se for estorno mensal

      IF wa_zycbt007-fprovisao EQ space.

        ADD itab_relat-vlrprov  TO v_vlprov.

        ADD itab_relat-vlirprov TO v_vlprovir.

* Preenche itab_contábil

        IF NOT itab_relat-vlrprov IS INITIAL.

          MOVE-CORRESPONDING wa_itab_relat TO itab_contabil.

          itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.

          itab_contabil-nrparcp    = wa_itab_relat-nrparcp.

          itab_contabil-kursf      = wa_itab_relat-txc.

          itab_contabil-dtcont     = s_dtentr.

          itab_contabil-vlme       = itab_relat-vlrprov.

* CHAMADO 226741 - 09/06/2005 - INICIO

          itab_contabil-vlmeir     = itab_relat-vlirprov.

* CHAMADO 226741 - 09/06/2005 - FIM

          APPEND itab_contabil.

          CLEAR itab_contabil.

        ENDIF.

* Se for clearing

      ELSE.

 

 

...

 

 

      ADD itab_relat-vlmetransf TO v_vlmej_w.

      MOVE-CORRESPONDING wa_itab_relat TO itab_contabil.

      itab_contabil-vlmetransf  =  wa_itab_relat-vlmetransf.

      itab_contabil-nrparcp     =  wa_itab_relat-nrparcp.

      itab_contabil-kursf       =  wa_itab_relat-txc.

      itab_contabil-dtcont      =  s_dtentr.

      itab_contabil-vlme        =  itab_relat-vlrprov.

      IF wa_zycbt007-fprovisao  <> space.

        itab_contabil-nrcorresp =  wa_itab_relat-nrseqc.

      ENDIF.

 

      APPEND itab_contabil.

      CLEAR itab_contabil.

 

      IF itab_relat-tpcontr(1) EQ 'P' OR

         itab_relat-tpcontr(1) EQ 'S'.

        PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.

      ENDIF.

    ENDIF.

* Atualiza os Campos

    v_bukrs   = itab_relat-bukrs.

    v_waers   = itab_relat-waers.

    v_gsber   = itab_relat-gsber.

    v_tpcontr = itab_relat-tpcontr.

    v_d_newko = itab_relat-d_newko.

    v_c_newko = itab_relat-c_newko.

    v_bco     = itab_relat-bco.

  ENDLOOP.

 

  IF wa_zycbt007-fprovisao EQ 'C'.

    PERFORM processa_subtotal_waers USING v_vlprov v_vlprovir 'X'.

*   Chamado 284160 - Renato - 24.01.2006 - Inicio

    DELETE ADJACENT DUPLICATES FROM itab_contabil COMPARING ALL FIELDS.

*   Chamado 284160 - Renato - 24.01.2006 - Fim

  ELSE.

    PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w 'X'.

  ENDIF.

  CLEAR : itab_relat.

 

ENDFORM.                    " processa_aberto

 

 

 

 

Contexto: FORM calcula_vlmi USING p_tpcontr

                        p_waers

                        p_vlmej

                        p_txc

                  CHANGING p_vlmij.

 

...

 

  READ TABLE itab_tcurx WITH KEY currkey = p_waers.

  IF sy-subrc           EQ 0   AND

     itab_tcurx-currdec EQ 0.

*    Chamado 276775 - Renato - 13.12.2005 - Inicio

*    AND ( p_tpcontr+0(1)   EQ 'P' OR p_tpcontr+0(1) EQ 'S' ).

*    Chamado 276775 - Renato - 13.12.2005 - Fim

    v_vlmeaux = p_vlmej / ( 10 ** ( itab_tcurx-currdec - 2 ) ).

  ELSE.

*<< Inicio inclusão >>

    itab_tcurx-currdec = 2.

*<< Fim inclusão >>

    v_vlmeaux = p_vlmej.

  ENDIF.

 

  p_vlmij = ( ( p_txc / v_defator ) * v_parafator ) * v_vlmeaux.

 

ENDFORM.                    " calcula_vlmi

 

 

 

 

Contexto: FORM montante_converte

  USING

   value(p_ctmoed) LIKE /pws/zycbt011-ctmoed

   value(p_waers)  LIKE tcurx-currkey

   value(p_vlme)   LIKE /pws/zycbt001-vlme

 CHANGING

   p_taxa          LIKE tcurr-ukurs

   p_vlmi          LIKE /pws/zycbt001-vlme.

 

...

 

  IF sy-subrc NE 0.

    v_defator   = 1.

    v_parafator = 1.

  ENDIF.

 

  READ TABLE itab_tcurx WITH KEY currkey = p_waers TRANSPORTING currdec.

  IF sy-subrc           EQ 0 AND

     itab_tcurx-currdec EQ 0.

    v_vlmeaux = p_vlme / ( 10 ** ( itab_tcurx-currdec - 2 ) ).

  ELSE.

*<< Inicio inclusão >>

    itab_tcurx-currdec = 2.

*<< Fim inclusão >>

    v_vlmeaux = p_vlme.

  ENDIF.

 

  p_vlmi = ( ( p_taxa / v_defator ) * v_parafator ) * v_vlmeaux.

ENDFORM.                    " montante_converte

ENDFORM.                    " montante_converte

ENDFORM.                    " montante_converte