Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 21/11/2005 00:00:00
Data/Hora Última Alteração: 21/02/2011 14:12:52
Descrição da Nota: ERRO NOS VALORES DOS ANEXOS DO RE
Sintoma
Erro nos valores dos anexos do RE
Solução
Foi ajustado o cálculo do rateio dos valores reais no Embarque.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00315 Data: 21/11/2005 Hora: 15:21:28
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00315
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00021
Agrupamento : 00089
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ERRO NOS VALORES DOS ANEXOS DO RE
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXPORTAÇÃO - RATEIO DO EMBARQUE - REGISTRO DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/LZYCEGF6F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCEGF6F01
...
v_desp TYPE p DECIMALS 4,
v_desc TYPE p DECIMALS 4,
v_acre TYPE p DECIMALS 4,
v_comi TYPE p DECIMALS 4,
v_vlme LIKE itab_final-vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
DATA: wa_final LIKE itab_final.
* << Fim da inclusão
CLEAR: itemfre,
itemseg,
itemcomi,
itemdesp,
itemacre,
...
...
IF NOT itemacre IS INITIAL.
itemacre_t = itemacre_t - itab_final-vlacrescimo_r.
ENDIF.
ADD itab_final-vlme TO v_vlme.
ENDLOOP.
* >> Início da inclusão: FORM AJUSTA_RATEIO
CLEAR: v_fre,
v_seg,
v_desp,
v_desc,
v_acre,
v_comi.
* << Fim da inclusão
LOOP AT itab_final.
IF NOT v_fobtt IS INITIAL.
itab_final-vlfob = itab_final-vlfob + v_fobtt.
ENDIF.
IF NOT itemfre_t IS INITIAL.
itab_final-vlfrete_r = ( itemfre * itab_final-vlme ) / v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_fre = v_fre + itab_final-vlfrete_r.
* << Fim da inclusão
ENDIF.
IF NOT itemseg_t IS INITIAL.
itab_final-vlseguro_r = ( itemseg * itab_final-vlme ) / v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_seg = v_seg + itab_final-vlseguro_r.
* << Fim da inclusão
ENDIF.
IF NOT itemcomi_t IS INITIAL.
itab_final-vlagente_r = ( itemcomi * itab_final-vlme ) / v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_comi = v_comi + itab_final-vlagente_r.
* << Fim da inclusão
ENDIF.
IF NOT itemdesp_t IS INITIAL.
itab_final-vlod_r = ( itemdesp * itab_final-vlme ) / v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_desp = v_desp + itab_final-vlod_r.
* << Fim da inclusão
ENDIF.
IF NOT itemdesc_t IS INITIAL.
itab_final-vldesconto_r = ( itemdesc * itab_final-vlme ) /
v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_desc = v_desc + itab_final-vldesconto_r.
* << Fim da inclusão
ENDIF.
IF NOT itemacre_t IS INITIAL.
itab_final-vlacrescimo_r = ( itemacre * itab_final-vlme ) /
v_vlme.
* >> Início da inclusão: FORM AJUSTA_RATEIO
v_acre = v_acre + itab_final-vlacrescimo_r.
* << Fim da inclusão
ENDIF.
MODIFY itab_final.
* >> Início da inclusão: FORM AJUSTA_RATEIO
ENDLOOP.
DESCRIBE TABLE itab_final LINES v_cont.
READ TABLE itab_final INDEX v_cont.
CHECK sy-subrc IS INITIAL.
wa_final = itab_final.
LOOP AT itab_zycet156.
READ TABLE itab_zycet008 WITH KEY codigo = itab_zycet156-codigo.
CHECK sy-subrc IS INITIAL.
CASE itab_zycet156-proccond.
WHEN 'FRT'.
IF v_fre > itab_zycet008-vlme_f.
itab_final-vlfrete_r = itab_final-vlfrete_r -
( v_fre - itab_zycet008-vlme_f ).
ELSEIF v_fre < itab_zycet008-vlme_f.
itab_final-vlfrete_r = itab_final-vlfrete_r +
( itab_zycet008-vlme_f - v_fre ).
ELSE.
itab_final-vlfrete_r = wa_final-vlfrete_r.
ENDIF.
WHEN 'SEG'.
IF v_seg > itab_zycet008-vlme_f.
itab_final-vlseguro_r = itab_final-vlseguro_r -
( v_seg - itab_zycet008-vlme_f ).
ELSEIF v_seg < itab_zycet008-vlme_f.
itab_final-vlseguro_r = itab_final-vlseguro_r +
( itab_zycet008-vlme_f - v_seg ).
ELSE.
itab_final-vlseguro_r = wa_final-vlseguro_r.
ENDIF.
WHEN 'OUT'.
IF v_desp > itab_zycet008-vlme_f.
itab_final-vlod_r = itab_final-vlod_r -
( v_desp - itab_zycet008-vlme_f ).
ELSEIF v_desp < itab_zycet008-vlme_f.
itab_final-vlod_r = itab_final-vlod_r +
( itab_zycet008-vlme_f - v_desp ).
ELSE.
itab_final-vlod_r = wa_final-vlod_r.
ENDIF.
WHEN 'DES'.
IF v_desc > itab_zycet008-vlme_f.
itab_final-vldesconto_r = itab_final-vldesconto_r -
( v_desc - itab_zycet008-vlme_f ).
ELSEIF v_desc < itab_zycet008-vlme_f.
itab_final-vldesconto_r = itab_final-vldesconto_r +
( itab_zycet008-vlme_f - v_desc ).
ELSE.
itab_final-vldesconto_r = wa_final-vldesconto_r.
ENDIF.
WHEN 'ACR'.
IF v_acre > itab_zycet008-vlme_f.
itab_final-vlacrescimo_r = itab_final-vlacrescimo_r -
( v_acre - itab_zycet008-vlme_f ).
ELSEIF v_acre < itab_zycet008-vlme_f.
itab_final-vlacrescimo_r = itab_final-vlacrescimo_r +
( itab_zycet008-vlme_f - v_acre ).
ELSE.
itab_final-vlacrescimo_r = wa_final-vlacrescimo_r.
ENDIF.
WHEN 'COM'.
IF v_comi > itab_zycet008-vlme_f.
itab_final-vlagente_r = itab_final-vlagente_r -
( v_comi - itab_zycet008-vlme_f ).
ELSEIF v_comi < itab_zycet008-vlme_f.
itab_final-vlagente_r = itab_final-vlagente_r +
( itab_zycet008-vlme_f - v_comi ).
ELSE.
itab_final-vlagente_r = wa_final-vlagente_r.
ENDIF.
ENDCASE.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM AJUSTA_RATEIO
MODIFY itab_final INDEX v_cont.
* << Fim da inclusão
ENDFORM.
...