CE PLUS - Nota 006766

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 13/06/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 12:41:44

Descrição da Nota: LIQUIDAÇÃO DE FATURA

Sintoma

Contrato pronto em usd, com  vinculação de fatura em JPY.

A vinculação do contrato 7508 (pronto) é total, porém na table control o valor exibido possui 2

casas decimais a menos do valor vinculado. Esse valor errado acaba provocando erro na

contabilização.

 

 

 

Solução

Tratada as casas decimais quando moeda for JPY.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

LIQUIDAÇÃO DE FATURAS - ARBITRAGEM - CASAS DECIMAIS

CASAS DECIMAIS NA LIQUIDAÇÃO DE CONTRATOS

LIQUIDAÇÃO - PROCESSO INTERCOMPANY

EXPORTAÇÃO LIQUIDAÇÃO - CÁLCULO DE JUROS EM JPY

NA LIQUIDAÇÃO COM ARBITRAGEM, O VALOR VINCULADO NÃO ESTÁ CORRETO

LIQUIDAÇÃO - PROBLEMAS COM FATOR DE CONVERSÃO DE MOEDAS

LIQUIDAÇÃO COM ARBITRAGEM - CALCULO PROVISÃO JUROS

Informações Complementares

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

Nota Número 06766 Data: 13/06/2008 Hora: 14:33:36

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

 

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

Nota Número              : 06766

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00051

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

Referência às notas relacionadas:

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

 

00430  - 00001 - 6.0    - 00021  - NA LIQUIDAÇÃO COM ARBITRAGEM, O VALOR VINCULADO NÃO ESTÁ CORRETO

00534  - 00002 - 6.0    - 00022  - CASAS DECIMAIS NA LIQUIDAÇÃO DE CONTRATOS

01596  - 00003 - 6.0    - 00023  - LIQUIDAÇÃO - PROBLEMAS COM FATOR DE CONVERSÃO DE MOEDAS

02011  - 00004 - 6.0    - 00024  - LIQUIDAÇÃO COM ARBITRAGEM - CALCULO PROVISÃO JUROS

02101  - 00005 - 6.0    - 00025  - LIQUIDAÇÃO DE FATURAS - ARBITRAGEM - CASAS DECIMAIS

04674  - 00006 - 7.0    - 00002  - EXPORTAÇÃO LIQUIDAÇÃO - CÁLCULO DE JUROS EM JPY

06401  - 00007 - 7.0    - 00005  - LIQUIDAÇÃO - PROCESSO INTERCOMPANY

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

LIQUIDAÇÃO DE FATURA

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

Palavras Chave:

LIQUIDAÇÃO, LIQUIDAÇÃO DE FATURA

 

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

REPS /PWS/MZYCB004F01

REPS /PWS/MZYCB004TOP

 

REPS /PWS/MZYCB004I01

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

        IF itab_parts-agkoa EQ 'D'.

          IF itab_parts-agums IS INITIAL.

            v_tela = '0301'.

          ELSE.

            PERFORM define_tela2 USING itab_parts-tcode

                                       t_dados-bukrs

                                       itab_parts-agkoa

                              CHANGING itab_parts-agums

                                       v_tela.

          ENDIF.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

      if v_emp_p <> t_dados-bukrs.

* << Fim da inclusão

        AT FIRST.

          PERFORM verifica_empresas USING t_dados-bukrs

                                          'UMBUCHNG'

                                          t_dados-agkon

                                          'D'.

        ENDAT.

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

      ENDIF.

* << Fim da inclusão

        ELSEIF itab_parts-agkoa EQ 'K'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F01

 

...

      IF sy-subrc EQ 0.

        MESSAGE i061 WITH text-054

                          itab_zycbt005-nrinvoic

                          text-231

                          text-217.

        DELETE itab_zycbt005.

        CONTINUE.

      ENDIF.

      itab_zycbt005-vlme  = itab_zycbt005-slpagar.

      IF itab_zycbt005-waers NE itab_zycbt005-waers_c.

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

        IF itab_zycbt005-parid < 1.

         itab_zycbt005-vlme = itab_zycbt005-vlme * itab_zycbt005-parid.

        ELSE.

* << Fim da inclusão

        itab_zycbt005-vlme = itab_zycbt005-vlme / itab_zycbt005-parid.

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

        PERFORM verifica_casas_decimais

          USING

            itab_zycbt005-vlme

            itab_zycbt005-waers

            itab_zycbt005-waers_c

          CHANGING itab_zycbt005-vlme.

