CE PLUS - Nota 006284

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 31/03/2008 00:00:00

Data/Hora Última Alteração: 09/03/2010 11:58:22

Descrição da Nota: DESENVOLVIMENTO PARA MEMÓRIA DE CÁLCULO NA PASTA COMPLEMENTARES

Sintoma

 

Necessário desenvolvimento para Memória de cálculo na pasta complementares da DI

 

Solução

 

Criar Memoria de cálculo para preencher pasta complementares de acordo com parametrização na

/PWS/ZYCIT104 E /PWS/ZYGL008, com ID &MEMORIA&

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 06284 Data: 31/03/2008 Hora: 09:55:31

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

 

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

Nota Número              : 06284

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00044

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

DESENVOLVIMENTO PARA MEMÓRIA DE CÁLCULO NA PASTA COMPLEMENTARES

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

Palavras Chave:

 MEMÓRIA DE CÁLCULO - PASTA COMPLEMENTARES - DI - VALORES IMPOSTOS

 

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

Objetos da nota:

FUNC /PWS/ZYCI_TRANSFER_DI

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F04

REPS /PWS/MZYCI023I01

REPS /PWS/MZYCI023TOP

REPS /PWS/MZYCI023X01

REPT /PWS/SAPMZYCI023

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_DI

 

...

                it_forn-fabric  = it_det_itens_di-fabric.

                APPEND it_forn.

              ENDIF.

              READ TABLE it_001 WITH KEY nrseq = it_itens_di-nrseq.

              IF sy-subrc EQ 0.

                it_adicao_di-inco1 = it_001-inco1.

              ENDIF.

            ENDIF.

            CONCATENATE i_nrseqdi it_adicao_di-adicao INTO v_txtki.

            SELECT * FROM /pws/zycit200 INTO TABLE it_200 WHERE

* >> Início da exclusão:

                   id = v_txtki.

* << Fim da exclusão

* >> Início da inclusão:

                   id like i_nrseqdi.

* << Fim da inclusão

            CLEAR: v_add, v_obs1.

            LOOP AT it_200.

              v_obs1+v_add = it_200-linha(74).

              v_add = v_add + 75.

              IF sy-tabix >= 3.

                EXIT.

              ENDIF.

            ENDLOOP.

            it_adicao_di-complementares = v_obs1.

            APPEND it_adicao_di.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

      ENDIF.

      IF p_tipo = 'I'.

        itab_zycit049-vldp_aux = itab_zycit049-vldp_aux + t_ivdes2.

        MODIFY itab_zycit049 TRANSPORTING vldp_aux.

      ENDIF.

      IF t_ivdes2 > 0.

        t_ivdesp = t_ivdesp + t_ivdes2.

      ENDIF.

    ENDIF.

  ENDLOOP.

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

  itab_memoria-despii     = t_ivdesp     .

* << Fim da inclusão

  CLEAR: v_nr_itens, v_desp. CLEAR: itab_zycit100_temp.

  REFRESH itab_zycit100_temp.

  MOVE itab_it[] TO itab_zycit100_temp[].

  IF itab_it-adicao IS INITIAL AND

      NOT /pws/zycit000-flag_txsisc IS INITIAL.

    READ TABLE itab_zycit100_temp WITH KEY nrseq = itab_it-nrseq

                                           ebeln = itab_it-ebeln

                                           ebelp = itab_it-ebelp.

    IF sy-subrc = 0.

      PERFORM adic_list.

...

 

...

 

FORM load_iii USING p_tipo.

  IF /pws/zycie093-meiotransp = 'PS'

      AND /pws/zycie085-tpdi EQ 'S'

      AND /pws/zycie003-advalii IS INITIAL.

    /pws/zycie003-advalii = '60'.

  ENDIF.

  t_iibas = t_ivadu.

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

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

  IF v_dit = 'N'.

* << Fim da exclusão

    IF NOT /pws/zycie100a-reduzida IS INITIAL.

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

    ELSE.

      CLEAR: a_iiredu.

    ENDIF.

    a_iiacor  = ( ( /pws/zycie100a-acordorate / 100 ) * t_iibas ).

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

  ENDIF.

* << Fim da exclusão

  CLEAR: t_iirec.

...

 

...

  ENDIF.

  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_tot_plan, s_wpisreco, s_wcofreco.

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

  CLEAR ITAB_MEMORIA.

  REFRESH ITAB_MEMORIA.

* << Fim da inclusão

...

 

