Seguidores

AT SELECTION

O Evento 

AT SELECTION.


Definindo o Evento AT SELECTION




*&---------------------------------------------------------------------*
*& Report  Z_EVENTO
*&
*&---------------------------------------------------------------------*
*& DEFININDO A UILIZACAÇÃO DO EVENTO
   AT SELECTION
*& COM ISSO CRIAR UM PROGRAMA JOGO DA VELHA
*&---------------------------------------------------------------------*

REPORT  Z_EVENTO.


TYPE-POOLS: ICON." DEFINI O TIPO

*&---------------------------------------------------------------------*
*&  CRIAANDO UMA ESTRUTUA.
*&
*&---------------------------------------------------------------------*


DATA : O_QUERY TYPE I,
       O_LEN   TYPE I,
       LINE    TYPE I,
       ICON    TYPE  ICON VALUE ICON_LED_GREEN.


*&---------------------------------------------------------------------*
*&  DEFININDO UMA TABELA INTERNA .
*&
*&---------------------------------------------------------------------*


DATA : BEGIN OF ITAB OCCURS 0,
         COLUNA1  TYPE ICON-ID,
         COLUNA2  TYPE ICON-ID,
         COLUNA3  TYPE ICON-ID,
       END OF ITAB.


*&---------------------------------------------------------------------*
*&  AGORA VOU FZER QUE TODOS OS CAMPOS DA TABELA
   SEJA MOVIMENTADO
*$  PARA O ICON_WD_RADIO_BUTTON_EMPTY
*&
*&---------------------------------------------------------------------*

ITAB-COLUNA1 = ICON_WD_RADIO_BUTTON_EMPTY.
ITAB-COLUNA2 = ICON_WD_RADIO_BUTTON_EMPTY.
ITAB-COLUNA3 = ICON_WD_RADIO_BUTTON_EMPTY.

"NESSA PARTE VOU  FAZER QUE DE FATO QUE OS CAMPOS SEJA
 MOVIMENTADOS.

APPEND ITAB.
APPEND ITAB.
APPEND ITAB.


*&---------------------------------------------------------------------*
*&  AGORA IREI CRIAR UM EVENTO CHAMADO SELECTION-
*$
*&
*&---------------------------------------------------------------------*

START-OF-SELECTION.

    PERFORM OUTPUT ." NESSA PARTE TO FAZENDO UMA SOB ROTINA
 DE ENTRADA DE DADOS.

END-OF-SELECTION.

AT LINE-SELECTION.
    CLEAR ITAB.


* NESSA PARTE VOU FAZER OS CAMPOS SEJA LIDO  COM O COMANDO RED


READ CURRENT LINE FIELD VALUE: ITAB-COLUNA1 ITAB-COLUNA2 ITAB-COLUNA3 INTO ITAB-COLUNA1
ITAB-COLUNA2 ITAB-COLUNA3.

    GET CURSOR LENGTH O_LEN MEMORY OFFSET O_QUERY LINE LINE.

     CASE LINE.
        WHEN 1. LINE = 1.
        WHEN 2. LINE = 2.
        WHEN 3. LINE = 3.
     ENDCASE.

* LENDO OS CONTEUDOS.

     READ TABLE  ITAB INDEX LINE.
     CASE O_QUERY.
        WHEN 09. ITAB-COLUNA1 = ICON.
        WHEN 14. ITAB-COLUNA2 = ICON.
        WHEN 19. ITAB-COLUNA3 = ICON.
    ENDCASE.

* CRIANDO UMA CONDIÇAO

    MODIFY ITAB INDEX LINE.

    IF  ICON EQ ICON_LED_GREEN.
        ICON = ICON_LED_RED.
     ELSE.
        ICON = icon_led_green.
    ENDIF.
** NESSE PONTO LENBRA QQUE EU FIZ UM PERFORM ' LEMBRANDO 
QUANDO SE USSA PERFORM  QUE VC QUER ELE RETORNA MAIS VALOR'
*  RETORNANDO ENTÃO AGORA VOU CRIAR UM PREFORM DE SAIDA DE DADOS.


    PERFORM OUTPUT.


FORM OUTPUT.

 "NESSA PARTE VOU CRIAR O FORMATO DO PROGRAMA JOGO DA VELHA .

 READ TABLE ITAB INDEX 1.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE:  ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.
 ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.

FORMAT RESET.
 WRITE: /10 sy-Uline(13) NO-GAP.



READ TABLE ITAB INDEX 2.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.

 FORMAT RESET.
 WRITE: /10 sy-Uline(13).

 READ TABLE ITAB INDEX 3.
 IF ITAB-COLUNA1 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: /10 ITAB-COLUNA1 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA2 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA2 AS ICON NO-GAP,SY-VLINE NO-GAP.

 IF ITAB-COLUNA3 EQ ICON_WD_RADIO_BUTTON_EMPTY.FORMAT HOTSPOT.ELSE.FORMAT RESET.ENDIF.
 WRITE: ITAB-COLUNA3 AS ICON NO-GAP.


 ENDFORM.

0 comentários:

Postar um comentário

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