CE PLUS - Nota 001940

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 16/08/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:09:21

Descrição da Nota: PERFORMANCE DA TRANSAÇÃO /PWS/ZYCI001_A ESTÁ CONSUMINDO MUITA MEMÓRIA.

Sintoma

Após análise, verificado que a performance da transação de modificar o embarque está consumindo

muita memória.Deixando lento.

 

 

Solução

analisar e alterar várias seleções de tabelas no programa de embarque.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ENTREPOSTO ADUANEIRO

PREENCHER O FABRICANTE DE ACORDO COM O INFORMADO NO PEDIDO DE COMPRAS

AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCADORIA

Informações Complementares

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

Nota Número 01940 Data: 16/08/2006 Hora: 10:10:40

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

 

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

Nota Número              : 01940

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00127

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

Referência às notas relacionadas:

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

 

00731  - 00001 - 6.0    - 00022  - PREENCHER O FABRICANTE DE ACORDO COM O INFORMADO NO PEDIDO DE COM

00774  - 00002 - 6.0    - 00022  - ENTREPOSTO ADUANEIRO

01417  - 00003 - 6.0    - 00023  - AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCA

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

PERFORMANCE DA TRANSAÇÃO /PWS/ZYCI001_A ESTÁ CONSUMINDO MUITA MEMÓRIA.

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

Palavras Chave:

PERFORMANCE - MEMÓRIA - EMBARQUE - /PWS/ZYCI001

CONSUMO DE MEMÓRIA

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F02

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

      EXIT.

    ELSE.

      CLEAR /pws/zycit013.

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit013.

      MODIFY /pws/zycit013.

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

    ENDIF.

  ENDLOOP.

* << Fim da inclusão

      MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

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

    ENDIF.

  ENDLOOP.

* << Fim da exclusão

  IF NOT v_sair IS INITIAL.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit003_aux2.

    CLEAR itab_zycit003.

...

 

...

  IF sy-subrc = 0.

    SELECT SINGLE * FROM /pws/zycit093 INTO /pws/zycit093

      WHERE nrseqce = /pws/zycit094-nrseqce.

    IF sy-subrc = 0.

      /pws/zycit093-meiotransp = /pws/zycie001-meioemba.

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

      IF /pws/zycit000 IS INITIAL.

* << Fim da inclusão

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

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

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

      ENDIF.

* << Fim da inclusão

      IF /pws/zycit000-flagbl IS INITIAL.

        /pws/zycit093-paemb      = /pws/zycit001-paorigem.

        /pws/zycit093-padest     = /pws/zycit001-padest.

        /pws/zycit093-paispae    = /pws/zycit001-paispao.

      ENDIF.

      MODIFY /pws/zycit093.

    ENDIF.

  ENDIF.

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

  IF NOT /pws/zycie356 IS INITIAL.

* << Fim da inclusão

  MODIFY /pws/zycit356 FROM /pws/zycie356.

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

  ENDIF.

* << Fim da inclusão

  IF /pws/zycie001-regime EQ '14' OR /pws/zycie001-regime EQ '16'.

...

 

...

  ENDIF.

ENDFORM.

FORM verifica_itens.

  DATA:

    v_existe_bl ,

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

    v_ebelp      LIKE konv-kposn,

    itab_zycit100_per LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.

* << Fim da exclusão

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

    v_ebelp      LIKE konv-kposn.

* << Fim da inclusão

  IF ( sy-tcode = '/PWS/ZYCI001_E' OR

       sy-tcode = '/PWS/ZYCI001_A' ) AND

     ( okcode = 'P-' OR okcode = 'P--' OR

       okcode = 'P+' OR okcode = 'P++' ).

  ELSEIF okcode EQ 'PED' OR okcode EQ 'ENTE' OR okcode EQ 'SAVE' OR

...

 