...

    it_adi-nrseqd        = itab_it_aux-nrseqd   .

    CONCATENATE /pws/zycie085-identify '-' it_adi-adicao

                INTO it_adi-identify.

    APPEND it_adi.

    READ TABLE itab_zycit100_temp WITH KEY nrseq = itab_it_aux-nrseq

                                           ebeln = itab_it_aux-ebeln

                                           ebelp = itab_it_aux-ebelp.

    IF sy-subrc = 0.

      MOVE itab_it_aux-adicao TO itab_zycit100_temp-adicao.

      MODIFY itab_zycit100_temp INDEX v_tabix TRANSPORTING adicao.

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

    ENDIF.

    READ TABLE itab_memoria WITH KEY ebeln = itab_it-ebeln

     ebelp = itab_it-ebelp.

    IF sy-subrc EQ 0.

      itab_memoria-adicao = itab_it-adicao.

      MODIFY itab_memoria TRANSPORTING adicao

      WHERE ebeln = itab_it-ebeln

      AND   ebelp = itab_it-ebelp.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

 

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

  itab_memoria-ebeln     = itab_it-ebeln   .

  itab_memoria-ebelp     = itab_it-ebelp   .

  itab_memoria-adicao    = itab_it-adicao  .

  itab_memoria-vl_aduan  = t_ivadu         .

  itab_memoria-aliqii    = itab_it-advalii .

  itab_memoria-aliqipi   = itab_it-advalipi.

  itab_memoria-aliqpis   = itab_it-advalpis.

  itab_memoria-aliqcof   = itab_it-advalcofins.

  itab_memoria-aliqicms  = itab_it-advalicms.

  itab_memoria-vlcofins  = v_vlcofrec      .

  itab_memoria-vlpis     = v_vlpisrec      .

  itab_memoria-baseicms  = t_icmsbs        .

  itab_memoria-basred    = itab_it-basred   .

  itab_memoria-vlii      = v_vliirec       .

  itab_memoria-vlipi     = v_vlipirec      .

  itab_memoria-despicms  = t_ivdesp        .

  itab_memoria-vlicmsdev = t_icms        .

  itab_memoria-vlicms    = t_icms        .

  MODIFY itab_memoria TRANSPORTING ebeln ebelp adicao

  vl_aduan aliqii aliqipi aliqpis aliqcof aliqicms

  vlcofins vlpis  baseicms basred vlii vlipi despii

  despicms vlicmsdev vlicms WHERE ebeln EQ itab_it-ebeln

  AND   ebelp EQ itab_it-ebelp.

  IF sy-subrc NE 0.

    APPEND itab_memoria.

  ENDIF.

* << Fim da inclusão

  IF /pws/zycie100a-codregtriicms EQ '6'.

    CLEAR t_icms.

  ENDIF.

ENDFORM.

...

 

...

 

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

