Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Seguro
Data/Hora da Publicação: 18/11/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:25:33
Descrição da Nota: CONTABILIZAÇÃO DE FATURA DE SEGURO SEM FAT. FRETE PROCESSO FOB.
Sintoma
Processo Argentina e Chile.
Em um processo FOB, ao salvar uma fatura de seguro sem criar uma fatura de frete o programa não está
contabilizando a fatura de seguro.
O programa está gravando valores negativos na tabela de custo ao utilizar o botão para visualizar o
rateio e depois contabilizar a fatura.
Solução
Ajustado programa para permitir a contabilização da fatura de seguro sem fatura de frete para
processos da Argentina e Chile.
Limpar variavel de tratamento de arredondamento da função de rateio.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09407 Data: 18/11/2009 Hora: 10:57:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09407
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05346 - 00001 - 7.0 - 00003 - NOTA FISCAL REMESSA
08236 - 00002 - 7.0 - 00009 - AJUSTE RATEIO DO SEGURO.
08834 - 00003 - 7.0 - 00010 - AO SALVAR FATURA DE SEGURO OCORRE DUMP.
----------------------------------------------------------------------------------------------------
CONTABILIZAÇÃO DE FATURA DE SEGURO SEM FAT. FRETE PROCESSO FOB.
----------------------------------------------------------------------------------------------------
Palavras Chave:
CONTABILIZAÇÃO - RATEIO - SEGURO - FATURA - TIPO - FOB
/PWS/SAPMZYCI003 - /PWS/ZYCI_RATEIO_CUSTO - VALOR - NEGATIVO - CUSTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_RATEIO_CUSTO
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
...
vl_ii = 0.
vl_ipi = 0.
vl_pis = 0.
vl_cofins = 0.
CLEAR:
vltot_ii,
vltot_ipi,
vltot_icms,
vltot_pis,
vltot_cofins.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
CLEAR: v_tot_desp.
* << Fim da inclusão
PERFORM carrega_exits
CHANGING
itab_zyglt100[].
IF NOT itab_zycit003[] IS INITIAL.
MOVE itab_zycit003[] TO itab_zycit003_aux[].
IF NOT itab_zycit003_aux[] IS INITIAL.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit003_aux
WHERE nrseq = itab_zycit003_aux-nrseq AND
...
...
MOVE: 'SEGURO' TO itab_zycit036-codigo.
itab_zycit036-vlreal = v_total.
ENDIF.
IF v_waers IS INITIAL.
itab_zycit036-waers_real = /pws/zycbt007-waersb.
ELSE.
itab_zycit036-waers_real = v_waers.
ENDIF.
ELSE.
MOVE: 'SEGURO' TO itab_zycit036-codigo.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
IF /pws/zycit031-inco1_ci = 'FOB'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
IF /pws/zycit031-inco1_ci = 'FOB' AND
NOT v_tfrete IS INITIAL.
* << Fim da inclusão
CLEAR: itab_conv .
READ TABLE itab_conv WITH KEY
waers = itab_zycit003-waers.
IF sy-subrc NE 0.
PERFORM converte_moeda
USING sy-datum
itab_zycit003-waers
/pws/zycbt007-waersb
CHANGING itab_conv-kursf
itab_conv-de
...
...
v_vlfrete = itab_zycit036_aux-vlreal *
( ( v_kursf2 * v_de2 ) / v_para2 ) .
ENDIF.
IF v_vltemp1 = 0.
v_vltemp1 = 1.
ENDIF.
itab_zycit036-vlreal = v_total * ( v_vlfrete +
( ( itab_zycit003-qtd_iten * itab_zycit003-vlreal )
* ( v_kursf * v_de ) / v_para ) ) / v_vltemp1.
ELSEIF /pws/zycit031-inco1_ci = 'CIF' OR
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
/pws/zycit031-inco1_ci = 'C&F'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
/pws/zycit031-inco1_ci = 'C&F' OR
( /pws/zycit031-inco1_ci = 'FOB' AND
v_tfrete IS INITIAL ).
* << Fim da inclusão
itab_zycit036-vlreal = v_total *
( itab_zycit003-vlreal * itab_zycit003-qtd_iten )
/ v_seg .
ENDIF.
IF v_waers IS INITIAL.
itab_zycit036-waers_real = /pws/zycbt007-waersb.
ELSE.
itab_zycit036-waers_real = v_waers.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
v_fretei_custo = 'X'.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF v_fretei_custo IS INITIAL.
MESSAGE i015 WITH text-118.
EXIT.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF /pws/zycit031-inco1_ci = 'FOB' AND
( t001-land1 EQ 'CL' OR t001-land1 EQ 'AR' ).
v_fretei_custo = 'X'.
ENDIF.
* << Fim da inclusão
CLEAR: v_tvlreal, itab_frete.
FREE : itab_frete.
LOOP AT itab_zycit003.
CLEAR: v_tseg, v_valor.
itab_frete-ebeln = itab_zycit003-ebeln.
itab_frete-ebelp = itab_zycit003-ebelp.
itab_frete-total = v_tfrete *
( itab_zycit003-ntgew / v_tpeso ).
v_valor = itab_zycit003-qtd_iten * itab_zycit003-vlreal.
IF NOT v_valor IS INITIAL.
...