...

                OTHERS       = 1.

      READ TABLE itab_komk_aux WITH KEY knumv = itab_komk-knumv.

      itab_komv-ebeln = itab_komk_aux-ebeln.

      MODIFY itab_komv TRANSPORTING ebeln

        WHERE knumv = itab_komk-knumv.

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

    ENDLOOP.

    IF NOT itab_komv[] IS INITIAL.

      SELECT * FROM konp INTO TABLE itab_komp

         FOR ALL ENTRIES IN itab_komv WHERE

          knumh = itab_komv-knumh AND

          kopos = itab_komv-kopos.

      IF sy-subrc EQ 0.

        SORT itab_komp BY knumh kopos loevm_ko.

        LOOP AT itab_komv.

          v_index =  sy-tabix.

          READ TABLE itab_komp WITH KEY knumh =  itab_komv-knumh

                                        kopos =  itab_komv-kopos.

          IF sy-subrc EQ 0.

            IF itab_komp-loevm_ko EQ 'X'.

            ENDIF.

          ENDIF.

* << Fim da exclusão

        ENDLOOP.

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

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

    SELECT SINGLE * FROM /pws/zycit031

      WHERE inco1 = /pws/zycie001-inco1

        AND land1 EQ t001-land1.

    SELECT * FROM /pws/zycit030

...

 

...

      ENDIF.

      PERFORM: aplicacao.

      PERFORM verifica_taxa.

      MODIFY itab_zycit003.

    ENDLOOP.

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

    IF /pws/zycit094 IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycit094

      WHERE nrseq = /pws/zycie001-nrseq.

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

    IF sy-subrc = 0.

* << Fim da exclusão

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

    ENDIF.

    IF NOT /pws/zycit094 IS INITIAL.

      IF /pws/zycit093 IS INITIAL.

* << Fim da inclusão

      SELECT SINGLE * FROM /pws/zycit093

        WHERE nrseqce = /pws/zycit094-nrseqce.

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

      IF sy-subrc = 0.

* << Fim da exclusão

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

      ENDIF.

      IF NOT /pws/zycit093 IS INITIAL.

* << Fim da inclusão

        CLEAR v_tot_ntgew.

        LOOP AT itab_zycit003.

          v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.

        ENDLOOP.

        IF v_tot_ntgew > /pws/zycit093-brgew.

...

 

...

    /pws/zycie001-waers = /pws/zycbt007-waersa.

    IF /pws/zycbt007-waersa IS INITIAL.

      MESSAGE e015 WITH text-213.

    ENDIF.

  ENDIF.

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

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT *

      FROM /pws/zycit100

      INTO TABLE itab_zycit100_per

      FOR ALL ENTRIES IN itab_zycit003

      WHERE nrseq = itab_zycit003-nrseq

        AND ebeln = itab_zycit003-ebeln

        AND ebelp = itab_zycit003-ebelp.

  ENDIF.

* << Fim da exclusão

  LOOP AT itab_zycit003.

    v_tabix = sy-tabix.

    IF v_waers_diferente = 'X'.

      PERFORM busca_taxa_dia USING itab_zycit003-waers

                             CHANGING v_taxa .

...

 

...

    /pws/zycie001-netpr = /pws/zycie001-netpr + v_netpr.

    IF /pws/zycie001-netpr < 0.

      CLEAR /pws/zycie001-netpr.

      MESSAGE e061 WITH text-235 text-236.

    ENDIF.

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

    IF itab_zycit003-tpnf IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE j_1bmatuse INTO ekpo-j_1bmatuse

             FROM ekpo

            WHERE ebeln EQ itab_zycit003-ebeln

              AND ebelp EQ itab_zycit003-ebelp.

    SELECT SINGLE tpnf tpnf_ld tpnf_db tpnf_icms INTO

    CORRESPONDING FIELDS OF /pws/zycit012

             FROM /pws/zycit012

             WHERE j_1bmatuse EQ ekpo-j_1bmatuse.

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

    READ TABLE itab_zycit100_per WITH KEY nrseq = itab_zycit003-nrseq

                                          ebeln = itab_zycit003-ebeln

                                          ebelp = itab_zycit003-ebelp.

    IF itab_zycit003-tpnf IS INITIAL.

* << Fim da exclusão

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit003-nrseq

                                        ebeln = itab_zycit003-ebeln

                                        ebelp = itab_zycit003-ebelp.

      IF sy-subrc EQ 0.

        IF NOT itab_zycit003-nrseqd IS INITIAL

...

 