* << Fim da exclusão

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

        ENDIF.

        SELECT *

          FROM tcurx

          UP TO 1 ROWS

          WHERE currkey EQ itab_zycbt005-waers_c.

        ENDSELECT.

        IF sy-subrc <> 0.

         tcurx-currdec = 2.

        ENDIF.

         itab_zycbt005-vlme = itab_zycbt005-vlme  /

                              ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da inclusão

      ENDIF.

      MODIFY itab_zycbt005.

      MOVE-CORRESPONDING itab_zycbt005 TO itab_paridade.

      MOVE itab_zycbt005-parid TO itab_paridade-v_parid.

      MOVE itab_zycbt005-waers_c TO itab_paridade-v_waers_c.

      APPEND itab_paridade.

    ENDLOOP.

    CLEAR: itab_zycbt005-status.

    MODIFY itab_zycbt005 TRANSPORTING status

                         WHERE nrseqc = v_nrseqc.

    LOOP AT itab_paridade.

      itab_paridade-v_vlme_c =

              itab_paridade-vlme * itab_paridade-v_parid.

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

        SELECT *

          FROM tcurx

          UP TO 1 ROWS

          WHERE currkey EQ itab_paridade-waers.

        ENDSELECT.

        IF sy-subrc <> 0.

         tcurx-currdec = 2.

        ENDIF.

         itab_paridade-v_vlme_c = itab_paridade-v_vlme_c  /

                              ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da inclusão

      PERFORM verifica_casas_decimais

        USING

          itab_paridade-v_vlme_c

          itab_paridade-v_waers_c

          itab_paridade-waers

        CHANGING itab_paridade-v_vlme_c.

      MODIFY itab_paridade.

    ENDLOOP.

  ELSE.

    SELECT a~nrseqc a~tpdesp a~nrparc a~dtincl a~nrinvoic

...

 

...

  SELECT SINGLE kursf FROM bkpf

               INTO itab_zycbe033-kursf

              WHERE belnr EQ itab_zycbt005-belnr

                AND bukrs EQ itab_zycbt006-bukrs

                AND gjahr EQ v_year.

  PERFORM verify_null_field USING itab_zycbe033-kursf

                                  'TXCAMB'

                                  text-051.

  PERFORM determina_fator USING v_parafator

                                v_defator.

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

  SELECT *

         UP TO 1 ROWS

         FROM tcurx

         WHERE currkey = itab_zycbt005-waers.

  ENDSELECT.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

* << Fim da inclusão

  itab_zycbe033-wrbtr = itab_zycbt006-vlme *

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

            ( ( itab_zycbt005-parid / v_defator ) * v_parafator ).

* << Fim da exclusão

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

            ( ( itab_zycbt005-parid / v_defator ) * v_parafator ) /

      ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da inclusão

  PERFORM verifica_casas_decimais

    USING

...

 

...

        itab_zycbe033-belnr  = itab_zycbt005-belnr.

      ENDIF.

      itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.

    ENDIF.

  ENDIF.

  itab_zycbt036-tcode   = 'F-30'.

  itab_zycbt036-tabela  = '/PWS/ZYCBT006'.

  itab_zycbt036-cpochv  = v_cpochv.

  PERFORM determina_fator USING v_parafator

                                v_defator.

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

  SELECT *

         UP TO 1 ROWS

         FROM tcurx

         WHERE currkey = itab_zycbt005-waers.

  ENDSELECT.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

* << Fim da inclusão

  itab_zycbt036-residuo = itab_zycbt006-vlme *

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

            ( ( itab_zycbt005-parid / v_defator ) * v_parafator ).

* << Fim da exclusão

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

            ( ( itab_zycbt005-parid / v_defator ) * v_parafator ) /

      ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da inclusão

  PERFORM verifica_casas_decimais

    USING

...

 

...

                ( ( itab_paridade-v_parid / v_defator ) * v_parafator ).

    PERFORM verifica_casas_decimais

      USING

        v_vlme_c

        itab_zycbt005-waers_c

        itab_zycbt005-waers

      CHANGING v_vlme_c.

  ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0.

    v_vlme_c =  itab_zycbt005-vlme *

                ( ( itab_paridade-v_parid / v_defator ) * v_parafator ).

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

        SELECT *

          FROM tcurx

          UP TO 1 ROWS

          WHERE currkey EQ itab_zycbt005-waers.

        ENDSELECT.

        IF sy-subrc <> 0.

         tcurx-currdec = 2.

        ENDIF.

         v_vlme_c = v_vlme_c  / ( 10 ** ( tcurx-currdec - 2 ) ).

