Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Registro de Exportação (RE)
Data/Hora da Publicação: 26/09/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 10:04:49
Descrição da Nota: CORREÇÃO NO VALOR CALCULADO DO EMBARQUE E EM VALORES DO RE
Sintoma
Valor calculado do embarque e valores da Condição de Venda e Local do Embarque incorretos.
Solução
Implementação de cálculo de despesas em ambos programas.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04839 Data: 26/09/2007 Hora: 22:31:55
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04839
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00014
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04368 - 00001 - 7.0 - 00002 - CORREÇÃO NO AGRUPAMENTO DO RE PARA NCM+PREÇO FOB
04653 - 00002 - 7.0 - 00002 - CODE INSPECTOR RE
----------------------------------------------------------------------------------------------------
CORREÇÃO NO VALOR CALCULADO DO EMBARQUE E EM VALORES DO RE
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALOR CALCULADO EMBARQUE RE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE003F01
REPS /PWS/MZYCE041F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F01
...
READ TABLE itab_zycet023 WITH KEY fkart = <fs_002>-fkart
bukrs = space.
ENDIF.
IF NOT itab_zycet023-somaqtd IS INITIAL.
CONTINUE.
ENDIF.
IF <fs_002>-vlme GT v_vlme_max.
v_indx_max = v_index.
v_vlme_max = <fs_002>-vlme.
ENDIF.
* >> Início da exclusão: FORM ATUALIZA_RATEIO_REAL
<fs_002>-vlme_r = <fs_002>-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_RATEIO_REAL
<fs_002>-vlme_r = <fs_002>-vlfob.
* << Fim da inclusão
v_ntgew = <fs_002>-ntgew_r.
v_brgew = <fs_002>-brgew_r.
v_fkimg = <fs_002>-fkimg_r.
PERFORM converte_um USING <fs_002>-ntgew
<fs_002>-gewei
/pws/zycee001-gewei
<fs_002>-matnr
CHANGING v_ntgew.
PERFORM converte_um USING <fs_002>-brgew
<fs_002>-gewei
...
...
v_brgew ).
<v_total> = <v_total> + ( ( <v_real> / wa_condicao-brgew ) *
v_brgew ).
WHEN 'VLR'.
CHECK wa_condicao-vlme GT 0.
<v_vlme> = <v_vlme> + ( ( <v_real> / wa_condicao-vlme ) *
<fs_002>-vlme ).
<v_total> = <v_total> + ( ( <v_real> / wa_condicao-vlme ) *
<fs_002>-vlme ).
ENDCASE.
* >> Início da inclusão: FORM ATUALIZA_RATEIO_REAL
CASE itab_zycet156-proccond.
WHEN 'ACR'.
CHECK itab_zycet065-acrescimo = 'X'.
ADD <fs_002>-vlacrescimo_r TO <fs_002>-vlme_r.
WHEN 'DES'.
CHECK itab_zycet065-desconto = 'X'.
SUBTRACT <fs_002>-vldesconto_r FROM <fs_002>-vlme_r.
WHEN 'OUT'.
CHECK itab_zycet065-outras_desp = 'X'.
IF /pws/zycee001-tpcalc = '1'.
SUBTRACT <fs_002>-vlod_r FROM <fs_002>-vlme_r.
ELSE.
ADD <fs_002>-vlod_r TO <fs_002>-vlme_r.
ENDIF.
WHEN 'COM'.
CHECK itab_zycet065-comissao = 'X'.
IF /pws/zycee001-tpcalc = '1'.
SUBTRACT <fs_002>-vlagente_r FROM <fs_002>-vlme_r.
ELSE.
ADD <fs_002>-vlagente_r TO <fs_002>-vlme_r.
ENDIF.
WHEN 'FRT'.
CHECK itab_zycet065-frete = 'X'.
IF /pws/zycee001-tpcalc = '1'.
SUBTRACT <fs_002>-vlfrete_r FROM <fs_002>-vlme_r.
ELSE.
ADD <fs_002>-vlfrete_r TO <fs_002>-vlme_r.
ENDIF.
WHEN 'SEG'.
CHECK itab_zycet065-seguro = 'X'.
IF /pws/zycee001-tpcalc = '1'.
SUBTRACT <fs_002>-vlseguro_r FROM <fs_002>-vlme_r.
ELSE.
ADD <fs_002>-vlseguro_r TO <fs_002>-vlme_r.
ENDIF.
ENDCASE.
* << Fim da inclusão
ENDLOOP.
ENDLOOP.
wa_condicao-total-vlme_fob = wa_condicao-real-vlme_fob.
CHECK wa_condicao-real NE wa_condicao-total.
READ TABLE itab_rateio INDEX v_indx_max ASSIGNING <fs_002>.
IF wa_condicao-real-vlme_acr NE wa_condicao-total-vlme_acr.
<fs_002>-vlacrescimo_r = <fs_002>-vlacrescimo_r +
wa_condicao-real-vlme_acr -
wa_condicao-total-vlme_acr.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE041F01
...
itab_zycet002-vbeln_vl TO itab_zycet118-vbeln_vl,
itab_zycet002-posnl TO itab_zycet118-posnl,
itab_zycet002-posnr TO itab_zycet118-posnr,
itab_zycet002-aupos TO itab_zycet118-aupos,
itab_zycet002-ntgew_r TO itab_zycet118-ntgew,
itab_zycet002-brgew_r TO itab_zycet118-brgew,
itab_zycet002-vrkme TO itab_zycet118-vrkme,
itab_zycet002-arktx TO itab_zycet118-dsmerc,
itab_zycet002-matnr TO itab_zycet118-matnr,
itab_zycet002-gewei TO itab_zycet118-gewei,
* >> Início da inclusão: FORM MOVE_ZYCET118
itab_zycet002-vlfob TO itab_zycet118-netpr,
itab_zycet002-vlme_r TO itab_zycet118-vfob,
* << Fim da inclusão
itab_zycet002-waers TO itab_zycet118-waers,
itab_zycet002-waers TO itab_zycet118-waerk,
* >> Início da exclusão: FORM MOVE_ZYCET118
itab_zycet002-vlme_r TO itab_zycet118-netpr,
itab_zycet002-vlemb TO itab_zycet118-vfob,
* << Fim da exclusão
itab_zycet002-fkimg_r TO itab_zycet118-fkimg,
itab_zycet002-vlagente TO itab_zycet118-vlagente,
'I' TO itab_zycet118-status,
itab_zycet002-ntgew TO itab_zycet118-saldordem.
...
...
ENDFORM.
FORM agrup_selecao.
PERFORM funcao_agrupamento.
IF NOT itab_zycet092[] IS INITIAL.
PERFORM move_agrupados.
ELSE.
LEAVE PROGRAM.
ENDIF.
ENDFORM.
FORM funcao_agrupamento.
* >> Início da inclusão: FORM FUNCAO_AGRUPAMENTO
DATA:
itab_zycet118_aux LIKE TABLE OF itab_zycet118,
wa_zycet118_aux LIKE LINE OF itab_zycet118_aux.
itab_zycet118_aux[] = itab_zycet118[].
PERFORM aplica_despesas.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCE_AGRUPA_OV_RE'
EXPORTING
werks = itab_zycet116-werks
TABLES
itab_zycet092 = itab_zycet092
itab_zycet118 = itab_zycet118
itab_zycet090 = itab_zycet090
itab_zycet002 = itab_zycet002.
* >> Início da inclusão: FORM FUNCAO_AGRUPAMENTO
LOOP AT itab_zycet118.
READ TABLE itab_zycet118_aux into wa_zycet118_aux
WITH KEY
codnrseq = itab_zycet118-codnrseq
vbeln_va = itab_zycet118-vbeln_va
aupos = itab_zycet118-aupos
vbeln_vl = itab_zycet118-vbeln_vl
posnl = itab_zycet118-posnl
vbeln_vf = itab_zycet118-vbeln_vf
posnr = itab_zycet118-posnr.
MOVE:
itab_zycet118-seqagrupado TO wa_zycet118_aux-seqagrupado,
wa_zycet118_aux TO itab_zycet118.
MODIFY itab_zycet118 INDEX sy-tabix.
ENDLOOP.
* << Fim da inclusão
ENDFORM.
FORM move_agrupados.
LOOP AT itab_zycet118.
CLEAR: itab_zycet118-status,
itab_zycet118-nrseqre.
itab_zycet118-nrseqre = itab_zycet116-nrseqre.
itab_zycet118-status = 'S'.
MODIFY itab_zycet118 INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycet092.
...
...
ENDFORM.
FORM ajusta_precos.
FIELD-SYMBOLS: <fs_zycet118> LIKE LINE OF itab_zycet118,
<fs_zycet092> LIKE LINE OF itab_zycet092.
TYPES: BEGIN OF ty_zycet065,
inco1 TYPE /pws/zycet065-inco1,
fob TYPE /pws/zycet065-fob,
frete TYPE /pws/zycet065-frete,
seguro TYPE /pws/zycet065-seguro,
outras_desp TYPE /pws/zycet065-outras_desp,
* >> Início da inclusão: FORM AJUSTA_PRECOS
desconto TYPE /pws/zycet065-desconto,
acrescimo TYPE /pws/zycet065-acrescimo,
* << Fim da inclusão
comissao TYPE /pws/zycet065-comissao,
END OF ty_zycet065.
DATA: wa_zycet065 TYPE ty_zycet065,
* >> Início da exclusão: FORM AJUSTA_PRECOS
v_despesas TYPE /pws/zycet002-vlme,
v_totdesp TYPE /pws/zycet002-vlme,
v_valor_anexo TYPE /pws/zycee092-netpr.
READ TABLE itab_zycet001 INDEX 1.
CHECK sy-subrc IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_PRECOS
v_despesas TYPE /pws/zycet002-vlme.
* << Fim da inclusão
SELECT SINGLE inco1
fob
frete
seguro
outras_desp
* >> Início da inclusão: FORM AJUSTA_PRECOS
desconto
acrescimo
* << Fim da inclusão
comissao
FROM /pws/zycet065
INTO wa_zycet065
WHERE inco1 EQ itab_zycet001-inco1.
* >> Início da inclusão: FORM AJUSTA_PRECOS
READ TABLE itab_zycet001 INDEX 1.
CHECK sy-subrc IS INITIAL.
* << Fim da inclusão
IF itab_zycet116-agrupado EQ 'S'.
LOOP AT itab_zycet092 ASSIGNING <fs_zycet092>.
* >> Início da exclusão: FORM AJUSTA_PRECOS
CLEAR: v_totdesp.
* << Fim da exclusão
LOOP AT itab_zycet118 ASSIGNING <fs_zycet118>
WHERE seqagrupado EQ <fs_zycet092>-codnrseq.
CLEAR v_despesas.
READ TABLE itab_zycet002
WITH KEY vbeln_va = <fs_zycet118>-vbeln_va
aupos = <fs_zycet118>-aupos
vbeln_vl = <fs_zycet118>-vbeln_vl
posnl = <fs_zycet118>-posnl
vbeln_vf = <fs_zycet118>-vbeln_vf
posnr = <fs_zycet118>-posnr
TRANSPORTING vlfrete_r
vlseguro_r
vlod_r
* >> Início da exclusão: FORM AJUSTA_PRECOS
vlagente_r.
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_PRECOS
vlagente_r
vlacrescimo_r
vldesconto_r.
* << Fim da inclusão
CHECK sy-subrc IS INITIAL.
PERFORM ajustes_re_termo USING itab_zycet116-perc_re_termo
CHANGING <fs_zycet118>-fkimg
<fs_zycet118>-ntgew
<fs_zycet118>-brgew
<fs_zycet118>-netpr
<fs_zycet118>-vfob.
IF NOT wa_zycet065-frete IS INITIAL AND
NOT itab_zycet002-vlfrete_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlfrete_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlfrete_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-seguro IS INITIAL AND
NOT itab_zycet002-vlseguro_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlseguro_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlseguro_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-outras_desp IS INITIAL AND
NOT itab_zycet002-vlod_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlod_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlod_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-comissao IS INITIAL AND
NOT itab_zycet002-vlagente_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlagente_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlagente_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-desconto IS INITIAL AND
NOT itab_zycet002-vldesconto_r IS INITIAL.
SUBTRACT itab_zycet002-vldesconto_r FROM v_despesas.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF NOT wa_zycet065-acrescimo IS INITIAL AND
NOT itab_zycet002-vlacrescimo_r IS INITIAL.
ADD itab_zycet002-vlacrescimo_r TO v_despesas.
ENDIF.
* << Fim da inclusão
IF NOT v_despesas IS INITIAL.
* >> Início da exclusão: FORM AJUSTA_PRECOS
<fs_zycet118>-vfob = <fs_zycet118>-netpr - v_despesas.
v_totdesp = v_totdesp + v_despesas.
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
<fs_zycet118>-vfob =
<fs_zycet118>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
<fs_zycet118>-netpr = <fs_zycet118>-netpr + v_despesas.
ELSE.
<fs_zycet118>-vfob = <fs_zycet118>-netpr + v_despesas.
<fs_zycet118>-netpr =
<fs_zycet118>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
ENDIF.
* << Fim da inclusão
ELSE.
<fs_zycet118>-vfob = <fs_zycet118>-netpr.
ENDIF.
ENDLOOP.
CHECK sy-subrc IS INITIAL.
PERFORM ajustes_re_termo USING itab_zycet116-perc_re_termo
CHANGING <fs_zycet092>-fkimg
<fs_zycet092>-ntgew
<fs_zycet092>-brgew
<fs_zycet092>-netpr
<fs_zycet092>-vfob.
* >> Início da exclusão: FORM AJUSTA_PRECOS
v_valor_anexo = <fs_zycet092>-netpr.
IF NOT v_totdesp IS INITIAL.
v_valor_anexo = v_valor_anexo - v_totdesp.
<fs_zycet092>-vfob = v_valor_anexo.
ELSE.
<fs_zycet092>-vfob = v_valor_anexo.
ENDIF.
* << Fim da exclusão
ENDLOOP.
ELSE.
LOOP AT itab_zycet118 ASSIGNING <fs_zycet118>.
CLEAR v_despesas.
READ TABLE itab_zycet002 WITH KEY vbeln_va = <fs_zycet118>-vbeln_va
aupos = <fs_zycet118>-aupos
vbeln_vl = <fs_zycet118>-vbeln_vl
posnl = <fs_zycet118>-posnl
vbeln_vf = <fs_zycet118>-vbeln_vf
posnr = <fs_zycet118>-posnr
TRANSPORTING vlfrete_r
vlseguro_r
vlod_r
* >> Início da exclusão: FORM AJUSTA_PRECOS
vlagente_r.
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_PRECOS
vlagente_r
vlacrescimo_r
vldesconto_r.
* << Fim da inclusão
CHECK sy-subrc IS INITIAL.
PERFORM ajustes_re_termo USING itab_zycet116-perc_re_termo
CHANGING <fs_zycet118>-fkimg
<fs_zycet118>-ntgew
<fs_zycet118>-brgew
<fs_zycet118>-netpr
<fs_zycet118>-vfob.
IF NOT wa_zycet065-frete IS INITIAL AND
NOT itab_zycet002-vlfrete_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlfrete_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlfrete_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-seguro IS INITIAL AND
NOT itab_zycet002-vlseguro_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlseguro_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlseguro_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-outras_desp IS INITIAL AND
NOT itab_zycet002-vlod_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlod_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlod_r FROM v_despesas.
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT wa_zycet065-comissao IS INITIAL AND
NOT itab_zycet002-vlagente_r IS INITIAL.
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
* << Fim da inclusão
ADD itab_zycet002-vlagente_r TO v_despesas.
* >> Início da inclusão: FORM AJUSTA_PRECOS
ELSE.
SUBTRACT itab_zycet002-vlagente_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-desconto IS INITIAL AND
NOT itab_zycet002-vldesconto_r IS INITIAL.
SUBTRACT itab_zycet002-vldesconto_r FROM v_despesas.
ENDIF.
IF NOT wa_zycet065-acrescimo IS INITIAL AND
NOT itab_zycet002-vlacrescimo_r IS INITIAL.
ADD itab_zycet002-vlacrescimo_r TO v_despesas.
* << Fim da inclusão
ENDIF.
IF NOT v_despesas IS INITIAL.
* >> Início da exclusão: FORM AJUSTA_PRECOS
<fs_zycet118>-vfob = <fs_zycet118>-netpr - v_despesas.
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_PRECOS
IF /pws/zycee001-tpcalc = '0'.
<fs_zycet118>-vfob =
<fs_zycet118>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
<fs_zycet118>-netpr = <fs_zycet118>-netpr + v_despesas.
ELSE.
<fs_zycet118>-vfob = <fs_zycet118>-netpr + v_despesas.
<fs_zycet118>-netpr =
<fs_zycet118>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
ENDIF.
* << Fim da inclusão
ELSE.
<fs_zycet118>-vfob = <fs_zycet118>-netpr.
ENDIF.
ENDLOOP.
ENDIF.
PERFORM busca_parcelas.
ENDFORM.
FORM verifica_naladi.
DATA: v_cont(3) TYPE n.
IF refresh IS INITIAL.
...
...
IF sy-subrc IS INITIAL.
MOVE itab_zycet118_aux-dsmerc TO <fs_zycet118>-dsmerc.
ENDIF.
READ TABLE itab_zycet092_aux
WITH KEY codnrseq = <fs_zycet118>-seqagrupado
TRANSPORTING dsmerc.
CHECK sy-subrc IS INITIAL.
MOVE itab_zycet092_aux-dsmerc TO <fs_zycet118>-dsmerc.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
FORM aplica_despesas.
TYPES: BEGIN OF ty_zycet065,
inco1 TYPE /pws/zycet065-inco1,
fob TYPE /pws/zycet065-fob,
frete TYPE /pws/zycet065-frete,
seguro TYPE /pws/zycet065-seguro,
outras_desp TYPE /pws/zycet065-outras_desp,
desconto TYPE /pws/zycet065-desconto,
acrescimo TYPE /pws/zycet065-acrescimo,
comissao TYPE /pws/zycet065-comissao,
END OF ty_zycet065.
DATA: wa_zycet065 TYPE ty_zycet065,
v_despesas TYPE /pws/zycet002-vlme.
SELECT SINGLE inco1
fob
frete
seguro
outras_desp
desconto
acrescimo
comissao
FROM /pws/zycet065
INTO wa_zycet065
WHERE inco1 EQ /pws/zycee001-inco1.
FIELD-SYMBOLS: <fs_itemanexo> LIKE LINE OF itab_zycet118.
LOOP AT itab_zycet118 ASSIGNING <fs_itemanexo>.
CLEAR v_despesas.
READ TABLE itab_zycet002 WITH KEY
vbeln_va = <fs_itemanexo>-vbeln_va
aupos = <fs_itemanexo>-aupos
vbeln_vl = <fs_itemanexo>-vbeln_vl
posnl = <fs_itemanexo>-posnl
vbeln_vf = <fs_itemanexo>-vbeln_vf
posnr = <fs_itemanexo>-posnr
TRANSPORTING
vlfrete_r
vlseguro_r
vlod_r
vlagente_r
vlacrescimo_r
vldesconto_r.
CHECK sy-subrc IS INITIAL.
IF NOT wa_zycet065-frete IS INITIAL AND
NOT itab_zycet002-vlfrete_r IS INITIAL.
IF /pws/zycee001-tpcalc = '0'.
ADD itab_zycet002-vlfrete_r TO v_despesas.
ELSE.
SUBTRACT itab_zycet002-vlfrete_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-seguro IS INITIAL AND
NOT itab_zycet002-vlseguro_r IS INITIAL.
IF /pws/zycee001-tpcalc = '0'.
ADD itab_zycet002-vlseguro_r TO v_despesas.
ELSE.
SUBTRACT itab_zycet002-vlseguro_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-outras_desp IS INITIAL AND
NOT itab_zycet002-vlod_r IS INITIAL.
IF /pws/zycee001-tpcalc = '0'.
ADD itab_zycet002-vlod_r TO v_despesas.
ELSE.
SUBTRACT itab_zycet002-vlod_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-comissao IS INITIAL AND
NOT itab_zycet002-vlagente_r IS INITIAL.
IF /pws/zycee001-tpcalc = '0'.
ADD itab_zycet002-vlagente_r TO v_despesas.
ELSE.
SUBTRACT itab_zycet002-vlagente_r FROM v_despesas.
ENDIF.
ENDIF.
IF NOT wa_zycet065-desconto IS INITIAL AND
NOT itab_zycet002-vldesconto_r IS INITIAL.
SUBTRACT itab_zycet002-vldesconto_r FROM v_despesas.
ENDIF.
IF NOT wa_zycet065-acrescimo IS INITIAL AND
NOT itab_zycet002-vlacrescimo_r IS INITIAL.
ADD itab_zycet002-vlacrescimo_r TO v_despesas.
ENDIF.
IF NOT v_despesas IS INITIAL.
IF /pws/zycee001-tpcalc = '0'.
<fs_itemanexo>-vfob =
<fs_itemanexo>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
<fs_itemanexo>-netpr = <fs_itemanexo>-netpr + v_despesas.
ELSE.
<fs_itemanexo>-vfob = <fs_itemanexo>-netpr + v_despesas.
<fs_itemanexo>-netpr =
<fs_itemanexo>-netpr -
itab_zycet002-vldesconto_r +
itab_zycet002-vlacrescimo_r.
ENDIF.
ELSE.
<fs_itemanexo>-vfob = <fs_itemanexo>-netpr.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da inclusão