CE PLUS - Nota 004399

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 13/08/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 13:47:38

Descrição da Nota: AJUSTES NOS CALCULOS DE IMPOSTOS E NO RATEIO DOS VALORES DA ANA

Sintoma

O rateio dos valores dos itens e a base dos impostos estão errados.

 

 

Solução

Ajusta as conversões de moeda e ajustar o calculo do rateio.

Adicionado campo na tabela /pws/zycit085 para receber o numero de registro da ANA.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CORREÇÃO DO CALCULO DOS VALORES DE FRETE E MERCADORIA NA ANA

Informações Complementares

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

Nota Número 04399 Data: 13/08/2007 Hora: 08:25:25

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

 

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

Nota Número              : 04399

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00008

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

Referência às notas relacionadas:

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

 

04324  - 00001 - 7.0    - 00002  - CORREÇÃO DO CALCULO DOS VALORES DE FRETE E MERCADORIA NA ANA

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

AJUSTES NOS CALCULOS DE IMPOSTOS E NO RATEIO DOS VALORES DA ANA

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

Palavras Chave:

CALCULO - RATEIO - IMPOSTOS - ITENS - MOEDAS - ANA

/PWS/SAPMZYCI059

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

Objetos da nota:

DYNP /PWS/SAPMZYCI059                        0110

REPS /PWS/MZYCI059F01

REPS /PWS/MZYCI059F02

REPS /PWS/MZYCI059F03

REPS /PWS/MZYCI059I01

REPS /PWS/MZYCI059O01

REPS /PWS/MZYCI059TOP

TABD /PWS/ZYCIE085

TABD /PWS/ZYCIT085

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI059                        0110

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

* >> Início da exclusão:

   /PWS/ZYCIE085-NRDI

      Texto      1        5      10      10       1     CHAR      X    F

      Chave externa

   /PWS/ZYCIE085-NRDI

      I/O        1       26      11      11       1     CHAR   X           Ent Off

      PossRol

* << Fim da exclusão

* >> Início da inclusão:

   /PWS/ZYCIE085-NANA

      I/O        1       26      16      16       1     CHAR   X           Ent Off

   TEXT-001

      Texto      1        5      10      10       1     CHAR

* << Fim da inclusão

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F01

 

...

    IF  sy-subrc NE 0.

      PERFORM save_origem_nf2.

    ENDIF.

  ENDIF.

  CLEAR: itab_zycit003_t,   itab_zycit078_t,

         itab_zycit085_t,   itab_zycit100_t.

  REFRESH: itab_zycit003_t, itab_zycit078_t,

           itab_zycit085_t, itab_zycit100_t.

  SELECT * FROM /pws/zycit085 INTO TABLE itab_zycit085_t WHERE

      nrseqdi = /pws/zycie085-nrseqdi AND

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

      nrdi    = /pws/zycie085-nrdi.

* << Fim da exclusão

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

      nrdi    = /pws/zycie085-NANA.

* << Fim da inclusão

  IF sy-subrc = 0.

    IF NOT itab_zycit085_t[] IS INITIAL.

      SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100_t

         FOR ALL ENTRIES IN itab_zycit085_t

            WHERE nrseqdi = itab_zycit085_t-nrseqdi.

    ENDIF.

    IF sy-subrc = 0.

      IF NOT itab_zycit100_t[] IS INITIAL.

        SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_t

           FOR ALL ENTRIES IN itab_zycit100_t

...

 

...

                                  dtregdi = /pws/zycie085-dtreg

                                  adicao  = itab_zycit100_t-adicao

                            WHERE nrseqli = itab_zycit078_t-nrseqli

                              AND tpli    = 'N'.

          ENDLOOP.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycie085-dtreg IS INITIAL AND

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

     NOT /pws/zycie085-nrdi IS INITIAL.

* << Fim da exclusão

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

     NOT /pws/zycie085-NANA IS INITIAL.

* << Fim da inclusão

    PERFORM salva_fatura.

  ENDIF.

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

  IF NOT /pws/zycie085-nrdi  IS INITIAL OR

* << Fim da exclusão

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

  IF NOT /pws/zycie085-NANA  IS INITIAL OR

* << Fim da inclusão

     NOT /pws/zycie085-dtreg IS INITIAL.

    PERFORM atualiza_status.

