CE PLUS - Nota 001227

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 19/04/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:16:41

Descrição da Nota: VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

Sintoma

Quando está parametrizado para fazer o rateio das despesas por CIF, o relatório de despesas está

rateando incorretamente.

Para processo a granel, no rateio do frete está considerando o peso embarcado, deve ser considerado

o peso desembarcado, peso este que consta na DI.

 

 

 

Solução

Atualizar o cálculo do relatório de despesas para processo granel.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

PROBLEMAS COM O VALOR DO RATEIO

Informações Complementares

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

Nota Número 01227 Data: 19/04/2006 Hora: 15:47:19

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

 

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

Nota Número              : 01227

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00110

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

Referência às notas relacionadas:

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

 

00759  - 00001 - 6.0    - 00022  - PROBLEMAS COM O VALOR DO RATEIO

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

VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

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

Palavras Chave:

VISUALIZAÇÃO - RELATÓRIO DE DESPESAS - RATEIO DE DESPESAS

/PWS/ZYCIT000 - RATEIO CIF

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

Objetos da nota:

FUNC /PWS/ZYCI_RATEIO_CUSTO

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F01

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

Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO

 

...

 

 

"*"Interface local:

"  IMPORTING

"     REFERENCE(V_PROGRAMA) LIKE  /PWS/ZYCIT036-ORIGEM

"     REFERENCE(V_NRSEQORI) LIKE  /PWS/ZYCIT036-NRSEQORI OPTIONAL

"     REFERENCE(V_PARAMETRO) LIKE  /PWS/ZYCIT003-DESCR OPTIONAL

"     REFERENCE(V_VISUALIZA) TYPE  C

"     REFERENCE(V_TOTAL) LIKE  /PWS/ZYCIT036-NETPR OPTIONAL

"     REFERENCE(V_WAERS) LIKE  /PWS/ZYCIE006-WAERS OPTIONAL

"     REFERENCE(V_BUKRS) LIKE  /PWS/ZYCBT007-BUKRS

"     REFERENCE(V_BATCH) TYPE  C OPTIONAL

 

* >> Início da inclusão

 

"     REFERENCE(/PWS/ZYCIE085) LIKE  /PWS/ZYCIE085 STRUCTURE

"        /PWS/ZYCIE085 OPTIONAL

 

* >> Fim da inclusão

 

"  EXPORTING

"     VALUE(V_RESPOSTA) TYPE  C

"     VALUE(V_ERRO) TYPE  C OPTIONAL

"  TABLES

"      ITAB_ZYCIT036 STRUCTURE  /PWS/ZYCIT036 OPTIONAL

"      ITAB_DESPESA STRUCTURE  /PWS/ZYCIE353 OPTIONAL

"      ITAB_ZYCIT003 STRUCTURE  /PWS/ZYCIT003 OPTIONAL

"      ITAB_ZYCIT100 STRUCTURE  /PWS/ZYCIT100 OPTIONAL

"      ITAB_ZYCIT036_PLAN STRUCTURE  /PWS/ZYCIT036 OPTIONAL

"  CHANGING

"     REFERENCE(V_TAXA_USD) LIKE  /PWS/ZYCIT174-TXCONVER OPTIONAL

 

 