...

    ENDIF.

    PERFORM recuperando_itens.

  ELSE.

    MESSAGE i015 WITH text-026.

  ENDIF.

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

  REFRESH itab_zycit100.

  CLEAR: /pws/zycit085.

* << Fim da inclusão

ENDFORM.

FORM call_fatura.

  DATA v_nrseq_pgfat LIKE /pws/zycie006-nrseq_pgfat.

  DATA: v_flag_loop,

       e_status.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F02

 

...

  i_nrseq = /pws/zycie001-nrseq.

  SET PARAMETER ID '/PWS/ZYCIP001' FIELD i_nrseq.

  SUBMIT /pws/zycir012 AND RETURN.

ENDFORM.

FORM call_bt.

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

  SELECT SINGLE nrseqdi FROM /pws/zycit100

         INTO v_nrseqdi

         WHERE nrseq = /pws/zycie001-nrseq.

* << Fim da exclusão

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

  READ TABLE itab_zycit100 INDEX 1.

  v_nrseqdi = itab_zycit100-nrseqdi.

  IF /pws/zycit085 IS INITIAL.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit085

      WHERE nrseqdi = v_nrseqdi.

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

  ENDIF.

* << Fim da inclusão

  IF sy-subrc = 0.

    IF sy-tcode EQ '/PWS/ZYCI001_C'.

      SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit085-nrseqdi.

      SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit085-identify.

      PERFORM valida_trans USING '/PWS/ZYCI017_C' 'skip'.

...

 

...

  IF sy-subrc = 0.

    IF NOT txt_item[] IS INITIAL.

      READ TABLE txt_item INDEX 1.

      itab_zycit003-descr = txt_item-tdline(40).

    ENDIF.

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

  ELSE.

* << Fim da exclusão

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

  ELSEIF itab_zycit003-descr IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE * FROM ekpo INTO wa_ekpo

      WHERE ebeln = itab_zycit003-ebeln AND

            ebelp = itab_zycit003-ebelp.

    MOVE wa_ekpo-txz01 TO itab_zycit003-descr.

  ENDIF.

...

 

...

  IF /pws/zycie001-tpdecl IS INITIAL.

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycit094 WHERE nrseq = /pws/zycie001-nrseq.

  IF sy-subrc EQ 0.

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

    IF /pws/zycit085 IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycit085

    WHERE nrbl = /pws/zycit094-nrseqce.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      v_nrseqdi = /pws/zycit085-nrseqdi.

      SET PARAMETER ID '/PWS/ZYCIP085' FIELD v_nrseqdi.

      EXPORT v_nrseqdi TO MEMORY ID rimc1.

      IF /pws/zycie001-tpdecl = 'DSI'.

...

 

...

        v_dtsaidaarm  LIKE /pws/zycie055-dtsaidaarm,

        v_dtdef       LIKE /pws/zycie078-dtdef,

        v_nrseqli     LIKE /pws/zycie078-nrseqli.

  itab_zycit003-dtremessa = itab_zycit003_aux-dtremessa.

  itab_zycit003-dtprovent = itab_zycit003-dtremessa.

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

  .

* << Fim da inclusão

  IF NOT itab_zycit390[] IS INITIAL.

    IF NOT itab_zycit003-dtalocprod IS INITIAL.

     LOOP AT itab_zycit390 WHERE evento1    = '02'                  AND

                                 evento2    = '03'                  AND

                                 emb       = /pws/zycie001-meioemba AND

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit390[] IS INITIAL.

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

    SELECT SINGLE nrseqce FROM /pws/zycit094

    INTO v_nrseqce

    WHERE nrseq = /pws/zycie001-nrseq.

    IF NOT v_nrseqce IS INITIAL.

      SELECT SINGLE dt_carga FROM /pws/zycit093

      INTO v_dtcarga

      WHERE nrseqce = v_nrseqce.

* << Fim da exclusão

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

    v_nrseqce = /pws/zycit094-nrseqce.

    v_dtcarga = /pws/zycit093-dt_carga.

* << Fim da inclusão

      IF NOT v_dtcarga IS INITIAL.

        LOOP AT itab_zycit390

                    WHERE evento1 = '08' AND

                    evento2 = '03' AND

                    emb = /pws/zycie001-meioemba AND