...

 

...

    IF NOT v_usd IS INITIAL.

      t_ivmle2 =  t_vmle * /pws/zycie085-ukursfob  / v_usd.

    ENDIF.

  ENDIF.

  IF NOT v_tcfr IS INITIAL.

    IF s_inco1_ci EQ 'C&F' OR

       s_inco1_ci EQ 'CIF'.

      IF NOT v_usd IS INITIAL.

        v_fat =  /pws/zycie003-vlfre_fat *

                                 /pws/zycie085-ukursfob  / v_usd.

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

        ADD v_fat TO t_vmle2 .

* << Fim da exclusão

      ENDIF.

    ENDIF.

    t_ivfre = ( ( t_ivmle2 + v_fat ) / v_tcfr ) * s_frvr.

    v_tot_fre = ( ( t_ivmle2 + v_fat )

                    / v_tcfr ) * v_frete_nm.

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

    IF s_inco1_ci EQ 'C&F' OR

       s_inco1_ci EQ 'CIF'.

      t_vmle2  = ( ( t_ivfre * v_usd ) / /pws/zycie085-ukursfob ) +

      ( ( itab_it-vlfob * v_usd ) / /pws/zycie085-ukursfob ).

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF /pws/zycie003-qtd_itend IS INITIAL.

    CASE s_inco1_ci.

      WHEN 'C&F'.

        t_vldif   = /pws/zycie003-vlfre_fat - v_tot_fre.

      WHEN 'CIF'.

        t_vldif   = /pws/zycie003-vlfre_fat - v_tot_fre .

    ENDCASE.

  ENDIF.

  IF p_tipo = 'I'.

...

 

...

      IF NOT itab_zycit049-vldp_aux EQ 0.

        MOVE: itab_it-ebeln TO itab_trib-ebeln,

              itab_it-ebelp TO itab_trib-ebelp,

              t_ivdes2  TO itab_trib-t_ivdesp,

              itab_zycit049-waers TO itab_trib-waers,

              itab_zycit049-tpdesp TO itab_trib-tpdesp.

        APPEND itab_trib.

      ENDIF.

    ENDIF.

  ENDLOOP.

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

  t_ivmle = itab_it-vlfob.

* << Fim da inclusão

  CASE s_inco1_ci.

    WHEN 'FOB'.

      t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.

    WHEN 'C&F'.

      IF p_tipo EQ 'A'.

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre.

        t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

        t_ivadu = t_ivmle + wa_it-vlseg + t_ivdesp.

      ELSE.

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren.

...

 

...

            t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg +

                   ( v_desp_fren / /pws/zycie085-ukursfob ).

          ELSE.

            MESSAGE i015 WITH text-221.

          ENDIF.

        ELSE.

          t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg.

        ENDIF.

        t_ivadu = t_ivmle + t_ivdesp - v_desp_fren.

      ENDIF.

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

      t_vmle2  = t_vmle2 +

      ( ( t_ivseg * v_usd ) / /pws/zycie085-ukursfob ).

* << Fim da inclusão

  ENDCASE.

  itab_it-vlmerc_ad = t_vmle2.

  t_ivmle2 =  t_ivmle.

ENDFORM.

FORM load_iii USING p_tipo.

  t_iibas = t_ivadu.

  a_iicalc  = ( ( /pws/zycie003-advalii  / 100 ) * t_iibas ).

  IF NOT /pws/zycie100a-reduzida IS INITIAL.

    a_iiredu  = ( ( /pws/zycie100a-reduzida / 100 ) * t_iibas ).

  ELSE.

...

 

...

                                          ID 'ACTVT' FIELD '03'.

      IF sy-subrc NE 0.

        MESSAGE e083(f5) WITH /pws/zycie085-bukrs.

      ENDIF.

    ENDIF.

  ENDIF.

  CALL SCREEN '0100'.

ENDFORM.

FORM calc_itab.

  DATA: v_alter TYPE c.

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

  DATA: v_rateio_t LIKE t_icms.