...

  IF v_programa EQ 'DC' OR v_programa EQ 'PC' OR

     v_programa EQ 'DI' OR

     ( v_programa EQ 'FAT' AND v_parametro(2) EQ '04' ).

 

    MOVE itab_zycit036[] TO itab_zycit036_aux[].

 

    LOOP AT itab_despesa WHERE netpr NE 0.

 

      CLEAR: v_tot_desp.

 

      LOOP AT itab_zycit003 WHERE servico IS initial.

        CLEAR itab_zycit036_aux.

 

        IF  NOT itab_despesa-matuse IS INITIAL.

 

          READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit003-ebeln

                                        ebelp = itab_zycit003-ebelp.

          IF itab_ekpo-j_1bmatuse NE itab_despesa-matuse .

            CONTINUE.

          ENDIF.

        ENDIF.

 

        v_index = sy-tabix.

        IF itab_despesa-codigo IS INITIAL.

          SELECT SINGLE land1 FROM t001 INTO t001-land1

                    WHERE bukrs EQ /pws/zycbt007-bukrs.

          SELECT SINGLE *  FROM /pws/zycit019

            WHERE tpdesp EQ itab_despesa-tpdesp AND

                  land1  EQ t001-land1.

        ELSE.

          SELECT SINGLE land1 FROM t001 INTO t001-land1

                   WHERE bukrs EQ /pws/zycbt007-bukrs.

          SELECT SINGLE *  FROM /pws/zycit019

                    WHERE codigo EQ itab_despesa-codigo AND

                          land1  EQ t001-land1.

 

         ENDIF.

 

* >> Início da inclusão

        tables:

                /pws/zycit020 ,

                /pws/zycit062.

 

        SELECT SINGLE * FROM j_1bbranch

           WHERE bukrs  = /pws/zycie085-bukrs AND

                 branch = /pws/zycie085-j_1bbranch.

         IF sy-subrc EQ 0.

           SELECT SINGLE * FROM adrc

              WHERE addrnumber = j_1bbranch-adrnr.

         ENDIF.

 

     SELECT SINGLE * FROM /pws/zycit062

          WHERE regio = adrc-region.

 

        SELECT single * FROM /pws/zycit020 WHERE

          regio = adrc-region AND

          codigo = /pws/zycit019-codigo AND

          baseicms EQ 'X'  AND

          land1 EQ t001-land1.

        if sy-subrc ne 0.

        SELECT single * FROM /pws/zycit020 WHERE

          regio = space AND

          codigo = /pws/zycit019-codigo AND

          baseicms EQ 'X'  AND

          land1 EQ t001-land1.

        endif.

 

* >> Fim da inclusão

         MOVE: /pws/zycit019-tpdesp TO itab_despesa-tpdesp,

               /pws/zycit019-codigo TO itab_despesa-codigo.

 

         IF v_erro IS INITIAL.

 

 

 

           MOVE: itab_zycit003-nrseq  TO itab_zycit036_aux-nrseq,

 

