CE PLUS - Nota 000356

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Registro de Exportação (RE)

Data/Hora da Publicação: 27/11/2005 00:00:00

Data/Hora Última Alteração: 21/02/2011 13:51:06

Descrição da Nota: O VALOR DE FRETE REAL NA PASTA DE ORDENS DE VENDA COM ERRO.

Sintoma

Em alguns processos, quando cria o embarque, o valor de Frete Real na pasta de ordens de venda

(/PWS/ZYCET002 - VLFRETE_R) VEM ERRADO,  duplicando ou às vezes triplicando o valor de Frete.

 

 

 

Solução

Ajuste no Rateio de Itens do Embarque.

 

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

VALORES DO RE ERRADOS QUANDO FATURA-SE A ORDEM DE VENDA

DADOS DA NOMEAÇÃO NO EMBARQUE DE EXPORTAÇÃO

ERRO NOS VALORES DOS ANEXOS DO RE

CÁLCULO DOS VALORES INCORRETO NO RE

RE AGRUPADO POR NCM

SELEÇÃO INCORRETA DE PARÂMETROS DA TABELA /PWS/ZYCET145

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 00356 Data: 27/11/2005 Hora: 11:36:57

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 00356

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00021

Agrupamento              : 00089

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00207  - 00001 - 6.0    - 00021  - CÁLCULO DOS VALORES INCORRETO NO RE

00264  - 00002 - 6.0    - 00021  - RE AGRUPADO POR NCM

00286  - 00003 - 6.0    - 00021  - SELEÇÃO INCORRETA DE PARÂMETROS DA TABELA /PWS/ZYCET145

00291  - 00004 - 6.0    - 00021  - VALORES DO RE ERRADOS QUANDO FATURA-SE A ORDEM DE VENDA

00315  - 00005 - 6.0    - 00021  - ERRO NOS VALORES DOS ANEXOS DO RE

00355  - 00006 - 6.0    - 00021  - DADOS DA NOMEAÇÃO NO EMBARQUE DE EXPORTAÇÃO

----------------------------------------------------------------------------------------------------

O VALOR DE FRETE REAL NA PASTA DE ORDENS DE VENDA COM ERRO.

----------------------------------------------------------------------------------------------------

Palavras Chave:

EXPORTAÇÃO - EMBARQUE - RE - VALOR DE FRETE

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/LZYCEGF6F01

REPS /PWS/MZYCE003F01

REPS /PWS/MZYCE041F01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/LZYCEGF6F01

 

...

        v_desc  TYPE p DECIMALS 4,

        v_acre  TYPE p DECIMALS 4,

        v_comi  TYPE p DECIMALS 4,

        v_vlme  LIKE itab_final-vlme.

  DATA: wa_final LIKE itab_final.

* >> Início da inclusão: FORM AJUSTA_RATEIO

  DATA: BEGIN OF itab_008 OCCURS 0,

         proccond   LIKE /pws/zycet156-proccond,

         vlme_f     LIKE /pws/zycet008-vlme_f,

        END OF itab_008.

* << Fim da inclusão

  CLEAR: itemfre,

         itemseg,

         itemcomi,

         itemdesp,

         itemacre,

...

 

...

              itemdesc_t  = itemdesc_t + itab_zycet008-vlme_f.

              v_desc      = v_desc   + itab_zycet008-vlme_f.

            ENDIF.

          ENDIF.

          IF itemdesc_t GT 0.

