Seguidores

TABLE CONTROL

TABLE CONTROL .

Table control ?  Vc deve estar se perguntando mais oque é isso  né. Então  Galera nada mais do que um objeto  para visualizar informações estilo uma planilha eletrônica.

CONCEITO BÁSICO.

O objeto Table control permite  várias  tipos de controle, como seleção de linhas e  de colunas, ajustes de
largura e latitude.

Obs : usando o Table control vc não afeta a tabela Real, vc só manipula os dados de uma tabela interna.
 
No meu Caso eu eu manipulei dados quaisquer só para uso do exemplo do nosso programa.

CÓDIGO.

*&---------------------------------------------------------------------*
*& Report  ZTABELA_ELETRONICA_FUN01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

PROGRAM ZTABELA_ELETRONICA_FUN01.


*ZMJ_FUNC_LO01 "TABALE   QUE VOU COLOCOR COMO INCLUDE

TYPE-POOLS: ICON,ABAP.


TYPES : BEGIN OF ZMJ_FUNC_LO01,
            MARKED  TYPE BOOLEAN,
            ICON    TYPE ICON.
            INCLUDE STRUCTURE ZMJ_FUNC_LO01.
TYPES : END OF ZMJ_FUNC_LO01.


 DATA : ITAB TYPE STANDARD TABLE OF ZMJ_FUNC_LO01 WITH KEY MARKED WITH HEADER LINE,
        FCODE TYPE SY-UCOMM.

 SELECT-OPTIONS: S_NOME FOR ITAB-NOME.


 START-OF-SELECTION.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB[] FROM ZMJ_FUNC_LO01 WHERE ZMJ_FUNC_LO01~NOME IN S_NOME[].

    CALL SCREEN '0100'.

 END-OF-SELECTION.


 "CRIANDO OS EVENTOS DA PLANILHA ELETRONICA  COM O EVENTO PBO  E PAI.

 MODULE PBO OUTPUT.

     CLEAR  FCODE.
ENDMODULE.


MODULE PAI INPUT.
    CASE FCODE.
       WHEN 'DELETE'.
           PERFORM  FORM_DELETE.


      WHEN  'UNDO'.
         PERFORM FORM_UNDO.

    ENDCASE.
ENDMODULE.



    FORM FORM_DELETE.
         DATA WA LIKE  LINE  OF ITAB[].




         LOOP AT ITAB[]  INTO WA WHERE MARKED EQ ABAP_TRUE AND ICON NE ICON_DELETE.
             WA-ICON = ICON_DELETE.

             MODIFY ITAB[]  FROM WA TRANSPORTING ICON.
         ENDLOOP.
    ENDFORM.



    FORM FORM_UNDO.
        DATA WA LIKE LINE OF ITAB[].


        LOOP AT ITAB[]  INTO WA  WHERE MARKED EQ ABAP_TRUE AND  ICON EQ ICON_DELETE.
          CLEAR WA-ICON.

          MODIFY ITAB[] FROM WA  TRANSPORTING ICON.
        ENDLOOP.
   ENDFORM.

*&SPWIZARD: DECLARATION OF TABLECONTROL 'TABLECONTROL' ITSELF
CONTROLS: TABLECONTROL TYPE TABLEVIEW USING SCREEN 0100.

*&SPWIZARD: OUTPUT MODULE FOR TC 'TABLECONTROL'. DO NOT CHANGE THIS LINE
*&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR
MODULE TABLECONTROL_CHANGE_TC_ATTR OUTPUT.
  DESCRIBE TABLE ITAB LINES TABLECONTROL-lines.
ENDMODULE.

*&SPWIZARD: INPUT MODUL FOR TC 'TABLECONTROL'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: MARK TABLE

MODULE TABLECONTROL_MARK INPUT.
  DATA: g_TABLECONTROL_wa2 like line of ITAB.
    if TABLECONTROL-line_sel_mode = 1
    and ITAB-MARKED = 'X'.
     loop at ITAB into g_TABLECONTROL_wa2
       where MARKED = 'X'.
       g_TABLECONTROL_wa2-MARKED = ''.
       modify ITAB
         from g_TABLECONTROL_wa2
         transporting MARKED.
     endloop.
  endif.
  MODIFY ITAB
    FROM ITAB
    INDEX TABLECONTROL-CURRENT_LINE
    TRANSPORTING MARKED.
ENDMODULE.










0 comentários:

Postar um comentário

Copyright © 2012 EDU ABAPTemplate by : UrangkuraiPowered by Blogger.Please upgrade to a Modern Browser.