FORM fill_text_compl.

  CHECK sy-binpt IS INITIAL.

  CALL METHOD editor2->get_text_as_r3table IMPORTING table = ittxt1[].

  LOOP AT itab_zycit104 WHERE NOT flag IS initial.

    CLEAR: rtextcompl.

    REFRESH: rtextcompl.

    v_txtcom+00 = sy-mandt.

    v_txtcom+03 = itab_zycit104-codmod.

    v_txtcom+04 = itab_zycit104-codint.

    v_txtcom+07 = itab_zycit104-idtext.

    v_txtcom+10 = itab_zycit104-tdspras.

    CALL FUNCTION 'READ_TEXT'

         EXPORTING

              client                  = sy-mandt

              id                      = '0104'

              language                = sy-langu

              name                    = v_txtcom

              object                  = '/PWS/ZYCI'

         TABLES

              lines                   = rtextcompl

         EXCEPTIONS

              id                      = 1

              language                = 2

              name                    = 3

              not_found               = 4

              object                  = 5

              reference_check         = 6

              wrong_access_to_archive = 7

              OTHERS                  = 8.

    IF sy-subrc = 0.

      LOOP AT rtextcompl.

        ittxt1-line = rtextcompl-tdline.

        APPEND ittxt1.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

  REFRESH: ittxt2.

  LOOP AT ittxt1.

    REFRESH: it_words, it_words_app.

    SPLIT ittxt1-line AT '&' INTO TABLE it_words.

    LOOP AT it_words.

      v_idxa = sy-tabix.

      CASE it_words-word.

        WHEN 'MDLE'.

          CLEAR it_words-word.

          IF NOT s_fbcm IS INITIAL.

            CONCATENATE s_fbcm '-' /pws/zycie085-waersfob '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXLE'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfob IS INITIAL.

            WRITE /pws/zycie085-ukursfob TO it_words

                  LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDFR'.

          CLEAR it_words-word.

          IF NOT s_frcm IS INITIAL.

            CONCATENATE s_frcm '-' /pws/zycie093-waersfre '-'

            s_frdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXFR'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfre IS INITIAL.

            WRITE /pws/zycie085-ukursfre TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDSG'.

          CLEAR it_words-word.

          IF NOT s_stcm IS INITIAL.

            CONCATENATE s_stcm '-' /pws/zycie085-waersseg '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXSG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursseg IS INITIAL.

            WRITE /pws/zycie085-ukursseg TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'EMBARCA'.

          CLEAR it_words-word.

          IF NOT itab_zycit001-embarca IS INITIAL.

            it_words-word = itab_zycit001-embarca.

          ENDIF.

        WHEN 'CONHEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-nrbl IS INITIAL.

            it_words-word = /pws/zycie085-nrbl.

          ENDIF.

        WHEN 'NAVIO'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-embarca IS INITIAL.

            it_words-word = /pws/zycie093-embarca.

          ENDIF.

        WHEN 'DTCHEG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtcheg IS INITIAL.

            it_words-word+00 = /pws/zycie093-dtcheg+06(2).

            it_words-word+02 = '/'.

            it_words-word+03 = /pws/zycie093-dtcheg+04(2).

            it_words-word+05 = '/'.

            it_words-word+06 = /pws/zycie093-dtcheg+00(4).

          ENDIF.

        WHEN 'IDENT'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identconh IS INITIAL.

            it_words-word = /pws/zycie093-identconh.

          ENDIF.

        WHEN 'MASTER'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identmaster IS INITIAL.

            it_words-word = /pws/zycie093-identmaster.

          ENDIF.

        WHEN 'FATURAS'.

          LOOP AT itab_zycit006.

            it_words_app-word = itab_zycit006-nrfat.

            APPEND it_words_app.

          ENDLOOP.

        WHEN 'CONTAINERS'.

          SELECT * FROM /pws/zycit055 INTO TABLE itab_zycit055

                 WHERE nrseq = /pws/zycie085-nrbl.

          LOOP AT itab_zycit055.

            it_words_app-word = itab_zycit055-nrcontainer.

            APPEND it_words_app.

          ENDLOOP.

        WHEN 'NRPLATA'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-nrplata.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'DESCR'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-descricao.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'CPOPETRO'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-campopetro.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'LOCALEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-localemb IS INITIAL.

            it_words-word = /pws/zycie093-localemb.

          ENDIF.

        WHEN 'DTEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtemb IS INITIAL.

            it_words-word+00 = /pws/zycie093-dtemb+06(2).

            it_words-word+02 = '/'.

            it_words-word+03 = /pws/zycie093-dtemb+04(2).

            it_words-word+05 = '/'.

            it_words-word+06 = /pws/zycie093-dtemb+00(4).

          ENDIF.

      ENDCASE.

      MODIFY it_words INDEX v_idxa.

    ENDLOOP.

    IF it_words_app[] IS INITIAL.

      CLEAR v_txta.

      LOOP AT it_words.

        CONCATENATE v_txta it_words-word INTO v_txta

                    SEPARATED BY space.

      ENDLOOP.

      v_lena = strlen( v_txta ).

      ittxt2-line = v_txta(66).

      APPEND ittxt2.

      IF v_lena > 65.

        ittxt2-line = v_txta+65(35).

        APPEND ittxt2.

      ENDIF.

    ELSE.

      LOOP AT it_words_app.

        ittxt2-line = it_words_app-word.

        APPEND ittxt2.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

  MOVE: ittxt2[] TO ittxt1[].

  CALL METHOD editor2->set_text_as_r3table EXPORTING table = ittxt1[].

  LEAVE TO SCREEN 0.

ENDFORM.

* << Fim da exclusão

...

 

...

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

