Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 30/04/2010 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:23:18
Descrição da Nota: CORREÇÃO DO RATEIO DE DESPESAS POR VALOR REALIZADO
Sintoma
Ao criar um nota fiscal complementar o programa está encontando diferença apesar do valor real e
global ser igual para a despesa.
Solução
Ajustado rateio da despesa por valor realizado na nota fiscal.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10115 Data: 30/04/2010 Hora: 16:04:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10115
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00019
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08497 - 00001 - 7.0 - 00009 - ERRO EM RATEIO DE DESPESAS POR VALOR PLANEJADO QUANDO EMBARQUE É
----------------------------------------------------------------------------------------------------
CORREÇÃO DO RATEIO DE DESPESAS POR VALOR REALIZADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - DESPESAS - VALOR - REALIZADO - FUNÇÃO - COMPLEMENTAR
/PWS/SAPMZYCI016 -
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM congela_despesa.
* >> Início da inclusão: FORM CONGELA_DESPESA
DATA: v_vfre LIKE /pws/zycie085-vlfre,
v_tfre LIKE /pws/zycie085-vlfre,
v_vseg LIKE /pws/zycie085-vlseg,
v_tseg LIKE /pws/zycie006-vlseg,
v_vfob LIKE /pws/zycie085-vlfob,
v_vtot LIKE /pws/zycie085-vlfob.
* << Fim da inclusão
DATA: v_tabix LIKE sy-tabix,
v_total_dp LIKE /pws/zycit049-vldp,
v_cod_sisc LIKE /pws/zycit019-codigo,
v_tot_ntgew LIKE /pws/zycit003-ntgew,
v_tot_plan LIKE /pws/zycit003-netpr,
v_tot_real LIKE /pws/zycit003-vlreal,
v_lines LIKE sy-tabix.
DATA: itab_zycit036_s TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE.
CLEAR: itab_zycit036, itab_zycit049, itab_zycit019, itab_zycit020.
REFRESH: itab_zycit049aux, itab_zycit036aux, itab_zycit036_s.
...
...
v_tot_plan = v_tot_plan +
( itab_zycit003_aux-netpr * itab_zycit003_aux-qtd_iten ).
v_tot_real = v_tot_real +
( itab_zycit003_aux-vlreal * itab_zycit003_aux-qtd_iten ).
ENDLOOP.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie041-bukrs.
SELECT SINGLE codigo FROM /pws/zycit019 INTO v_cod_sisc
WHERE tpdesp = /pws/zycit000-cod_sisc AND
land1 = t001-land1. "#EC CI_NOFIRST
* >> Início da inclusão: FORM CONGELA_DESPESA
v_tseg = /pws/zycit085-vlseg .
IF /pws/zycit085-ukursfre
NE /pws/zycit085-ukursfob.
PERFORM taxa_converte USING /pws/zycit085-waersfre
/pws/zycit085-dttax
CHANGING v_taxa_desp.
v_tfre = /pws/zycit085-vlfre *
v_taxa_desp.
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
v_tfre = v_tfre /
v_taxa_desp.
ENDIF.
ELSE.
v_tfre = /pws/zycit085-vlfre.
ENDIF.
v_vtot = /pws/zycit085-vlfob + v_tfre + v_tseg.
* << Fim da inclusão
DESCRIBE TABLE itab_zycit042 LINES v_lines.
SORT itab_zycit003 BY ebeln ebelp.
LOOP AT itab_zycit049aux.
IF itab_zycit049aux-codigo NE v_cod_sisc OR
/pws/zycit000-flag_txsisc IS INITIAL.
* >> Início da inclusão: FORM CONGELA_DESPESA
CLEAR /pws/zycit020.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = adrc-region AND
codigo = itab_zycit049aux-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = space AND
codigo = itab_zycit049aux-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit039 WITH KEY
codigo = itab_zycit049aux-codigo.
IF itab_zycit049aux-waers NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit049aux-waers wa_zycit085-dttax
CHANGING v_taxa_desp.
itab_zycit049aux-vldp = itab_zycit049aux-vldp * v_taxa_desp.
ENDIF.
LOOP AT itab_zycit003.
MOVE sy-tabix TO v_tabix.
/pws/zycit053-nrseqnf = /pws/zycie041-nrseq.
...
...
v_total_dp = v_total_dp + /pws/zycit053-vlreal.
ELSEIF itab_zycit039-peso = 'X'.
/pws/zycit053-vlreal = itab_zycit049aux-vldp *
itab_zycit003-ntgew / v_tot_ntgew.
v_total_dp = v_total_dp + /pws/zycit053-vlreal.
ELSEIF itab_zycit039-proporplan = 'X'.
/pws/zycit053-vlreal = itab_zycit003-netpr *
itab_zycit003-qtd_iten
/ v_tot_plan * itab_zycit049aux-vldp.
v_total_dp = v_total_dp + /pws/zycit053-vlreal.
* >> Início da inclusão: FORM CONGELA_DESPESA
ELSE.
IF /pws/zycit020-baseicms EQ 'X' AND
/pws/zycit062-bs_rat_icms EQ 'CIF' .
READ TABLE itab_zycit100 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
PERFORM taxa_converte USING /pws/zycit085-waersfob
/pws/zycit085-dttax
CHANGING v_taxa_desp.
IF NOT v_taxa_desp IS INITIAL.
v_vfre = itab_zycit100-vlfre /
v_taxa_desp.
v_vseg = itab_zycit100-vlseg /
v_taxa_desp.
ENDIF.
v_vfob = itab_zycit100-vlfob.
IF NOT v_vtot IS INITIAL.
/pws/zycit053-vlreal = itab_zycit049aux-vldp *
( ( v_vfob + v_vfre + v_vseg ) / v_vtot ).
ENDIF.
* << Fim da inclusão
ELSE.
/pws/zycit053-vlreal = itab_zycit003-vlreal *
itab_zycit003-qtd_iten
/ v_tot_real * itab_zycit049aux-vldp.
* >> Início da inclusão: FORM CONGELA_DESPESA
ENDIF.
* << Fim da inclusão
v_total_dp = v_total_dp + /pws/zycit053-vlreal.
ENDIF.
ENDIF.
...