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
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.
...