...

 

 

 

              ELSEIF /pws/zycit019-codigo = 'IPI' AND

                 NOT v_tot_ipi IS INITIAL.

                READ TABLE itab_zycit100a WITH KEY

                          ebeln = itab_zycit003-ebeln

                          ebelp = itab_zycit003-ebelp.

                IF sy-subrc EQ 0 AND

                   itab_zycit100a-codregtriipi NE '1' AND

                   itab_zycit100a-codregtriipi NE '5'.

 

                  itab_zycit036_aux-vlreal = ( itab_zycit100a-vlipi /

                       v_tot_ipi ) * itab_despesa-netpr.

                  itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

 

                ENDIF.

 

              ELSEIF /pws/zycit019-codigo = 'II' AND

                 NOT v_tot_ii IS INITIAL.

                READ TABLE itab_zycit100a WITH KEY

                          ebeln = itab_zycit003-ebeln

                          ebelp = itab_zycit003-ebelp.

                IF sy-subrc EQ 0 AND

                   itab_zycit100a-codregtri NE '3' AND

                   itab_zycit100a-codregtri NE '5'.

                  itab_zycit036_aux-vlreal = ( itab_zycit100a-vlii /

                       v_tot_ii ) * itab_despesa-netpr.

                  itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

 

                ENDIF.

              ELSEIF /pws/zycit019-codigo = 'COFINS'

              AND NOT v_tot_cofins IS INITIAL.

                READ TABLE itab_zycit100a WITH KEY

                          ebeln = itab_zycit003-ebeln

                          ebelp = itab_zycit003-ebelp.

                IF sy-subrc EQ 0. "and

                 itab_zycit036_aux-vlreal = ( itab_zycit100a-vlcofins /

                               v_tot_cofins ) * itab_despesa-netpr.

                  itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

 

                ENDIF.

              ELSEIF /pws/zycit019-codigo = 'PIS'

              AND NOT v_tot_pis IS INITIAL.

                READ TABLE itab_zycit100a WITH KEY

                          ebeln = itab_zycit003-ebeln

                          ebelp = itab_zycit003-ebelp.

                IF sy-subrc EQ 0. "and

                  itab_zycit036_aux-vlreal = ( itab_zycit100a-vlpis /

                       v_tot_pis ) * itab_despesa-netpr.

                  itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

 

                ENDIF.

 

              ELSE.

                  READ TABLE itab_zycit100a WITH KEY

                          ebeln = itab_zycit003-ebeln

                          ebelp = itab_zycit003-ebelp.

                IF sy-subrc EQ 0.

                  itab_zycit036_aux-vlreal = itab_zycit100a-vl_sisco.

                  itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

                ENDIF.

              ENDIF.

 

            ELSE.

              IF itab_zycit039-divabs EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr / v_linha.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSEIF itab_zycit039-peso EQ 'X'.

                IF NOT v_tpeso IS INITIAL.

                  itab_zycit036_aux-vlreal = itab_despesa-netpr *

                                          itab_zycit003-ntgew / v_tpeso.

                  itab_zycit036_aux-waers_real = itab_despesa-waers.

                ENDIF.

              ELSEIF itab_zycit039-proporplan EQ 'X'.

                itab_zycit036_aux-vlreal = ( itab_zycit003-netpr *

                 itab_zycit003-qtd_iten / v_tot ) *

                 itab_despesa-netpr.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSEIF itab_zycit039-vlreal EQ 'X'.

* >> Início da inclusão

                IF /pws/zycit062-bs_rat_icms EQ 'CIF'.

                  DATA: v_vfre LIKE /pws/zycie085-vlfre,

                        v_tfre LIKE /pws/zycie085-vlfre,

                        v_vseg LIKE /pws/zycie085-vlseg,

                        v_vfob LIKE /pws/zycie085-vlfob,

                        v_vtot LIKE /pws/zycie085-vlfob.

 

 

                  READ TABLE itab_zycit100a WITH KEY

                            ebeln = itab_zycit003-ebeln

                            ebelp = itab_zycit003-ebelp.

                  IF sy-subrc EQ 0.

                    "converter para moeda

                    PERFORM taxa_converte USING  /pws/zycie085-waersfob

                                      /pws/zycie085-dttax

                                      t001-land1

                               CHANGING  v_taxa.

                    " converter reais para moeda

                    if not v_taxa is initial.

                    v_vfre = itab_zycit100a-vlfre / v_taxa.

 

                    " converter reais para moeda

                    v_vseg = itab_zycit100a-vlseg / v_taxa.

                    endif.

                    "já na moeda

                    v_vfob = itab_zycit100a-vlfob.

 

                    "já na moeda

                    v_tseg = /pws/zycie085-vlseg ." * v_taxa.

 

                    IF /pws/zycie085-ukursfre

                       NE /pws/zycie085-ukursfob.

                      PERFORM taxa_converte USING

                              /pws/zycie085-waersfre

                                    /pws/zycie085-dttax

                                    t001-land1

                             CHANGING  v_taxa.

 

                      v_tfre = /pws/zycie085-vlfre * v_taxa.

                      PERFORM taxa_converte USING

                              /pws/zycie085-waersfob

                                    /pws/zycie085-dttax

                                    t001-land1

                             CHANGING  v_taxa.

                      IF NOT v_taxa IS INITIAL.

                        v_tfre = v_tfre / v_taxa.

                      ENDIF.

                    ELSE.

                      v_tfre = /pws/zycie085-vlfre.

                    ENDIF.

                    v_vtot = /pws/zycie085-vlfob + v_tfre  + v_tseg.

 

 

                    IF NOT v_vtot IS INITIAL.

                      itab_zycit036_aux-vlreal =  itab_despesa-netpr *

                       ( ( v_vfob +  v_vfre + v_vseg )  /  v_vtot  ) .

                    ENDIF.

                  ENDIF.

 

 

             else.