* << Fim da inclusão

  CLEAR: /pws/zycie085-vlii,

         /pws/zycie085-vlipi, /pws/zycie085-vlicms.

  CLEAR: /pws/zycie085-vlfob, s_fbvr, s_frvr_aux, s_frvr_aux1,

         s_stvr_aux, s_stvr_aux1,

         v_tntgew, v_tval, v_tvaln, v_tval2, v_tval3,

         v_tmle, v_tdif, v_tdif_aux,

         v_tsegfat, v_tfrefat, v_rsegfat, v_rfrefat,

         s_wiicalc,  s_wiiredu,  s_wiidevi,  s_wiireco,

         s_wipicalc, s_wipiredu, s_wipidevi, s_wipireco,

         s_wicdevi,  s_wicreco,  s_waddevi,  s_wadreco, v_aux_rateio,

...

 

...

          v_bltofat = /pws/zycie093-prepaid +

                      /pws/zycie093-collect -

                      /pws/zycie093-ternacion.

          PERFORM calc_conv_frete_ini

                      USING /pws/zycie093-waersfre

                            itab_zycit006-waers

                            CHANGING v_bltofat.

          v_tdif = v_tfrefat - v_bltofat.

        ENDIF.

    ENDCASE.

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

    v_rateio_t  = v_tval.

* << Fim da inclusão

    IF itab_zycit003-qtd_itend IS INITIAL.

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

    ELSE.

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

    ENDIF.

    /pws/zycie085-vlfobr = s_fbvr = v_tmle.

    s_fbvr = /pws/zycie085-vlfob.

    PERFORM: taxa_converte USING /pws/zycbt007-waersa

                                 /pws/zycie085-dttax

                           CHANGING v_usd,

                            load_fbvl2.

    /pws/zycie085-vlfob = s_fbvr.

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

    v_tval = /pws/zycie085-vlfob.

* << Fim da inclusão

    IF v_tval2 LT '0'.

      IF v_msgfre NE 'N'.

        MESSAGE i015 WITH text-119 text-125.

        LEAVE  PROGRAM.

      ELSE.

        MESSAGE i015 WITH text-021 s_msg1 text-119 text-125.

        LEAVE  PROGRAM.

      ENDIF.

    ENDIF.

  ELSE.

...

 

...

    v_idx = sy-tabix.

    MODIFY itab_it INDEX v_idx TRANSPORTING dttaxbem.

    IF v_idx EQ v_ipt AND v_ipt NE 1.

      itab_it-vlfob = v_tval - v_aux_rateio.

    ELSE.

      IF s_inco1_ci NE 'FOB' AND itab_it-vlfre_fat IS INITIAL.

        IF NOT /pws/zycie085-ukursfre IS INITIAL.

          IF s_inco1_ci = 'C&F'.

            IF NOT v_tval3 IS INITIAL.

              itab_it-vlfob = ( ( itab_it-qtd_iten * itab_it-vlreal )

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

                          / v_tval3 ) * ( v_tval + v_tfrefat ).

* << Fim da exclusão

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

                            / v_rateio_t ) * v_tval.

* << Fim da inclusão

            ENDIF.

          ELSE.

            IF NOT v_tval3 IS INITIAL OR

               NOT /pws/zycie085-ukursseg IS INITIAL.

              itab_it-vlfob = ( ( itab_it-qtd_iten * itab_it-vlreal )

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

                            / v_tval3 ) * ( v_tval + v_tfrefat ) -

                         ( itab_it-vlseg / /pws/zycie085-ukursseg ).

* << Fim da exclusão

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

                            / v_rateio_t ) * v_tval.

* << Fim da inclusão

            ENDIF.

          ENDIF.

        ENDIF.

      ELSE.

        itab_it-vlfob = ( ( itab_it-qtd_iten * itab_it-vlreal )

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

                      / v_tval3 ) * ( v_tval + v_tfrefat ).

* << Fim da exclusão

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

                      / v_rateio_t ) * v_tval.

* << Fim da inclusão

      ENDIF.

      v_aux_rateio = v_aux_rateio + itab_it-vlfob.

    ENDIF.

    MOVE itab_it TO wa_it.

    MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,

                        itab_it TO /pws/zycie003.

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

      /pws/zycie085-vlfob = v_tval2 = v_tval.

    ENDIF.

    IF s_fbvr IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F02

 

