Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 27/03/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:18:26
Descrição da Nota: CÁLCULO VALOR FOB ERRADO QUANDO TINHA DESPESA NA DI
Sintoma
Ao incluir qualquer tipo de despesa na pasta despesas da DI, o valor total do embarque na pasta
"Carga/2" não é atualizado e este acréscimo das despesas no FOB não deve interferir no cálculo do
seguro, as despesas não entram no cálculo do seguro.
Solução
Atualizado a rotina para conversão e soma da despesa, tanto no valor da moeda quanto em BRL, na
carga 2.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01088 Data: 27/03/2006 Hora: 09:34:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01088
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00106
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01242 - 00001 - 6.0 - 00023 - ERRO AO CRIAR A DSI
----------------------------------------------------------------------------------------------------
CÁLCULO VALOR FOB ERRADO QUANDO TINHA DESPESA NA DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALOR FOB - CARGA 2 - DESPESAS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023F04
REPS /PWS/MZYCI023O01
REPS /PWS/MZYCI023TOP
REPS /PWS/MZYCI023X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
ENDIF.
ENDIF.
PERFORM load_fbvl.
CLEAR: v_desp_acr, v_desp_brl.
PERFORM load_sevl.
* >> Início da inclusão: FORM CALC_ITAB
perform soma_despesa_acr.
* << Fim da inclusão
LOOP AT itab_it.
v_idx = sy-tabix.
IF v_idx EQ v_ipt AND v_ipt NE 1.
itab_it-vlfob = v_tval - v_aux_rateio.
ELSE.
...
...
t_vlii = /pws/zycie085-vlii.
t_vlipi = /pws/zycie085-vlipi.
t_vlicms = /pws/zycie085-vlicms.
ENDIF.
/pws/zycie085-vlfobr = s_fbvr.
* >> Início da exclusão: FORM CALC_ITAB
perform soma_despesa_acr.
* << Fim da exclusão
ENDFORM.
FORM adic_list.
CLEAR: it_adi[], /pws/zycie100a, itab_itb.
REFRESH: it_adi[].
DATA: BEGIN OF itab_inco OCCURS 0.
...
...
WHEN 'FOB'.
itab_it-vlreal_aux2 = itab_it-vlreal -
( itab_it-frn / itab_it-qtd_iten ) .
ENDCASE.
APPEND itab_it TO itab_itb.
* >> Início da inclusão: FORM ADIC_LOAD
IF ITAB_IT-QTD_ITEND IS INITIAL.
V_ITAD_PLAN = V_ITAD_PLAN + ITAB_IT-NETPR * ITAB_IT-QTD_ITEN.
ELSE.
V_ITAD_PLAN = V_ITAD_PLAN + ITAB_IT-NETPR * ITAB_IT-QTD_ITEND.
ENDIF.
* << Fim da inclusão
ENDLOOP.
LOOP AT itab_itb.
a_vlrtot = a_vlrtot + ( itab_itb-qtd_iten * itab_itb-vlreal_aux2 ).
a_vladu = a_vladu + itab_itb-vlmerc_ad.
a_vmler = a_vladu * itab_itb-dttaxbem.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
v_tsegfat - v_sgtofat.
ENDCASE.
IF p_tipo NE 'A'.
READ TABLE itab_zycit003 INDEX 1.
IF itab_zycit003-qtd_itend IS INITIAL.
* >> Início da inclusão: FORM CALC_INIT
v_totcif = v_tval.
* << Fim da inclusão
v_tval3 = v_tval2 = v_tval + v_tdif .
ELSE.
IF s_inco1_ci = 'C&F' .
IF v_tfrefat IS INITIAL.
v_tval3 = v_tval2 = v_tval .
...
...
itab_zycit049-vlreal.
ELSE.
if /pws/zycit062-BS_RAT_ICMS eq 'CIF'.
t_ivdes2 = ( itab_zycit049-vlreal *
( t_vmle + v_tot_fre + v_tot_seg ) )
* >> Início da exclusão: FORM LOAD_IICMS
/ ( v_tval3 + v_bltofat + v_sgtofat ) .
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
/ ( v_totcif + v_bltofat + v_sgtofat ) .
* << Fim da inclusão
else.
t_ivdes2 = ( itab_zycit003_rateio-vlreal *
itab_zycit003_rateio-qtd_iten
/ v_tot_real ) * itab_zycit049-vlreal.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F04
...
INTO /pws/zycie085-per_seg
WHERE land1 EQ t001-land1.
ENDIF.
ENDIF.
endform.
* >> Início da inclusão:
FORM soma_despesa_acr.
DATA: v_vldp LIKE itab_zycit049-vldp.
LOOP AT itab_zycit049 WHERE tipo = 'A' AND
vldp > 0.
IF itab_zycit049-tpdesp NE /pws/zycit000-flagfreten.
IF itab_zycit049-waers NE /pws/zycie085-waersfob.
PERFORM taxa_converte USING
/pws/zycie085-waersfob /pws/zycie085-dttax v_taxa.
IF NOT v_taxa IS INITIAL.
v_tval2 = v_tval2 + ( itab_zycit049-vldp / v_taxa ).
ENDIF.
ELSE.
v_tval2 = v_tval2 + itab_zycit049-vldp.
ENDIF.
v_desp_acr = v_desp_acr + itab_zycit049-vldp.
IF itab_zycit049-waers = wa_zycbt007-waersb.
s_fbvr = s_fbvr + itab_zycit049-vldp.
v_desp_brl = v_desp_brl + itab_zycit049-vldp.
ELSE.
v_vldp = itab_zycit049-vldp.
PERFORM calc_conv_moeda
USING itab_zycit049-waers
wa_zycbt007-waersb
CHANGING v_vldp.
s_fbvr = s_fbvr + v_vldp.
ENDIF.
IF itab_zycit049-waers EQ 'USD'.
PERFORM load_sevl.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM despesa_acrescimo.
DATA: v_vldp_aux LIKE itab_zycit049-vldp_aux.
CLEAR: t_ivdesp.
LOOP AT itab_zycit049 WHERE tipo EQ 'A' AND NOT vlreal IS initial.
IF itab_zycit049-baseicms EQ 'X'.
IF /pws/zycit000-flag_txsisc IS INITIAL OR
wa_it000-cod_sisc NE itab_zycit049-tpdesp.
IF v_idx EQ v_ipt AND v_ipt NE 1.
t_vmle = t_vmle + ( itab_zycit049-vlreal - v_vldp_aux ) .
ELSE.
IF itab_zycit049-divabs EQ 'X'.
t_ivdes2 = ( 1 / v_ipt ) * itab_zycit049-vlreal.
ELSEIF itab_zycit049-peso EQ 'X'.
t_ivdes2 = ( wa_it-ntgew / v_tntgew ) * itab_zycit049-vlreal.
ELSEIF itab_zycit049-proporplan EQ 'X'.
t_ivdes2 = ( v_it_plan / v_tot_plan ) *
itab_zycit049-vlreal.
ELSE.
IF /pws/zycit062-bs_rat_icms EQ 'CIF'.
t_ivdes2 = ( itab_zycit049-vlreal *
( itab_it-vlfob + v_tot_fre + v_tot_seg ) )
/ ( /pws/zycie085-vlfob + v_bltofat + v_sgtofat ) .
ELSE.
t_ivdes2 = ( itab_zycit003_rateio-vlreal *
itab_zycit003_rateio-qtd_iten
/ v_tot_real ) * itab_zycit049-vlreal.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
t_vmle = t_vmle + t_ivdes2.
v_vldp_aux = v_vldp_aux + t_ivdes2.
ELSE.
IF v_idx EQ v_ipt AND v_ipt NE 1.
t_vmle = t_vmle + ( itab_zycit049-vlreal - v_vldp_aux ) .
ELSE.
IF itab_zycit049-divabs = 'X'.
t_ivdes2 = ( 1 / v_ipt ) * itab_zycit049-vlreal.
ELSEIF itab_zycit049-peso = 'X'.
t_ivdes2 = ( wa_it-ntgew / v_tntgew ) *
itab_zycit049-vlreal.
ELSEIF itab_zycit049-proporplan = 'X'.
t_ivdes2 = ( v_it_plan / v_tot_plan )
* itab_zycit049-vlreal.
ELSE.
t_ivdes2 = ( v_it_plan / v_tot_plan )
* itab_zycit049-vlreal.
ENDIF.
ENDIF.
t_vmle = t_vmle + t_ivdes2.
v_vldp_aux = v_vldp_aux + t_ivdes2.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023O01
...
MODULE fill_struct049b OUTPUT.
DATA: v_ntgew_adic LIKE /pws/zycie006-ntgew ,
v_wa_it122-vldp LIKE wa_it122-vldp ,
v_wa_it122-vlreal LIKE wa_it122-vlreal.
CLEAR: itab_zycit049b-vldp , itab_zycit049b-vlreal,
* >> Início da exclusão: MODULE FILL_STRUCT049B
v_wa_it122-vldp , v_wa_it122-vlreal .
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049B
v_wa_it122-vldp , v_wa_it122-vlreal ,
V_ITAD_PLAN , V_TTAD_PLAN .
LOOP AT ITAB_IT.
IF ITAB_IT-QTD_ITEND IS INITIAL.
V_TTAD_PLAN = V_TTAD_PLAN + ITAB_IT-NETPR * ITAB_IT-QTD_ITEN.
ELSE.
V_TTAD_PLAN = V_TTAD_PLAN + ITAB_IT-NETPR * ITAB_IT-QTD_ITEND.
ENDIF.
ENDLOOP.
* << Fim da inclusão
READ TABLE itab_zycit122 WITH KEY codigo = itab_zycit049b-coddesp.
wa_it122-reduz = itab_zycit122-descricao_reduz.
LOOP AT itab_zycit049 WHERE coddesp = itab_zycit049b-coddesp
AND tipo = 'A'
AND NOT vldp IS initial.
...
...
CLEAR: wa_it122-vldp, wa_it122-vlreal, v_ntgew_adic.
LOOP AT itab_it WHERE adicao = wa_it-adicao.
v_ntgew_adic = v_ntgew_adic + itab_it-ntgew.
ENDLOOP.
v_wa_it122-vldp = v_wa_it122-vldp +
* >> Início da inclusão: MODULE FILL_STRUCT049B
( v_ntgew_adic / v_tntgew ) *
itab_zycit049-vldp.
v_wa_it122-vlreal = v_wa_it122-vlreal +
* << Fim da inclusão
( v_ntgew_adic / v_tntgew ) *
itab_zycit049-vlreal.
* >> Início da inclusão: MODULE FILL_STRUCT049B
ELSEIF itab_zycit049-proporplan = 'X'.
v_wa_it122-vldp = v_wa_it122-vldp +
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vldp.
* << Fim da inclusão
v_wa_it122-vlreal = v_wa_it122-vlreal +
* >> Início da exclusão: MODULE FILL_STRUCT049B
( v_ntgew_adic / v_tntgew ) *
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049B
( v_itad_plan / v_ttad_plan ) *
* << Fim da inclusão
itab_zycit049-vlreal.
ELSE.
* >> Início da exclusão: MODULE FILL_STRUCT049B
CLEAR: wa_it122-vldp, wa_it122-vlreal.
LOOP AT itab_it WHERE adicao = wa_it-adicao.
v_wa_it122-vldp = v_wa_it122-vldp +
( ( itab_zycit049-vldp / /pws/zycie006-vlmerc
) *
( itab_it-vlreal * itab_it-qtd_iten ) ).
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049B
v_wa_it122-vldp = v_wa_it122-vldp +
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vldp.
* << Fim da inclusão
v_wa_it122-vlreal = v_wa_it122-vlreal +
* >> Início da exclusão: MODULE FILL_STRUCT049B
( ( itab_zycit049-vlreal /
/pws/zycie006-vlmerc ) *
( itab_it-vlreal * itab_it-qtd_iten ) ).
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049B
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vlreal.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
wa_it122-vldp = wa_it122-vldp + v_wa_it122-vldp.
...
...
v_wa_it123-vldp = v_wa_it123-vldp +
( v_ntgew_adic / v_tntgew ) *
itab_zycit049-vldp.
v_wa_it123-vlreal = v_wa_it123-vlreal +
( v_ntgew_adic / v_tntgew ) *
* >> Início da inclusão: MODULE FILL_STRUCT049C
itab_zycit049-vlreal.
ELSEIF itab_zycit049-proporplan = 'X'.
v_wa_it123-vldp = v_wa_it123-vldp +
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vldp.
v_wa_it123-vlreal = v_wa_it123-vlreal +
( v_itad_plan / v_ttad_plan ) *
* << Fim da inclusão
itab_zycit049-vlreal.
ELSE.
* >> Início da exclusão: MODULE FILL_STRUCT049C
CLEAR: wa_it123-vldp, wa_it123-vlreal.
LOOP AT itab_it WHERE adicao = wa_it-adicao.
v_wa_it123-vldp = v_wa_it123-vldp +
( ( itab_zycit049-vldp / /pws/zycie006-vlmerc ) *
( itab_it-vlreal * itab_it-qtd_iten ) ).
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049C
v_wa_it123-vldp = v_wa_it123-vldp +
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vldp.
* << Fim da inclusão
v_wa_it123-vlreal = v_wa_it123-vlreal +
* >> Início da exclusão: MODULE FILL_STRUCT049C
( ( itab_zycit049-vlreal / /pws/zycie006-vlmerc ) *
( itab_it-vlreal * itab_it-qtd_iten ) ).
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: MODULE FILL_STRUCT049C
( v_itad_plan / v_ttad_plan ) *
itab_zycit049-vlreal.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
wa_it123-vldp = wa_it123-vldp + v_wa_it123-vldp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023TOP
*No Include /PWS/MZYCI023TOP foram criadas as seguintes variáveis:
...
* >> Início da inclusão:
data: v_totcif LIKE t_icms,
v_bl1.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
*No Include /PWS/MZYCI023X01 foram criadas as seguintes variáveis:
...
* >> Início da inclusão:
data: v_nova,
V_ITAD_PLAN LIKE /PWS/ZYCIT003-NETPR,
V_TTAD_PLAN LIKE /PWS/ZYCIT003-NETPR .
* << Fim da inclusão
data: end of common part.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
...
SELECT * FROM /pws/zycit140
INTO TABLE itab_zycit140_aux
WHERE codmod EQ 'D'
AND codigo EQ 'FRETEI'
AND custo EQ 'X'
AND land1 EQ t001-land1.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036_aux
WHERE nrseq = itab_zycit003-nrseq AND
codigo = 'FRETEI'.
LOOP AT itab_zycit140_aux.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY nrseq = /pws/zycit001-nrseq
codigo = itab_zycit140_aux-codigo
origem = itab_zycit140_aux-origem.
IF sy-subrc EQ 0.
v_ori = itab_zycit140_aux-origem.
ENDIF.
ENDLOOP.
IF v_ori IS INITIAL AND /pws/zycit000-fretepres IS INITIAL.
v_ori = 'NF'.
ENDIF.
LOOP AT itab_zycit036_aux WHERE codigo = 'FRETEI' AND
origem = v_ori.
v_tfrete = v_tfrete + itab_zycit036_aux-vlreal.
ENDLOOP.
ENDIF.
LOOP AT itab_zycit003 WHERE servico IS INITIAL.
v_vlfrete = v_tfrete * ( itab_zycit003-ntgew / v_tpeso ).
*<<Inicio Inclusão
if itab_zycit003-qtd_itend is initial.
*<<Fim Inclusão
v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
*<<Inicio Inclusão
else.
v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_itend ).
endif.
*<<Fim Inclusão
v_tot_vlreal = v_tot_vlreal + ( itab_zycit003-vlreal *
itab_zycit003-qtd_iten ).
ENDLOOP.
LOOP AT itab_zycit100a.
IF itab_zycit100a-codregtri NE '5' AND
itab_zycit100a-codregtri NE '3'.
v_tot_ii = itab_zycit100a-vlii + v_tot_ii.
ENDIF.
IF itab_zycit100a-codregtriipi NE '1' AND
itab_zycit100a-codregtriipi NE '5'.
v_tot_ipi = itab_zycit100a-vlipi + v_tot_ipi.
ENDIF.
v_tot_pis = itab_zycit100a-vlpis + v_tot_pis.
v_tot_cofins = itab_zycit100a-vlcofins + v_tot_cofins.
...
...
ELSEIF /pws/zycit019-codigo = 'COFINS'
AND NOT v_tot_cofins IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0. "and
itab_zycit036_aux-vlreal = ( itab_zycit100a-vlcofins /
v_tot_cofins ) * itab_despesa-netpr.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ELSEIF /pws/zycit019-codigo = 'PIS'
AND NOT v_tot_pis IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0. "and
itab_zycit036_aux-vlreal = ( itab_zycit100a-vlpis /
v_tot_pis ) * itab_despesa-netpr.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ELSE.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
itab_zycit036_aux-vlreal = itab_zycit100a-vl_sisco.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ENDIF.
ELSE.
IF itab_zycit039-divabs EQ 'X'.
itab_zycit036_aux-vlreal = itab_despesa-netpr / v_linha.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ELSEIF itab_zycit039-peso EQ 'X'.
IF NOT v_tpeso IS INITIAL.
itab_zycit036_aux-vlreal = itab_despesa-netpr *
itab_zycit003-ntgew / v_tpeso.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ENDIF.
ELSEIF itab_zycit039-proporplan EQ 'X'.
itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *
itab_zycit003-qtd_iten / v_tot ) *
itab_despesa-netpr.
itab_zycit036_aux-waers_real = itab_despesa-waers.
*<<Inicio Exclusão
ELSEIF itab_zycit039-vlreal EQ 'X'.
IF /pws/zycit062-bs_rat_icms EQ 'CIF'.
*<<Fim Exclusão
*<<Inicio Inclusão
ELSE. "IF itab_zycit039-vlreal EQ 'X'.
CLEAR /pws/zycit020.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = adrc-region AND
codigo = /pws/zycit019-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 = /pws/zycit019-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
ENDIF.
IF /pws/zycit020-baseicms EQ 'X'.
IF /pws/zycit062-bs_rat_icms EQ 'CIF' .
*<<Fim Inclusão
DATA: v_vfre LIKE /pws/zycie085-vlfre,
v_tfre LIKE /pws/zycie085-vlfre,
v_vseg LIKE /pws/zycie085-vlseg,
v_vfob LIKE /pws/zycie085-vlfob,
v_vtot LIKE /pws/zycie085-vlfob.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
"converter para moeda
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
t001-land1
CHANGING v_taxa.
" converter reais para moeda
IF NOT v_taxa IS INITIAL.
v_vfre = itab_zycit100a-vlfre / v_taxa.
" converter reais para moeda
v_vseg = itab_zycit100a-vlseg / v_taxa.
ENDIF.
"já na moeda
v_vfob = itab_zycit100a-vlfob.
"já na moeda
v_tseg = /pws/zycie085-vlseg ." * v_taxa.
IF /pws/zycie085-ukursfre
NE /pws/zycie085-ukursfob.
PERFORM taxa_converte USING
/pws/zycie085-waersfre
/pws/zycie085-dttax
t001-land1
CHANGING v_taxa.
v_tfre = /pws/zycie085-vlfre * v_taxa.
PERFORM taxa_converte USING
/pws/zycie085-waersfob
/pws/zycie085-dttax
t001-land1
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_tfre = v_tfre / v_taxa.
ENDIF.
ELSE.
v_tfre = /pws/zycie085-vlfre.
ENDIF.
v_vtot = /pws/zycie085-vlfob + v_tfre + v_tseg.
IF NOT v_vtot IS INITIAL.
itab_zycit036_aux-vlreal = itab_despesa-netpr *
( ( v_vfob + v_vfre + v_vseg ) / v_vtot ) .
ENDIF.
ENDIF.
ELSE.
*<<Inicio Inclusão
IF NOT itab_zycit003-qtd_itend IS INITIAL.
itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *
itab_zycit003-qtd_itend / v_tot ) *
itab_despesa-netpr.
ELSE.
itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *
itab_zycit003-qtd_iten / v_tot ) *
itab_despesa-netpr.
ENDIF.
*<<Fim Inclusão
itab_zycit036_aux-waers_real = itab_despesa-waers.
ENDIF.
ELSE.
*<<Inicio Inclusão
IF NOT itab_zycit003-qtd_itend IS INITIAL.
itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *
itab_zycit003-qtd_itend / v_tot ) *
itab_despesa-netpr.
ELSE.
itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *
itab_zycit003-qtd_iten / v_tot ) *
itab_despesa-netpr.
ENDIF.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ENDIF.
*<<Fim Inclusão
ENDIF.
IF NOT itab_despesa-waers IS INITIAL.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ELSE.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ENDIF.
ENDIF.
APPEND itab_zycit036_aux.
v_tot_desp = v_tot_desp + itab_zycit036_aux-vlreal.
ENDIF.
ENDLOOP.
DELETE itab_zycit036_aux WHERE vlreal IS INITIAL.
...
...
...
...