Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 23/11/2005 00:00:00
Data/Hora Última Alteração: 21/02/2011 14:12:13
Descrição da Nota: ERRO DE ARREDONDAMENTO DE FRETE NO ENVIO PARA CÂMBIO
Sintoma
O programa leva 0,01 a mais no valor do frete no preenchimento da tabela /PWS/ZYCBT017.
Solução
Ajuste para correção de erros de arredondamento.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00328 Data: 23/11/2005 Hora: 10:32:34
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00328
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00021
Agrupamento : 00089
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00279 - 00001 - 6.0 - 00021 - VALORES INCORRETOS NO ENVIO PARA O CÂMBIO DE EMBARQUES MARÍTIMOS
----------------------------------------------------------------------------------------------------
ERRO DE ARREDONDAMENTO DE FRETE NO ENVIO PARA CÂMBIO
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXPORTAÇÃO - EMBARQUE - ENVIO PARA CÃMBIO - VALOR FRETE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE003F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F01
...
FORM gera_tabela_zycbt017 USING value(p_centros).
DATA: itab_002 LIKE itab_zycet002 OCCURS 0 WITH HEADER LINE,
wa_zycee313 LIKE /pws/zycee313,
v_kunrg LIKE /pws/zycet002-kunrg,
v_vlmetotal LIKE /pws/zycet008-vlme,
* >> Início da inclusão: FORM GERA_TABELA_ZYCBT017
v_vlfobtotal LIKE /pws/zycet002-vlfob,
* << Fim da inclusão
v_percent TYPE f,
v_gsber LIKE /pws/zycet002-gsber,
wa_zycbt017 LIKE /pws/zycbt017,
wa_zycbt017_vl LIKE /pws/zycbt017,
itab_zycbt017_aux LIKE itab_zycbt017 OCCURS 0 WITH HEADER LINE.
...
...
IF sy-subrc EQ 0 AND
itab_zycet156-proccond EQ 'FOB'.
v_vlmetotal = v_vlmetotal + itab_zycet008-vlme.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM GERA_TABELA_ZYCBT017
CLEAR v_vlfobtotal.
* << Fim da inclusão
LOOP AT itab_002.
v_percent = itab_002-vlfob / v_vlmetotal.
IF itab_002-gsber NE v_gsber OR
sy-tabix EQ 1.
PERFORM cabecalho_zycbt017 TABLES itab_zycbt017_aux
...
...
wa_zycbt017-vlslfc = wa_zycbt017-vlavinc.
wa_zycbt017-vldesp = wa_zycbt017-vldesp +
( v_percent * wa_zycbt017_vl-vldesp ).
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM GERA_TABELA_ZYCBT017
v_vlfobtotal = v_vlfobtotal + wa_zycbt017_vl-vlfob.
* << Fim da inclusão
PERFORM cabecalho_zycbt017 TABLES itab_zycbt017_aux
USING v_kunrg
itab_002-vkgrp
CHANGING wa_zycbt017.
ENDIF.
* >> Início da inclusão: FORM GERA_TABELA_ZYCBT017
PERFORM correcao_itens_cambio using wa_zycee313.
* << Fim da inclusão
CHECK itab_zycet037-alt_cond EQ '0'.
PERFORM gera_parcelas_zycbt017.
ENDFORM.
FORM gera_parcelas_zycbt017.
DATA: itab_017 LIKE itab_zycbt017 OCCURS 0 WITH HEADER LINE,
...
...
wa_valores-nrseq_consig = itab_zycet002-nrseq_consig.
MOVE-CORRESPONDING itab_emb_cons TO /pws/zycee001.
EXIT.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
FORM correcao_itens_cambio using wa_zycee313 type /pws/zycee313.
DATA: v_vlfrete LIKE /pws/zycbt017-vlfrete,
v_vlseg LIKE /pws/zycbt017-vlseg,
v_vlcomis LIKE /pws/zycbt017-vlcomis,
v_vldesp LIKE /pws/zycbt017-vldesp,
v_lines TYPE n.
CHECK NOT itab_zycbt017[] IS INITIAL.
CHECK NOT wa_zycee313 IS INITIAL.
CLEAR: v_vlfrete,
v_vlseg,
v_vlcomis,
v_vldesp,
v_lines.
LOOP AT itab_zycbt017.
v_vlfrete = v_vlfrete + itab_zycbt017-vlfrete.
v_vlseg = v_vlseg + itab_zycbt017-vlseg.
v_vlcomis = v_vlcomis + itab_zycbt017-vlcomis.
v_vldesp = v_vldesp + itab_zycbt017-vldesp.
ENDLOOP.
DESCRIBE TABLE itab_zycbt017 LINES v_lines.
READ TABLE itab_zycbt017 INDEX v_lines.
IF v_vlfrete NE wa_zycee313-vlme_frt.
itab_zycbt017-vlfrete = itab_zycbt017-vlfrete -
( v_vlfrete - wa_zycee313-vlme_frt ).
ENDIF.
IF v_vlseg NE wa_zycee313-vlme_seg.
itab_zycbt017-vlseg = itab_zycbt017-vlseg -
( v_vlseg - wa_zycee313-vlme_seg ).
ENDIF.
IF v_vlcomis NE wa_zycee313-vlme_com.
itab_zycbt017-vlcomis = itab_zycbt017-vlcomis -
( v_vlcomis - wa_zycee313-vlme_com ).
ENDIF.
IF v_vldesp NE wa_zycee313-vlme_out.
itab_zycbt017-vldesp = itab_zycbt017-vldesp -
( v_vldesp - wa_zycee313-vlme_out ).
ENDIF.
MODIFY itab_zycbt017 INDEX v_lines.
ENDFORM.
* << Fim da inclusão