CE PLUS - Nota 009475

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 11/08/2014 09:17:17

Data/Hora Última Alteração: 11/08/2014 09:17:17

Descrição da Nota: NECESSÁRIO ALTERAÇÕES PARA ATENDER VÁRIOS NVES PARA UM ITEM.

Sintoma

Necessário alterações para atender vários NVEs para um item.

 

 

Solução

Fazer alterações para atender vários NVEs para um item.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO PARA PREENCHIMENTO AUTOMÁTICO DE NÍVEL NVE

BUSCAR EXERCÍCIO PRESTAÇÃO DE CONTAS

Informações Complementares

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

Nota Número 09475 Data: 27/11/2009 Hora: 14:44:07

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

 

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

Nota Número              : 09475

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

08691  - 00001 - 7.0    - 00010  - BUSCAR EXERCÍCIO PRESTAÇÃO DE CONTAS

08696  - 00002 - 7.0    - 00010  - TRATAMENTO PARA PREENCHIMENTO AUTOMÁTICO DE NÍVEL NVE

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

NECESSÁRIO ALTERAÇÕES PARA ATENDER VÁRIOS NVES PARA UM ITEM.

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

Palavras Chave:

NVE - DI

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI001                        0405

 

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F02

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001TOP

REPS /PWS/MZYCI001X01

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023O01

REPS /PWS/MZYCI023X01

TABD /PWS/ZYCIT501

TABD /PWS/ZYCIT503

TABL /PWS/ZYCIT503

 

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT501

 

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT501

 

*CAMPOS ALTERADOS: INCLUÍDO TABELA DE VERIFICAÇÃO (ACEITAR PROPOSTA)

 

 

*Chave externa

 

Nome de campo      STEUC

Tabela verificação /PWS/ZYCIT195

 

CAMPOS:         TP. CAMPO      CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

STEUC           STEUC           X       /PWS/ZYCIT195

 

Tabela chave externa Cpo.chave externa Tab.verif.    Nome de campo

 

/PWS/ZYCIT501        MANDT             /PWS/ZYCIT195 MANDT

/PWS/ZYCIT501        STEUC             /PWS/ZYCIT195 STEUC

/PWS/ZYCIT501        ATRIBUTO          /PWS/ZYCIT195 ATRIBUTO

 

 

*Chave externa

 

Nome de campo      ESPECIFICACAO

Tabela verificação /PWS/ZYCIT196

 

CAMPOS:         TP. CAMPO      CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

ESPECIFICACAO   /PWS/ZYCIL349   X       /PWS/ZYCIT196

 

 

Tabela chave externa Cpo.chave externa Tab.verif.    Nome de campo

 

/PWS/ZYCIT501        MANDT             /PWS/ZYCIT196 MANDT

/PWS/ZYCIT501        STEUC             /PWS/ZYCIT196 STEUC

/PWS/ZYCIT501        ATRIBUTO          /PWS/ZYCIT196 ATRIBUTO

/PWS/ZYCIT501        ESPECIFICACAO     /PWS/ZYCIT196 ESPECIFICACAO

 

 

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

Modificações efetuadas em FUGR /PWS/ZYCIT501

 

*GERAR VISÃO DE ATUALIZAÇÃO DE TABELA NOVAMENTE

 

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

Modificações efetuadas em TABD /PWS/ZYCIT503

 

*Tabela /PWS/ZYCIT503 criada

 

 

MODIFICAR TABELA TRANSPARENTE:  /PWS/ZYCIT503

DESCRIÇÃO BREVE: CI - Itens NVE Embarque

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela transparente

CLASSE DE ENTREGA:   A - Tabela de aplicação (dados mestre e de movimento)