* << Fim da inclusão

    PERFORM verifica_casas_decimais

      USING

        v_vlme_c

        itab_zycbt005-waers_c

        itab_zycbt005-waers

      CHANGING v_vlme_c.

  ENDIF.

  MOVE v_vlme_c TO itab_paridade-v_vlme_c.

  MODIFY itab_paridade TRANSPORTING v_vlme_c

    WHERE nrinvoic = itab_zycbt005-nrinvoic AND

...

 

...

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034 IS INITIAL.

    PERFORM unlock_razao USING itab_zycbe033-d_newko

                               itab_zycbe033-bukrs.

    CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_W'

         EXPORTING

              v_modo          = v_modo_bi

              v_vinc_tot      = 'X'

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

              v_emp_p         = v_emp_p

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

              t_partidas      = itab_partidas

         EXCEPTIONS

              campo_em_branco = 1.

    IF sy-subrc = 0.

      CONCATENATE itab_zycbt006-nrseqc   itab_zycbt006-tpdesp

                  itab_zycbt006-nrparc   itab_zycbt006-dtincl

...

 

...

    itab_zycbe033-c_sgtxt = wa_zycbt011_d-txtdesc.

  ELSE.

    itab_zycbe033-augtx   = itab_zycbt006-txtinf.

    itab_zycbe033-d_sgtxt = itab_zycbt006-txtinf.

    itab_zycbe033-c_sgtxt = itab_zycbt006-txtinf.

  ENDIF.

  READ TABLE itab_zycbt017 WITH KEY

      nrinvoic = itab_zycbt006-nrinvoic

      gsberf   = itab_zycbt006-gsberf

      nrparcf  = itab_zycbt006-nrparcf.

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

    v_emp_p = itab_zycbt017-bukrs.

* << Fim da inclusão

  CONCATENATE '003' itab_zycbt006-tpcontr INTO v_codeven.

  CLEAR itab_zyglt321.

  REFRESH itab_zyglt321.

  SELECT * FROM /pws/zyglt321

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'CPT'

             AND codeven = v_codeven.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004TOP

 

...

  v_dtliq,

  v_transitoria,

  v_vlme_sl           LIKE /pws/zycbt006-vlme,

  v_viatrans          LIKE /pws/zycet001-viatrans,

  v_vktra                        LIKE /pws/zycit054-vktra,

  v_dtemb             LIKE /pws/zycet001-dtemb,

  v_dtaverb2          LIKE /pws/zycet001-dtaverb,

  v_dtcruze           LIKE /pws/zycet001-dtcruze,

  v_nrseq             LIKE /pws/zycet001-nrseq,

  v_kursf6            LIKE bkpf-kursf         ,

* >> Início da inclusão:

  v_emp_p             LIKE /pws/zycbt017-bukrs,

* << Fim da inclusão

   v_liquida,

   v_saldot            LIKE /pws/zycbt209-vlme,

   v_slpagar           LIKE /pws/zycbt005-slpagar,

   v_belnr(10)         TYPE n.

DATA: icc_             TYPE c,

      conta_           LIKE /pws/zycbt012-saknr1,

      belnr_           LIKE /pws/zycbt030-belnr,

      v_exec(1)        TYPE c.

DATA: v_vljur_acc      LIKE /pws/zycbt002-vlme,

      v_vljur_ace      LIKE /pws/zycbt002-vlme,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004I01

 

...

        ENDIF.

      ENDIF.

      IF itab_zycbt001-tpcontr(1) = 'E'.

        v_vljur_ace = itab_zycbt005-v_vljur.

        CLEAR v_vljur_acc.

      ENDIF.

      SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers_c.

      IF sy-subrc <> 0.

        tcurx-currdec = 2.

      ENDIF.

* >> Início da exclusão: MODULE CALCULA_JUROS

      IF NOT tcurx-currdec IS INITIAL.

* << Fim da exclusão

         itab_zycbt005-v_vljur = itab_zycbt005-v_vljur *

                              ( 10 ** ( tcurx-currdec - 2 ) ).

         v_vljur_acc           = v_vljur_acc *

                              ( 10 ** ( tcurx-currdec - 2 ) ).

         v_vljur_ace           = v_vljur_ace *

                              ( 10 ** ( tcurx-currdec - 2 ) ).

* >> Início da exclusão: MODULE CALCULA_JUROS

      ENDIF.

* << Fim da exclusão

      MOVE:  v_vljur_acc TO /pws/zycbe006-vljur_acc,

...