...

 

...

          v_dtverif = itab_zycit003-dtprovent - itab_zycit390-periodo.

        ENDLOOP.

        IF v_dtverif <> v_dtcarga.

          itab_zycit003-dtprovent = v_dtcarga +

                      itab_zycit390-periodo.

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

        ENDIF.

* << Fim da exclusão

      ENDIF.

    ENDIF.

  ELSE.

    IF NOT itab_zycit390[] IS INITIAL.

      SELECT SINGLE nrseqce FROM /pws/zycit094

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit390[] IS INITIAL.

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

    SELECT SINGLE nrseqdi FROM /pws/zycit100

    INTO v_nrseqdi1

    WHERE nrseq = /pws/zycie001-nrseq.

    IF NOT v_nrseqdi1 IS INITIAL.

      SELECT SINGLE dtreg FROM /pws/zycit085

      INTO v_dtreg

      WHERE nrseqdi = v_nrseqdi1.

* << Fim da exclusão

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

      v_dtreg = /pws/zycit085-dtreg.

* << Fim da inclusão

      IF NOT v_dtreg IS INITIAL.

        LOOP AT itab_zycit390

                        WHERE evento1 = '09' AND

                        evento2 = '03' AND

                        emb = /pws/zycie001-meioemba AND

...

 

...

        IF v_dtverif <> v_dtreg.

          itab_zycit003-dtprovent = v_dtreg +

                      itab_zycit390-periodo.

        ENDIF.

      ENDIF.

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

    ENDIF.

* << Fim da exclusão

  ELSE.

    IF NOT itab_zycit390[] IS INITIAL.

      SELECT SINGLE nrseqdi FROM /pws/zycit100

      INTO v_nrseqdi1

      WHERE nrseq = /pws/zycie001-nrseq.

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit390[] IS INITIAL.

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

    SELECT SINGLE nrseqdi FROM /pws/zycit100

    INTO v_nrseqdi1

    WHERE nrseq = /pws/zycie001-nrseq.

    IF NOT v_nrseqdi1 IS INITIAL.

      SELECT SINGLE dataci FROM /pws/zycit085

      INTO v_dataci

      WHERE nrseqdi = v_nrseqdi1.

* << Fim da exclusão

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

      v_dataci = /pws/zycit085-dataci.

* << Fim da inclusão

      IF NOT v_dataci IS INITIAL.

        LOOP AT itab_zycit390

                          WHERE evento1 = '10' AND

                          evento2 = '03' AND

                          emb = /pws/zycie001-meioemba AND

...

 

...

          v_dtverif = itab_zycit003-dtprovent - itab_zycit390-periodo.

        ENDLOOP.

        IF v_dtverif <> v_dataci.

          itab_zycit003-dtprovent = v_dataci +

                      itab_zycit390-periodo.

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

        ENDIF.

* << Fim da exclusão

      ENDIF.

    ENDIF.

  ELSE.

    IF NOT itab_zycit390[] IS INITIAL.

      SELECT SINGLE nrseqdi FROM /pws/zycit100

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit390[] IS INITIAL.

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

    SELECT SINGLE nrseqce FROM /pws/zycit094

    INTO v_nrseqce

    WHERE nrseq = /pws/zycie001-nrseq.

    IF NOT v_nrseqce IS INITIAL.

      SELECT SINGLE dtsaidaarm FROM /pws/zycit055

      INTO v_dtsaidaarm

      WHERE nrseq = v_nrseqce.

* << Fim da exclusão

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

    v_dtsaidaarm = /pws/zycit055-dtsaidaarm.

* << Fim da inclusão

      IF NOT v_dtsaidaarm IS INITIAL.

        LOOP AT itab_zycit390

                          WHERE evento1 = '12' AND

                          evento2 = '03' AND

                          emb = /pws/zycie001-meioemba AND

...

 

...

        IF v_dtverif <> v_dtsaidaarm.

          itab_zycit003-dtprovent = v_dtsaidaarm +

                      itab_zycit390-periodo.

        ENDIF.

      ENDIF.

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

    ENDIF.