FORM fill_text_compl2.

 

  CHECK sy-binpt IS INITIAL.

 

  CALL METHOD editor2->get_text_as_r3table IMPORTING table = ittxt1[].

 

  LOOP AT itab_zycit104 WHERE NOT flag IS initial.

    CLEAR: rtextcompl.

    REFRESH: rtextcompl.

    v_txtcom+00 = sy-mandt.

    v_txtcom+03 = itab_zycit104-codmod.

    v_txtcom+04 = itab_zycit104-codint.

    v_txtcom+07 = itab_zycit104-idtext.

    v_txtcom+10 = itab_zycit104-tdspras.

    CALL FUNCTION 'READ_TEXT'

         EXPORTING

              client                  = sy-mandt

              id                      = '0104'

              language                = sy-langu

              name                    = v_txtcom

              object                  = '/PWS/ZYCI'

         TABLES

              lines                   = rtextcompl

         EXCEPTIONS

              id                      = 1

              language                = 2

              name                    = 3

              not_found               = 4

              object                  = 5

              reference_check         = 6

              wrong_access_to_archive = 7

              OTHERS                  = 8.

    IF sy-subrc = 0.

      LOOP AT rtextcompl.

        ittxt1-line = rtextcompl-tdline.

        APPEND ittxt1.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

 

  REFRESH: ittxt2.

  LOOP AT ittxt1.

    REFRESH: it_words, it_words_app.

    SPLIT ittxt1-line AT '&' INTO TABLE it_words.

    LOOP AT it_words.

      v_idxa = sy-tabix.

      CASE it_words-word.

        WHEN 'MDLE'.

          CLEAR it_words-word.

          IF NOT s_fbcm IS INITIAL.

            CONCATENATE s_fbcm '-' /pws/zycie085-waersfob '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXLE'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfob IS INITIAL.

            WRITE /pws/zycie085-ukursfob TO it_words

                  LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDFR'.

          CLEAR it_words-word.

          IF NOT s_frcm IS INITIAL.

            CONCATENATE s_frcm '-' /pws/zycie093-waersfre '-'

            s_frdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXFR'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfre IS INITIAL.

            WRITE /pws/zycie085-ukursfre TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDSG'.

          CLEAR it_words-word.

          IF NOT s_stcm IS INITIAL.

            CONCATENATE s_stcm '-' /pws/zycie085-waersseg '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXSG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursseg IS INITIAL.

            WRITE /pws/zycie085-ukursseg TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'EMBARCA'.

          CLEAR it_words-word.

          IF NOT itab_zycit001-embarca IS INITIAL.

            it_words-word = itab_zycit001-embarca.

          ENDIF.

        WHEN 'CONHEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-nrbl IS INITIAL.

            it_words-word = /pws/zycie085-nrbl.

          ENDIF.

        WHEN 'NAVIO'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-embarca IS INITIAL.

            it_words-word = /pws/zycie093-embarca.

          ENDIF.

        WHEN 'DTCHEG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtcheg IS INITIAL.

            it_words-word+00 = /pws/zycie093-dtcheg+06(2).

            it_words-word+02 = '/'.

            it_words-word+03 = /pws/zycie093-dtcheg+04(2).

            it_words-word+05 = '/'.

            it_words-word+06 = /pws/zycie093-dtcheg+00(4).

          ENDIF.

        WHEN 'IDENT'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identconh IS INITIAL.

            it_words-word = /pws/zycie093-identconh.

          ENDIF.

        WHEN 'MASTER'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identmaster IS INITIAL.

            it_words-word = /pws/zycie093-identmaster.

          ENDIF.

        WHEN 'FATURAS'.

          LOOP AT itab_zycit006.

            it_words_app-word = itab_zycit006-nrfat.

            APPEND it_words_app.

          ENDLOOP.

        WHEN 'CONTAINERS'.

          SELECT * FROM /pws/zycit055 INTO TABLE itab_zycit055

                 WHERE nrseq = /pws/zycie085-nrbl.

          LOOP AT itab_zycit055.

            it_words_app-word = itab_zycit055-nrcontainer.

            APPEND it_words_app.

          ENDLOOP.

*

        WHEN 'NRPLATA'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-nrplata.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'DESCR'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-descricao.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'CPOPETRO'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-campopetro.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'LOCALEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-localemb IS INITIAL.

            it_words-word = /pws/zycie093-localemb.

          ENDIF.

        WHEN 'DTEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtemb IS INITIAL.

            it_words-word = /pws/zycie093-dtemb.

          ENDIF.

*

 

      ENDCASE.

      MODIFY it_words INDEX v_idxa.

    ENDLOOP.

    IF it_words_app[] IS INITIAL.

      CLEAR v_txta.

      LOOP AT it_words.

        CONCATENATE v_txta it_words-word INTO v_txta

                    SEPARATED BY space.

      ENDLOOP.

      v_lena = strlen( v_txta ).

      ittxt2-line = v_txta(66).

      APPEND ittxt2.

      IF v_lena > 65.

        ittxt2-line = v_txta+65(35).

        APPEND ittxt2.

      ENDIF.

    ELSE.

      LOOP AT it_words_app.

        ittxt2-line = it_words_app-word.

        APPEND ittxt2.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

  MOVE: ittxt2[] TO ittxt1[].

 

  CALL METHOD editor2->set_text_as_r3table EXPORTING table = ittxt1[].

ENDFORM.                    " fill_text_compl2

* << Fim da exclusão

...

 

