CE PLUS - Nota 000315

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.

 

Versões Tratadas

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.

...