...

  IF NOT s_fbvr IS INITIAL AND

     NOT s_frvr IS INITIAL AND

     NOT /pws/zycie085-ukursseg IS INITIAL AND

     NOT /pws/zycie085-per_seg IS INITIAL.

    IF s_inco1_ci = 'FOB'.

      IF NOT v_usd IS INITIAL.

       /pws/zycie085-vlseg  =  ( ( ( ( s_fbvr + s_frvr - v_desp_brl ) *

        v_usd ) / /pws/zycie085-ukursseg  ) *

        /pws/zycie085-per_seg  )  / 100.

      ENDIF.

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

    ELSEIF s_inco1_ci = 'CIF'.

      v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .

      PERFORM: calc_conv_moeda:

               USING /pws/zycie093-waersfre /pws/zycbt007-waersa

               CHANGING v_fretebl.

      PERFORM trata_decimais USING /pws/zycie085-waersseg

                                   v_fretebl.

      /pws/zycie085-vlseg  =  ( ( s_fbvr + v_fretebl - v_desp_brl +

           /pws/zycie085-vlseg ) *  /pws/zycie085-per_seg  )  / 100.

* << Fim da inclusão

    ELSE.

      v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .

      PERFORM: calc_conv_moeda:

               USING /pws/zycie093-waersfre /pws/zycbt007-waersa

               CHANGING v_fretebl.

      PERFORM trata_decimais USING /pws/zycie085-waersseg

                                   v_fretebl.

      /pws/zycie085-vlseg  =  ( ( s_fbvr + v_fretebl - v_desp_brl )

      *  /pws/zycie085-per_seg  )  / 100.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F03

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM comm_select USING value(p_mark).

  LOOP AT itab_it.

    itab_it-mark = p_mark.

    MODIFY itab_it TRANSPORTING mark.

  ENDLOOP.

ENDFORM.

FORM comm_send.

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

  IF /pws/zycie085-nrdi IS INITIAL AND

* << Fim da exclusão

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

  IF /pws/zycie085-NANA IS INITIAL AND

* << Fim da inclusão

     /pws/zycie085-dtreg IS INITIAL.

    IF /pws/zycie085-dtuserc IS INITIAL.

      MESSAGE i015 WITH text-046.

    ELSEIF NOT /pws/zycie085-dtreg IS INITIAL.

      MESSAGE i015 WITH text-029.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit136 INTO wa_zycit136 WHERE

             nrseq = /pws/zycie085-nrseqdi AND

             tp_doc = text-060        AND

            ( stasis EQ 'S' OR stasis EQ 'T' OR stasis EQ 'A' ).

...

 

...

    v_txtsave    = space.

  ELSE.

    v_textstat = text-059.

    v_acto = 'A'.

    v_txtdisplay = space.

    v_txtsave    = 'X'.

  ENDIF.

ENDFORM.

FORM comm_dele.

  IF NOT /pws/zycie085-dtuserc IS INITIAL.

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

    IF NOT /pws/zycie085-nrdi IS INITIAL.

* << Fim da exclusão

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

    IF NOT /pws/zycie085-NANA IS INITIAL.

* << Fim da inclusão

      MESSAGE i015 WITH text-029.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE

             nrseq  EQ /pws/zycie085-nrseqdi AND

             cancel EQ space.

      IF sy-subrc EQ 0 AND /pws/zycit041-docnum NE '8888888888'.

        MESSAGE i015 WITH text-028.

        EXIT.

      ELSEIF sy-subrc EQ 0 AND /pws/zycit041-docnum EQ '8888888888'

      AND  NOT /pws/zycit041-belnr_mr1m IS INITIAL.

...

 

...

            program            = v_string_ex

       EXCEPTIONS

            frontend_error     = 1

            no_batch           = 2

            prog_not_found     = 3

            illegal_option     = 4

            gui_refuse_execute = 5

            OTHERS             = 6.

  COMMIT WORK AND WAIT.

  IF sy-subrc = 0.

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

    SELECT SINGLE nrdi dtreg FROM /pws/zycit085

* << Fim da exclusão

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

    SELECT SINGLE NANA dtreg FROM /pws/zycit085

* << Fim da inclusão

       INTO CORRESPONDING FIELDS OF /pws/zycie085

         WHERE nrseqdi = /pws/zycie085-nrseqdi.

  ENDIF.

  PERFORM: refresh_screen.

  PERFORM: verify_hist.

ENDFORM.