************Novo perform

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

 

 FORM fill_text_compl.

 

   DATA: v_word .

   CHECK sy-binpt IS INITIAL.

 

   CALL METHOD editor2->get_text_as_r3table IMPORTING table = ittxt1[].

 

   LOOP AT itab_zycit104 WHERE NOT flag IS initial.

     CLEAR: rtextcompl.

     REFRESH: rtextcompl.

     v_txtcom+00 = sy-mandt.

     v_txtcom+03 = itab_zycit104-codmod.

     v_txtcom+04 = itab_zycit104-codint.

     v_txtcom+07 = itab_zycit104-idtext.

     v_txtcom+10 = itab_zycit104-tdspras.

 

 

 

     CALL FUNCTION 'READ_TEXT'

          EXPORTING

               client                  = sy-mandt

               id                      = '0104'

               language                = sy-langu

               name                    = v_txtcom

               object                  = '/PWS/ZYCI'

          TABLES

               lines                   = rtextcompl

          EXCEPTIONS

               id                      = 1

               language                = 2

               name                    = 3

               not_found               = 4

               object                  = 5

               reference_check         = 6

 

              wrong_access_to_archive = 7

              OTHERS                  = 8.

    IF sy-subrc = 0.

      LOOP AT rtextcompl.

        ittxt1-line = rtextcompl-tdline.

        APPEND ittxt1.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

 

  REFRESH: ittxt2.

  LOOP AT ittxt1.

    REFRESH: it_words, it_words_app.

    SPLIT ittxt1-line AT '&' INTO TABLE it_words.

    IF it_words-word EQ 'MEMORIA'.

      PERFORM carrega_memoria.

      v_word = 'X'.

    ELSE.

      CLEAR v_word.

    ENDIF.

 

    LOOP AT it_words.

      v_idxa = sy-tabix.

      CASE it_words-word.

        WHEN 'MDLE'.

          CLEAR it_words-word.

          IF NOT s_fbcm IS INITIAL.

            CONCATENATE s_fbcm '-' /pws/zycie085-waersfob '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXLE'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfob IS INITIAL.

            WRITE /pws/zycie085-ukursfob TO it_words

                  LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDFR'.

          CLEAR it_words-word.

          IF NOT s_frcm IS INITIAL.

            CONCATENATE s_frcm '-' /pws/zycie093-waersfre '-'

            s_frdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXFR'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursfre IS INITIAL.

            WRITE /pws/zycie085-ukursfre TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'MDSG'.

          CLEAR it_words-word.

          IF NOT s_stcm IS INITIAL.

            CONCATENATE s_stcm '-' /pws/zycie085-waersseg '-'

            s_fbdesc INTO it_words-word SEPARATED BY space.

          ENDIF.

        WHEN 'TXSG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie085-ukursseg IS INITIAL.

            WRITE /pws/zycie085-ukursseg TO it_words

            LEFT-JUSTIFIED.

          ENDIF.

        WHEN 'EMBARCA'.

          CLEAR it_words-word.

          IF NOT itab_zycit001-embarca IS INITIAL.

            it_words-word = itab_zycit001-embarca.

          ENDIF.

        WHEN 'CONHEMB'.

          CLEAR it_words-word.

 

          IF NOT /pws/zycie085-nrbl IS INITIAL.

            it_words-word = /pws/zycie085-nrbl.

          ENDIF.

        WHEN 'NAVIO'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-embarca IS INITIAL.

            it_words-word = /pws/zycie093-embarca.

          ENDIF.

        WHEN 'DTCHEG'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtcheg IS INITIAL.

            it_words-word+00 = /pws/zycie093-dtcheg+06(2).

            it_words-word+02 = '/'.

            it_words-word+03 = /pws/zycie093-dtcheg+04(2).

            it_words-word+05 = '/'.

            it_words-word+06 = /pws/zycie093-dtcheg+00(4).

          ENDIF.

        WHEN 'IDENT'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identconh IS INITIAL.

            it_words-word = /pws/zycie093-identconh.

          ENDIF.

        WHEN 'MASTER'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-identmaster IS INITIAL.

            it_words-word = /pws/zycie093-identmaster.

          ENDIF.

        WHEN 'FATURAS'.

          LOOP AT itab_zycit006.

            it_words_app-word = itab_zycit006-nrfat.

            APPEND it_words_app.

          ENDLOOP.

        WHEN 'CONTAINERS'.

          SELECT * FROM /pws/zycit055 INTO TABLE itab_zycit055

                 WHERE nrseq = /pws/zycie085-nrbl.

          LOOP AT itab_zycit055.

            it_words_app-word = itab_zycit055-nrcontainer.

            APPEND it_words_app.

          ENDLOOP.

        WHEN 'NRPLATA'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-nrplata.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'DESCR'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-descricao.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'CPOPETRO'.

          SELECT * FROM /pws/zycit134 INTO TABLE itab_zycit134

                 WHERE nrseq = /pws/zycie093-nrseqce.

          IF sy-subrc = 0.

            LOOP AT itab_zycit134.

              it_words_app-word = itab_zycit134-campopetro.

              APPEND it_words_app.

            ENDLOOP.

          ENDIF.

        WHEN 'LOCALEMB'.

          CLEAR it_words-word.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-localemb IS INITIAL.

            it_words-word = /pws/zycie093-localemb.

          ENDIF.

        WHEN 'DTEMB'.

          CLEAR it_words-word.

          IF NOT /pws/zycie093-dtemb IS INITIAL.

            it_words-word = /pws/zycie093-dtemb.

          ENDIF.

 

 

      ENDCASE.

      MODIFY it_words INDEX v_idxa.

    ENDLOOP.

    IF it_words_app[] IS INITIAL.

      CLEAR v_txta.

      IF v_word EQ 'X'.

        LOOP AT it_words.

          MOVE it_words-word TO v_txta.

          ittxt2-line = v_txta(66).

          APPEND ittxt2.

        ENDLOOP.

      ELSE.

        LOOP AT it_words.

          CONCATENATE v_txta it_words-word INTO v_txta

                      SEPARATED BY space.

        ENDLOOP.

 

        v_lena = strlen( v_txta ).

        ittxt2-line = v_txta(66).

        APPEND ittxt2.

        IF v_lena > 65.

           ittxt2-line = v_txta+65(35).

           APPEND ittxt2.

         ENDIF.

       ENDIF.

     ELSE.

       LOOP AT it_words_app.

         ittxt2-line = it_words_app-word.

         APPEND ittxt2.

       ENDLOOP.

     ENDIF.

   ENDLOOP.

   MOVE: ittxt2[] TO ittxt1[].

 

   CALL METHOD editor2->set_text_as_r3table EXPORTING table = ittxt1[].

 

 

 ENDFORM.                    " fill_text_compl