* >> Fim da inclusão

 

* >> Início da inclusão

 

                  itab_zycit036_aux-vlreal = ( itab_zycit003-vlreal *

           itab_zycit003-qtd_iten / v_tot_vlreal ) * itab_despesa-netpr.

* >> Fim da exclusão

 

* >> Início da inclusão

 

             endif.

 

* >> Fim da inclusão

 

              ELSE.

                v_erro = '1'.

                EXIT.

              ENDIF.

              IF NOT itab_despesa-waers IS INITIAL.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

            ENDIF.

          ENDIF.

          APPEND itab_zycit036_aux.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

  SELECT SINGLE qtd_iten FROM /pws/zycit003 INTO /pws/zycie003-qtd_iten

     WHERE nrseq EQ /pws/zycie003-nrseq

     AND   ebeln EQ /pws/zycie003-ebeln

     AND   ebelp EQ /pws/zycie003-ebelp.

  v_vlreal  = /pws/zycie003-vlreal.

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

  IF NOT /pws/zycie003-qtd_itend IS INITIAL.

    t_vmle3 = t_vmle_d2 = t_vmle  = v_vlreal * /pws/zycie003-qtd_itend.

    t_vmle2 = /pws/zycie003-vlreal *  /pws/zycie003-qtd_itend.

    v_it_plan = /pws/zycie003-netpr * /pws/zycie003-qtd_itend.

  ELSE.

* << Fim da inclusão

    t_vmle3 = t_vmle_d2 = t_vmle  = v_vlreal * /pws/zycie003-qtd_iten.

    t_vmle2 = /pws/zycie003-vlreal *  /pws/zycie003-qtd_iten.

    v_it_plan = /pws/zycie003-netpr * /pws/zycie003-qtd_iten.

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

  ENDIF.

* << Fim da inclusão

  v_frete_nm  = v_bltofat.

  t_ivfre = ( /pws/zycie003-ntgew / v_tntgew ) * s_frvr.

  v_tot_fre = ( /pws/zycie003-ntgew / v_tntgew ) * v_frete_nm.

  IF /pws/zycie085-mdadicao NE 'S'.

    IF /pws/zycie093-waersfre NE itab_it-waersbem.

...

 

...

                    ( v_desp_fren / /pws/zycie085-ukursfob ).

          ELSE.

            MESSAGE i015 WITH text-221.

          ENDIF.

        ELSE.

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

          if not itab_it-qtd_itend is initial.

             t_vmle_d2 = t_vmle2 = t_vmle2 + v_tot_fre.

          else.

* << Fim da inclusão

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

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

             t_vmle2 = t_vmle.

* << Fim da inclusão

        ENDIF.

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

        t_vmle2 = t_vmle.

* << Fim da exclusão

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

        ENDIF.

* << Fim da inclusão

        t_ivmle2 = t_vmle2 * itab_it-dttaxbem.

        t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.

      WHEN 'CIF'.

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren +

                     t_ivseg + ( t_dif_seg * /pws/zycie085-ukursseg ).

...

 

...

      ENDCASE.

      PERFORM load_fbvl.

      IF itab_zycit003-qtd_itend IS INITIAL.

        /pws/zycie085-vlfob = v_tval2 = v_tval = v_tval + v_tdif.

      ELSE.

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

        /pws/zycie085-vlfob = v_tval2 = v_tval = v_tval.

* << Fim da exclusão

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

        /pws/zycie085-vlfob = v_tval2 = v_tval.

* << Fim da inclusão

      ENDIF.

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

      /pws/zycie085-vlfobr = s_fbvr = v_tmle.

* << Fim da exclusão

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

       s_fbvr = v_tmle.