* << Fim da exclusão

  ELSE.

    IF NOT itab_zycit390[] IS INITIAL.

      SELECT SINGLE nrseqce FROM /pws/zycit094

      INTO v_nrseqce

      WHERE nrseq = /pws/zycie001-nrseq.

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit390[] IS INITIAL.

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

    SELECT SINGLE nrseqli FROM /pws/zycit079

    INTO v_nrseqli

    WHERE nrseq = /pws/zycie001-nrseq.

    IF NOT v_nrseqli IS INITIAL.

* << Fim da exclusão

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

    IF NOT itab_zycit003-nrseqli IS INITIAL.

* << Fim da inclusão

      SELECT SINGLE dtdef FROM /pws/zycit078

      INTO v_dtdef

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

      WHERE nrseqli = v_nrseqli.

* << Fim da exclusão

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

      WHERE nrseqli = itab_zycit003-nrseqli.

* << Fim da inclusão

      IF NOT v_dtdef IS INITIAL.

        LOOP AT itab_zycit390

                            WHERE evento1 = '13' AND

                            evento2 = '03' AND

                            emb = /pws/zycie001-meioemba AND

...

 

...

         FROM j_1bbranch

         INTO (v_descrimp)

         WHERE bukrs = /pws/zycie001-bukrs

           AND branch = /pws/zycie001-j_1bbranch.

  CLEAR: itab_zycbt031, v_modemb.

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

  IF NOT itab_zycit003[] IS INITIAL.

* << Fim da exclusão

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

  IF NOT itab_zycit003[] IS INITIAL AND

     itab_zycbt031[] IS INITIAL.

* << Fim da inclusão

    SELECT  * FROM /pws/zycbt031 INTO TABLE itab_zycbt031

                  FOR ALL ENTRIES IN itab_zycit003

                  WHERE nrcorresp = itab_zycit003-nrseq_pgfat

                    AND statusp NE 'E'.

    IF sy-subrc = 0.

...

 

...

                             tipo.

  SORT itab_zycit125 BY tipo lifnr.

ENDFORM.

FORM seleciona_nf.

  SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042_d

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

         FOR ALL ENTRIES IN itab_zycit003

         WHERE nrseq EQ itab_zycit003-nrseq

           AND ebeln EQ itab_zycit003-ebeln

           AND ebelp EQ itab_zycit003-ebelp.

* << Fim da exclusão

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

         WHERE nrseq EQ /pws/zycie001-nrseq.

* << Fim da inclusão

  IF sy-subrc EQ 0 .

    LOOP AT itab_zycit042_d.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit042_d-nrseq

                                        ebeln = itab_zycit042_d-ebeln

                                        ebelp = itab_zycit042_d-ebelp.

...

 

...

  ELSE.

    CLEAR v_nf.

  ENDIF.

ENDFORM.

FORM seleciona_bl.

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

  IF itab_zycit094[] IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

  FOR ALL ENTRIES IN itab_zycit003

  WHERE nrseq EQ itab_zycit003-nrseq.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM seleciona_di.

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

  IF NOT itab_zycit100[] IS INITIAL.

    EXIT.

  ENDIF.

* << Fim da inclusão

  SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100

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

  FOR ALL ENTRIES IN itab_zycit003

  WHERE nrseq EQ itab_zycit003-nrseq.

* << Fim da exclusão

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

  WHERE nrseq EQ /pws/zycie001-nrseq.

* << Fim da inclusão

  IF sy-subrc EQ 0.

    v_di = 'S'.

  ELSE.

    CLEAR v_di.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM carrega_fabric.

  IF NOT itab_zycit003[] IS INITIAL.

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

    LOOP AT itab_zycit003.

      READ TABLE itab_fabric WITH KEY

          ebeln = itab_zycit003-ebeln

          ebelp = itab_zycit003-ebelp.

      IF sy-subrc NE 0.

* << Fim da inclusão

    SELECT ebeln ebelp mfrnr FROM ekpo

    INTO TABLE itab_fabric

    FOR ALL ENTRIES IN itab_zycit003

    WHERE ebeln EQ itab_zycit003-ebeln

    AND   ebelp EQ itab_zycit003-ebelp.

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

        EXIT.

