Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 11/10/2011 11:20:12
Data/Hora Última Alteração: 11/10/2011 11:20:12
Descrição da Nota: ESTÁ RATEANDO A DESPESA ANTIDUMPING POR ITENS SEM O ANTIDUMP.
Sintoma
Está rateando antidumping por itens sem o imposto.
Solução
Não ratear por itens sem antidumping.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07414 Data: 08/10/2008 Hora: 10:02:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07414
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00068
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03302 - 00001 - 7.0 - 00001 - NA NOTA FISCAL VERIFICAR TABELA ZYCIT062 PARA NÃO INCIDÊNCIA DA D
05011 - 00002 - 7.0 - 00003 - ERRO NO RATEIO DE DESPESAS DA DI AO FAZER A NF
06622 - 00003 - 7.0 - 00005 - VALOR DO ICMS COM FRETE RODOVIÁRIO NA DI ESTA ERRADO
06695 - 00004 - 7.0 - 00005 - AO RATEAR DESPESAS ESTÁ CONSIDERANDO ITENS ISENTOS OU SUSPENSOS.
07368 - 00005 - 7.0 - 00007 - AO ACRESCENTAR DADOS DE ANTIDUMPING E PARÂMETRO NA /PWS/ZYCIT000
07699 - 00006 - 7.0 - 00007 - DI - CÁLCULO DA TAXA DO SISCOMEX NA BASE - PIS E COFINS ISENTO NA
----------------------------------------------------------------------------------------------------
ESTÁ RATEANDO A DESPESA ANTIDUMPING POR ITENS SEM O ANTIDUMP.
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - ANTIDUMP - DI
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI023 0434
FUNC /PWS/ZYCI_RATEIO_CUSTO
REPS /PWS/LZYCIGF2X01
REPS /PWS/MZYCI007F01
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023F05
REPS /PWS/MZYCI023I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI023 0344
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
*O Seguinte campo foi eliminado
WA_IT-QTDEANTID
I/O 11 51 8 8 1 NUMC Off
Alinh.à dir.
*Esse campo foi inserido no lugar
A_QTDANTID
I/O 11 51 8 8 1 NUMC Off
----------------------------------------------------------------------------------------------------
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,
/PWS/ZYCIE100A-MEINSANTID module load_umad on request.
* >> Início 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.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
FUNCTION /pws/zyci_rateio_custo.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
CLEAR v_vlantid.
* << Fim da inclusão
...
...
IF NOT '156' CA itab_zycit100a-codregtriipi .
v_tot_ipi = itab_zycit100a-vlipi + v_tot_ipi.
ENDIF.
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 .
v_tot_icms = itab_zycit100a-vlicms + v_tot_icms.
ENDIF.
* >> Início da inclusã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 inclusão
ENDLOOP.
...
...
IF NOT itab_despesa-waers IS INITIAL.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ELSE.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
IF ( /pws/zycit019-codigo EQ 'II' OR
/pws/zycit019-codigo EQ 'IPI' OR
/pws/zycit019-codigo EQ 'ICMS' OR
/pws/zycit019-codigo EQ 'COFINS' OR
/pws/zycit019-codigo EQ 'PIS' OR
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
/pws/zycit000-cod_antidump EQ itab_despesa-tpdesp OR
* << Fim da inclusão
( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND
NOT /pws/zycit000-flag_txsisc IS INITIAL ) ) AND
NOT itab_zycit100a[] IS INITIAL.
IF /pws/zycit019-codigo = 'ICMS' AND
NOT v_tot_icms IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp
...
...
itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ELSEIF /pws/zycit019-codigo = 'PIS'
AND NOT v_tot_pis IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 AND
NOT '356' CA itab_zycit100a-codregtripiscofi .
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_zycit036_aux-vlreal = itab_despesa-netpr -
v_tot_desp.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
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 ) .
itab_zycit036_aux-vlreal =
itab_despesa-netpr - v_tot_desp
.
* << Fim da inclusão
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ELSE.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 AND NOT v_tot_desp IS INITIAL.
itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ELSE.
...
...
IF NOT itab_despesa-waers IS INITIAL.
itab_zycit036_aux-waers_real = itab_despesa-waers.
ELSE.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
IF ( /pws/zycit019-codigo EQ 'II' OR
/pws/zycit019-codigo EQ 'IPI' OR
/pws/zycit019-codigo EQ 'ICMS' OR
/pws/zycit019-codigo EQ 'COFINS' OR
/pws/zycit019-codigo EQ 'PIS' OR
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
/pws/zycit019-tpdesp EQ /pws/zycit000-cod_antidump OR
* << Fim da inclusão
( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND
NOT /pws/zycit000-flag_txsisc IS INITIAL ) ) AND
NOT itab_zycit100a[] IS INITIAL.
IF /pws/zycit019-codigo = 'ICMS' AND
NOT v_tot_icms IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 AND NOT '356' CA
itab_zycit100a-codregtriicms .
...
...
ENDIF.
ELSEIF /pws/zycit019-codigo = 'PIS'
AND NOT v_tot_pis IS INITIAL.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 AND
NOT '356' CA itab_zycit100a-codregtripiscofi .
itab_zycit036_aux-vlreal = ( itab_zycit100a-vlpis /
v_tot_pis ) * itab_despesa-netpr.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
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 ) .
IF NOT itab_zycit100a-baseantid IS INITIAL.
itab_zycit036_aux-vlreal =
( ( itab_zycit100a-baseantid *
( itab_zycit100a-antidrate / 100 ) ) / v_vlantid ) *
itab_despesa-netpr.
ELSEIF NOT itab_zycit100a-qtdeantid IS INITIAL.
itab_zycit036_aux-vlreal =
( ( itab_zycit100a-vlantid *
itab_zycit100a-qtdeantid ) / v_vlantid ) *
itab_despesa-netpr.
ENDIF.
* << Fim da inclusão
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
ELSE.
READ TABLE itab_zycit100a WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
itab_zycit036_aux-vlreal = itab_zycit100a-vl_sisco.
itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2X01
...
* >> Início da inclusão:
DATA: v_vlantid like /pws/zycit100-vlicms.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007F01
...
FORM verifica_itens.
* >> Início da inclusão: FORM VERIFICA_ITENS
DATA: v_vlantid TYPE /pws/zycit085-vlicms.
* << Fim da inclusão
...
...
LOOP AT it_zycit027_aux
WHERE ( tpdesp = '001' OR tpdesp = '002' OR
tpdesp = '003' OR tpdesp = /pws/zycit000-cod_sisc
* >> Início da inclusão: FORM VERIFICA_ITENS
OR tpdesp = /pws/zycit000-cod_antidump
* << Fim da inclusão
OR tpdesp = /pws/zycit000-cod_pis
OR tpdesp = /pws/zycit000-cod_cofins ) AND vldp > 0.
ENDLOOP.
...
...
* >> Início da exclusão: FORM VERIFICA_ITENS
CLEAR: v_tot_ii, v_tot_ipi, v_tot_icms, v_tot_pis, v_tot_cofins.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
CLEAR: v_tot_ii, v_tot_ipi, v_tot_icms, v_tot_pis, v_tot_cofins,
v_vlantid.
* << Fim da inclusão
LOOP AT itab_zycit100.
IF NOT '356' CA itab_zycit100-codregtri .
v_tot_ii = itab_zycit100-vlii + v_tot_ii.
ENDIF.
IF NOT '156' CA itab_zycit100-codregtriipi .
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.
* >> Início da inclusão: FORM VERIFICA_ITENS
ENDIF.
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 ).
* << Fim da inclusão
ENDIF.
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.
...
...
vl_imp = itab_zycit100-vlcofins / v_tot_cofins.
it_lanca-porcent = vl_imp.
v_vldp_rat = ( it_zycit027_aux-vldp *
itab_zycit100-vlcofins / v_tot_cofins ).
it_lanca-lancamento = v_vldp_rat.
ENDIF.
v_total = v_total + it_lanca-lancamento.
* >> Início da inclusão: FORM VERIFICA_ITENS
ENDIF.
ELSEIF it_zycit027_aux-tpdesp = /pws/zycit000-cod_antidump.
IF NOT itab_zycit100-baseantid IS INITIAL.
vl_imp = ( itab_zycit100-baseantid *
( itab_zycit100-antidrate / 100 ) ) /
v_vlantid.
it_lanca-porcent = vl_imp.
v_vldp_rat = it_zycit027_aux-vldp *
( ( itab_zycit100-baseantid *
( itab_zycit100-antidrate / 100 ) ) /
v_vlantid ) .
it_lanca-lancamento = v_vldp_rat.
ELSEIF NOT itab_zycit100-vlantid IS INITIAL.
vl_imp = ( itab_zycit100-vlantid *
itab_zycit100-qtdeantid ) /
v_vlantid.
it_lanca-porcent = vl_imp.
v_vldp_rat = it_zycit027_aux-vldp *
( ( itab_zycit100-vlantid *
itab_zycit100-qtdeantid ) / v_vlantid ).
it_lanca-lancamento = v_vldp_rat.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM VERIFICA_ITENS
v_total = v_total + it_lanca-lancamento.
* << Fim da inclusão
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
* >> Início da inclusão:
data: a_qtdantid type /pws/zycie100a-QTDEANTID.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
LOOP AT itab_zycit485 WHERE adicao EQ wa_it-adicao.
MOVE itab_zycit485 TO itab_zycit485ad.
APPEND itab_zycit485ad.
ENDLOOP.
* >> Início da inclusão: FORM ADIC_LOAD
PERFORM load_unit USING wa_it-meinsantid CHANGING s_umad.
* << Fim da inclusão
IF sy-dynnr EQ '0050' AND sy-ucomm EQ 'ENTE'.
CLEAR: sy-ucomm.
CALL SCREEN '0300'.
ENDIF.
ENDIF.
ENDFORM.
...
...
FORM calc_itab_adic.
* >> Início da inclusão: FORM CALC_ITAB_ADIC
CLEAR a_qtdantid.
* << Fim da inclusão
...
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 inclusão: FORM CALC_ITAB_ADIC
IF NOT itab_itb-baseantid IS INITIAL.
* << Fim da inclusão
a_adreco = a_addevi = a_addevi + ( itab_itb-baseantid * (
* >> Início da exclusão: FORM CALC_ITAB_ADIC
itab_itb-antidrate / 100 ) ) + ( itab_itb-vlantid *
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_ITAB_ADIC
itab_itb-antidrate / 100 ) ) .
ELSEIF NOT itab_itb-qtdeantid IS INITIAL.
a_adreco = a_addevi = a_addevi + ( itab_itb-vlantid *
* << Fim da inclusão
itab_itb-qtdeantid ).
* >> Início da inclusão: FORM CALC_ITAB_ADIC
ENDIF.
a_qtdantid = a_qtdantid + itab_itb-qtdeantid.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
ENDIF.
ENDIF.
IF p_tipo = 'I'.
itab_zycit049-vldp_aux = itab_zycit049-vldp_aux + t_ivdes2.
MODIFY itab_zycit049 TRANSPORTING vldp_aux.
ENDIF.
ENDIF.
t_ivdesp = t_ivdesp + t_ivdes2.
ENDIF.
ENDLOOP.
* >> Início da inclusã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 *
itab_it-qtdeantid ).
ENDIF.
* << Fim da inclusão
CLEAR: v_nr_itens, v_desp. CLEAR: itab_zycit100_temp.
REFRESH itab_zycit100_temp.
MOVE itab_it[] TO itab_zycit100_temp[].
READ TABLE itab_zycit100_temp WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc = 0.
PERFORM adic_list.
ENDIF.
...
...
DATA: v_programa LIKE /pws/zycit036-origem VALUE 'DI'.
IF sy-ucomm EQ 'VISUA'.
v_visualiza = 'X'.
ENDIF.
FREE: itab_desp_funcao, itab_zycit036.
CLEAR: itab_desp_funcao, itab_zycit036.
LOOP AT itab_zycit049.
MOVE: itab_zycit049-tpdesp TO itab_desp_funcao-tpdesp,
itab_zycit049-vlreal TO itab_desp_funcao-netpr,
wa_zycbt007-waersb TO itab_desp_funcao-waers.
* >> Início da exclusão: FORM VISUALIZA_RATEIO
READ TABLE itab_zycit100 WITH KEY nrseqdi = itab_zycit049-nrseq.
MOVE: itab_zycit100-nrseq TO itab_desp_funcao-nrseq,
itab_zycit100-ebeln TO itab_desp_funcao-ebeln,
itab_zycit100-ebelp TO itab_desp_funcao-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM VISUALIZA_RATEIO
READ TABLE itab_it WITH KEY nrseqdi = itab_zycit049-nrseq.
MOVE: itab_it-nrseq TO itab_desp_funcao-nrseq,
itab_it-ebeln TO itab_desp_funcao-ebeln,
itab_it-ebelp TO itab_desp_funcao-ebelp.
* << Fim da inclusão
APPEND itab_desp_funcao.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
ENDLOOP.
IF itab_zycit100[] IS INITIAL.
LOOP AT itab_it.
MOVE-CORRESPONDING itab_it TO itab_zycit100.
APPEND itab_zycit100.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
ENDIF.
* << Fim da inclusão
MOVE itab_zycit116[] TO itab_adicao[].
EXPORT itab_adicao TO MEMORY ID 'ADI01'.
CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'
EXPORTING
v_programa = v_programa
v_visualiza = v_visualiza
v_bukrs = /pws/zycie085-bukrs
/pws/zycie085 = /pws/zycie085
IMPORTING
v_resposta = v_resp
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F05
...
FORM fill_antidumping.
CLEAR a_adreco.
READ TABLE itab_zycit049 WITH KEY tpdesp =
/pws/zycit000-cod_antidump.
IF sy-subrc EQ 0.
v_tabix = sy-tabix.
LOOP AT itab_it.
* >> Início da exclusão: FORM FILL_ANTIDUMPING
a_adreco = a_adreco + ( itab_it-baseantid *
( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *
itab_it-qtdeantid ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ANTIDUMPING
IF NOT itab_it-baseantid IS INITIAL.
a_adreco = a_adreco + ( itab_it-baseantid * (
itab_it-antidrate / 100 ) ) .
ELSEIF NOT itab_itb-qtdeantid IS INITIAL.
a_adreco = a_adreco + ( itab_itb-vlantid *
itab_itb-qtdeantid ).
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM FILL_ANTIDUMPING
IF itab_zycit049-vldp IS INITIAL.
* << Fim da exclusão
itab_zycit049-vlreal = itab_zycit049-vldp = a_adreco .
itab_zycit049-waers = wa_zycbt007-waersb.
MODIFY itab_zycit049 INDEX v_tabix TRANSPORTING vldp vlreal waers.
* >> Início da exclusão: FORM FILL_ANTIDUMPING
ENDIF.
* << Fim da exclusão
ENDIF.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM mensagens_nf.
* >> Início da inclusão: FORM MENSAGENS_NF
DATA v_vlantid TYPE /pws/zycit085-vlicms.
* << Fim da inclusão
...
...
IF NOT itab_zycit048_m IS INITIAL.
itab_zycit048_m-bukrs = itab_zycit085-bukrs.
itab_zycit048_m-branch = itab_zycit085-j_1bbranch.
ENDIF.
ENDIF.
IF NOT itab_zycit048_m IS INITIAL.
APPEND itab_zycit048_m.
* >> Início da inclusão: FORM MENSAGENS_NF
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
LOOP AT itab_zycit100.
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 ).
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
ENDLOOP.
* << Fim da inclusão
IF itab_zycit049_aux_r[] IS INITIAL.
CLEAR: itab_zycit019, itab_zycit020.
REFRESH: itab_zycit019, itab_zycit020.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycie041-bukrs.
...
...
itab_zycit049_aux_r-vldp = itab_zycit049_aux_r-vldp *
v_taxa_desp.
ENDIF.
v_vldp_aux = itab_zycit049_aux_r-vldp.
LOOP AT itab_zycit003_mark.
v_idx = sy-tabix.
* >> Início da inclusão: FORM MENSAGENS_NF
IF itab_zycit049_aux_r-tpdesp EQ /pws/zycit000-cod_antidump.
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 ).
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.
ENDIF.
ELSE.
* << Fim da inclusão
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 =
itab_zycit003_mark-netpr * v_taxa.
ENDIF.
...
...
ENDIF.
ELSE.
IF NOT itab_zycit003_mark-qtd_itend IS INITIAL.
v_vldp = v_vldp + v_vldp_aux *
( itab_zycit003_mark-vlreal *
itab_zycit003_mark-qtd_itend / v_tot_real ).
ELSE.
v_vldp = v_vldp + v_vldp_aux *
( itab_zycit003_mark-vlreal *
itab_zycit003_mark-qtd_iten / v_tot_real ).
* >> Início da inclusão: FORM MENSAGENS_NF
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM MENSAGENS_NF
IF NOT v_vldp IS INITIAL.
* << Fim da inclusão
MOVE : itab_zycit049_aux_r-descr TO v_descr,
v_vldp TO v_vldp_x.
CONCATENATE v_descr v_tamanho INTO v_descr.
* >> Início da exclusão: FORM MENSAGENS_NF
CONCATENATE v_descr v_vldp_x INTO it_zycee006-msg SEPARATED BY space.
* << Fim da exclusão
* >> Início da inclusão: FORM MENSAGENS_NF
CONCATENATE v_descr v_vldp_x INTO it_zycee006-msg
SEPARATED BY space.
* << Fim da inclusão
APPEND it_zycee006.
v_ind = v_ind + 1.
* >> Início da inclusão: FORM MENSAGENS_NF
ENDIF.
* << Fim da inclusão
CLEAR v_vldp.
ENDLOOP.
CLEAR: v_vlpis, v_vlcofins.
...
...
LOOP AT itab_zycit049_a.
IF itab_zycit049_a-tpdesp NE /pws/zycit000-cod_sisc OR
/pws/zycit000-flag_txsisc IS INITIAL OR
* >> Início da exclusão: FORM SELECIONA_DESPESAS
/pws/zycit001-tpdecl = 'DSI'.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DESPESAS
/pws/zycit001-tpdecl = 'DSI' OR
itab_zycit049_a-tpdesp NE /pws/zycit000-cod_antidump .
* << Fim da inclusão
CLEAR: v_tot_vldp, v_vldp.
LOOP AT itab_zycit042_d.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit042_d-nrseq
ebeln = itab_zycit042_d-ebeln
ebelp = itab_zycit042_d-ebelp.
...
...
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.
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
itab_zycit100-vl_sisco.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
MODIFY itab_zycit042_d.
ENDIF.
ENDLOOP.
ENDIF.
IF NOT /pws/zycit000-cod_antidump IS INITIAL.
LOOP AT itab_zycit049_a
WHERE tpdesp = /pws/zycit000-cod_antidump.
IF itab_zycit049_a-waers NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit049_a-waers
/pws/zycit085-dttax
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 ).
IF NOT itab_zycit100-baseantid IS INITIAL.
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
( 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 inclusão
MODIFY itab_zycit042_d.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR: itab_zycit019, itab_zycit049.
REFRESH: itab_zycit019, itab_zycit049.
CLEAR: v_vldp, v_totitem.
...
...
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.
itab_zycit042-vldp = itab_zycit042-vldp +
itab_zycit100-vl_sisco.
MODIFY itab_zycit042.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDLOOP.
ENDIF.
LOOP AT itab_zycit049
WHERE tpdesp = /pws/zycit000-cod_antidump.
IF itab_zycit049-waers NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit049-waers
/pws/zycit085-dttax
CHANGING v_taxa_desp.
itab_zycit049-vldp = itab_zycit049-vldp * v_taxa_desp.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
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 ).
IF NOT itab_zycit100-baseantid IS INITIAL.
itab_zycit042-vldp = itab_zycit042-vldp +
( 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.
MODIFY itab_zycit042.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
...
...
WHERE tpdesp = /pws/zycit000-cod_sisc.
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.
itab_zycit042_d-vldpii = itab_zycit042_d-vldpii +
itab_zycit100-vl_sisco.
MODIFY itab_zycit042_d.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDLOOP.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDIF.
LOOP AT itab_zycit049
WHERE tpdesp = /pws/zycit000-cod_antidump.
IF itab_zycit049-waers NE /pws/zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit049-waers
/pws/zycit085-dttax
CHANGING v_taxa_desp.
itab_zycit049-vldp = itab_zycit049-vldp * v_taxa_desp.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
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 ).
IF NOT itab_zycit100-baseantid IS INITIAL.
itab_zycit042_d-vldp = itab_zycit042_d-vldp +
( 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.
MODIFY itab_zycit042_d.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DESPESAS
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDFORM.
...