(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

 

CAMPOS NOVOS

 

 

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

 

MANDT         X   MANDT         T000         CLNT     3

NRSEQ         X   /PWS/ZYCIL001              CHAR    10

EBELN         X   EBELN                      CHAR    10

EBELP         X   EBELP                      NUMC     5

J_1BNBM       X   J_1BNBMCO1                 CHAR    16

MATNR         X   MATNR                      CHAR    18

NIVEL_NVE     X   /PWS/ZYCIL271              CHAR     1

ATRIBUTO_NVE  X   /PWS/ZYCIL348              CHAR     2

ESPECIF_NVE   X   /PWS/ZYCIL349              CHAR     4

DESC_NVE          /PWS/ZYCIL165              CHAR   120

 

 

 

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0 - Dados mestre, tabelas transparentes

CATEGOR. TAMANHO: 0  - Registros dados esperados: 0 Até 3.200

 

(x) - AR. BUFFER NÃO PERMITIDO

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI001                        0405

 

*Modificada Layout da tela 0405.

 

O Download das telas encontra-se disponível no link abaixo

 

http://produtos.sondait.com.br/home/PW.CE/Notas/

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

    DELETE itab_zycit003 WHERE qtd_iten EQ '0'.

  ENDIF.

  LOOP AT itab_zycit003.

    itab_zycit003-nrseq = /pws/zycie001-nrseq.

    IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.

      CLEAR /pws/zycit013.

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit013.

      MODIFY /pws/zycit013.

    ENDIF.

  ENDLOOP.

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

  DELETE FROM /pws/zycit503 WHERE nrseq = /pws/zycie001-nrseq.

  MODIFY /pws/zycit503 FROM TABLE itab_zycit503.

* << Fim da inclusão

  IF v_sair NE 'X'.

    LOOP AT itab_zycit003.

      itab_zycit003-nrseq = /pws/zycie001-nrseq.

      MODIFY itab_zycit003 INDEX sy-tabix.

    ENDLOOP.

    MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

  ELSE.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit467_del.

...

 

...

 

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

  SELECT * FROM /pws/zycit503 INTO TABLE itab_zycit503

  WHERE nrseq EQ /pws/zycie001-nrseq.

* << Fim da inclusão

ENDFORM.

...

 

...

        IF t001-land1 EQ 'BR'.

          SELECT SINGLE steuc FROM marc INTO itab_zycit003-j_1bnbm

               WHERE  matnr = itab_zycit003-matnr.

        ELSE.

          SELECT SINGLE steuc FROM marc INTO itab_zycit003-j_1bnbm

               WHERE  matnr = itab_zycit003-matnr

                 AND  werks = ekpo-werks.

        ENDIF.

      ENDIF.

      PERFORM carrega_nve USING    itab_itens-matnr

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

                                   itab_zycit003-j_1bnbm

                          CHANGING itab_zycit003-nivel_nve

                                   itab_zycit003-atributo_nve

                                   itab_zycit003-especif_nve

                                   itab_zycit003-desc_nve .

* << Fim da exclusão

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

                                   itab_zycit003-j_1bnbm.

* << Fim da inclusão

      APPEND itab_zycit003.

    ENDIF.

  ENDLOOP.

  IF sy-tcode NE '/PWS/ZYCI001_E'.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F02

 

...

 

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

    PERFORM carrega_nve_item.

* << Fim da inclusão

    CALL SCREEN '0400'.

  ENDIF.

ENDFORM.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

              ENDIF.

              READ TABLE itab_zycit396 WITH KEY

              ebeln = itab_zycit003-ebeln

              ebelp = itab_zycit003-ebelp.

              IF sy-subrc = 0.

                DELETE itab_zycit396 WHERE

                ebeln = itab_zycit003-ebeln AND

                ebelp = itab_zycit003-ebelp.

              ENDIF.

            ENDIF.

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

            DELETE itab_zycit503 WHERE ebeln EQ itab_zycit003-ebeln

            AND ebelp EQ itab_zycit003-ebelp.

* << Fim da inclusão

            DELETE itab_zycit003 INDEX v_tabix.

            IF itab_zycit003[] IS INITIAL.

              /pws/zycie001-werks = ''.

            ENDIF.

          ELSE.

            READ TABLE itab_zycit006 WITH KEY

               nrseq_pgfat = itab_zycit263-nrseq_pgfat

               eliminado   = space .

            IF sy-subrc EQ 0 .

              MESSAGE w015 WITH text-043.

...

 

...

 

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

FORM carrega_nve USING    p_matnr

                          p_ncm

                 CHANGING p_nivel_nve

                          p_atributo_nve

                          p_especif_nve

                          p_descr.

 

  SELECT SINGLE atributo especificacao nivel descricao

  FROM /pws/zycit501

  INTO (p_atributo_nve , p_especif_nve , p_nivel_nve , p_descr)

  WHERE matnr EQ p_matnr

  AND   steuc EQ p_ncm.

 

  IF sy-subrc NE 0.

    SELECT SINGLE  atributo nivel descricao

    FROM /pws/zycit195

    INTO (p_atributo_nve , p_nivel_nve , p_descr)

    WHERE  steuc EQ p_ncm.

    IF sy-subrc EQ 0.

      SELECT SINGLE especificacao FROM /pws/zycit196

      INTO p_especif_nve

      WHERE  steuc EQ p_ncm

      AND  atributo EQ p_atributo_nve.

    ENDIF.

  ENDIF.

ENDFORM.                    " carrega_nve

* << Fim da exclusão

 

 

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

FORM carrega_nve USING    p_matnr

                          p_ncm.

  DATA: BEGIN OF itab_zycit501 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit501.

  DATA: END OF itab_zycit501.

 

  DATA: BEGIN OF itab_zycit196 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit196.

  DATA: END OF itab_zycit196.

 

  DATA: BEGIN OF itab_zycit195 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit195.

  DATA: END OF itab_zycit195.

 

  SELECT * FROM /pws/zycit501

  INTO TABLE itab_zycit501

  WHERE matnr EQ p_matnr

  AND   steuc EQ p_ncm.

  IF sy-subrc NE 0.

    SELECT * FROM /pws/zycit195

    INTO TABLE itab_zycit195

    WHERE  steuc EQ p_ncm.

    IF sy-subrc EQ 0.

      SELECT * FROM /pws/zycit196

      INTO TABLE itab_zycit196

      FOR ALL ENTRIES IN itab_zycit195

      WHERE  steuc EQ itab_zycit195-steuc

      AND  atributo EQ itab_zycit195-atributo.

 

      LOOP AT itab_zycit195.

        itab_zycit503-nrseq  = /pws/zycie001-nrseq.

        itab_zycit503-ebeln  = itab_zycit003-ebeln.

        itab_zycit503-ebelp  = itab_zycit003-ebelp.

        itab_zycit503-matnr  = itab_zycit003-matnr.

        itab_zycit503-j_1bnbm = itab_zycit003-j_1bnbm.

        itab_zycit503-nivel_nve    = itab_zycit195-nivel    .

        itab_zycit503-atributo_nve = itab_zycit195-atributo .

        itab_zycit503-desc_nve     = itab_zycit195-descricao  .

        READ TABLE itab_zycit196 WITH KEY

                      steuc    = itab_zycit195-steuc

                      atributo = itab_zycit195-atributo.

        IF sy-subrc EQ 0.

          itab_zycit503-especif_nve  = itab_zycit196-especificacao.

        ENDIF.

        APPEND itab_zycit503.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycit501.

      itab_zycit503-nrseq    = /pws/zycie001-nrseq.

      itab_zycit503-ebeln    = itab_zycit003-ebeln.

      itab_zycit503-ebelp    = itab_zycit003-ebelp.

      itab_zycit503-matnr    = itab_zycit003-matnr.

      itab_zycit503-j_1bnbm  = itab_zycit003-j_1bnbm.

      itab_zycit503-nivel_nve    = itab_zycit501-nivel.

      itab_zycit503-atributo_nve = itab_zycit501-atributo .

      itab_zycit503-especif_nve  = itab_zycit501-especificacao.

      itab_zycit503-desc_nve     = itab_zycit501-descricao  .

      APPEND itab_zycit503.

    ENDLOOP.

  ENDIF.

ENDFORM.                    " carrega_nve

 

FORM carrega_itab_zycit503.

  itab_zycit503_aux  = /pws/zycit503.

  itab_zycit503_aux-mandt   = sy-mandt.

  itab_zycit503_aux-nrseq   = itab_zycit003-nrseq.

  itab_zycit503_aux-ebeln   = itab_zycit003-ebeln.

  itab_zycit503_aux-ebelp   = itab_zycit003-ebelp.

  itab_zycit503_aux-matnr   = itab_zycit003-matnr.

  itab_zycit503_aux-j_1bnbm = itab_zycit003-j_1bnbm.

  MODIFY itab_zycit503_aux INDEX tc_nve-current_line.

ENDFORM.

FORM carrega_nve_item.

  CLEAR itab_zycit503_aux.

  REFRESH itab_zycit503_aux.

  LOOP AT itab_zycit503

                        WHERE ebeln EQ itab_zycit003-ebeln

                        AND   ebelp EQ itab_zycit003-ebelp.

    MOVE itab_zycit503 TO itab_zycit503_aux.

    APPEND itab_zycit503_aux.

  ENDLOOP.

ENDFORM.

FORM user_command_0450.

  DELETE itab_zycit503   WHERE ebeln = itab_zycit003-ebeln

                         AND   ebelp = itab_zycit003-ebelp.

  LOOP AT itab_zycit503_aux.

    MOVE itab_zycit503_aux TO itab_zycit503.

    APPEND itab_zycit503.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

 

    WHEN 'PRIM'.

      v_ip = 1.

      READ TABLE itab_zycit003 INDEX v_ip.

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

      PERFORM aplicacao.

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

      PERFORM carrega_nve_item.

* << Fim da inclusão

    WHEN 'ANTE'.

      IF v_ip > 1.

        v_ip = v_ip - 1.

        READ TABLE itab_zycit003 INDEX v_ip.

        MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

        PERFORM aplicacao.

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

        PERFORM carrega_nve_item.

* << Fim da inclusão

      ENDIF.

    WHEN 'PROX'.

      DESCRIBE TABLE itab_zycit003 LINES v_line.

      IF v_ip < v_line.

        v_ip = v_ip + 1.

        READ TABLE itab_zycit003 INDEX v_ip.

        MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

        PERFORM aplicacao.

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

        PERFORM carrega_nve_item.

* << Fim da inclusão

      ENDIF.

    WHEN 'ULTI'.

      DESCRIBE TABLE itab_zycit003 LINES v_ip.

      READ TABLE itab_zycit003 INDEX v_ip.

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

      PERFORM aplicacao.

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

      PERFORM carrega_nve_item.

* << Fim da inclusão

    WHEN 'REPLIC'.

...

 

...

 

MODULE user_command INPUT.

  CASE sy-dynnr .

    WHEN  '0003'.

      PERFORM user_command_0003.

      when '0405' .

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

      if /pws/zycie003-atributo_nve is initial.

         clear :

                 /pws/zycie003-desc_nve  .

      endif.

* << Fim da exclusão

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

      PERFORM user_command_0450.

* << Fim da inclusão

    WHEN OTHERS.

      PERFORM user_command_0113.

  ENDCASE.

ENDMODULE.

MODULE carrega_itab INPUT.

  IF sy-dynnr EQ '0003'.

    PERFORM carrega_itab_003.

  ELSEIF sy-dynnr EQ '0111'.

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

      PERFORM carrega_itab_0111.

    ENDIF.

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

  ELSEIF sy-dynnr EQ '0405'.

    PERFORM carrega_itab_zycit503.

* << Fim da inclusão

  ENDIF.

ENDMODULE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

...

 

MODULE carrega_estrutura OUTPUT.

  IF sy-dynnr EQ '0003'.

    PERFORM carrega_estrutura_0003.

  ELSEIF sy-dynnr EQ '0111' .

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

      PERFORM carrega_estrutura.

      DESCRIBE TABLE itab_zycit003 LINES v_line.

      tc_da-lines = v_line.

    ENDIF.

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

  elseif sy-dynnr eq '0405' .

    MOVE itab_zycit503_aux TO /pws/zycit503.

* << Fim da inclusão

  ENDIF.

ENDMODULE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001TOP

 

...

  tc_vincula   TYPE TABLEVIEW USING SCREEN 500,

  tc_logpexpam TYPE TABLEVIEW USING SCREEN 601,

  tc_status    TYPE TABLEVIEW USING SCREEN 800,

  tc_dlegais   TYPE TABSTRIP,

  tc_da        TYPE TABLEVIEW USING SCREEN 111,

  tc_itens_da   TYPE TABLEVIEW USING SCREEN 112,

  tc_selda     TYPE TABLEVIEW USING SCREEN 003.

CONTROLS: tc_irep  TYPE TABLEVIEW USING SCREEN 0113,

          tc_irepi TYPE TABLEVIEW USING SCREEN 0114.

CONTROLS tc_nacion TYPE TABLEVIEW USING SCREEN 0115.

* >> Início da inclusão:

CONTROLS tc_nve TYPE TABLEVIEW USING SCREEN 0405.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

 

* >> Início da inclusão:

 tables:

  /pws/zycbt011,

  /pws/zycit503 .

* << Fim da inclusão

DATA: BEGIN OF COMMON PART a.

...

 

...

 

* >> Início da inclusão:

data: begin of itab_zycit503 occurs 0 .

      include structure /pws/zycit503.

data: end of itab_zycit503.

data: begin of itab_zycit503_aux occurs 0 .

      include structure /pws/zycit503.

data: end of itab_zycit503_aux.

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

    IF itab_zycit374[] IS INITIAL AND

    NOT itab_it[] IS INITIAL.

      SELECT * FROM /pws/zycit374

      INTO TABLE itab_zycit374

      FOR ALL ENTRIES IN itab_it

      WHERE nrseq = itab_it-nrseq

      AND ebeln = itab_it-ebeln

      AND ebelp = itab_it-ebelp.

    ENDIF.

  ENDIF.

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

  SELECT * FROM /pws/zycit503

   INTO TABLE itab_zycit503

   WHERE nrseq EQ itab_zycit001-nrseq.

* << Fim da inclusão

  PERFORM lock_record.

  v_acto       = 'A'.

  v_txtdisplay = space.

  v_txtsave    = 'X'.

 

...

 

...

 

FORM adic_list.

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

  DATA itab_zycit503_aux LIKE itab_zycit503 OCCURS 0 WITH HEADER LINE.

  DATA V_NVE .

* << Fim da inclusão

  CLEAR:   it_adi[], /pws/zycie100a, itab_itb.

  REFRESH: it_adi[].

  CLEAR:   itab_it_aux[].

  REFRESH: itab_it_aux[].

  MOVE itab_it[] TO itab_it_aux[].

  PERFORM data_sort.

  IF itab_zycit001-flag_adicao EQ 'X'.

    v_adic = 0.

  ELSE.

    v_adic = 1.

  ENDIF.

  CLEAR: v_tabix, v_cont.

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

  sort itab_zycit503 by J_1BNBM ATRIBUTO_NVE ESPECIF_NVE.

  MOVE itab_zycit503[] TO itab_zycit503_aux[].

  CLEAR V_NVE .

* << Fim da inclusão

  LOOP AT itab_it_aux.

    IF sy-tabix = 1.

      MOVE-CORRESPONDING itab_it_aux TO itab_itb.

    ENDIF.

    v_tabix = v_tabix + 1.

    CLEAR v_flag_quebra.

    v_cont = v_cont + 1.

    IF itab_it_aux-j_1bnbm           NE itab_itb-j_1bnbm     .

      PERFORM adic_next.

    ELSEIF itab_it_aux-inco1      NE itab_itb-inco1.

...

 

...

    ELSEIF itab_it_aux-meinsantid    NE itab_itb-meinsantid  .

      PERFORM adic_next.

    ELSEIF itab_it_aux-codcambial    NE itab_itb-codcambial  .

      PERFORM adic_next.

    ELSEIF itab_it_aux-inco_item     NE itab_itb-inco_item   .

      PERFORM adic_next.

    ELSEIF itab_it_aux-paisfab       NE itab_itb-paisfab     .

      PERFORM adic_next.

    ELSEIF itab_it_aux-tp_certif     NE itab_itb-tp_certif   .

      PERFORM adic_next.

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

    ELSEIF itab_it_aux-atributo_nve  EQ itab_itb-atributo_nve

    AND NOT v_cont EQ 1

    AND NOT itab_it_aux-atributo_nve IS INITIAL.

      PERFORM adic_next.

* << Fim da exclusão

    ELSE.

      IF itab_zycit001-flag_adicao EQ 'X'.

        PERFORM adic_next.

      ENDIF.

    ENDIF.

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI023'

                                'DI013'.

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'DI013'  BINARY SEARCH.

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

    ENDIF.

    IF v_flag_quebra IS INITIAL AND v_cont > 80.

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

      PERFORM adic_next.

    ENDIF.

    LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq

                          AND   ebeln = itab_it_aux-ebeln

                          AND   ebelp = itab_it_aux-ebelp.

      IF V_NVE = ' '.

        MOVE-CORRESPONDING itab_zycit503 TO itab_zycit503_aux.

        V_NVE = 'X'.

      ENDIF.

      IF ( itab_zycit503_aux-ebeln  NE itab_zycit503-ebeln OR

           itab_zycit503_aux-ebelp   NE itab_zycit503-ebelp ) AND

          itab_zycit503_aux-j_1bnbm EQ itab_zycit503-j_1bnbm.

        IF ( itab_zycit503_aux-atributo_nve eq

             itab_zycit503-atributo_nve and

             itab_zycit503_aux-especif_nve NE

             itab_zycit503-especif_nve ) .

* << Fim da inclusão

      PERFORM adic_next.

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

        ENDIF.

* << Fim da inclusão

    ENDIF.

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

    itab_it-adicao = itab_it_aux-adicao = v_adic.

    READ TABLE itab_zycit003 WITH KEY  nrseq = itab_it_aux-nrseq

                                       ebeln = itab_it_aux-ebeln

                                       ebelp = itab_it_aux-ebelp.

    IF sy-subrc EQ 0.

      IF NOT itab_zycit003-nivel_nve IS INITIAL.

* << Fim da exclusão

        READ TABLE itab_zycit118

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

        WITH KEY steuc = itab_zycit003-j_1bnbm

                 nivel = itab_zycit003-nivel_nve

                 atributo = itab_zycit003-atributo_nve

* << Fim da exclusão

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

      WITH KEY steuc = itab_zycit503-j_1bnbm

               nivel = itab_zycit503-nivel_nve

               atributo = itab_zycit503-atributo_nve

* << Fim da inclusão

                 adicao   = v_adic.

        IF sy-subrc NE 0.

          CLEAR: itab_zycit118.

          itab_zycit118-nrseqdi       = /pws/zycie085-nrseqdi     .

          itab_zycit118-adicao        = v_adic        .

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

          itab_zycit118-steuc         = itab_zycit003-j_1bnbm     .

          itab_zycit118-nivel         = itab_zycit003-nivel_nve   .

          itab_zycit118-atributo      = itab_zycit003-atributo_nve.

          itab_zycit118-especificacao = itab_zycit003-especif_nve .

* << Fim da exclusão

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

        itab_zycit118-steuc         = itab_zycit503-j_1bnbm     .

        itab_zycit118-nivel         = itab_zycit503-nivel_nve   .

        itab_zycit118-atributo      = itab_zycit503-atributo_nve.

        itab_zycit118-especificacao = itab_zycit503-especif_nve .

* << Fim da inclusão

          APPEND itab_zycit118.

        ENDIF.

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

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

    ENDLOOP.

    itab_it-adicao = itab_it_aux-adicao = v_adic.

* << Fim da inclusão

    MODIFY itab_it TRANSPORTING adicao

           WHERE ebeln EQ itab_it_aux-ebeln

           AND   ebelp EQ itab_it_aux-ebelp.

    MODIFY itab_it_aux INDEX v_tabix TRANSPORTING adicao.

    it_adi-adicao = v_adic.

    it_adi-nrseqdi       = /pws/zycie085-nrseqdi.

    it_adi-nrseq         = itab_it_aux-nrseq    .

    it_adi-ebeln         = itab_it_aux-ebeln    .

    it_adi-ebelp         = itab_it_aux-ebelp    .

    it_adi-nrseqli       = itab_it_aux-nrseqli  .

...

 

...

 

    IF sy-subrc = 0.

      MOVE itab_it_aux-adicao TO itab_zycit100_temp-adicao.

      MODIFY itab_zycit100_temp TRANSPORTING adicao WHERE

       nrseq = itab_it_aux-nrseq AND

       ebeln = itab_it_aux-ebeln AND

       ebelp = itab_it_aux-ebelp.

    ENDIF.

  ENDLOOP.

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

  IF NOT itab_zycit503[] IS INITIAL.

    IF itab_zycit001-flag_adicao EQ 'X'.

      v_adic = 0.

    ELSE.

      v_adic = 1.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  MOVE: it_adi[]   TO it_alist[],

        it_adi[]   TO it_adia[].

  DELETE ADJACENT DUPLICATES FROM it_alist COMPARING adicao.

  SORT itab_it_aux BY adicao ebeln ebelp.

  READ TABLE itab_it_aux INDEX 1.

  v_adic = itab_it_aux-adicao.

  CLEAR v_cont .

  LOOP AT itab_it_aux.

    v_tabix = sy-tabix.

    IF v_adic = itab_it_aux-adicao.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

 

FORM load_init.

  DATA v_retif TYPE /pws/zycit487-retif.

  DATA: itab_zycit443 TYPE /pws/zycit443 OCCURS 0 WITH HEADER LINE,

        wa_zycit442   TYPE /pws/zycit442.

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

  IF itab_zycit503[] IS INITIAL.

    SELECT * FROM /pws/zycit503 INTO TABLE itab_zycit503

    WHERE nrseq  = /pws/zycie001-nrseq.

  ENDIF.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

             /pws/zycie085-usernamec, /pws/zycie085-usernamea,

             /pws/zycie085-hruserc  , /pws/zycie085-hrusera.

    ENDIF.

    /pws/zycie085-gewei_l = 'KG '.

    /pws/zycie085-tpimp   = '1'.

    /pws/zycie085-courier = 'N'.

    IF /pws/zycie085-contropcb IS INITIAL.

      /pws/zycie085-contropcb = '1'.

    ENDIF.

    PERFORM findnrseq.

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

  IF itab_zycit503[] IS INITIAL.

    SELECT * FROM /pws/zycit503 INTO TABLE itab_zycit503

    WHERE nrseq  = /pws/zycie001-nrseq.

  ENDIF.

* << Fim da inclusão

    IF NOT wa_zycie085 IS INITIAL.

      PERFORM: load_para,

               load_bl  ,

               load_init.

    ENDIF.

    MOVE /pws/zycie085 TO wa_zycit085.

    v_txtkey = /pws/zycie085-nrseqdi.

    v_textstat = text-057.

    v_acto = 'A'.

    PERFORM: load_timp,

...

 

...

 

MODULE fill_struct118 OUTPUT.

  itab_zycit118b-steuc = wa_it-j_1bnbm.

  MOVE itab_zycit118b TO /pws/zycie118.

  IF NOT /pws/zycie118-atributo IS INITIAL.

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

    READ TABLE itab_zycit003 WITH KEY ebeln = itab_itb-ebeln

* << Fim da exclusão

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

    READ TABLE itab_zycit503 WITH KEY ebeln = itab_itb-ebeln

* << Fim da inclusão

                                      ebelp = itab_itb-ebelp.

    IF sy-subrc EQ 0 AND NOT

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

    itab_zycit003-atributo_nve IS INITIAL.

      a_espde = itab_zycit003-desc_nve.

* << Fim da exclusão

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

    itab_zycit503-atributo_nve IS INITIAL.

      a_espde = itab_zycit503-desc_nve.

* << Fim da inclusão

    ELSE.

      IF NOT /pws/zycie118-especificacao IS INITIAL AND

         NOT /pws/zycie118-nivel IS INITIAL AND

         NOT /pws/zycie118-atributo IS INITIAL.

        PERFORM load_especdes.

      ELSEIF NOT /pws/zycie118-nivel IS INITIAL AND

             NOT /pws/zycie118-atributo IS INITIAL.

        PERFORM load_especdes_aux.

      ELSEIF NOT /pws/zycie118-nivel IS INITIAL AND

                 /pws/zycie118-atributo IS INITIAL AND

...

 

...

       sy-dynnr = '0433' OR

       sy-dynnr = '0132'.

      IF sy-tcode EQ '/PWS/ZYCI023_E'

        OR v_nf041 EQ 'S'.

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF sy-dynnr EQ '0323'.

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

    READ TABLE itab_zycit003 WITH KEY ebeln = itab_itb-ebeln

* << Fim da exclusão

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

    READ TABLE itab_zycit503 WITH KEY ebeln = itab_itb-ebeln

* << Fim da inclusão

                                      ebelp = itab_itb-ebelp.

    IF sy-subrc EQ 0 .

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

      IF NOT itab_zycit003-atributo_nve IS INITIAL.

* << Fim da exclusão

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

      IF NOT itab_zycit503-atributo_nve IS INITIAL.

* << Fim da inclusão

        LOOP AT tc_anom-cols INTO v_cols.

          v_cols-screen-input = 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit503 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit503.

DATA END OF itab_zycit503.

* << Fim da inclusão

DATA: END OF COMMON PART.