* << Fim da inclusão

  ENDIF.

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

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM call_da.

  EXPORT /pws/zycie001-nrseq TO MEMORY ID rimc7.

  LOOP AT itab_zycit003.

    v_qtd_iten = itab_zycit003-qtd_iten.

...

 

...

          screen-input = '0'.

        ENDIF.

        MODIFY SCREEN.

      ENDIF.

      IF screen-name = '/PWS/ZYCIE001-MEIOEMBA'.

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

        IF NOT /pws/zycie001-nrseq IS INITIAL.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit094

          WHERE nrseq = /pws/zycie001-nrseq.

        IF sy-subrc = 0 AND NOT /pws/zycie001-nrseq IS INITIAL.

          screen-input = 0.

          MODIFY SCREEN.

        ELSE.

          screen-input = 1.

          MODIFY SCREEN.

        ENDIF.

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

        ENDIF.

* << Fim da inclusão

        IF /pws/zycie001-regime EQ '14' .

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

...

 

...

      ENDIF.

    ELSE.

      IF screen-name EQ '/PWS/ZYCIE001-PAORIGEM' OR

         screen-name EQ '/PWS/ZYCIE001-PAISPAO'  OR

         screen-name EQ '/PWS/ZYCIE001-PADEST'.

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

        IF NOT /pws/zycie001-nrseq IS INITIAL.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit094

          WHERE nrseq = /pws/zycie001-nrseq.

        IF sy-subrc NE 0.

          IF v_status_s = 1.

            screen-input = 1.

...

 

...

            screen-input = 0.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    IF screen-name = '/PWS/ZYCIE001-EMBARCA'.

      IF v_status_s = '1'.

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

        IF NOT /pws/zycie001-nrseq IS INITIAL.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit094

          WHERE nrseq = /pws/zycie001-nrseq.

        IF sy-subrc NE 0 OR /pws/zycie001-nrseq IS INITIAL.

          screen-input = 1.

          MODIFY SCREEN.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

    IF screen-name = '/PWS/ZYCIE001-DT_ENT_DE' OR

       screen-name = '/PWS/ZYCIE001-DT_ENT_ATE'.

...

 

...

           itab_zycit443-qtd_da ) * /pws/zycie003-qtd_iten.

ENDFORM.

FORM carrega_instrucao.

  REFRESH itab_zycit003_aux.

  MOVE itab_zycit003[] TO itab_zycit003_aux[].

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

  IF v_canal IS INITIAL.

* << Fim da inclusão

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

  SELECT SINGLE nrseqdi

  FROM /pws/zycit100

  INTO v_nrseqdi

  WHERE nrseq = /pws/zycie001-nrseq.

* << Fim da exclusão

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

    IF v_nrseqdi IS INITIAL.

      READ TABLE itab_zycit100 INDEX 1.

      v_nrseqdi = itab_zycit100-nrseqdi.

    ENDIF.

* << Fim da inclusão

  IF NOT v_nrseqdi IS INITIAL.

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

    SELECT SINGLE canal

    FROM /pws/zycit085

    INTO v_canal

    WHERE nrseqdi = v_nrseqdi.

* << Fim da exclusão

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

      IF /pws/zycit085 IS INITIAL.

        SELECT SINGLE * FROM /pws/zycit085 WHERE nrseqdi = v_nrseqdi.

      ENDIF.

      v_canal = /pws/zycit085-canal.

* << Fim da inclusão

  ENDIF.

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

  ENDIF.

  IF v_cotne IS INITIAL AND

    NOT /pws/zycie001-paispao IS INITIAL.