FORM refresh_screen.

  DATA: cont(4) TYPE n.

  WHILE cont < 1000.

    COMMIT WORK.

    SELECT SINGLE * FROM /pws/zycit085 INTO /pws/zycit085

       WHERE nrseqdi = /pws/zycie085-nrseqdi.

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

    IF NOT /pws/zycit085-nrdi IS INITIAL.

* << Fim da exclusão

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

    IF NOT /pws/zycit085-NANA IS INITIAL.

* << Fim da inclusão

      EXIT.

    ENDIF.

    cont = cont + 1.

  ENDWHILE.

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

  IF sy-subrc = 0 AND NOT /pws/zycit085-nrdi IS INITIAL.

* << Fim da exclusão

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

  IF sy-subrc = 0 AND NOT /pws/zycit085-NANA IS INITIAL.

* << Fim da inclusão

    v_acto = 'N'.

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

    /pws/zycie085-nrdi  = /pws/zycit085-nrdi.

* << Fim da exclusão

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

    /pws/zycie085-NANA  = /pws/zycit085-NANA.

* << Fim da inclusão

    /pws/zycie085-dtreg = /pws/zycit085-dtreg.

  ENDIF.

ENDFORM.

...

 

...

           FOR ALL ENTRIES IN itab_zycit100

           WHERE nrseq = itab_zycit100-nrseq.

  ENDIF.

  SELECT * FROM /pws/zycit136 INTO TABLE itab_zycit136

         WHERE nrseq  EQ wa_zycit136-nrseq

           AND tp_doc EQ wa_zycit136-tp_doc.

  LOOP AT itab_zycit136.

    CLEAR: itab_zycit255, itab_zycit001, itab_zycit100, itab_zycit085a.

    READ TABLE itab_zycit085a WITH KEY nrseqdi = itab_zycit136-nrseq

  .

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

    IF NOT itab_zycit085a-nrdi IS INITIAL AND

* << Fim da exclusão

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

    IF NOT itab_zycit085a-NANA IS INITIAL AND

* << Fim da inclusão

       NOT itab_zycit085a-dtreg IS INITIAL AND

       NOT itab_zycit136-nrsiscomex IS INITIAL.

      READ TABLE itab_zycit100 WITH KEY

                            nrseqdi = itab_zycit136-nrseq.

      READ TABLE itab_zycit001 WITH KEY

                              nrseq = itab_zycit100-nrseq.

      IF NOT itab_zycit001-status = 'DB'.

        itab_zycit001-status = 'DB'.

        DELETE itab_zycit001 WHERE nrseq = itab_zycit100-nrseq.

        APPEND itab_zycit001 .

...

 

...

  IF sy-subrc EQ 0.

    MESSAGE w015 WITH text-214 text-215.

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.

  SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

  CHECK NOT /pws/zycit000-flag_reclass IS INITIAL.

  CHECK /pws/zycit000-provseg IS INITIAL.

  CHECK /pws/zycit000-provfre IS INITIAL.

  CHECK NOT /pws/zycie085-dtreg IS INITIAL AND

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

        NOT /pws/zycie085-nrdi  IS INITIAL.

* << Fim da exclusão

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

        NOT /pws/zycie085-NANA  IS INITIAL.

* << Fim da inclusão

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

              FOR ALL ENTRIES IN itab_zycit003

              WHERE nrseq = itab_zycit003-nrseq.

  ENDIF.

  READ TABLE itab_zycit094 INDEX 1.

  SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006

                WHERE nrseqce = itab_zycit094-nrseqce AND

                      eliminado = space.

  REFRESH itab_zycit132. CLEAR itab_zycit132.

...

 

...

            WHILE v_ate <= itab_zycit404-nivelate.

              IF v_ate IS INITIAL.

                v_ate = itab_zycit404-nivelde.

              ENDIF.

              CLEAR itab_zycit404_aux.

              READ TABLE itab_zycit404_aux WITH KEY linha = v_ate.

              v_ate = v_ate +  1.

              IF itab_zycit404_aux-codigo EQ 'FOB'.

                IF NOT v_usd IS INITIAL.

                  v_valtot = v_valtot +

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

                    ( itab_it-vlfob * itab_it-dttaxbem / v_usd ).

* << Fim da exclusão

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

                                                   itab_it-vlfob .