* << Fim da inclusão

 

...

 

...

 

    LOOP AT itab_zycit257.

      INSERT INTO /pws/zycit104 VALUES itab_zycit104.

    ENDLOOP.

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

    PERFORM fill_text_compl2.

* << Fim da exclusão

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

    PERFORM fill_text_compl.

* << Fim da inclusão

    CLEAR: itab_zycit104, itab_zycit257.

    FREE:  itab_zycit104, itab_zycit257.

  ENDIF.

ENDFORM.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F04

 

...

 

* >> Início da inclusão:

FORM carrega_memoria.

  DATA: BEGIN OF itab_memoria1 OCCURS 0.

  DATA: adicao(6),

        vl_aduan(14),

        despii(14),

        aliqii(6),

        aliqipi(6),

        aliqpis(6),

        aliqcof(6).

  DATA: END OF itab_memoria1.

  DATA: BEGIN OF itab_memoria2 OCCURS 0.

  DATA: adicao(6)   ,

        aliqicms(6) ,

        vlcofins(14),

        vlpis(14)   .

  DATA: END OF itab_memoria2.

  DATA: BEGIN OF itab_memoria3 OCCURS 0.

  DATA: adicao(6),

        baseicms(14),

        aliqicms(6),

        basred(7),

        vlicmsdev(14),

        vlicms(14).

  DATA: END OF itab_memoria3.

  DATA : v_aliq(6),

         v_valor(14),

         t_vl_aduan LIKE itab_memoria-vl_aduan  ,

         t_despii   LIKE itab_memoria-despii  ,

         t_vlpis    LIKE itab_memoria-vlpis   ,

         t_vlcofins LIKE itab_memoria-vlcofins,

         t_vlbase   LIKE itab_memoria-baseicms  ,

         t_icmsdev  LIKE itab_memoria-vlicmsdev,

         t_vlicmsr  LIKE itab_memoria-vlicms    .

  IF NOT itab_memoria[] IS INITIAL.

    CLEAR it_words-word.

    SORT itab_memoria BY adicao ebeln ebelp.

    LOOP AT itab_memoria.

      WRITE itab_memoria-adicao TO v_aliq.

      itab_memoria1-adicao = itab_memoria2-adicao =

      itab_memoria3-adicao = v_aliq.

      WRITE itab_memoria-vl_aduan TO v_valor.

      itab_memoria1-vl_aduan  = v_valor.

      WRITE itab_memoria-despii TO v_valor.

      itab_memoria1-despii = v_valor.

      WRITE itab_memoria-aliqii TO v_aliq.

      itab_memoria1-aliqii = v_aliq.

      WRITE itab_memoria-aliqipi TO v_aliq.

      itab_memoria1-aliqipi = v_aliq.

      WRITE itab_memoria-aliqpis TO v_aliq.

      itab_memoria1-aliqpis = v_aliq.

      WRITE itab_memoria-aliqcof TO v_aliq.

      itab_memoria1-aliqcof = v_aliq.

      APPEND itab_memoria1.

      WRITE itab_memoria-aliqicms TO v_aliq.

      itab_memoria2-aliqicms = v_aliq.

      WRITE itab_memoria-vlcofins TO v_valor.

      itab_memoria2-vlcofins  = v_valor.

      WRITE itab_memoria-vlpis TO v_valor.

      itab_memoria2-vlpis = v_valor.

      APPEND itab_memoria2.

      WRITE itab_memoria-baseicms TO v_valor.

      itab_memoria3-baseicms = v_valor.

      WRITE itab_memoria-aliqicms TO v_aliq.

      itab_memoria3-aliqicms = v_aliq.

      WRITE itab_memoria-basred TO v_aliq.

      itab_memoria3-basred = v_aliq.

      WRITE itab_memoria-vlicmsdev TO v_valor.

      itab_memoria3-vlicmsdev = v_valor.

      WRITE itab_memoria-vlicms TO v_valor.

      itab_memoria3-vlicms = v_valor.

      APPEND itab_memoria3.

      t_vl_aduan = t_vl_aduan + itab_memoria-vl_aduan  .

      t_despii   = t_despii   + itab_memoria-despii  .

      t_vlpis    = t_vlpis    + itab_memoria-vlpis   .

      t_vlcofins = t_vlcofins + itab_memoria-vlcofins.

      t_vlbase   = t_vlbase   + itab_memoria-baseicms  .

      t_icmsdev  = t_icmsdev  + itab_memoria-vlicmsdev.

      t_vlicmsr  = t_vlicmsr  + itab_memoria-vlicms    .

    ENDLOOP.

    CLEAR itab_memoria.

    it_words-word = text-241.  APPEND it_words.

    it_words-word = text-242.  APPEND it_words.

    it_words-word = text-244.  APPEND it_words.

    it_words-word = text-245.  APPEND it_words.

    it_words-word = text-244.  APPEND it_words.

    LOOP AT itab_memoria1.

      CLEAR it_words.

      MOVE itab_memoria1 TO it_words.

      APPEND it_words.

    ENDLOOP.

    it_words-word = text-244.  APPEND it_words.

    CLEAR itab_memoria1.

    WRITE t_vl_aduan TO itab_memoria1-vl_aduan.

    MOVE itab_memoria1 TO it_words.

    APPEND it_words.

    CLEAR it_words. APPEND it_words.

    it_words-word = text-246.  APPEND it_words.

    it_words-word = text-247.  APPEND it_words.

    it_words-word = text-246.  APPEND it_words.

    LOOP AT itab_memoria2.

      CLEAR it_words.

      MOVE itab_memoria2 TO it_words.

      APPEND it_words.

    ENDLOOP.

    it_words-word = text-246.  APPEND it_words.

    CLEAR itab_memoria2.

    WRITE t_vlpis TO itab_memoria2-vlpis.

    WRITE t_vlcofins TO itab_memoria2-vlcofins.

    MOVE itab_memoria2 TO it_words.

    APPEND it_words.

    CLEAR it_words. APPEND it_words.

    it_words-word = text-243.  APPEND it_words.

    it_words-word = text-248.  APPEND it_words.

    it_words-word = text-249.  APPEND it_words.

    it_words-word = text-248.  APPEND it_words.

    LOOP AT itab_memoria3.

      CLEAR it_words.

      MOVE itab_memoria3 TO it_words.

      APPEND it_words.

    ENDLOOP.

    it_words-word = text-248.  APPEND it_words.

    CLEAR itab_memoria3.

    WRITE t_vlbase  TO itab_memoria3-baseicms   .

    WRITE t_icmsdev TO itab_memoria3-vlicmsdev.

    WRITE t_vlicmsr TO itab_memoria3-vlicms    .

    MOVE itab_memoria3 TO it_words.

    APPEND it_words.

    CLEAR it_words. APPEND it_words.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

    WHEN '0180'.

      CALL METHOD cl_gui_cfw=>dispatch.

      CASE sy-ucomm.

        WHEN 'FC_COM'.

          PERFORM call_text_select.

      ENDCASE.

    WHEN '0181'.

      CASE sy-ucomm.

        WHEN 'ENTE'.

          PERFORM fill_text_compl.

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

          LEAVE TO SCREEN 0.

