CE PLUS - Nota 009942

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Despesas

Data/Hora da Publicação: 12/03/2010 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:48:06

Descrição da Nota: TRATAMENTO DE CASAS DECIMAIS DA MOEDA NA FATURA DE DESPESAS.

Sintoma

O formato de exibição das despesas não está respeitando a moeda da fatura, o rateio das despesas

está incorreto quando o numero de casas decimais da moeda interna é diferente de dois.

 

 

Solução

Ajustado programa para preencher a moeda na tabela interna de despesas e corrigido tratamento de

casas decimais na conversão das despesas da fatura

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DE CASAS DECIMAIS PARA A MOEDA DA FATURA DE DESPESAS

AJUSTE PARA REALIZAR O RATEIO DE IMPOSTOS DE ACORDO COM A ANA

Informações Complementares

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

Nota Número 09942 Data: 12/03/2010 Hora: 10:03:52

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

 

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

Nota Número              : 09942

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00012

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

Referência às notas relacionadas:

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

 

04525  - 00001 - 7.0    - 00002  - AJUSTE PARA REALIZAR O RATEIO DE IMPOSTOS DE ACORDO COM A ANA

04574  - 00002 - 7.0    - 00002  - TRATAMENTO DE CASAS DECIMAIS PARA A MOEDA DA FATURA DE DESPESAS

09636  - 00003 - 8.0    - 00002  - AO FAZER ENCERRAMENTO DE PROCESSO DE CARVÃO, NÃO LEVA DOCUMENTO C

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

TRATAMENTO DE CASAS DECIMAIS DA MOEDA NA FATURA DE DESPESAS.

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

Palavras Chave:

DESPESAS - FATURA - MOEDA - CASAS - DECIMAIS - RATEIO - CUSTO

/PWS/SAPMZYCI003

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

FORM soma_despesa.

  CLEAR v_tot_desp.

  LOOP AT itab_zycit047 WHERE nrseq  = /pws/zycie006-nrseq AND

                              nrfat  = /pws/zycie006-nrfat.

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

    PERFORM trata_decimais USING /pws/zycie006-waers

                           CHANGING itab_zycit047-vldp.

* << Fim da exclusão

    v_tot_desp = v_tot_desp + itab_zycit047-vldp.

  ENDLOOP.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

    MOVE-CORRESPONDING itab_zycit003 TO itab_item_funcao.

    APPEND itab_item_funcao.

  ENDLOOP.

  CLEAR v_erro_tax.

  IF /pws/zycie006-tpfatura EQ '04'.

    LOOP AT itab_zycit047.

      MOVE: itab_zycit047-tpdesp TO itab_desp_funcao-tpdesp,

            itab_zycit047-vldp   TO itab_desp_funcao-netpr,

            itab_zycit047-waers  TO itab_desp_funcao-waers.

      IF /pws/zycie006-waers NE /pws/zycbt007-waersb.

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

        PERFORM retorna_decimais USING itab_desp_funcao-waers

                              CHANGING itab_desp_funcao-netpr.

        itab_desp_funcao-waers = /pws/zycbt007-waersb.

* << Fim da inclusão

        IF /pws/zycie006-frpagto EQ 'P' AND

           NOT /pws/zycit085 IS INITIAL.

          PERFORM busca_taxas.

          IF v_kursf IS INITIAL.

            MESSAGE e015 WITH text-001.

            v_erro_tax = 'X'.

          ENDIF.

          itab_desp_funcao-netpr =

          ( itab_desp_funcao-netpr * v_kursf ) .

        ELSE.

          PERFORM busca_taxa_dia.

          IF v_kursf IS INITIAL.

            MESSAGE e015 WITH text-001.

            v_erro_tax = 'X'.

          ELSE.

            itab_desp_funcao-netpr =

            ( ( itab_desp_funcao-netpr * v_kursf ) / v_parafator )

                                                          / v_defator.

          ENDIF.

        ENDIF.

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

        PERFORM trata_decimais USING /pws/zycbt007-waersb

                            CHANGING itab_desp_funcao-netpr.

* << Fim da inclusão

      ENDIF.

      APPEND itab_desp_funcao.

    ENDLOOP.

  ENDIF.

  IF /pws/zycie006-frpagto = 'P'.

    v_visualiza = 'N'.

  ENDIF.

  IF /pws/zycie006-tpfatura = '02' OR

   /pws/zycie006-tpfatura = '03'.

    v_waers = /pws/zycie006-waers.

...

 

...

    itab_itens_iva-werks = itab_zycit003-werks.

    itab_itens_iva-eindt = itab_zycie033-bldat.

    READ TABLE itab_ivaped WITH KEY ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

    itab_itens_iva-txjcd = itab_ivaped-txjcd.

    IF itab_zycie033-mwskz IS INITIAL.

      itab_itens_iva-mwskz = itab_zycit031-mwskz.

    ELSE.

      itab_itens_iva-mwskz = itab_zycie033-mwskz.

    ENDIF.

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

     itab_itens_iva-mwskz = itab_zycie033-mwskz.

* << Fim da exclusão

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

    IF /pws/zycie006-tpfatura EQ '01' OR

       /pws/zycie006-tpfatura EQ '11'.

      itab_itens_iva-mwskz = itab_ivaped-mwskz.

    ENDIF.

* << Fim da inclusão

    itab_itens_iva-gjahr = itab_zycie033-bldat(4).

    itab_itens_iva-kokrs = /pws/zycie006-bukrs.

    itab_itens_iva-menge = itab_itemdata-quantity.

    itab_itens_iva-mlmaa = 'X'.

    itab_itens_iva-selkz = 'X'.

    itab_itens_iva-wrbtr = itab_itemdata-item_amount.

    itab_itens_iva-hswae = /pws/zycie006-waers.

    itab_itens_iva-shkzg = 'S'.

    IF NOT itab_itemdata-cond_type IS INITIAL.

      itab_itens_iva-kschl = itab_itemdata-cond_type.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003I01

 

...

MODULE user_command_0107 INPUT.

* >> Início da inclusão: MODULE USER_COMMAND_0107

  LOOP AT itab_zycit047 WHERE waers NE /pws/zycie006-waers.

    IF not itab_zycit047-vldp is initial.

      PERFORM retorna_decimais USING itab_zycit047-waers

                            CHANGING itab_zycit047-vldp.

      PERFORM trata_decimais USING /pws/zycie006-waers

                          CHANGING itab_zycit047-vldp.

    ENDIF.

    itab_zycit047-waers = /pws/zycie006-waers.

    MODIFY itab_zycit047.

  ENDLOOP.

* << Fim da inclusão

  CASE okcode.

    WHEN 'P-'.

      tc_desp-top_line = tc_desp-top_line - 8.

    WHEN 'P--'.

      tc_desp-top_line =  tc_desp-top_line -  tc_desp-lines.

    WHEN 'P+'.

      tc_desp-top_line = tc_desp-top_line + 8.

    WHEN 'P++'.

      tc_desp-top_line = tc_desp-top_line + tc_desp-lines.

  ENDCASE.

...