PW.TP - Nota 002940

Módulo: GERAL

Funcionalidade: Deleção Dados Tabelas TP

Data/Hora da Publicação: 22/01/2007 00:00:00

Data/Hora Última Alteração: 14/02/2011 16:29:40

Descrição da Nota: DELEÇÃO DE DADOS

Sintoma

Programa não permite ao usuário apagar apenas determinado material.

 

 

Solução

Tratamento para incluir na tela de seleção critérios para possibilitar a deleção por código do

material ou grupo de similaridade.

 

Versões Tratadas

Não Usar - 2.00.0000


Pré-Requisitos

Produto:

Nota

Descrição

DELEÇÃO DE DADOS

Informações Complementares

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

Nota Número 02940 Data: 22/01/2007 Hora: 15:26:59

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

 

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

Nota Número              : 02940

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.TP             : 2.0

Pacote                   : 00024

Agrupamento              : 00005

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

Referência às notas relacionadas:

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

 

02848  - 00001 - 2.0    - 00024  - DELEÇÃO DE DADOS

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

DELEÇÃO DE DADOS

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

Palavras Chave:

DELEÇÃO DE DADOS - MATERIAL - GRUPOS DE SIMILARIDADE

 

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

Objetos da nota:

REPS /PWS/ZYTPR802

REPT /PWS/ZYTPR802

 

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

Modificações efetuadas em REPS /PWS/ZYTPR802

 

...

DATA: w_cont9  TYPE i.

DATA: w_cont10 TYPE i.

DATA: w_cont11 TYPE i,

      w_cont15 TYPE i.

DATA: w_cont16 TYPE i.

DATA: w_ano_ant(4) TYPE n.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-tb1.

PARAMETERS: p_bukrsg LIKE /pws/zytpt021-bukrs_g OBLIGATORY.

SELECT-OPTIONS: s_budat FOR sy-datum NO-EXTENSION OBLIGATORY.

PARAMETERS: p_sysid LIKE /pws/zytpt901-sysid OBLIGATORY.

* >> Início da inclusão:

SELECT-OPTIONS: s_matnr FOR /pws/zytpt901-matnr.

SELECT-OPTIONS: s_grupo FOR /pws/zytpt901-grupo.

* << Fim da inclusão

SELECTION-SCREEN END   OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-tb2.

PARAMETERS: p_zt001 AS CHECKBOX.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_zt002 AS CHECKBOX.

SELECTION-SCREEN COMMENT 5(32) text-t02 FOR FIELD p_zt002.

PARAMETERS: p_zt0020 AS CHECKBOX.

SELECTION-SCREEN COMMENT (24) text-t03 FOR FIELD p_zt0020.

SELECTION-SCREEN END OF LINE.

PARAMETERS: p_zt003 AS CHECKBOX.

...

 

...

DATA: t_zytpt911 LIKE /pws/zytpt911 OCCURS 10000 WITH HEADER LINE.

DATA: t_zytpt915 LIKE /pws/zytpt915 OCCURS 10000 WITH HEADER LINE.

DATA: t_zytpt029 LIKE /pws/zytpt029 OCCURS 15 WITH HEADER LINE.

DATA: w_mandt LIKE sy-mandt.

RANGES: r_mandt FOR sy-mandt.

IF s_budat-low(4) <> s_budat-high(4).

  MESSAGE i398(00) WITH text-e02.

  STOP.

ENDIF.

START-OF-SELECTION.

* >> Início da inclusão:

  IF ( p_ztp910 = 'X' OR p_ztp911 = 'X' ) AND

     ( NOT s_matnr[] IS INITIAL OR NOT s_grupo[] IS INITIAL ).

    MESSAGE s079(/pws/zytpm) WITH text-029 text-030.

    STOP.

  ENDIF.

* << Fim da inclusão

  PERFORM trata_autorizacao.

  PERFORM f_seleciona_dados.

  PERFORM f_processamento.

END-OF-SELECTION.

FORM f_seleciona_dados.

  REFRESH r_mandt. CLEAR r_mandt.

  r_mandt-sign = 'I'.

  r_mandt-option = 'EQ'.

  r_mandt-low = sy-mandt.

  APPEND r_mandt.

