Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 08/11/2013 00:00:00
Data/Hora Última Alteração: 12/11/2013 11:50:21
Descrição da Nota: ERROS EM CÁLCULOS COM VALORES ANTIDUMPING.
Sintoma
Erros em cálculos com valores antidumping.
Solução
Atualizado programa para zerar campo de base de antidumping quando for zerada a aliquota. Tratamento
em DI e NF.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13402 Data: 08/11/2013 Hora: 16:32:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13402
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05033 - 00001 - 7.0 - 00003 - DÉBITO EM CONTA ESTÁ LEVANDO VALORES MESMO COM REGIME NÃO INCIDÊN
06086 - 00002 - 7.0 - 00004 - O PROGRAMA NÃO ESTA CALCULANDO A PORCENTAGEM DO ANTIDUMPING NA DI
06291 - 00003 - 7.0 - 00005 - O PROGRAMA NÃO ESTA LEVANDO O ANTIDUMPING ESPECIFICO NO DEBITO
06695 - 00004 - 7.0 - 00005 - AO RATEAR DESPESAS ESTÁ CONSIDERANDO ITENS ISENTOS OU SUSPENSOS.
07414 - 00005 - 7.0 - 00007 - ESTÁ RATEANDO A DESPESA ANTIDUMPING POR ITENS SEM O ANTIDUMP.
07474 - 00006 - 7.0 - 00007 - NÃO ATUALIZA A PASTA DESPESAS APÓS ALTERAR ANTIDUMPING
07507 - 00007 - 7.0 - 00007 - AO ATUALIZAR DADOS LEVA VALOR DE ANTIDUMP PARA ITENS SEM O SERVIÇ
07524 - 00008 - 7.0 - 00007 - QUEBRA DE ADIÇÕES CONSIDERA QUANTIDADES DE ANTIDUMP DIFERENTES
08538 - 00009 - 7.0 - 00009 - VALOR ANTIDUMPING DUPLICADO NAS DESPESAS DA NOTA FISCAL.
08541 - 00010 - 7.0 - 00010 - VALOR ANTIDUMPING NA BASE DE IPI
11157 - 00011 - 8.0 - 00007 - LEGISLAÇÃO PARA DESENVOLVIMENTO DE ICMS ST NA DI E NF.
----------------------------------------------------------------------------------------------------
ERROS EM CÁLCULOS COM VALORES ANTIDUMPING.
----------------------------------------------------------------------------------------------------
Palavras Chave:
ANTIDUMPING - DI - NF - PRESTAÇÃO - DÉBITO - FUNÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_RATEIO_CUSTO
DYNP /PWS/SAPMZYCI023 0434
REPS /PWS/SAPMZYCI023
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI007F01
REPS /PWS/MZYCI006F01
REPS /PWS/MZYCI023I02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
...
IF NOT '356' CA itab_zycit100a-codregtripiscofi.
v_tot_pis = itab_zycit100a-vlpis + v_tot_pis.
v_tot_cofins = itab_zycit100a-vlcofins + v_tot_cofins.
ENDIF.
IF NOT '356' CA itab_zycit100a-codregtriicms AND
NOT itab_zycit100a-icms_dif EQ 'X' .
v_tot_icms = itab_zycit100a-vlicms + v_tot_icms.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
IF NOT itab_zycit100a-baseantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100a-baseantid *
( itab_zycit100a-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100a-qtdeantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100a-vlantid *
itab_zycit100a-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_vlantid = v_vlantid +
( itab_zycit100a-baseantid * ( itab_zycit100a-antidrate / 100 ) ) +
( itab_zycit100a-vlantid * itab_zycit100a-qtdeantid ).
* << Fim da inclusão
IF NOT itab_zycit100a-aliq_icms_st IS INITIAL.
v_tot_icmsst = v_tot_icmsst + itab_zycit100a-vlicms_st.
ENDIF.
ENDLOOP.
...
...
ELSEIF /pws/zycit019-tpdesp =
/pws/zycit000-cod_antidump AND
NOT v_vlantid IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 AND
( NOT itab_zycit100a-baseantid IS INITIAL OR
NOT itab_zycit100a-qtdeantid IS INITIAL ) .
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
IF NOT itab_zycit100a-baseantid IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
IF NOT v_vlantid IS INITIAL.
* << Fim da inclusão
itab_zycit036_aux-vlreal =
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
( ( itab_zycit100a-baseantid *
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
( ( ( itab_zycit100a-baseantid *
* << Fim da inclusão
( itab_zycit100a-antidrate / 100 ) ) / v_vlantid ) *
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_despesa-netpr.
ELSEIF NOT itab_zycit100a-qtdeantid IS INITIAL.
itab_zycit036_aux-vlreal =
( ( itab_zycit100a-vlantid *
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_despesa-netpr ) +
( ( ( itab_zycit100a-vlantid *
* << Fim da inclusão
itab_zycit100a-qtdeantid ) / v_vlantid ) *
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_despesa-netpr.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_despesa-netpr ) .
* << Fim da inclusão
ENDIF.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI023 0434
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0434
PROCESS BEFORE OUTPUT.
MODULE: set_screen.
PROCESS AFTER INPUT.
FIELD: s_advl MODULE fill_advl ON REQUEST,
s_adbs MODULE fill_adbs ON REQUEST,
* >> Início da exclusão:
/pws/zycie100a-meinsantid MODULE load_umad ON REQUEST.
* << Fim da exclusão
* >> Início da inclusão:
/pws/zycie100a-meinsantid MODULE load_umad ON REQUEST,
/pws/zycie100a-antidrate
MODULE consiste_antidump ON CHAIN-REQUEST .
* << Fim da inclusão
CHAIN.
FIELD: S_ADVL,
S_ADBS,
/pws/zycie100a-antidrate,
/pws/zycie100a-qtdeantid.
MODULE calc_vii ON CHAIN-REQUEST.
MODULE calc_vicms ON CHAIN-REQUEST.
ENDCHAIN.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
v_tntgew = v_tntgew + itab_it-ntgewd.
ELSE.
v_tntgew = v_tntgew + itab_it-ntgew.
ENDIF.
ENDLOOP.
LOOP AT itab_itb.
v_idx = itab_itb-seq.
MOVE itab_itb TO wa_it.
MOVE-CORRESPONDING: itab_itb TO /pws/zycie100a,
itab_itb TO /pws/zycie003.
* >> Início da exclusão: FORM CALC_ITAB_ADIC
IF NOT itab_itb-baseantid IS INITIAL.
a_adreco = a_addevi = a_addevi + ( itab_itb-baseantid * (
itab_itb-antidrate / 100 ) ) .
ELSEIF NOT itab_itb-qtdeantid IS INITIAL.
a_adreco = a_addevi = a_addevi + ( itab_itb-vlantid *
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_ITAB_ADIC
a_adreco = a_addevi = a_addevi + ( itab_itb-baseantid *
( itab_itb-antidrate / 100 ) ) + ( itab_itb-vlantid *
* << Fim da inclusão
itab_itb-qtdeantid ).
* >> Início da exclusão: FORM CALC_ITAB_ADIC
ENDIF.
* << Fim da exclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
ENDLOOP.
* >> Início da exclusão: FORM LOAD_IICMS
IF NOT itab_it-baseantid IS INITIAL.
t_ivdesp = t_ivdesp + ( itab_it-baseantid *
( itab_it-antidrate / 100 ) ) .
ELSEIF NOT itab_it-qtdeantid IS INITIAL.
t_ivdesp = t_ivdesp + ( itab_it-vlantid *
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
t_ivdesp = t_ivdesp + ( itab_it-baseantid *
( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *
* << Fim da inclusão
itab_it-qtdeantid ).
* >> Início da exclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da exclusão
CLEAR: v_nr_itens, v_desp. CLEAR: itab_zycit100_temp.
REFRESH itab_zycit100_temp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
IF NOT itab_zycit048_m IS INITIAL.
APPEND itab_zycit048_m.
ENDIF.
ENDIF.
LOOP AT itab_zycit100.
* >> Início da exclusão: FORM MENSAGENS_NF
IF NOT itab_zycit100-baseantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100-baseantid *
( itab_zycit100-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100-vlantid *
itab_zycit100-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MENSAGENS_NF
v_vlantid = v_vlantid +
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
ENDLOOP.
...
...
LOOP AT itab_zycit003_mark.
v_idx = sy-tabix.
IF itab_zycit049_aux_r-tpdesp EQ /pws/zycit000-cod_antidump
AND /pws/zycit001-tpdecl NE 'DSI'.
READ TABLE itab_zycit100 WITH KEY
ebeln = itab_zycit003_mark-ebeln
ebelp = itab_zycit003_mark-ebelp.
IF sy-subrc EQ '0' AND
( NOT itab_zycit100-baseantid IS INITIAL OR
NOT itab_zycit100-vlantid IS INITIAL ).
* >> Início da exclusão: FORM MENSAGENS_NF
IF NOT itab_zycit100-baseantid IS INITIAL.
v_vldp = v_vldp + ( ( itab_zycit100-baseantid *
( itab_zycit100-antidrate / 100 ) ) / v_vlantid ) *
itab_zycit049_aux_r-vldp.
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
v_vldp = v_vldp + ( ( itab_zycit100-vlantid *
itab_zycit100-qtdeantid ) / v_vlantid ) *
itab_zycit049_aux_r-vldp.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM MENSAGENS_NF
v_vldp = v_vldp +
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ) .
* << Fim da inclusão
ENDIF.
ELSE.
IF itab_zycit085-waersfob NE itab_zycit003_mark-waers.
PERFORM taxa_converte USING itab_zycit003_mark-waers
itab_zycit085-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
itab_zycit003_mark-vlreal =
itab_zycit003_mark-vlreal * v_taxa.
itab_zycit003_mark-netpr =
...
...
CHANGING v_taxa_desp.
itab_zycit049_a-vldp = itab_zycit049_a-vldp * v_taxa_desp.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit042_d.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
IF sy-subrc = 0 AND ( NOT itab_zycit100-baseantid IS INITIAL OR
NOT itab_zycit100-vlantid IS INITIAL ).
* >> Início da exclusão: FORM SELECIONA_DESPESAS
IF NOT itab_zycit100-baseantid IS INITIAL.
* << Fim da exclusão
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
* >> Início da exclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
MODIFY itab_zycit042_d.
ENDIF.
ENDLOOP.
ENDIF.
...
...
/pws/zycit085-dttax
CHANGING v_taxa_desp.
itab_zycit049-vldp = itab_zycit049-vldp * v_taxa_desp.
ENDIF.
LOOP AT itab_zycit042.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit042-nrseq
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc = 0 AND ( NOT itab_zycit100-baseantid IS INITIAL OR
NOT itab_zycit100-vlantid IS INITIAL ).
* >> Início da exclusão: FORM SELECIONA_DESPESAS
IF NOT itab_zycit100-baseantid IS INITIAL.
* << Fim da exclusão
itab_zycit042-vldp = itab_zycit042-vldp +
* >> Início da exclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
itab_zycit042-vldp = itab_zycit042-vldp +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
MODIFY itab_zycit042.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDIF.
...
...
LOOP AT itab_zycit042_d.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
IF sy-subrc = 0 AND ( NOT itab_zycit100-baseantid IS INITIAL OR
NOT itab_zycit100-vlantid IS INITIAL ).
* >> Início da exclusão: FORM SELECIONA_DESPESAS
IF NOT itab_zycit100-baseantid IS INITIAL.
* << Fim da exclusão
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
* >> Início da exclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
MODIFY itab_zycit042_d.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007F01
...
v_tot_ipi = itab_zycit100-vlipi + v_tot_ipi.
ENDIF.
IF NOT '356' CA itab_zycit100-codregtripiscofi.
v_tot_pis = itab_zycit100-vlpis + v_tot_pis.
v_tot_cofins = itab_zycit100-vlcofins + v_tot_cofins.
ENDIF.
IF NOT '356' CA itab_zycit100-codregtriicms .
v_tot_icms = itab_zycit100-vlicms + v_tot_icms.
ENDIF.
ADD itab_zycit100-vlicms_st TO v_tot_vlicms_st .
* >> Início da exclusão: FORM VERIFICA_ITENS
IF NOT itab_zycit100-baseantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100-baseantid *
( itab_zycit100-antidrate / 100 ) ) .
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
v_vlantid = v_vlantid + ( itab_zycit100-vlantid *
itab_zycit100-qtdeantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
v_vlantid = v_vlantid +
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
ENDLOOP.
IF NOT itab_zycit100[] IS INITIAL.
SELECT * FROM /pws/zycit116 INTO TABLE itab_zycit116
FOR ALL ENTRIES IN itab_zycit100
WHERE nrseqdi = itab_zycit100-nrseqdi.
ENDIF.
LOOP AT itab_zycit116.
LOOP AT itab_zycit100 WHERE adicao = itab_zycit116-adicao.
itab_zycit116-nr_itens = itab_zycit116-nr_itens + 1.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI006F01
...
IF NOT '156' CA itab_zycit100-codregtriipi.
v_dpipi = v_dpipi + itab_zycit100-vlipi .
ENDIF.
IF NOT '356' CA itab_zycit100-codregtri .
v_dpii = v_dpii + itab_zycit100-vlii .
ENDIF.
IF NOT '356' CA itab_zycit100-codregtripiscofi .
v_dppis = v_dppis + itab_zycit100-vlpis .
v_dpcofins = v_dpcofins + itab_zycit100-vlcofins.
ENDIF.
* >> Início da exclusão: FORM DESPESAS_DI
IF NOT itab_zycit100-baseantid IS INITIAL.
* << Fim da exclusão
v_dpantidump = v_dpantidump +
* >> Início da exclusão: FORM DESPESAS_DI
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ).
ELSEIF NOT itab_zycit100-qtdeantid IS INITIAL.
v_dpantidump = v_dpantidump +
( itab_zycit100-qtdeantid * itab_zycit100-vlantid ).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM DESPESAS_DI
( itab_zycit100-baseantid * ( itab_zycit100-antidrate / 100 ) ) +
( itab_zycit100-vlantid * itab_zycit100-qtdeantid ).
* << Fim da inclusão
v_dpicmsst = v_dpicmsst + itab_zycit100-vlicms_st.
ENDLOOP.
ENDIF.
...
----------------------------------------------------------------------------------------------------
*Criar include /PWS/MZYCI023I02
Modificações efetuadas em REPS /PWS/MZYCI023I02
* >> Início da inclusão:
MODULE consiste_antidump INPUT.
IF /pws/zycie100a-antidrate IS INITIAL.
CLEAR: itab_zycit100-baseantid ,
itab_it-baseantid ,
/pws/zycie100a-baseantid,
s_adbs.
ENDIF.
ENDMODULE.
* << Fim da inclusão