Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 17/03/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:23:37
Descrição da Nota: REGULARIZAÇÃO DAS DESPESAS.
Sintoma
As despesas de frete e seguro internacionais sendo parametrizadas da mesma forma elas estão tendo
comportamentos distintos.
Solução
Reajustadas rotinas das despesas.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01052 Data: 17/03/2006 Hora: 13:32:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01052
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00105
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
REGULARIZAÇÃO DAS DESPESAS.
----------------------------------------------------------------------------------------------------
Palavras Chave:
FRETE - SEGURO - PARAMETRIZAÇÃO - DIFERENÇAS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F03
REPS /PWS/ZYCIR006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
IF ( itab_zycit033-tribipi EQ '1' ).
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'
and itab_zycit036_aux-origem eq 'NF'.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
* >> Início da exclusão: FORM RETIRA_IMPOSTO
AND bukrs EQ v_bukrs.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
AND bukrs EQ v_bukrs
AND clnf EQ v_clnf.
* << Fim da inclusão
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
...
...
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM RETIRA_IMPOSTO
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'.
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'
and itab_zycit036_aux-origem eq 'NF'.
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
IF sy-subrc NE 0.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ itab_zycit042-tpnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
ENDIF.
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
DATA: it_zycit265 TYPE /pws/zycit265 OCCURS 0 WITH HEADER LINE.
IF it_zycit265[] IS INITIAL AND NOT
itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit265 INTO TABLE it_zycit265
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
ELSEIF it_zycit265[] IS INITIAL
AND NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit265 INTO TABLE it_zycit265
WHERE nrseq EQ itab_zycit001-nrseq.
ENDIF.
IF NOT it_zycit265[] IS INITIAL.
v_clnf = 'C'.
LOOP AT it_zycit265.
CLEAR itab_zycit033.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = it_zycit265-tpnf
regio = it_zycit265.
IF sy-subrc NE 0.
READ TABLE itab_zycit033 WITH KEY clnf = v_clnf
tpnf = it_zycit265-tpnf.
ENDIF.
LOOP AT itab_zycit036_aux WHERE nrseq = it_zycit265-nrseq
AND ebeln = it_zycit265-ebeln
AND ebelp = it_zycit265-ebelp.
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
IF itab_zycit036_aux-codigo EQ 'ICMS'.
IF ( itab_zycit033-tribicms EQ '1' ) OR
( itab_zycit033-tribicms EQ '3' AND
itab_zycit033-lei102 EQ 'X' ) OR
itab_zycit100-icms_dif EQ 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'IPI'.
IF ( itab_zycit033-tribipi EQ '1' ).
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'PIS'
and itab_zycit036_aux-origem eq 'NFC'.
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
* << Fim da inclusão
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
ENDIF.
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
MODIFY itab_zycit036_aux.
ENDIF.
ENDIF.
ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'
and itab_zycit036_aux-origem eq 'NFC'.
SELECT SINGLE * FROM /pws/zycit398
WHERE tpnf EQ it_zycit265-tpnf
AND clnf EQ v_clnf
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ v_bukrs.
* << Fim da inclusão
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit398
* >> Início da exclusão: FORM RETIRA_IMPOSTO
WHERE tpnf EQ itab_zycit042-tpnf
* << Fim da exclusão
* >> Início da inclusão: FORM RETIRA_IMPOSTO
WHERE tpnf EQ it_zycit265-tpnf
* << Fim da inclusão
AND tributos EQ itab_zycit036_aux-codigo
AND bukrs EQ space.
ENDIF.
IF sy-subrc EQ 0.
IF /pws/zycit398-creditar EQ 'S'.
...
...
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
* >> Início da inclusão: FORM RETIRA_IMPOSTO
ENDIF.
* << Fim da inclusão
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT * FROM /pws/zycit029 INTO TABLE itab_zycit029
...
...
ENDIF.
ENDIF.
MOVE itab_zycit036_aux[] TO itab_zycit036_ori2[].
ENDFORM.
FORM move_plan_mov_aux.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
data: v_vlreal like /pws/zycit036-vlmov.
* << Fim da inclusão
CLEAR: v_taxa, s_msg1.
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs EQ /pws/zycie001-bukrs.
...
...
itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.
ENDIF.
MODIFY itab_zycit036_aux2.
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-vldif = itab_zycit036_aux2-vlreal -
itab_zycit036_aux2-vlmov.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
clear: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
CHANGING v_vlreal.
PERFORM converter_moeda USING
v_vlreal
itab_zycit036_aux2-waers
wa_zycbt007-waersb
CHANGING v_vlreal.
itab_zycit036_aux2-vldif = v_vlreal - itab_zycit036_aux2-vlmov.
* << Fim da inclusão
itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.
MODIFY itab_zycit036_aux2.
ENDIF.
ENDIF.
ELSE.
IF itab_zycit036_aux2-origem NE 'EST'.
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
itab_zycit036_aux2-vldif = itab_zycit036_aux2-vlreal -
itab_zycit036_aux2-vlmov.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
clear: v_vlreal.
v_vlreal = itab_zycit036_aux2-vlreal.
PERFORM retorna_decimais USING itab_zycit036_aux2-waers
CHANGING v_vlreal.
PERFORM converter_moeda USING
v_vlreal
itab_zycit036_aux2-waers
wa_zycbt007-waersb
CHANGING v_vlreal.
itab_zycit036_aux2-vldif = v_vlreal - itab_zycit036_aux2-vlmov.
* << Fim da inclusão
itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.
MODIFY itab_zycit036_aux2.
ENDIF.
ENDIF.
ENDIF.
...
...
LOOP AT itab_zycit036_aux .
READ TABLE itab_zycit029 WITH KEY codigo = itab_zycit036_aux-codigo.
IF itab_zycit029-estatistico = 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
CLEAR: itab_zycit036_aux-waers_mov,
itab_zycit036_aux-waers_dif.
ENDIF.
IF itab_zycit036_aux-origem = 'PED' AND
itab_zycit029-provisao = 'X'.
itab_zycit036_aux-vlmov = ' '.
itab_zycit036_aux-vldif = ' '.
CLEAR: itab_zycit036_aux-waers_mov,
itab_zycit036_aux-waers_dif.
ENDIF.
* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX
** Verifica despesa
IF itab_zycit036_aux-vldif = v_vldifp OR
itab_zycit036_aux-vldif = v_vldifn.
CLEAR: itab_zycit036_aux-vldif,
itab_zycit036_aux-waers_dif.
ENDIF.
* << Fim da exclusão
MODIFY itab_zycit036_aux.
ENDLOOP.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
ENDIF.
ENDIF.
itab_zycit036-waers_mov = /pws/zycbt007-waersb.
PERFORM trata_decimais USING itab_zycit036-waers_mov
CHANGING itab_zycit036-vlmov.
* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS
CLEAR: itab_zycit036-vldif, itab_zycit036-waers_dif.
* << Fim da exclusão
ELSE.
READ TABLE itab_zycit036_plan WITH KEY
nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
...