...

 

...

    ENDIF.

  ENDIF.

  IF p_ztp911 = 'X'.

    IF NOT t_zytpt911[] IS INITIAL.

      WRITE: / text-022, w_cont11,

             / sy-uline.

    ENDIF.

  ENDIF.

ENDFORM.

FORM f_deleta_itens.

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

  RANGES: r_ano FOR /pws/zytpt902-ano,

          r_mes FOR /pws/zytpt902-mes.

  READ TABLE s_budat INDEX 1.

  r_ano-sign = 'I'.

  r_ano-option = 'EQ'.

  r_ano-low = s_budat-low(4).

  COLLECT r_ano.

  r_mes-sign = s_budat-sign.

  r_mes-option = s_budat-option.

  r_mes-low = s_budat-low+4(2).

  r_mes-high = s_budat-high+4(2).

  COLLECT r_mes.

  DATA: BEGIN OF t_matnr OCCURS 0,

         matnr TYPE /pws/zytpt901-matnr,

        END OF t_matnr.

  RANGES: r_matnr FOR /pws/zytpt901-matnr.

  r_matnr[] = s_matnr[].

  IF NOT s_grupo[] IS INITIAL.

    SELECT matnr FROM /pws/zytpt901

    INTO TABLE t_matnr

     WHERE bukrs_g EQ p_bukrsg

       AND ( sysid EQ p_sysid OR sysid EQ '' )

       AND matnr IN s_matnr

       AND ano IN r_ano

       AND grupo IN s_grupo.

    IF sy-subrc NE 0.

      MESSAGE s079(/pws/zytpm) WITH text-031 text-032.

      STOP.

    ENDIF.

    s_matnr-sign = 'I'.

    s_matnr-option = 'EQ'.

    LOOP AT t_matnr.

      s_matnr-low = t_matnr-matnr.

      COLLECT s_matnr.

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

  SELECT * INTO TABLE t_zytpt021

    FROM /pws/zytpt021

    CLIENT SPECIFIED

    WHERE mandt IN r_mandt AND

          bukrs_g = p_bukrsg.

  CLEAR t_zytpt029.

  READ TABLE t_zytpt029

    WITH KEY sysid = sy-sysid

             bukrs = space.

  IF sy-subrc NE 0.

    LOOP AT t_zytpt021.

      READ TABLE t_zytpt029

        WITH KEY sysid = sy-sysid

                 bukrs = t_zytpt021-bukrs.

      IF sy-subrc EQ 0.

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF p_zt001 = 'X'.

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

    IF s_budat-high IS INITIAL.

      DELETE FROM /pws/zytpt901 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

          AND ano = s_budat-low(4).

    ELSE.

* << Fim da exclusão

      DELETE FROM /pws/zytpt901 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

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

          AND ano BETWEEN s_budat-low(4) and s_budat-high(4).

    ENDIF.

* << Fim da exclusão

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

              AND matnr IN s_matnr

              AND ano IN r_ano

              AND grupo IN s_grupo.

* << Fim da inclusão

    w_cont = sy-dbcnt.

    WRITE: / text-007 , w_cont,

           / sy-uline.

  ENDIF.

  IF p_zt003 = 'X'.

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

    IF s_budat-high IS INITIAL.

      DELETE FROM /pws/zytpt903 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

          AND ano = s_budat-low(4)

          AND mes = s_budat-low+4(2).

    ELSE.

* << Fim da exclusão

      DELETE FROM /pws/zytpt903 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

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

          AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

          AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

        AND  matnr  IN s_matnr

        AND  ano    IN r_ano

        AND  mes    IN r_mes.

* << Fim da inclusão

    w_cont3 = sy-dbcnt.

    WRITE: / text-003 , w_cont3,

           / sy-uline.

  ENDIF.

  IF p_ztp003 = 'X'.

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

    IF s_budat-high IS INITIAL.

      DELETE FROM /pws/zytpt903l CLIENT SPECIFIED

          WHERE mandt IN r_mandt

            AND ( sysid EQ p_sysid OR sysid EQ '' )

            AND bukrs_g = p_bukrsg

            AND ano = s_budat-low(4)

            AND mes = s_budat-low+4(2).

    ELSE.