* << Fim da inclusão

      IF v_tval2 LT '0'.

        IF v_msgfre NE 'N'.

          MESSAGE i015 WITH text-119 text-125.

          LEAVE  PROGRAM.

        ELSE.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

  IF it_status[] IS INITIAL.

    MOVE 'CHECK'   TO it_status-fcode.

    APPEND it_status.

    MOVE 'UNCHECK' TO it_status-fcode.

    APPEND it_status.

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

    IF /pws/zycit000-flag_rateio IS INITIAL.

      MOVE 'VISUA'   TO it_status-fcode.

      APPEND it_status.

* << Fim da exclusão

    ENDIF.

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

  ENDIF.

* << Fim da exclusão

  IF it_statu2[] IS INITIAL.

...

 

...

    MOVE 'UNSELECT' TO it_statu2-fcode.

    APPEND it_statu2.

    MOVE 'SEND' TO it_statu2-fcode.

    APPEND it_statu2.

    MOVE 'REFR' TO it_statu2-fcode.

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

    APPEND it_statu2.

    IF /pws/zycit000-flag_rateio IS INITIAL.

      MOVE 'VISUA'   TO it_statu2-fcode.

* << Fim da exclusão

      APPEND it_statu2.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

  IF it_statu3[] IS INITIAL.

    MOVE 'REPL'   TO it_statu3-fcode.

    APPEND it_statu3.

    MOVE 'REPL_A' TO it_statu3-fcode.

    APPEND it_statu3.

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

    IF /pws/zycit000-flag_rateio IS INITIAL.

      MOVE 'VISUA'   TO it_statu3-fcode.

      APPEND it_statu3.

    ENDIF.

* << Fim da exclusão

  ENDIF.

  IF it_statu4[] IS INITIAL.

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

    IF /pws/zycit000-flag_rateio IS INITIAL.

      MOVE 'VISUA'   TO it_statu4-fcode.

      APPEND it_statu4.

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDFORM.

FORM load_motf.

  CLEAR: t_motdes.

  SELECT SINGLE descricao FROM /pws/zycit141 INTO t_motdes WHERE

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

        IF NOT v_sgtofat IS INITIAL .

          PERFORM trata_decimais USING /pws/zycie085-waersseg

                                         v_sgtofat             .

        ENDIF.

        v_tdif = v_tfrefat - v_bltofat .

        v_bltofat = /pws/zycie093-prepaid +

        /pws/zycie093-collect - /pws/zycie093-ternacion.

        PERFORM calc_conv_frete CHANGING v_bltofat.

    ENDCASE.

  ENDIF.

  CLEAR v_ntgew.

  CLEAR v_tfrefat  .

 

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

  data: v_diffrete like v_tdif,

        v_ntgewd   like v_ntgew.

* << Fim da inclusão

 

  LOOP AT itab_zycit003.

    v_ntgew = v_ntgew + itab_zycit003-ntgew.

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

    v_ntgewd = v_ntgewd + itab_zycit003-ntgewd.

* << Fim da inclusão

  ENDLOOP.

 

 

  LOOP AT itab_it.

    READ TABLE itab_zycit003 WITH KEY

                              nrseq = itab_it-nrseq

                              ebeln = itab_it-ebeln

                              ebelp = itab_it-ebelp.

    IF itab_it-qtd_itend NE '' AND v_dit = 'N'

       AND itab_it-vlreald IS INITIAL.

 

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

*      itab_it-vlreald = itab_it-vlreal + ( ( v_tdif *

*       itab_zycit003-ntgew / v_ntgew ) / itab_zycit003-qtd_iten ).

* << Fim da exclusão

 

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

      v_diffrete =  ( v_tdif * - 1 ) *

            ( itab_zycit003-ntgewd / v_ntgewd ).

      itab_it-vlreald =  (  (

        itab_zycit003-qtd_iten * itab_zycit003-vlreal -

           v_diffrete  ) / itab_zycit003-qtd_iten ) .

