Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 01/11/2012 14:57:08
Data/Hora Última Alteração: 01/11/2012 14:57:08
Descrição da Nota: NÃO DEIXA MUDAR VALOR DO SEGURO NA DI E DÁ DUMP SE NÃO HOUVER TAXA
Sintoma
Não deixa mudar valor do seguro na DI e dá dump se não houver taxa
Solução
Corrigir cálculo e verificar se campo está zerado.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12503 Data: 12/09/2012 Hora: 11:05:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12503
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00001
Agrupamento : 00128
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
11471 - 00001 - 8.0 - 00009 - DESENVOLVIMENTO PARA TRATAMENTO NOVO INCOTERM C+I
12441 - 00002 - 9.0 - 00001 - DI CALCULA A PORCENTAGEM DO SEGURO INCORRETAMENTE
----------------------------------------------------------------------------------------------------
NÃO DEIXA MUDAR VALOR DO SEGURO NA DI E DÁ DUMP SE NÃO HOUVER TAXA
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - SEGURO - VALOR - DUMP - TAXA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F02
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F02
...
FORM load_sevl.
* >> Início da exclusão: FORM LOAD_SEVL
DATA : v_fob TYPE /pws/zycie085-vlfob,
v_fre TYPE /pws/zycie085-vlfob.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
DATA : v_fob TYPE /pws/zycie085-vlfob,
v_fre TYPE /pws/zycie085-vlfob.
DATA: v_vlseg TYPE /pws/zycit085-vlfob.
* << Fim da inclusão
IF s_inco1_ci EQ 'CIF'.
IF NOT v_tcif_fat IS INITIAL AND
NOT /pws/zycie085-per_seg IS INITIAL.
* >> Início da exclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = v_tcif_fat *
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = v_vlseg = v_tcif_fat *
* << Fim da inclusão
( /pws/zycie085-per_seg / 100 ).
...
...
ELSEIF s_inco1_ci EQ 'C+I'.
IF NOT v_tval2 IS INITIAL AND
NOT /pws/zycie085-per_seg IS INITIAL.
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_fob = v_tval2 * v_taxa .
ENDIF.
IF NOT /pws/zycie085-ukursseg IS INITIAL.
* >> Início da exclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = ( ( v_fob + s_stvr - v_desp_brl ) *
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = v_vlseg =
( ( v_fob + s_stvr - v_desp_brl ) *
* << Fim da inclusão
( /pws/zycie085-per_seg / 100 ) ) / /pws/zycie085-ukursseg.
ENDIF.
PERFORM retorna_decimais USING /pws/zycie085-waersseg
CHANGING /pws/zycie085-vlseg.
ENDIF.
ELSE.
IF NOT v_tval2 IS INITIAL AND
NOT /pws/zycie085-per_seg IS INITIAL.
* >> Início da exclusão: FORM LOAD_SEVL
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_fob = v_tval2 * v_taxa .
ENDIF.
* << Fim da exclusão
v_bltofat = /pws/zycie093-prepaid + /pws/zycie093-collect -
/pws/zycie093-ternacion.
IF NOT /pws/zycie085-ukursfob IS INITIAL.
PERFORM calc_conv_frete CHANGING v_bltofat.
ENDIF.
* >> Início da exclusão: FORM LOAD_SEVL
PERFORM taxa_converte USING /pws/zycie085-waersfob
/pws/zycie085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_fre = v_bltofat * v_taxa .
ENDIF.
IF NOT /pws/zycie085-ukursseg IS INITIAL.
s_stvr = ( ( v_fob + v_fre - v_desp_brl ) *
( /pws/zycie085-per_seg / 100 ) ) .
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = v_vlseg = ( v_tval2 + v_bltofat ) *
( /pws/zycie085-per_seg / 100 ).
* << Fim da inclusão
* >> Início da exclusão: FORM LOAD_SEVL
ENDIF.
* << Fim da exclusão
PERFORM retorna_decimais USING /pws/zycie085-waersseg
CHANGING /pws/zycie085-vlseg.
* >> Início da inclusão: FORM LOAD_SEVL
s_stvr = v_vlseg * /pws/zycie085-ukursseg.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = s_stvr / /pws/zycie085-ukursseg.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
IF NOT v_vlseg IS INITIAL.
s_stvr = v_vlseg * /pws/zycie085-ukursseg.
ELSE.
s_stvr = /pws/zycie085-vlseg * /pws/zycie085-ukursseg.
ENDIF.
* << Fim da inclusão
PERFORM trata_decimais USING /pws/zycie085-waersseg
CHANGING s_stvr.
s_stvr_d2 = s_stvr.
ENDFORM. " load_sevl
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
IF /pws/zycit000-rat_seg_fob IS INITIAL.
IF s_inco1_ci EQ 'CIF'.
v_tcfr = /pws/zycie085-vlfob + v_sgtofat + v_bltofat.
v_cfr = t_vmle .
ELSEIF s_inco1_ci EQ 'C+I' .
v_tcfr = /pws/zycie085-vlfob + v_sgtofat.
v_cfr = t_vmle .
ELSEIF s_inco1_ci NE 'FOB'.
* >> Início da inclusão: FORM VALOR_CFR
IF NOT /pws/zycie085-ukursfob IS INITIAL.
* << Fim da inclusão
v_tcfr = /pws/zycie085-vlfob +
( s_frvr / /pws/zycie085-ukursfob ).
v_cfr = t_vmle + ( t_ivfre / /pws/zycie085-ukursfob ).
* >> Início da inclusão: FORM VALOR_CFR
ENDIF.
* << Fim da inclusão
ELSE.
v_tcfr = /pws/zycie085-vlfob .
v_cfr = t_vmle .
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023I01
...
MODULE load_sevl INPUT.
* >> Início da inclusão: MODULE LOAD_SEVL
clear s_stvr .
* << Fim da inclusão
PERFORM load_sevl.
ENDMODULE.
...