* << Fim da inclusão

      ENDCASE.

    WHEN '0322'.

      CASE sy-ucomm.

        WHEN 'ENTE' OR 'FC_ESP'.

          GET CURSOR FIELD v_valor.

          IF v_valor = 'A_ESPE2' OR sy-ucomm = 'FC_ESP'.

            PERFORM text_edit_adespec.

          ENDIF.

      ENDCASE.

    WHEN '0360'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023TOP

 

...

 

DATA: BEGIN OF it_words OCCURS 0,

* >> Início da exclusão:

        word(50),

* << Fim da exclusão

* >> Início da inclusão:

        word(65),

* << Fim da inclusão

      END OF it_words.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

DATA: BEGIN OF itab_memoria OCCURS 0.

DATA: ebeln     LIKE itab_it-ebeln   ,

      ebelp     like itab_it-ebelp   ,

      adicao    like itab_it-adicao  ,

      vl_aduan  like t_ivadu         ,

      aliqii    like itab_it-advalii ,

      aliqipi   like itab_it-advalipi,

      aliqpis   like itab_it-advalpis,

      aliqcof   like itab_it-advalcofins,

      aliqicms  like itab_it-advalicms,

      vlcofins  like v_vlcofrec      ,

      vlpis     like v_vlpisrec      ,

      baseicms  like t_icmsbs        ,

      basred    like itab_it-basred  ,

      vlii      like v_vliirec       ,

      vlipi     like v_vlipirec      ,

      despii    like t_ivdesp        ,

      despicms  like t_ivdesp        ,

      vlicmsdev like t_icms          ,

      vlicms    like t_icms          .