* << Fim da inclusão

                ENDIF.

              ELSEIF itab_zycit404_aux-codigo EQ 'FRETEC'.

                v_valtot = v_valtot + itab_it-vlfre.

              ELSEIF itab_zycit404_aux-codigo EQ 'SEGURO'.

                v_valtot = v_valtot + itab_it-vlseg.

              ELSEIF itab_zycit404_aux-codigo EQ 'AJUSTE'.

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

                IF t001-land1 EQ 'CL'.

* << Fim da exclusão

                  v_valtot = v_valtot + itab_it-ajuste.

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

                ELSE.

                  v_valtot = v_valtot

                  + ( itab_it-ajuste * /pws/zycie085-ukursfob / v_usd ).

                ENDIF.

* << Fim da exclusão

              ELSEIF sy-subrc EQ 4.

                MOVE: itab_it-nrseqdi TO itab_zycit403-nrseqdi,

                      itab_it-ebeln TO itab_zycit403-ebeln,

                      itab_it-ebelp TO itab_zycit403-ebelp,

                      itab_zycit404-codigo TO itab_zycit403-codigo.

                READ TABLE itab_zycit399 WITH KEY

                                 codigo = itab_zycit403-codigo.

                IF sy-subrc EQ 0.

                MOVE itab_zycit399-condicoes TO itab_zycit403-condicoes.

                ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059I01

 

module user_command_0001 input.

  write /pws/zycie085-nrseqdi to /pws/zycie085-nrseqdi right-justified.

  case ok_code.

    when 'ENTE'.

      clear: v_nolin.

* >> Início da exclusão: MODULE USER_COMMAND_0001

      free:  itab_zycit085, itab_nrdi, itab_dtreg .

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

      FREE:  itab_zycit085, itab_NANA, itab_dtreg .

* << Fim da inclusão

      import v_nrseqdi from memory id rimc1.

      if sy-subrc eq 0.

        /pws/zycie085-nrseqdi = v_nrseqdi.

        select single * from /pws/zycit085 into /pws/zycie085

               where nrseqdi eq /pws/zycie085-nrseqdi.

        if /pws/zycie085-tpdi eq 'N'.

          clear /pws/zycie085-ntimp.

        endif.

        perform loading_all.

      else.

        if not /pws/zycie085-nrseqdi is initial.

* >> Início da exclusão: MODULE USER_COMMAND_0001

          itab_nrdi-sign = 'I'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

          itab_NANA-sign = 'I'.

* << Fim da inclusão

          if /pws/zycie085a-nrseqdi is initial.

* >> Início da exclusão: MODULE USER_COMMAND_0001

            itab_nrdi-option = 'EQ'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

            itab_NANA-option = 'EQ'.

* << Fim da inclusão

          else.

* >> Início da exclusão: MODULE USER_COMMAND_0001

            itab_nrdi-option = 'BT'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

            itab_NANA-option = 'BT'.

* << Fim da inclusão

          endif.

* >> Início da exclusão: MODULE USER_COMMAND_0001

          itab_nrdi-low  = /pws/zycie085-nrseqdi.

          itab_nrdi-high = /pws/zycie085a-nrseqdi.

          append itab_nrdi.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

          itab_NANA-low  = /pws/zycie085-nrseqdi.

          itab_NANA-high = /pws/zycie085a-nrseqdi.

          APPEND itab_NANA.

* << Fim da inclusão

        endif.

        if not /pws/zycie085-dtreg is initial.

          itab_dtreg-sign = 'I'.

          if /pws/zycie085a-dtreg is initial.

            itab_dtreg-option = 'EQ'.

          else.

            itab_dtreg-option = 'BT'.

          endif.

          itab_dtreg-low  = /pws/zycie085-dtreg.

          itab_dtreg-high = /pws/zycie085a-dtreg.

          append itab_dtreg.

        endif.

        select * into table itab_zycit085 from /pws/zycit085

* >> Início da exclusão: MODULE USER_COMMAND_0001

               where nrseqdi    in itab_nrdi

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0001

               WHERE nrseqdi    IN itab_NANA