* << Fim da exclusão

      DELETE FROM /pws/zytpt903l CLIENT SPECIFIED

          WHERE mandt IN r_mandt

            AND ( sysid EQ p_sysid OR sysid EQ '' )

            AND bukrs_g = p_bukrsg

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

            AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

            AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

          AND matnr  IN s_matnr

          AND ano    IN r_ano

          AND mes    IN r_mes.

* << Fim da inclusão

    w_cont9 = sy-dbcnt.

    WRITE: / text-020 , w_cont9,

           / sy-uline.

  ENDIF.

  IF p_zt005 = 'X'.

    DELETE FROM /pws/zytpt905 CLIENT SPECIFIED

      WHERE mandt IN r_mandt

         AND bukrs_g = p_bukrsg

         AND ( sysid = p_sysid OR sysid EQ '' )

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

         AND valido_de >= s_budat-low

         AND valido_ate <= s_budat-high.

* << Fim da exclusão

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

         AND ( matnr_o IN s_matnr OR matnr_f IN s_matnr )

         and VALIDO_DE in S_BUDAT.

* << Fim da inclusão

    w_cont5 = sy-dbcnt.

    WRITE: / text-005 , w_cont5,

           / sy-uline.

  ENDIF.

  IF p_zt006 = 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt906 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

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

          AND ano     EQ s_budat-low(4)

          AND mes     EQ s_budat-low+4(2).

* << Fim da exclusão

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

        AND matnr IN s_matnr

        AND ano IN r_ano

        AND mes IN r_mes.

* << Fim da inclusão

      ADD sy-dbcnt TO w_cont6.

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

    ELSE.

      DELETE FROM /pws/zytpt906 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( sysid EQ p_sysid OR sysid EQ '' )

          AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

          AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

      ADD sy-dbcnt TO w_cont6.

    ENDIF.

* << Fim da exclusão

    IF NOT p_zt0060 IS INITIAL.

      DELETE FROM /pws/zytpt906 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g = p_bukrsg

          AND ( sysid = p_sysid OR sysid EQ '' )

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

          AND matnr IN s_matnr

* << Fim da inclusão

          AND ano = s_budat-low(4)

          AND mes = '00'.

      ADD sy-dbcnt TO w_cont6.

      CLEAR: w_ano_ant.

      w_ano_ant = s_budat-low(4).

      w_ano_ant = w_ano_ant - 1.

      DELETE FROM /pws/zytpt906 CLIENT SPECIFIED

          WHERE mandt IN r_mandt

            AND bukrs_g EQ p_bukrsg

            AND ( sysid EQ p_sysid OR sysid EQ '' )

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

            AND matnr IN s_matnr

* << Fim da inclusão

            AND ano = w_ano_ant

            AND mes = '99'.

      ADD sy-dbcnt TO w_cont6.

    ENDIF.

    WRITE: / text-006 , w_cont6,

           / sy-uline.

  ENDIF.

  IF p_zt006m = 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt906m CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

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

          AND ano     EQ s_budat-low(4)

          AND mes     EQ s_budat-low+4(2).

* << Fim da exclusão

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

        AND ( matnr_f IN s_matnr OR matnr_o IN s_matnr )

        and ANO     in R_ANO

        AND mes     IN r_mes.

* << Fim da inclusão

      ADD sy-dbcnt TO w_cont16.

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

    ELSE.

      DELETE FROM /pws/zytpt906m CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g EQ p_bukrsg

          AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

          AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

      ADD sy-dbcnt TO w_cont16.

    ENDIF.

* << Fim da exclusão

    WRITE: / text-028 , w_cont16,

           / sy-uline.

  ENDIF.

  IF p_zt007 = 'X'.

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

    IF s_budat-high IS INITIAL.

      DELETE FROM /pws/zytpt907 CLIENT SPECIFIED

         WHERE mandt IN r_mandt

            AND bukrs_g EQ p_bukrsg

            AND ( sysid EQ p_sysid OR sysid EQ '' )

            AND  ano    EQ s_budat-low(4)

            AND  mes    EQ s_budat-low+4(2).

    ELSE.