* << Fim da inclusão

  SELECT SINGLE /pws/cotne

  FROM t005

  INTO v_cotne

  WHERE land1 = /pws/zycie001-paispao.

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

  ENDIF.

  IF itab_zycit390[] IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycit390

  INTO TABLE itab_zycit390.

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

  ENDIF.

  IF NOT /pws/zycie001-nrseq IS INITIAL.

    IF /pws/zycit094 IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit094

      WHERE nrseq = /pws/zycie001-nrseq.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycit094-nrseqce IS INITIAL.

    IF /pws/zycit055 IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit055

      WHERE nrseq = /pws/zycit094-nrseqce.

    ENDIF.

    SELECT SINGLE * FROM /pws/zycit093

      WHERE nrseqce = /pws/zycit094-nrseqce.

  ENDIF.

  READ TABLE itab_zycit100 INDEX 1.

  IF /pws/zycit085 IS INITIAL AND sy-subrc EQ 0.

    SELECT SINGLE * FROM /pws/zycit085

    WHERE nrseqdi = itab_zycit100-nrseqdi.

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zycit003.

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

    IF itab_zycit003-dtremessa IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE eindt

    FROM eket

    INTO itab_zycit003_aux-dtremessa

    WHERE ebeln = itab_zycit003-ebeln AND

          ebelp = itab_zycit003-ebelp.

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

    ENDIF.

* << Fim da inclusão

    PERFORM verif_dtproventrega.

    MODIFY itab_zycit003.

    CLEAR itab_zycit003.

  ENDLOOP.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

        CLEAR okcode.

      ENDIF.

  ENDCASE.

ENDMODULE.

MODULE authority_empresa INPUT.

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

  IF sy-tcode EQ '/PWS/ZYCI001_C'

      AND NOT /pws/zycie442-bukrs IS INITIAL.

* << Fim da exclusão

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

  IF sy-tcode EQ '/PWS/ZYCI001_C'.

* << Fim da inclusão

    AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                        DUMMY

                                        ID 'ACTVT' FIELD '01'.

    IF sy-subrc NE 0.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

...

  ELSEIF sy-tcode EQ '/PWS/ZYCI001_E'.

    SET TITLEBAR '0100B'.

  ENDIF.

ENDMODULE.

MODULE set_screen OUTPUT.

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

  IF /pws/zycit000 IS INITIAL.

* << Fim da inclusão

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

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

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

* << Fim da exclusão

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

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

  ENDIF.

* << Fim da inclusão

  CASE sy-dynnr.

    WHEN '0100' OR '0101'.

      PERFORM trata_screen_0101.

    WHEN '0102'.

      PERFORM trata_screen_0102.

...

 

...

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

  CLEAR: v_qtditen.

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

  IF NOT itab_zycit374[] IS INITIAL AND

         itab_zycit396_aux1[] IS INITIAL.

    SELECT * FROM /pws/zycit396 INTO TABLE itab_zycit396_aux1

    FOR ALL ENTRIES IN itab_zycit374

    WHERE nrseq = itab_zycit374-nrseq AND

          ebelp = itab_zycit374-ebelp AND

          ebeln = itab_zycit374-ebeln.

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zycit374.

    v_idx374 = sy-tabix.

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

    SELECT * FROM /pws/zycit396 INTO TABLE itab_zycit396_aux1

* << Fim da exclusão

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

    LOOP AT itab_zycit396_aux1

* << Fim da inclusão

    WHERE nrseq = itab_zycit374-nrseq AND

          ebelp = itab_zycit374-ebelp AND

          ebeln = itab_zycit374-ebeln.

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

    LOOP AT itab_zycit396_aux1.

* << Fim da exclusão

      v_qtditen = v_qtditen + itab_zycit396_aux1-qtd_baixa.

    ENDLOOP.

    itab_zycit374-qtd_baixa = v_qtditen.

    MODIFY itab_zycit374 INDEX v_idx374.

    CLEAR:itab_zycit396_aux1, v_qtditen.

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

    REFRESH: itab_zycit396_aux1.

* << Fim da exclusão

  ENDLOOP.

ENDMODULE.

MODULE move_dados OUTPUT.

  READ TABLE itab_zycit374 WITH KEY mark = 'X'.

  IF sy-subrc = 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001TOP

 

...

  indx,

  /pws/zycie133a,

  /pws/zycit041 ,

  /pws/zycit042 ,

  /pws/zycie042 ,

* >> Início da inclusão:

  /pws/zycit055 ,

* << Fim da inclusão

  /pws/zycit079 ,

  /pws/zycie079 ,

  /pws/zycit078 ,

  /pws/zycie078 ,

  /pws/zycit080 ,

...