* << Fim da inclusão

                 and dtreg      in itab_dtreg

                 and tpdi       eq 'N'.

        describe table itab_zycit085 lines v_nolin.

        if v_nolin is initial.

          message w002.

        else.

          if v_report = 'X'.

            select single * from /pws/zycit085 into /pws/zycie085

               where nrseqdi = /pws/zycie085-nrseqdi.

            perform loading_all.

...

 

...

    while v_ate <= itab_zycit404-nivelate.

      if v_ate is initial.

        v_ate = itab_zycit404-nivelde.

      endif.

      clear itab_zycit404_aux.

      read table itab_zycit404_aux with key linha = v_ate.

      v_ate = v_ate +  1.

      if itab_zycit404_aux-codigo eq 'FOB'.

        if not v_usd is initial.

          v_valtot = v_valtot +

* >> Início da exclusão: MODULE CARREGA_ZYCIT403

            ( /pws/zycie100a-vlfob * /pws/zycie100a-dttaxbem / v_usd ).

* << Fim da exclusão

* >> Início da inclusão: MODULE CARREGA_ZYCIT403

                          /pws/zycie100a-vlfob.

* << Fim da inclusão

        endif.

      elseif itab_zycit404_aux-codigo eq 'FRETEC'.

        v_valtot = v_valtot + /pws/zycie100a-vlfre.

      elseif itab_zycit404_aux-codigo eq 'SEGURO'.

        v_valtot = v_valtot + /pws/zycie100a-vlseg.

      elseif itab_zycit404_aux-codigo eq 'AJUSTE'.

* >> Início da exclusão: MODULE CARREGA_ZYCIT403

        if not v_usd is initial.

          if t001-land1 eq 'CL'.

* << Fim da exclusão

            v_valtot = v_valtot +

            /pws/zycie100a-ajuste.

* >> Início da exclusão: MODULE CARREGA_ZYCIT403

          else.

            v_valtot = v_valtot +

         ( ( /pws/zycie100a-ajuste * /pws/zycie085-ukursfob ) / v_usd ).

          endif.

        endif.

* << Fim da exclusão

      elseif sy-subrc eq 4.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059O01

 

...

    select single * from t001 where bukrs = /pws/zycie001-bukrs.

  elseif ( sy-tcode <> '/PWS/ZYCI059_C'

       and sy-tcode <> '/PWS/ZYCI059_I' ) and s_cnpj is initial.

    perform: load_init.

    v_txtkey = /pws/zycie085-nrseqdi.

    perform read_text.

    select single * from /pws/zycit001 into /pws/zycie001

    where nrseq = /pws/zycie100a-nrseq.

    select single * from t001 where bukrs = /pws/zycie001-bukrs.

  endif.

* >> Início da exclusão: MODULE LOAD_DATA

  if sy-tcode eq '/PWS/ZYCI059_C' and v_modsegm = 0.

    /pws/zycie085-waersseg = 'USD'.

    s_stcm = '220'.

    perform load_waers using /pws/zycie085-waersseg changing s_stcm

s_stdesc.

    v_modsegm = 1.

  endif.

* << Fim da exclusão

  if sy-tcode eq '/PWS/ZYCI059_A'.

    perform carrega_tributos.

  endif.

endmodule.

module fill_struct86 output.

  move itab_zycit086 to /pws/zycie086.

  if not /pws/zycie086-tipo is initial.

    perform load_instdesp.

  endif.

endmodule.

...

 

...

        endif.

        if screen-group1 eq 'AC'.

          screen-input = '0'.

          if v_acto eq 'A'.

            if sy-dynnr eq '0110'.

              if ( screen-name eq '/PWS/ZYCIE085-NRBL'

                   and v_calci = 'S' )                  or

                 ( screen-name eq '/PWS/ZYCIE093-MEIOTRANSP' and

                   not /pws/zycie085-nrbl is initial ).

              elseif ( screen-name eq '/PWS/ZYCIE085-DTREG'    and

* >> Início da exclusão: MODULE SET_SCREEN

                       not /pws/zycie085-nrdi   is initial ).

* << Fim da exclusão

* >> Início da inclusão: MODULE SET_SCREEN

                       not /pws/zycie085-NANA   is initial ).