* << Fim da inclusão

       MODIFY itab_it.

     ENDIF.

   ENDLOOP.

 

 

   LOOP AT itab_it.

     IF p_tipo = 'I'.

       itab_it-seq = sy-tabix.

     ENDIF.

     READ TABLE itab_zycit003 WITH KEY

                               nrseq = itab_it-nrseq

                               ebeln = itab_it-ebeln

                               ebelp = itab_it-ebelp.

 

     IF NOT itab_it-vlreald IS INITIAL.

       itab_it-vlreal = itab_it-vlreald.

     ENDIF.

     CLEAR: v_tvaln, v_qtd_iten.

...

 

 

 

...

    ENDIF.

    v_rsegfat = v_rsegfat + ( itab_it-vlseg_fat * itab_it-dttaxbem ).

    MODIFY itab_it TRANSPORTING seq vlreal.

    IF /pws/zycie085-mdadicao = 'N'.

      IF itab_it-waersbem EQ  /pws/zycie085-waersfob.

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

        v_tval   = v_tval   + (   v_qtd_iten * itab_it-vlreal ).

* << Fim da exclusão

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

        IF NOT itab_it-vlreald IS INITIAL.

          v_tval   = v_tval   + (  itab_it-qtd_itend * itab_it-vlreal ).

        ELSE.

          v_tval   = v_tval   + (  itab_it-qtd_iten * itab_it-vlreal ).

        ENDIF.

* << Fim da inclusão

      ELSE.

        PERFORM taxa_converte USING  itab_it-waersbem

                                     /pws/zycie085-dttax

                           CHANGING  v_taxa.

        v_tvaln   = v_tvaln + (   v_qtd_iten * itab_it-vlreal ).

...

 

...

          v_tvaln   = v_tvaln / v_taxa.

        ENDIF.

        v_tval = v_tval + v_tvaln.

        /pws/zycie085-ukursfob  = v_taxa.

      ENDIF.

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

    ELSE.

        IF NOT itab_it-vlreald IS INITIAL.

          v_tval   = v_tval   + (  itab_it-qtd_itend * itab_it-vlreal ).

* << Fim da inclusão

    ELSE.

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

      v_tval   = v_tval   + (   v_qtd_iten * itab_it-vlreal ).

* << Fim da exclusão

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

          v_tval   = v_tval   + (  itab_it-qtd_iten * itab_it-vlreal ).

* << Fim da inclusão

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

...

 

...

  ENDLOOP.

  MOVE itab_zycit116[] TO itab_adicao[].

  EXPORT itab_adicao TO MEMORY ID 'ADI01'.

CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

  EXPORTING

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

       v_programa          = v_programa

       v_visualiza         = v_visualiza

       v_bukrs             = /pws/zycie085-bukrs

       /PWS/ZYCIE085       =  /pws/zycie085

* << Fim da exclusão

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

            v_programa    = v_programa

            v_visualiza   = v_visualiza

            v_bukrs       = /pws/zycie085-bukrs

            /pws/zycie085 = /pws/zycie085

* << Fim da inclusão

     IMPORTING

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

       v_resposta          = v_resp

* << Fim da exclusão

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

            v_resposta    = v_resp

* << Fim da inclusão

     TABLES

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

       itab_zycit036       = itab_zycit036

       itab_despesa        = itab_desp_funcao

       itab_zycit003       = itab_zycit003

       itab_zycit100       = itab_zycit100

          .

* << Fim da exclusão

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

            itab_zycit036 = itab_zycit036

            itab_despesa  = itab_desp_funcao

            itab_zycit003 = itab_zycit003

            itab_zycit100 = itab_zycit100.

* << Fim da inclusão

  IF v_resp EQ 'S'.

    LOOP AT itab_zycit036.

      UPDATE /pws/zycit375 SET

                        vldp  = itab_zycit036-vlreal

                        waers = itab_zycit036-waers_real

...