DATA: END OF itab_memoria.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI023

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 241

 

Texto: (63 caracteres)

"Memória Cálculo conf.Art.2º Norma de Execução Coana nº.002/2005"

 

Comprimento máximo: 63

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 241

 

Texto: (63 caracteres)

"Memória Cálculo conf.Art.2º Norma de Execução Coana nº.002/2005"

 

Comprimento máximo: 63

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 241

 

Texto: (63 caracteres)

"Memória Cálculo conf.Art.2º Norma de Execução Coana nº.002/2005"

 

Comprimento máximo: 63

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 242

 

Texto: (58 caracteres)

"Demonstração Memória de Cálculo do PIS e Cofins por Adição"

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 242

 

Texto: (58 caracteres)

"Demonstração Memória de Cálculo do PIS e Cofins por Adição"

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 242

 

Texto: (58 caracteres)

"Demonstração Memória de Cálculo do PIS e Cofins por Adição"

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 243

 

Texto: (50 caracteres)

"Demonstração Memória de Cálculo do ICMS por Adição"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 243

 

Texto: (50 caracteres)

"Demonstração Memória de Cálculo do ICMS por Adição"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 243

 

Texto: (50 caracteres)

"Demonstração Memória de Cálculo do ICMS por Adição"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 244

 

Texto: (59 caracteres)

"+----+--------------+-------------+-----+-----+-----+-----+"

 

Comprimento máximo: 91

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 245

 

Texto: (58 caracteres)

"  AD     Vl.Aduan.     Desp         %II   %IPI  %PIS  %Cof"

 

Comprimento máximo: 90

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 246

 

Texto: (41 caracteres)

"+----+------+-------------+-------------+"

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 247

 

Texto: (37 caracteres)

"  AD   ICMS    Vl.Cofins       Vl.PIS"

 

Comprimento máximo: 39

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 248

 

Texto: (64 caracteres)

"+----+-------------+-----+------+---------------+--------------+"

 

Comprimento máximo: 64

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 249

 

Texto: (62 caracteres)

"  AD     Vl.Base    Aliq.  Red.     Vl.Devido      Vl.Recolher"

 

Comprimento máximo: 62

 

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

*Tradução

 

 

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 241

 

Texto: (63 caracteres)

"Memória Cálculo conf.Art.2º Norma de Execução Coana nº.002/2005"

 

Comprimento máximo: 63

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 242

 

Texto: (58 caracteres)

"Memória Cálculo conf.Art.2º Norma de Execução Coana nº.002"

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 243

 

Texto: (25 caracteres)

"Calc Buffer Demonstration"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 244

 

Texto: (59 caracteres)

"+----+--------------+-------------+-----+-----+-----+-----+"

 

Comprimento máximo: 59

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 245

 

Texto: (58 caracteres)

"  AD     Vl.Aduan.     Desp         %II   %IPI  %PIS  %Cof"

 

Comprimento máximo: 58

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 246

 

Texto: (41 caracteres)

"+----+------+-------------+-------------+"

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 247

 

Texto: (37 caracteres)

"  AD   ICMS    Vl.Cofins       Vl.PIS"

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 248

 

Texto: (64 caracteres)

"+----+-------------+-----+------+---------------+--------------+"

 

Comprimento máximo: 64

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 249

 

Texto: (62 caracteres)

"  AD     Vl.Base    Aliq.  Red.     Vl.Devido      Vl.Recolher"

 

Comprimento máximo: 62