* << Fim da exclusão

      DELETE FROM /pws/zytpt907 CLIENT SPECIFIED

         WHERE mandt IN r_mandt

            AND bukrs_g EQ p_bukrsg

            AND ( sysid EQ p_sysid OR sysid EQ '' )

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

            AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

            AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

      AND matnr IN s_matnr

      AND ano IN r_ano

      AND mes IN r_mes.

* << Fim da inclusão

    w_cont7 = sy-dbcnt.

    WRITE: / text-016 , w_cont7,

           / sy-uline.

  ENDIF.

  IF p_ztp910 = 'X'.

    DELETE FROM /pws/zytpt910 CLIENT SPECIFIED

     WHERE mandt IN r_mandt

       AND dt_dire IN s_budat.

    w_cont10 = sy-dbcnt.

    WRITE: / text-023, w_cont10,

...

 

...

  ENDIF.

  IF p_ztp911 = 'X'.

    DELETE FROM /pws/zytpt911 CLIENT SPECIFIED

      WHERE mandt IN r_mandt

         AND dt_dire IN s_budat.

    w_cont11 = sy-dbcnt.

    WRITE: / text-024, w_cont11,

           / sy-uline.

  ENDIF.

  IF p_ztp915 = 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt915 CLIENT SPECIFIED

         WHERE mandt IN r_mandt

            AND bukrs_g EQ p_bukrsg

            AND ( sysid EQ p_sysid OR sysid EQ '' )

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

            AND ano     EQ s_budat-low(4)

            AND mes     EQ s_budat-low+4(2).

    ELSE.

      DELETE FROM /pws/zytpt915 CLIENT SPECIFIED

         WHERE mandt IN r_mandt

            AND bukrs_g EQ p_bukrsg

            AND ( sysid EQ p_sysid OR sysid EQ '' )

            AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

            AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

          AND matnr IN s_matnr

          AND ano IN r_ano

          AND mes IN r_mes.

* << Fim da inclusão

    w_cont15 = sy-dbcnt.

    WRITE: / text-025 , w_cont15,

           / sy-uline.

  ENDIF.

  IF p_zt002 = 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt902 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g = p_bukrsg

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

          AND ano  EQ s_budat-low(4)

          AND mes  EQ s_budat-low+4(2).

* << Fim da exclusão

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

        AND matnr IN s_matnr

        AND ano  IN r_ano

        AND mes  IN r_mes.

* << Fim da inclusão

      MOVE sy-dbcnt TO w_cont2.

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

    ELSE.

      DELETE FROM /pws/zytpt902 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

          AND bukrs_g = p_bukrsg

          AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

          AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

      MOVE sy-dbcnt TO w_cont2.

    ENDIF.

* << Fim da exclusão

    IF NOT p_zt0020 IS INITIAL.

      DELETE FROM /pws/zytpt902

        CLIENT SPECIFIED

        WHERE mandt IN r_mandt AND

              bukrs_g = p_bukrsg AND

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

              matnr  IN s_matnr AND

* << Fim da inclusão

              ano = s_budat-low(4)

              AND mes = '00'.

      ADD sy-dbcnt TO w_cont2.

      CLEAR: w_ano_ant.

      w_ano_ant = s_budat-low(4).

      w_ano_ant = w_ano_ant - 1.

      DELETE FROM /pws/zytpt902

        CLIENT SPECIFIED

        WHERE mandt IN r_mandt AND

              bukrs_g = p_bukrsg AND

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

              matnr  IN s_matnr AND

* << Fim da inclusão

              ano = w_ano_ant

              AND mes = '99'.

      ADD sy-dbcnt TO w_cont2.

    ENDIF.

    WRITE: / text-002 , w_cont2,

           / sy-uline.

  ENDIF.

  IF p_zt004 = 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt904 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

         AND bukrs_g = p_bukrsg

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

         AND ano   EQ s_budat-low(4)

         AND mes   EQ s_budat-low+4(2).

    ELSE.

      DELETE FROM /pws/zytpt904 CLIENT SPECIFIED

       WHERE mandt IN r_mandt

         AND bukrs_g = p_bukrsg

         AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

         AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

       AND ( matnr_o IN s_matnr OR matnr_f IN s_matnr )

       and ANO   in R_ANO

       AND mes   IN r_mes.

