O Evento
AT SELECTION.
Definindo o Evento AT SELECTION
*&---------------------------------------------------------------------*
*& Report Z_EVENTO
*&
*&---------------------------------------------------------------------*
*& DEFININDO A UILIZACAÇÃO DO EVENTO
AT SELECTION
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'
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