* >> Início da exclusão: FORM AJUSTA_RATEIO

            itemdesc_t = itemdesc * ( -1 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

            itemdesc_t = itemdesc_t * ( -1 ).

* << Fim da inclusão

            v_desc     = v_desc   * ( -1 ).

          ENDIF.

      ENDCASE.

    ENDIF.

* >> Início da inclusão: FORM AJUSTA_RATEIO

    MOVE itab_zycet156-proccond TO itab_008-proccond.

    MOVE itab_zycet008-vlme_f   TO itab_008-vlme_f.

    COLLECT itab_008.

* << Fim da inclusão

  ENDLOOP.

  IF itemfre_t NE 0.

    itemfre = itemfre_t.

  ENDIF.

  IF itemseg_t NE 0.

...

 

...

         v_desp,

         v_desc,

         v_acre,

         v_comi.

  LOOP AT itab_final.

* >> Início da inclusão: FORM AJUSTA_RATEIO

    LOOP AT itab_008.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

    IF NOT v_fobtt IS INITIAL.

      itab_final-vlfob = itab_final-vlfob + v_fobtt.

    ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

      READ TABLE itab_zycet156 WITH KEY proccond = itab_008-proccond.

      CHECK sy-subrc IS INITIAL.

      CHECK itab_zycet156-rateio EQ 'VLR'.

      CASE itab_zycet156-proccond.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

    IF NOT itemfre_t IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'FRT'.

          CHECK NOT itemfre_t IS INITIAL.

* << Fim da inclusão

      itab_final-vlfrete_r = ( itemfre * itab_final-vlme ) / v_vlme.

      v_fre = v_fre + itab_final-vlfrete_r.

* >> Início da exclusão: FORM AJUSTA_RATEIO

    ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'SEG'.

          CHECK NOT itemseg_t IS INITIAL.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

    IF NOT itemseg_t IS INITIAL.

      itab_final-vlseguro_r = ( itemseg * itab_final-vlme ) / v_vlme.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

          itab_final-vlseguro_r = ( itemseg * itab_final-vlme ) /

                                  v_vlme.

* << Fim da inclusão

      v_seg = v_seg + itab_final-vlseguro_r.

* >> Início da exclusão: FORM AJUSTA_RATEIO

    ENDIF.

    IF NOT itemcomi_t IS INITIAL.

      itab_final-vlagente_r = ( itemcomi * itab_final-vlme ) / v_vlme.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'OUT' OR '   '.

          CHECK NOT itemdesp_t IS INITIAL.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

      v_comi = v_comi + itab_final-vlagente_r.

    ENDIF.

    IF NOT itemdesp_t IS INITIAL.

* << Fim da exclusão

      itab_final-vlod_r = ( itemdesp * itab_final-vlme ) / v_vlme.

      v_desp = v_desp + itab_final-vlod_r.

* >> Início da exclusão: FORM AJUSTA_RATEIO

    ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'DES'.

          CHECK NOT itemdesc_t IS INITIAL.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

    IF NOT itemdesc_t IS INITIAL.

* << Fim da exclusão

      itab_final-vldesconto_r = ( itemdesc * itab_final-vlme ) /

                                  v_vlme.

      v_desc = v_desc + itab_final-vldesconto_r.

* >> Início da exclusão: FORM AJUSTA_RATEIO

    ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'ACR'.

          CHECK NOT itemacre_t IS INITIAL.

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

    IF NOT itemacre_t IS INITIAL.

* << Fim da exclusão

      itab_final-vlacrescimo_r = ( itemacre * itab_final-vlme ) /

                                   v_vlme.

      v_acre = v_acre + itab_final-vlacrescimo_r.

* >> Início da exclusão: FORM AJUSTA_RATEIO

    ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        WHEN 'COM'.

          CHECK NOT itemcomi_t IS INITIAL.

          itab_final-vlagente_r = ( itemcomi * itab_final-vlme ) /

                                   v_vlme.

          v_comi = v_comi + itab_final-vlagente_r.

        WHEN OTHERS.

      ENDCASE.

* << Fim da inclusão

    MODIFY itab_final.

* >> Início da inclusão: FORM AJUSTA_RATEIO

    ENDLOOP.

* << Fim da inclusão

  ENDLOOP.

  DESCRIBE TABLE itab_final LINES v_cont.

  READ TABLE itab_final INDEX v_cont.

  CHECK sy-subrc IS INITIAL.

  wa_final = itab_final.

* >> Início da exclusão: FORM AJUSTA_RATEIO

  LOOP AT itab_zycet156.

    READ TABLE itab_zycet008 WITH KEY codigo = itab_zycet156-codigo.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

  LOOP AT itab_008.

    READ TABLE itab_zycet156 WITH KEY proccond = itab_008-proccond.

* << Fim da inclusão

    CHECK sy-subrc IS INITIAL.

    CASE itab_zycet156-proccond.

      WHEN 'FRT'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_fre > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_fre IS INITIAL.

        CHECK v_fre NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vlfrete_r = itab_final-vlfrete_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_fre - itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vlfrete_r = wa_final-vlfrete_r.

        ENDIF.

* << Fim da exclusão

      WHEN 'SEG'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_seg > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_seg IS INITIAL.

        CHECK v_seg NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vlseguro_r = itab_final-vlseguro_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_seg - itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vlseguro_r = wa_final-vlseguro_r.

        ENDIF.

* << Fim da exclusão

      WHEN 'OUT'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_desp > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_desp IS INITIAL.

        CHECK v_fre NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vlod_r = itab_final-vlod_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_desp - itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vlod_r = wa_final-vlod_r.

        ENDIF.

* << Fim da exclusão

      WHEN 'DES'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_desc > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_desc IS INITIAL.

        CHECK v_desc NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vldesconto_r = itab_final-vldesconto_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_desc + itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vldesconto_r = wa_final-vldesconto_r.

        ENDIF.

* << Fim da exclusão

      WHEN 'ACR'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_acre > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_acre IS INITIAL.

        CHECK v_acre NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vlacrescimo_r = itab_final-vlacrescimo_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_acre - itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vlacrescimo_r = wa_final-vlacrescimo_r.

        ENDIF.

* << Fim da exclusão

      WHEN 'COM'.

* >> Início da exclusão: FORM AJUSTA_RATEIO

        IF v_comi > itab_zycet008-vlme_f.

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

        CHECK NOT v_comi IS INITIAL.

        CHECK v_comi NE itab_008-vlme_f.

* << Fim da inclusão

          itab_final-vlagente_r = itab_final-vlagente_r -

* >> Início da exclusão: FORM AJUSTA_RATEIO

                                  ( 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 ).

* << Fim da exclusão

* >> Início da inclusão: FORM AJUSTA_RATEIO

                                ( v_comi - itab_008-vlme_f ).

* << Fim da inclusão

* >> Início da exclusão: FORM AJUSTA_RATEIO

        ELSE.

          itab_final-vlagente_r = wa_final-vlagente_r.

        ENDIF.

* << Fim da exclusão

    ENDCASE.

  ENDLOOP.

* >> Início da inclusão: FORM AJUSTA_RATEIO

  CHECK itab_final NE wa_final.

* << Fim da inclusão

  MODIFY itab_final INDEX v_cont.

ENDFORM.

FORM carrega_itab_zycet002 TABLES itab_final    STRUCTURE itab_final

                                  itab_zycet002 STRUCTURE itab_zycet002.

  LOOP AT itab_final.

...

 

...

      v_fob2 = v_fob.

      IF itab_zycet065-frete EQ 'X'.

        v_fob2 = ( v_fob2 + /pws/zycee313-vlme_frt ).

      ENDIF.

      IF itab_zycet065-seguro EQ 'X'.

* >> Início da exclusão: FORM TRATA_DESPESAS

        v_fob2 = ( v_fob2 + /pws/zycee313-vlme_frt ).

* << Fim da exclusão

* >> Início da inclusão: FORM TRATA_DESPESAS

        v_fob2 = ( v_fob2 + /pws/zycee313-vlme_seg ).

* << Fim da inclusão

      ENDIF.

      IF itab_zycet065-outras_desp EQ 'X'.

        v_fob2 = ( v_fob2 + /pws/zycee313-vlme_out ).

      ENDIF.

      IF itab_zycet065-comissao EQ 'X'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCE003F01

 

...

       TABLES

            itab_zycet002 = itab_zycet002_rat

            itab_zycet008 = itab_zycet008_rat.

  LOOP AT itab_zycet002.

    v_tabix = sy-tabix.

* >> Início da exclusão: FORM ATUALIZA_RATEIO_ITENS

    IF itab_zycet002-devolvido_t EQ 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM ATUALIZA_RATEIO_ITENS

    IF itab_zycet002-devolvido_t EQ 'X' or

       itab_zycet002-estorno     EQ 'X' or

       itab_zycet002-estornado   EQ 'X'.

* << Fim da inclusão

      CLEAR: itab_zycet002-vlagente_r,

             itab_zycet002-vlseguro_r,

             itab_zycet002-vldesconto_r,

             itab_zycet002-vlacrescimo_r,

             itab_zycet002-vlfrete_r,

...

 

...

    ENDIF.

    IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

      ADD itab_zycet002-vlacrescimo_r TO itab_zycet002-vlemb.

    ENDIF.

    IF NOT itab_zycet002-vldesconto_r IS INITIAL.

* >> Início da exclusão: FORM ATUALIZA_RATEIO_ITENS

      SUBTRACT itab_zycet002-vldesconto_r FROM itab_zycet002-vlemb.

* << Fim da exclusão

* >> Início da inclusão: FORM ATUALIZA_RATEIO_ITENS

      itab_zycet002-vlemb = itab_zycet002-vlemb -

                            abs( itab_zycet002-vldesconto_r ).

* << Fim da inclusão

    ENDIF.

    READ TABLE itab_zycet065 WITH KEY inco1 = /pws/zycee001-inco1.

    IF sy-subrc EQ 0.

      IF /pws/zycee001-tpcalc EQ '0'.

        IF itab_zycet065-frete EQ 'X'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCE041F01

 

...

                                 itab_zycet118-netpr.

    ELSE.

      itab_zycet116-vltotanexo = itab_zycet116-vltotanexo +

                                 itab_zycet118-netpr.

    ENDIF.

* >> Início da exclusão: FORM BUSCA_PARCELAS

    IF itab_zycet065-acrescimo EQ 'X'.

      IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

        ADD itab_zycet002-vlacrescimo_r TO itab_zycet116-vltotanexo.

      ELSE.

        ADD itab_zycet002-vlacrescimo TO itab_zycet116-vltotanexo.

      ENDIF.

    ENDIF.

    IF itab_zycet065-desconto EQ 'X'.

      IF NOT itab_zycet002-vldesconto_r IS INITIAL.

        itab_zycet116-vltotanexo = itab_zycet116-vltotanexo -

                                   ABS( itab_zycet002-vldesconto_r ).

      ELSE.

        itab_zycet116-vltotanexo = itab_zycet116-vltotanexo -

                                   ABS( itab_zycet002-vldesconto ).

      ENDIF.

    ENDIF.

* << Fim da exclusão

  ENDLOOP.

  SELECT *

    FROM /pws/zycet134

      INTO TABLE itab_zycet134

      FOR ALL ENTRIES IN itab_zycet002

...

 

...

  PERFORM dias_limite.

  MODIFY itab_zycet116 INDEX 1.

ENDFORM.

FORM verifica_re.

  DATA: itab_zycet008 LIKE /pws/zycet008 OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão: FORM VERIFICA_RE

  DATA: itab_zycet156 LIKE /pws/zycet156 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

  DATA: itab_soma     LIKE /pws/zycet002 OCCURS 0 WITH HEADER LINE.

  DATA: v_rateio.

* >> Início da inclusão: FORM VERIFICA_RE

  tables: /pws/zycee313.

* << Fim da inclusão

  SELECT * FROM /pws/zycet065 INTO TABLE itab_zycet065.

  SELECT * FROM /pws/zycet008 INTO TABLE itab_zycet008

           WHERE nrseq EQ /pws/zycee001-nrseq.

* >> Início da inclusão: FORM VERIFICA_RE

  select * from /pws/zycet156 into table itab_zycet156

          where codmod = 'X'.

* << Fim da inclusão

  LOOP AT itab_zycet002.

    IF itab_zycet002-vlme_r  IS INITIAL.

      SELECT SINGLE * FROM /pws/zyglt217

             WHERE arbgb EQ '/PWS/ZYCEM' AND msgnr EQ '118'.

      IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

...

 

...

    IF itab_zycet002-vlagente_r GT 0.

      MOVE: itab_zycet002-vlagente_r TO itab_soma-vlagente.

    ENDIF.

    COLLECT itab_soma.

  ENDLOOP.

* >> Início da inclusão: FORM VERIFICA_RE

  CLEAR /pws/zycee313.

  CALL FUNCTION '/PWS/ZYCE_CALC_VALOR_CONDITION'

       IMPORTING

            /pws/zycee313 = /pws/zycee313

       TABLES

            itab_zycet008 = itab_zycet008.

* << Fim da inclusão

  READ TABLE itab_soma INDEX 1.

* >> Início da exclusão: FORM VERIFICA_RE

  IF sy-subrc EQ 0.

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000002'.

* << Fim da exclusão

    IF sy-subrc EQ 0.

* >> Início da exclusão: FORM VERIFICA_RE

      IF itab_zycet008-vlme NE itab_soma-vldesconto.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_des NE itab_soma-vldesconto.

* << Fim da inclusão

        v_rateio = 1.

      ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    ENDIF.

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000003'.

    IF sy-subrc EQ 0.

      IF itab_zycet008-vlme NE itab_soma-vlacrescimo.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_acr NE itab_soma-vlacrescimo.

* << Fim da inclusão

        v_rateio = 1.

* >> Início da exclusão: FORM VERIFICA_RE

      ENDIF.

* << Fim da exclusão

    ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000007'.

    IF sy-subrc EQ 0.

      IF itab_zycet008-vlme NE itab_soma-vlseguro.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_seg NE itab_soma-vlseguro.

* << Fim da inclusão

        v_rateio = 1.

* >> Início da exclusão: FORM VERIFICA_RE

      ENDIF.

* << Fim da exclusão

    ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000009'.

    IF sy-subrc EQ 0.

      IF itab_zycet008-vlme NE itab_soma-vlagente.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_com NE itab_soma-vlagente.

* << Fim da inclusão

        v_rateio = 1.

* >> Início da exclusão: FORM VERIFICA_RE

      ENDIF.

* << Fim da exclusão

    ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000011'.

    IF sy-subrc EQ 0.

      IF itab_zycet008-vlme NE itab_soma-vlfrete.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_frt NE itab_soma-vlfrete.

* << Fim da inclusão

        v_rateio = 1.

      ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    ENDIF.

    READ TABLE itab_zycet008 WITH KEY nrseq  = /pws/zycee001-nrseq

                                      codigo = '000016'.

    IF sy-subrc EQ 0.

      IF itab_zycet008-vlme NE itab_soma-vlod.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_RE

      IF /pws/zycee313-vlme_out NE itab_soma-vlod.

* << Fim da inclusão

        v_rateio = 1.

      ENDIF.

* >> Início da exclusão: FORM VERIFICA_RE

    ENDIF.

* << Fim da exclusão

    IF NOT v_rateio IS INITIAL.

      SELECT SINGLE * FROM /pws/zyglt217

             WHERE arbgb EQ '/PWS/ZYCEM' AND msgnr EQ '118'.

      IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

        MESSAGE ID '/PWS/ZYCEM' TYPE /pws/zyglt217-msgtp NUMBER '118'.

...

 

...

                                 AND aupos    EQ itab_zycet118-aupos

                                AND vbeln_vl EQ itab_zycet118-vbeln_vl

                                 AND posnl    EQ itab_zycet118-posnl.

          IF itab_zycet001-tpcalc = text-040.

            itab_zycet092-vfob  = itab_zycet092-netpr - v_difer.

* >> Início da exclusão: FORM AJUSTA_PRECOS

            IF NOT itab_zycet065-acrescimo IS INITIAL.

              IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

                ADD itab_zycet002-vlacrescimo_r TO itab_zycet092-netpr.

                ADD itab_zycet002-vlacrescimo_r TO itab_zycet092-vfob.

              ELSEIF NOT itab_zycet002-vlacrescimo IS INITIAL.

                ADD itab_zycet002-vlacrescimo TO itab_zycet092-netpr.

                ADD itab_zycet002-vlacrescimo TO itab_zycet092-vfob.

              ENDIF.

            ENDIF.

            IF NOT itab_zycet065-desconto IS INITIAL.

              IF NOT itab_zycet002-vldesconto_r IS INITIAL.

                itab_zycet092-netpr = itab_zycet092-netpr -

                                      ABS( itab_zycet002-vldesconto_r ).

                itab_zycet092-vfob = itab_zycet092-vfob -

                                     ABS( itab_zycet002-vldesconto_r ).

              ELSEIF NOT itab_zycet002-vldesconto IS INITIAL.

                itab_zycet092-netpr = itab_zycet092-netpr -

                                      ABS( itab_zycet002-vldesconto ).

                itab_zycet092-vfob = itab_zycet092-vfob -

                                     ABS( itab_zycet002-vldesconto ).

              ENDIF.

            ENDIF.

* << Fim da exclusão

          ELSE.

            itab_zycet092-vfob  = itab_zycet092-netpr - v_difer.

* >> Início da exclusão: FORM AJUSTA_PRECOS

            IF NOT itab_zycet065-acrescimo IS INITIAL.

              IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

                ADD itab_zycet002-vlacrescimo_r TO itab_zycet092-vfob.

                ADD itab_zycet002-vlacrescimo_r TO itab_zycet092-netpr.

              ELSEIF NOT itab_zycet002-vlacrescimo IS INITIAL.

                ADD itab_zycet002-vlacrescimo TO itab_zycet092-vfob.

                ADD itab_zycet002-vlacrescimo_r TO itab_zycet092-netpr.

              ENDIF.

            ENDIF.

            IF NOT itab_zycet065-desconto IS INITIAL.

              IF NOT itab_zycet002-vldesconto_r IS INITIAL.

                itab_zycet092-vfob = itab_zycet092-vfob -

                                     ABS( itab_zycet002-vldesconto_r ).

                itab_zycet092-netpr = itab_zycet092-netpr -

                                     ABS( itab_zycet002-vldesconto_r ).

              ELSEIF NOT itab_zycet002-vldesconto IS INITIAL.

                itab_zycet092-vfob = itab_zycet092-vfob -

                                     ABS( itab_zycet002-vldesconto ).

                itab_zycet092-netpr = itab_zycet092-netpr -

                                     ABS( itab_zycet002-vldesconto ).

              ENDIF.

            ENDIF.

* << Fim da exclusão

          ENDIF.

        ENDLOOP.

      ENDLOOP.

      MODIFY itab_zycet092.

    ENDLOOP.

...

 

...

            ENDIF.

          ENDIF.

        ENDIF.

        IF itab_zycet001-tpcalc = text-040.

          itab_zycet118-vfob  = itab_zycet118-netpr - v_difer.

* >> Início da exclusão: FORM AJUSTA_PRECOS

          IF NOT itab_zycet065-acrescimo IS INITIAL.

            IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

              ADD itab_zycet002-vlacrescimo_r TO itab_zycet118-vfob.

              ADD itab_zycet002-vlacrescimo_r TO itab_zycet118-netpr.

            ELSEIF NOT itab_zycet002-vlacrescimo IS INITIAL.

              ADD itab_zycet002-vlacrescimo TO itab_zycet118-vfob.

              ADD itab_zycet002-vlacrescimo TO itab_zycet118-netpr.

            ENDIF.

          ENDIF.

          IF NOT itab_zycet065-desconto IS INITIAL.

            IF NOT itab_zycet002-vldesconto_r IS INITIAL.

              itab_zycet118-vfob = itab_zycet118-vfob -

                                   ABS( itab_zycet002-vldesconto_r ).

              itab_zycet118-netpr = itab_zycet118-netpr -

                                   ABS( itab_zycet002-vldesconto_r ).

            ELSEIF NOT itab_zycet002-vldesconto IS INITIAL.

              itab_zycet118-vfob = itab_zycet118-vfob -

                                   ABS( itab_zycet002-vldesconto ).

              itab_zycet118-netpr = itab_zycet118-netpr -

                                   ABS( itab_zycet002-vldesconto ).

            ENDIF.

          ENDIF.

* << Fim da exclusão

        ELSE.

          itab_zycet118-vfob  = itab_zycet118-netpr - v_difer.

* >> Início da exclusão: FORM AJUSTA_PRECOS

          IF NOT itab_zycet065-acrescimo IS INITIAL.

            IF NOT itab_zycet002-vlacrescimo_r IS INITIAL.

              ADD itab_zycet002-vlacrescimo_r TO itab_zycet118-vfob.

              ADD itab_zycet002-vlacrescimo_r TO itab_zycet118-netpr.

            ELSEIF NOT itab_zycet002-vlacrescimo IS INITIAL.

              ADD itab_zycet002-vlacrescimo TO itab_zycet118-vfob.

              ADD itab_zycet002-vlacrescimo_r TO itab_zycet118-netpr.

            ENDIF.

          ENDIF.

          IF NOT itab_zycet065-desconto IS INITIAL.

            IF NOT itab_zycet002-vldesconto_r IS INITIAL.

              itab_zycet118-vfob = itab_zycet118-vfob -

                                     ABS( itab_zycet002-vldesconto_r ).

              itab_zycet118-netpr = itab_zycet118-netpr -

                                   ABS( itab_zycet002-vldesconto_r ).

            ELSEIF NOT itab_zycet002-vldesconto IS INITIAL.

              itab_zycet118-vfob = itab_zycet118-vfob -

                                    ABS( itab_zycet002-vldesconto ).

              itab_zycet118-netpr = itab_zycet118-netpr -

                                   ABS( itab_zycet002-vldesconto ).

            ENDIF.

          ENDIF.

* << Fim da exclusão

        ENDIF.

        MODIFY itab_zycet118.

      ENDLOOP.

    ENDLOOP.

  ENDIF.

...