* << Fim da inclusão

    w_cont4 = sy-dbcnt.

    WRITE: / text-004 , w_cont4,

           / sy-uline.

  ENDIF.

  IF t_zytpt029-syscentral IS INITIAL AND

       ( t_zytpt029-central = 'X' ) .

    IF p_cf987 = 'X'.

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

      IF s_budat-high IS INITIAL.

* << Fim da exclusão

        DELETE FROM cf987 CLIENT SPECIFIED

          WHERE mandt IN r_mandt

            AND ztp01 = p_bukrsg

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

            AND yearb EQ s_budat-low(4)

            AND perde EQ s_budat-low+4(2).

      ELSE.

        DELETE FROM cf987 CLIENT SPECIFIED

          WHERE mandt IN r_mandt

            AND ztp01 = p_bukrsg

            AND (

                  yearb BETWEEN s_budat-low+0(4) and s_budat-high+0(4)

                )

            AND (

                  perde BETWEEN s_budat-low+4(2) AND s_budat-high+4(2)

                ).

      ENDIF.

* << Fim da exclusão

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

          AND ztp06 IN s_grupo

          AND ( ztp07 IN r_matnr OR ztp08 IN r_matnr )

          and YEARB in R_ANO

          AND perde IN r_mes.

* << Fim da inclusão

      w_cont8 = sy-dbcnt.

      WRITE: / text-018 , w_cont8,

             / sy-uline.

    ENDIF.

  ENDIF.

  LOOP AT t_zytpt021.

    DELETE FROM /pws/zytpt908 CLIENT SPECIFIED

          WHERE mandt IN r_mandt

             AND bukrs   EQ t_zytpt021-bukrs

             AND branch  EQ t_zytpt021-branch

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

             AND matnr IN s_matnr

* << Fim da inclusão

             AND ( sysid EQ p_sysid OR sysid EQ '' )

             AND pstdat  IN s_budat.

  ENDLOOP.

  IF p_ztp002 EQ 'X'.

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

    IF s_budat-high IS INITIAL.

* << Fim da exclusão

      DELETE FROM /pws/zytpt002 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g = p_bukrsg

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

          AND ano   EQ s_budat-low(4)

          AND mes   EQ s_budat-low+4(2).

    ELSE.

      DELETE FROM /pws/zytpt002 CLIENT SPECIFIED

        WHERE mandt IN r_mandt

          AND bukrs_g = p_bukrsg

          AND ( ano BETWEEN s_budat-low+0(4) and s_budat-high+0(4) )

          AND ( mes BETWEEN s_budat-low+4(2) AND s_budat-high+4(2) ).

    ENDIF.

* << Fim da exclusão

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

        AND matnr IN s_matnr

        AND ano   IN r_ano

        AND mes   IN r_mes.

* << Fim da inclusão

    WRITE: / text-026 , sy-dbcnt,

           / sy-uline.

  ENDIF.

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

  s_matnr[] = r_matnr[].

* << Fim da inclusão

ENDFORM.

FORM trata_autorizacao.

  DATA: message(255). RANGES r_bukrs FOR t001-bukrs.

  CLEAR message.

...

 

 

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

Modificações efetuadas em REPT /PWS/ZYTPR802

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 027

 

Texto: (34 caracteres)

"Nº Itens da Tabela /PWS/ZYTPT906M:"

 

Comprimento máximo: 40

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 028

 

Texto: (45 caracteres)

"Nº Itens eliminados da Tabela /PWS/ZYTPT906M:"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 029

 

Texto: (37 caracteres)

"Tabelas /PWS/ZYTPT910 e /PWS/ZYTPT911"

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 030

 

Texto: (21 caracteres)

"não possuem Material."

 

Comprimento máximo: 21

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 031

 

Texto: (33 caracteres)

"Nenhum material encontrado para a"

 

Comprimento máximo: 33

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 032

 

Texto: (23 caracteres)

"Similaridade informada."

 

Comprimento máximo: 23

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): S_GRUPO

 

Texto: (20 caracteres)

"Similaridade"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): S_MATNR

 

Texto: (16 caracteres)

"Material"

 

Referência ao Dictionary: NÃO