* << Fim da inclusão

                screen-input = screen-required = '1'.

              elseif screen-name eq '/PWS/ZYCIE085-MODDESPS'.

                if not /pws/zycie085-codreg is initial.

                  screen-input = screen-required = '1'.

                endif.

                if /pws/zycie085-codreg eq '15'.

                  screen-input = screen-required = '0'.

                  screen-invisible = '1'.

                endif.

              else.

...

 

...

    while v_ate <= itab_zycit404-nivelate.

      if v_ate is initial.

        v_ate = itab_zycit404-nivelde.

      endif.

      clear  itab_zycit404_aux.

      read table itab_zycit404_aux with key linha = v_ate.

      v_ate = v_ate +  1.

      if itab_zycit404_aux-codigo eq 'FOB'.

        if not v_usd is initial.

          v_valtot = v_valtot +

* >> Início da exclusão: MODULE CARREGA_ZYCIE403

            ( /pws/zycie100a-vlfob * /pws/zycie100a-dttaxbem / v_usd ).

* << Fim da exclusão

* >> Início da inclusão: MODULE CARREGA_ZYCIE403

                                                 /pws/zycie100a-vlfob .

* << Fim da inclusão

        endif.

      elseif itab_zycit404_aux-codigo eq 'FRETEC'.

        v_valtot = v_valtot + /pws/zycie100a-vlfre.

      elseif itab_zycit404_aux-codigo eq 'SEGURO'.

        v_valtot = v_valtot + /pws/zycie100a-vlseg.

      elseif itab_zycit404_aux-codigo eq 'AJUSTE'.

        if not v_usd is initial.

* >> Início da exclusão: MODULE CARREGA_ZYCIE403

          if t001-land1 eq 'CL'.

* << Fim da exclusão

            v_valtot = v_valtot +

            /pws/zycie100a-ajuste.

* >> Início da exclusão: MODULE CARREGA_ZYCIE403

          else.

            v_valtot = v_valtot +

         ( ( /pws/zycie100a-ajuste * /pws/zycie085-ukursfob ) / v_usd ).

          endif.

* << Fim da exclusão

        endif.

      elseif sy-subrc eq 4.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059TOP

 

...

        reduz     LIKE /pws/zycie122-descricao_reduz,

        vldp_aux  LIKE /pws/zycie049-vldp,

        divabs    LIKE /pws/zycit039-divabs,

        peso      LIKE /pws/zycit039-peso,

        proporplan LIKE /pws/zycit039-proporplan,

      END OF itab_zycit049.

DATA: BEGIN OF  itab_adicao OCCURS 0.

        INCLUDE STRUCTURE /pws/zycie116.

DATA:   flag_vltot,

      END OF itab_adicao.

* >> Início da exclusão:

DATA: BEGIN OF itab_nrdi OCCURS 1,

* << Fim da exclusão

* >> Início da inclusão:

DATA: BEGIN OF itab_NANA OCCURS 1,

* << Fim da inclusão

        sign(1)   TYPE c,

        option(2) TYPE c,

        low       LIKE /pws/zycie085-nrseqdi,

        high      LIKE /pws/zycie085a-nrseqdi,

* >> Início da exclusão:

      END OF itab_nrdi.

* << Fim da exclusão

* >> Início da inclusão:

      END OF itab_NANA.

* << Fim da inclusão

DATA: BEGIN OF itab_dtreg OCCURS 1,

        sign(1)   TYPE c,

        option(2) TYPE c,

        low       LIKE /pws/zycie085-dtreg,

        high      LIKE /pws/zycie085a-dtreg,

      END OF itab_dtreg.

DATA: BEGIN OF it_verbl OCCURS 0,

         nrseq       LIKE /pws/zycie003-nrseq,

         ebeln       LIKE /pws/zycie003-ebeln,

         ebelp       LIKE /pws/zycie003-ebelp,

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE085

 

Nome campo   Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

...

RECAL        XFELD                         CHAR     1

CANAL2       CHAR2                         CHAR     2

FUNDAPIANA   LIFNR                         CHAR    10

* >> Início da inclusão:

NANA         CHAR16                        CHAR    16

* << Fim da inclusão

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT085

 

Nome campo   Chv Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

...

RECAL            XFELD                         CHAR     1

CANAL2           CHAR2                         CHAR     2

FUNDAPIANA       LIFNR                         CHAR    10

* >> Início da inclusão:

NANA             CHAR16                        CHAR    16

* << Fim da inclusão