Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 09/11/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 11:01:26
Descrição da Nota: ATUALIZAÇÃO DO CALCULO DAS BASES DOS IMPOSTOS
Sintoma
O programa está calculando incorretamente as bases dos impostos.
Solução
Atualizado o calculo das bases dos impostos.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05181 Data: 09/11/2007 Hora: 11:24:03
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05181
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
ATUALIZAÇÃO DO CALCULO DAS BASES DOS IMPOSTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
ANA BASE IMPOSTOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI059I01
REPS /PWS/MZYCI059O01
REPS /PWS/MZYCI059X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059I01
...
/pws/zycie403-condicoes TO itab_zycit403_i-condicoes,
/pws/zycie403-creditar TO itab_zycit403_i-creditar.
LOOP AT itab_zycit404 WHERE exibir EQ 'X' AND
codigo = itab_zycit403_i-codigo.
CLEAR v_ate.
CLEAR v_index.
WHILE v_ate <= itab_zycit404-nivelate.
IF v_ate IS INITIAL.
v_ate = itab_zycit404-nivelde.
ENDIF.
* >> Início da exclusão: MODULE CARREGA_ZYCIT403
CLEAR itab_zycit404_aux.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCIT403
CLEAR: itab_zycit404_aux, wa_zycit404.
READ TABLE itab_zycit404 INTO wa_zycit404 WITH KEY linha = v_ate.
* << Fim da inclusão
READ TABLE itab_zycit404_aux WITH KEY linha = v_ate.
v_ate = v_ate + 1.
IF itab_zycit404_aux-codigo EQ 'FOB'.
IF NOT v_usd IS INITIAL.
v_valtot = v_valtot +
/pws/zycie100a-vlfob.
ENDIF.
ELSEIF itab_zycit404_aux-codigo EQ 'FRETEC'.
v_valtot = v_valtot + /pws/zycie100a-vlfre.
ELSEIF itab_zycit404_aux-codigo EQ 'SEGURO'.
v_valtot = v_valtot + /pws/zycie100a-vlseg.
ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.
v_valtot = v_valtot +
/pws/zycie100a-ajuste.
ELSEIF sy-subrc EQ 4.
* >> Início da exclusão: MODULE CARREGA_ZYCIT403
v_index = v_index + 1.
READ TABLE itab_zycit403_i INTO wa_zycit403 INDEX v_index.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCIT403
READ TABLE itab_zycit403_i INTO wa_zycit403 WITH KEY
nrseqdi = itab_zycit403_i-nrseqdi
ebeln = itab_zycit403_i-ebeln
ebelp = itab_zycit403_i-ebelp
codigo = wa_zycit404-codigo.
* << Fim da inclusão
v_valtot = v_valtot + wa_zycit403-valorcalc.
ENDIF.
ENDWHILE.
MOVE: v_valtot TO itab_zycit403_i-base.
CLEAR v_valtot.
IF sy-tcode NE '/PWS/ZYCI059_E'.
LOOP AT itab_trib WHERE ebeln = itab_zycit403_i-ebeln AND
ebelp = itab_zycit403_i-ebelp.
IF NOT v_usd IS INITIAL.
IF itab_trib-waers NE wa_zycbt007-waersb.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059O01
...
ENDIF.
ENDIF.
LOOP AT itab_zycit404 WHERE exibir EQ 'X' AND
codigo = itab_zycit403_i-codigo.
CLEAR v_ate.
CLEAR v_index.
WHILE v_ate <= itab_zycit404-nivelate.
IF v_ate IS INITIAL.
v_ate = itab_zycit404-nivelde.
ENDIF.
* >> Início da exclusão: MODULE CARREGA_ZYCIE403
CLEAR itab_zycit404_aux.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCIE403
CLEAR: itab_zycit404_aux, wa_zycit404.
READ TABLE itab_zycit404 INTO wa_zycit404 WITH KEY linha = v_ate.
* << Fim da inclusão
READ TABLE itab_zycit404_aux WITH KEY linha = v_ate.
v_ate = v_ate + 1.
IF itab_zycit404_aux-codigo EQ 'FOB'.
IF NOT v_usd IS INITIAL.
v_valtot = v_valtot +
/pws/zycie100a-vlfob .
ENDIF.
ELSEIF itab_zycit404_aux-codigo EQ 'FRETEC'.
v_valtot = v_valtot + /pws/zycie100a-vlfre.
ELSEIF itab_zycit404_aux-codigo EQ 'SEGURO'.
v_valtot = v_valtot + /pws/zycie100a-vlseg.
ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.
IF NOT v_usd IS INITIAL.
v_valtot = v_valtot +
/pws/zycie100a-ajuste.
ENDIF.
ELSEIF sy-subrc EQ 4.
* >> Início da exclusão: MODULE CARREGA_ZYCIE403
v_index = v_index + 1.
READ TABLE itab_zycit403_i INTO wa_zycit403 INDEX v_index.
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_ZYCIE403
READ TABLE itab_zycit403_i INTO wa_zycit403 WITH KEY
nrseqdi = itab_zycit403_i-nrseqdi
ebeln = itab_zycit403_i-ebeln
ebelp = itab_zycit403_i-ebelp
codigo = wa_zycit404-codigo.
* << Fim da inclusão
v_valtot = v_valtot + wa_zycit403-valorcalc.
ENDIF.
ENDWHILE.
MOVE: v_valtot TO /pws/zycie403-base.
CLEAR v_valtot.
ENDLOOP.
IF sy-tcode NE '/PWS/ZYCI059_E'.
LOOP AT itab_trib WHERE ebeln = itab_zycit403_i-ebeln AND
ebelp = itab_zycit403_i-ebelp.
IF NOT v_usd IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059X01
...
v_totalusdta TYPE p DECIMALS 2,
v_mudou ,
v_valtot LIKE /pws/zycie085-vlfob,
v_ate TYPE i ,
v_usd LIKE /pws/zycie085-ukursfob,
e_subrc LIKE sy-subrc.
DATA: okcode LIKE sy-ucomm,
e_exec_okcode .
DATA wa_zycit403 LIKE /pws/zycit403.
DATA v_index LIKE sy-tabix.
* >> Início da inclusão:
DATA wa_zycit404 LIKE /pws/zycit404.
* << Fim da inclusão
DATA: s_frvr_d2 LIKE /pws/zycie006-vlmerc,
s_stvr_d2 LIKE /pws/zycie006-vlmerc,
v_tmle_d2 LIKE /pws/zycie006-vlmerc,
t_vmle_d2 LIKE /pws/zycie006-vlmerc,
v_tot_fre LIKE t_icms,
v_frete_nm LIKE t_icms,
t_ivmle_d2 LIKE /pws/zycie006-vlmerc,
s_vluni_d2 LIKE /pws/zycie006-vlmerc,
t_icmsbs_d2 LIKE /pws/zycie006-vlmerc,
t_icms_d2 LIKE /pws/zycie006-vlmerc.
...