Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 30/03/2010 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:54:06
Descrição da Nota: AJUSTADO CALCULO DO SEGURO (ANA)
Sintoma
O valor calculado para o seguro não bate com o percentual informado na ANA.
Solução
Ajustado calculo do montante base para o calculo do seguro
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10023 Data: 30/03/2010 Hora: 14:43:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10023
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00015
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
09434 - 00001 - 8.0 - 00001 - PROCESSOS ARGENTINA/ CHILE ANA NÃO ESTA ALTERANDO O STATUS DO EMB
09467 - 00002 - 8.0 - 00001 - PROBLEMA NA VARIAÇÃO CAMBIAL NO F6D AO PREENCHER OS DADOS DA ANA
----------------------------------------------------------------------------------------------------
AJUSTADO CALCULO DO SEGURO (ANA)
----------------------------------------------------------------------------------------------------
Palavras Chave:
SEGURO - ANA - FOB - CFR - CIF - MOEDA - DIFERENTE - ESTORNO - NOTA
/PWS/SAPMZYCI059
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI059F01
REPS /PWS/MZYCI059F02
REPS /PWS/MZYCI059F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F01
...
SELECT SINGLE * FROM /pws/zycit001 INTO it_zycit001
WHERE nrseq = itab_it-nrseq.
APPEND it_zycit001.
READ TABLE it_zycit001 INDEX 1.
it_zycit001-status = 'AB' .
UPDATE /pws/zycit001 SET status = 'AB'
WHERE nrseq = itab_it-nrseq.
MODIFY it_zycit001 INDEX 1.
MODIFY /pws/zycit001 FROM TABLE it_zycit001.
PERFORM atualiza_status.
* >> Início da exclusão: FORM DATA_DELE
IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.
* << Fim da exclusão
* >> Início da inclusão: FORM DATA_DELE
IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' OR
t001-land1 EQ wa_zycit477-land.
* << Fim da inclusão
DELETE FROM /pws/zycit042 WHERE
nrseqnf = /pws/zycie085-nrseqdi AND
tpnf = '01' AND
nfglobal = /pws/zycit041-nfglobal AND
docnum = /pws/zycit041-docnum.
DELETE FROM /pws/zycit041 WHERE
nrseq = /pws/zycie085-nrseqdi AND
nfglobal = /pws/zycit041-nfglobal AND
docnum = /pws/zycit041-docnum.
READ TABLE itab_zycit100 INDEX 1.
...
...
FORM taxa_converte USING p_waers
p_data
CHANGING p_taxa.
DATA: v_moeda LIKE tcurc-/pws/codmo,
v_msgd(10),
v_linhas TYPE i.
* >> Início da exclusão: FORM TAXA_CONVERTE
IF v_mudou EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM TAXA_CONVERTE
IF v_mudou EQ 'X'
OR wa_zycit477-land EQ t001-land1.
* << Fim da inclusão
CLEAR: p_taxa, v_msgfre.
IF p_waers EQ /pws/zycbt007-waersb.
p_taxa = 1.
EXIT.
ENDIF.
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = p_waers.
IF sy-subrc EQ 0.
REFRESH itab_zycit174.
SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174 WHERE
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F02
...
FORM load_sevl.
DATA: v_fretebl LIKE /pws/zycie093-prepaid.
* >> Início da exclusão: FORM LOAD_SEVL
IF NOT s_fbvr IS INITIAL AND
NOT s_frvr IS INITIAL AND
NOT /pws/zycie085-ukursseg IS INITIAL AND
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
IF NOT /pws/zycie085-ukursseg IS INITIAL AND
* << Fim da inclusão
NOT /pws/zycie085-per_seg IS INITIAL.
IF s_inco1_ci = 'FOB'.
IF NOT v_usd IS INITIAL.
/pws/zycie085-vlseg = ( ( ( ( s_fbvr + s_frvr - v_desp_brl ) *
v_usd ) / /pws/zycie085-ukursseg ) *
/pws/zycie085-per_seg ) / 100.
ENDIF.
ELSEIF s_inco1_ci = 'CIF'.
v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .
PERFORM: calc_conv_moeda:
USING /pws/zycie093-waersfre /pws/zycbt007-waersa
CHANGING v_fretebl.
PERFORM trata_decimais USING /pws/zycie085-waersseg
v_fretebl.
CHECK NOT v_usd IS INITIAL.
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 / v_usd ) *
( /pws/zycie085-per_seg / 100 ).
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg =
( ( v_tcif_fat * /pws/zycie085-ukursfob ) *
( /pws/zycie085-per_seg / 100 ) ) /
/pws/zycie085-ukursseg.
* << Fim da inclusão
PERFORM retorna_decimais USING /pws/zycie085-waersseg
CHANGING /pws/zycie085-vlseg.
ENDIF.
ELSE.
v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .
PERFORM: calc_conv_moeda:
USING /pws/zycie093-waersfre /pws/zycbt007-waersa
CHANGING v_fretebl.
PERFORM trata_decimais USING /pws/zycie085-waersseg
v_fretebl.
CHECK NOT v_usd IS INITIAL.
* >> Início da exclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = ( ( s_fbvr +
( /pws/zycie085-vlfre * /pws/zycie085-ukursfre / v_usd ) )
* /pws/zycie085-per_seg ) / 100.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_SEVL
/pws/zycie085-vlseg = ( ( ( s_fbvr * v_usd ) +
( /pws/zycie085-vlfre * /pws/zycie085-ukursfre ) )
* ( /pws/zycie085-per_seg / 100 ) ) /
/pws/zycie085-ukursseg.
* << Fim da inclusão
ENDIF.
PERFORM retorna_decimais USING /pws/zycie085-waersseg
/pws/zycie085-vlseg.
ENDIF.
IF NOT v_usd IS INITIAL.
s_stvr = /pws/zycie085-vlseg * /pws/zycie085-ukursseg / v_usd.
ENDIF.
PERFORM trata_decimais USING /pws/zycie085-waersseg
s_stvr.
s_stvr_d2 = s_stvr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F03
...
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF itab_it-qtd_itend NE '' AND itab_it-vlreald IS INITIAL.
itab_it-vlreald = itab_it-vlreal + ( ( v_tdif *
itab_zycit003-ntgew / v_ntgew ) / itab_zycit003-qtd_iten ).
MODIFY itab_it.
ENDIF.
ENDLOOP.
LOOP AT itab_it.
* >> Início da inclusão: FORM CALC_INIT
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
* << Fim da inclusão
IF NOT itab_it-vlreald IS INITIAL.
itab_it-vlreal = itab_it-vlreald.
ENDIF.
CLEAR: v_tvaln, v_qtd_iten.
IF itab_it-qtd_itend NE ''.
v_qtd_iten = itab_it-qtd_itend.
ELSE.
v_qtd_iten = itab_it-qtd_iten.
ENDIF.
v_tntgew = v_tntgew + itab_it-ntgew.
...
...
FORM valor_cfr USING p_tipo.
CLEAR: v_tcfr.
IF NOT v_usd IS INITIAL.
* >> Início da exclusão: FORM VALOR_CFR
s_fbvr_s_d = /pws/zycie085-vlfob * /pws/zycie085-ukursfob / v_usd.
* << Fim da exclusão
* >> Início da inclusão: FORM VALOR_CFR
s_fbvr_s_d = /pws/zycie085-vlfob.
* << Fim da inclusão
ENDIF.
IF s_inco1_ci EQ 'CIF'.
* >> Início da exclusão: FORM VALOR_CFR
v_tcfr = /pws/zycie085-vlfob + v_sgtofat + v_bltofat.
* << Fim da exclusão
* >> Início da inclusão: FORM VALOR_CFR
v_tcfr = /pws/zycie085-vlfob +
( v_bltofat * /pws/zycie085-ukursfre / v_usd ) +
( v_sgtofat * /pws/zycie085-ukursseg / v_usd ) .
v_cfr = t_vmle .
v_cfr = t_vmle .
ELSEIF s_inco1_ci EQ 'C&F'.
v_tcfr = /pws/zycie085-vlfob +
( v_bltofat * /pws/zycie085-ukursfre / v_usd ).
* << Fim da inclusão
v_cfr = t_vmle .
ELSE.
v_tcfr = s_fbvr_s_d .
v_cfr = t_ivmle .
ENDIF.
ENDFORM.
...