Você está na página 1de 6

*&---------------------------------------------------------------------*

*& Report ZCURSO_TELA_TURBINADA_01 - DECLARA��ES DAS VARIANTES


*&---------------------------------------------------------------------*
REPORT ZCURSO_TELA_TURBINADA_01.
DATA: USER_COMMAND, USRCMD1.

TABLES: SSCRFIELDS. "Estrutura de bottons


TYPE-POOLS: ICON. "Biblioteca dos icones

*&---------------------------------------------------------------------*
*& Report ZCURSO_TELA_TURBINADA_01 - INICIO
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-007.

"Par�metro simples para associar um parametro de tela ao um tipo de campo


existente

PARAMETERS: P_EMP TYPE ZT001-BUKRS MODIF ID P1.


"Par�metro de Checkbox

PARAMETERS: C_TODOS TYPE CHAR1 AS CHECKBOX MODIF ID P1 DEFAULT 'X',


C_MATNR TYPE CHAR1 AS CHECKBOX MODIF ID P1,
C_ITEM TYPE CHAR1 AS CHECKBOX MODIF ID P1.
" Par�metro de Listbox
PARAMETERS: L_MART TYPE ZT001-BUKRS AS LISTBOX VISIBLE LENGTH 10 MODIF ID
P1 .

"Par�metro simples com match code.


PARAMETERS: P_MTART TYPE ZT001-BUKRS MODIF ID P1 .

SELECTION-SCREEN END OF BLOCK BL1.


*&---------------------------------------------------------------------*
*& Report ZCURSO_TELA_TURBINADA_01 - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Selection-options - INICIO
*& Sele��o de multiplas sele��es de a at�.
*&---------------------------------------------------------------------*
TABLES: ZT001.

DATA: ZT001_AUX TYPE TABLE OF ZT001 .


DATA: ZT002_AUX TYPE TABLE OF ZT001.

SELECTION-SCREEN BEGIN OF BLOCK BL3 WITH FRAME TITLE TEXT-003.


SELECT-OPTIONS: P_EMP1 FOR ZT001-BUKRS MODIF ID P2.
PARAMETERS: P_EMP2 TYPE ZT001-BUKRS MODIF ID P2.
SELECTION-SCREEN END OF BLOCK BL3.
*&---------------------------------------------------------------------*
*& Selection-options - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& RadiRadio-button - INICIO
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF LINE.

" Quando RadioButton estiver e formato linha o elementos de texto n�o funcionda
" Desta forma, ter� que efetuar o par�metro abaixo para colocar o texto no
radiobutton.

SELECTION-SCREEN COMMENT 5(5) TEXT-004 FOR FIELD P_TODOS. " Essa fun��o
possibilita incluir o texto no radiobutton de forma linear
PARAMETERS: P_TODOS RADIOBUTTON GROUP GR1 DEFAULT 'X' USER-COMMAND USER_COMMAND.

SELECTION-SCREEN COMMENT 15(7) TEXT-005 FOR FIELD P_SELEC.


PARAMETERS: P_SELEC RADIOBUTTON GROUP GR1.

SELECTION-SCREEN COMMENT 27(7) TEXT-006 FOR FIELD P_ALGUNS.


PARAMETERS: P_ALGUNS RADIOBUTTON GROUP GR1.

" Quando RadioButton estiver e formato linha o elementos de texto n�o funcionda
" Desta forma, ter� que efetuar o par�metro abaixo para colocar o texto no
radiobutton.

SELECTION-SCREEN END OF LINE.


SELECTION-SCREEN END OF BLOCK BL2.
*&---------------------------------------------------------------------*
*& RadiRadio-button - FIM
*&---------------------------------------------------------------------*

INITIALIZATION. " Evento para carregar na tela antes de sua execua��o


PERFORM T_DEFAULT_TELA.
PERFORM F_CRIAR_BUTOES.

AT SELECTION-SCREEN OUTPUT." Para valida��o de Onclick no RadioButton


PERFORM D_MODIFICAR_TELA.

START-OF-SELECTION. " Evento para ao executar e validar a data de entrada


PERFORM BUSCAR_DADOS.

AT SELECTION-SCREEN.
PERFORM F_EVENTO_BOTAO.

AT SELECTION-SCREEN ON P_EMP.
PERFORM F_VALIDACAO_ENTRADA.

*&---------------------------------------------------------------------*
*& DECLARA��O DE BUTTONS - INICIO
*&---------------------------------------------------------------------*
SELECTION-SCREEN: FUNCTION KEY 1. " Declara��o dos Buttons AT� 5 buttons
SELECTION-SCREEN: FUNCTION KEY 2.
SELECTION-SCREEN: FUNCTION KEY 3.
SELECTION-SCREEN: FUNCTION KEY 4.
SELECTION-SCREEN: FUNCTION KEY 5.

*&---------------------------------------------------------------------*
*& Novas Telas - INICIO
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF SCREEN 9000.

SELECTION-SCREEN COMMENT /1(40) TEXT1.


PARAMETERS: P_NOVO TYPE CHAR10.
SELECTION-SCREEN END OF SCREEN 9000.

SELECTION-SCREEN BEGIN OF SCREEN 9001.

SELECTION-SCREEN COMMENT /1(40) TEXT2.


PARAMETERS: P_POPUP TYPE CHAR10.

SELECTION-SCREEN END OF SCREEN 9001.


*&---------------------------------------------------------------------*
*& Novas Telas - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*&Criar ABAS - INICIO
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF TABBED BLOCK T1 FOR 20 LINES.

SELECTION-SCREEN END OF BLOCK T1.


*&---------------------------------------------------------------------*
*&Criar ABAS - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form F_VALIDACAO_ENTRADA - INICIO
*&---------------------------------------------------------------------*
FORM F_VALIDACAO_ENTRADA.

DATA: ZT001_AUX1 TYPE ZT001-BUKRS.

SELECT SINGLE BUKRS


INTO ZT001_AUX1
FROM ZT001
WHERE BUKRS = P_EMP.

IF SY-SUBRC NE 0.
MESSAGE 'EMPRESA N�O CADASTRADA' TYPE 'S' DISPLAY LIKE 'M'.
ENDIF.
ENDFORM. "F_VALIDACAO_ENTRADA

*&---------------------------------------------------------------------*
*& Form F_VALIDACAO_ENTRADA - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form f_criar_butoes - INICIO
*&---------------------------------------------------------------------*

FORM F_CRIAR_BUTOES.

DATA: LS_BUTTON TYPE SMP_DYNTXT.


" Bot�o 1
LS_BUTTON-TEXT = 'CRIAR EMPRESA'.
LS_BUTTON-ICON_ID = ICON_CREATE.
LS_BUTTON-QUICKINFO = 'CRIAR EMPRESA'.
SSCRFIELDS-FUNCTXT_01 = LS_BUTTON.
" Bot�o 2
LS_BUTTON-TEXT = 'ALTERAR EMPRESA'.
LS_BUTTON-ICON_ID = ICON_CHANGE.
LS_BUTTON-QUICKINFO = 'ALTERAR EMPRESA'.
SSCRFIELDS-FUNCTXT_02 = LS_BUTTON.
" Bot�o 3
LS_BUTTON-TEXT = 'REMOVER EMPRESA'.
LS_BUTTON-ICON_ID = ICON_DELETE.
LS_BUTTON-QUICKINFO = 'REMOVER EMPRESA'.
SSCRFIELDS-FUNCTXT_03 = LS_BUTTON.

LS_BUTTON-TEXT = 'TELA CHEIA'.


LS_BUTTON-ICON_ID = ICON_BUSINAV_SZENARIO.
LS_BUTTON-QUICKINFO = 'TELA CHEIA'.
SSCRFIELDS-FUNCTXT_04 = LS_BUTTON.

LS_BUTTON-TEXT = 'POP-UP'.
LS_BUTTON-ICON_ID = ICON_SYSTEM_MODUS_CREATE.
LS_BUTTON-QUICKINFO = 'POP-UP'.
SSCRFIELDS-FUNCTXT_05 = LS_BUTTON.

ENDFORM. "f_criar_butoes

*&---------------------------------------------------------------------*
*& Form f_criar_butoes - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form F_evento_botao - INICIO
*&---------------------------------------------------------------------*
FORM F_EVENTO_BOTAO.

" Tem essa duas formas de codificar, por�m mais utulizado op��o 2
" Op��o 01

* IF SY-UCOMM = 'FC01'. " CRIAR


* BREAK-POINT.
* ENDIF.
*
* IF SY-UCOMM = 'FC02'. " ALTERAR
* BREAK-POINT.
* ENDIF.
*
* IF SY-UCOMM = 'FC03'. " REMOVER
* BREAK-POINT.
*ENDIF.

" Op��o 02

CASE SY-UCOMM.
WHEN 'FC01'. BREAK-POINT.
WHEN 'FC02'. BREAK-POINT.
WHEN 'FC03'. BREAK-POINT.
WHEN 'FC04'. CALL SELECTION-SCREEN 9000.

WHEN 'FC05'. CALL SELECTION-SCREEN 9001 STARTING AT 5 5 ENDING AT 50 8.


ENDCASE.

ENDFORM. "F_evento_botao

*&---------------------------------------------------------------------*
*& Form F_evento_botao - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form t_default_tela - INICIO
*&---------------------------------------------------------------------*
FORM T_DEFAULT_TELA.
TEXT1 = 'TESTE DE SEGUNDA TELA'.
TEXT2 = 'TESTE DE POPUP'.
P_EMP = '1000'(001).

ENDFORM. "t_default_tela
*&---------------------------------------------------------------------*
*& Form t_default_tela - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form BUSCAR DADOS - INICIO
*&---------------------------------------------------------------------*

FORM BUSCAR_DADOS.

SELECT *
INTO TABLE ZT001_AUX[]
FROM ZT001
WHERE BUKRS IN P_EMP1[].

" Ao utilizar a op��o [] na tabela auxilia o programa entende que dever� buscar
tudo
"caso n�o seja preechido o par�metro de tela >>> ZT001_AUX[] <<<

SELECT *
INTO TABLE ZT002_AUX[]
FROM ZT001
WHERE BUKRS EQ P_EMP2.

" Sem utilizar a op��o [] na tabela auxilia 2 o programa entende que n�o dever�
buscar tudo
"caso n�o seja preechido o par�metro de tela >>> ZT002_AUX <<<

ENDFORM. "BUSCAR_DADOS
*&---------------------------------------------------------------------*
*& Form BUSCAR DADOS - FIM
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
*& Form d_modificar_tela - INICIO
*&---------------------------------------------------------------------*

FORM D_MODIFICAR_TELA.

" A op��o Loop At Screen tem por fun��o efetuar a modifica��o de tela e HIDE e
INVISIBLE.
"Tem por melhorar a op��o de tela.

LOOP AT SCREEN.
IF P_TODOS = 'X'.
IF SCREEN-GROUP1 EQ 'P1' OR SCREEN-GROUP1 EQ 'P2'.
SCREEN-INVISIBLE = 0.
ENDIF.
ENDIF.

IF P_SELEC = 'X'. "Paramiters


IF SCREEN-GROUP1 = 'P1'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
SCREEN-ACTIVE = 0.
ENDIF.

IF P_ALGUNS = 'P2'.
SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 1.
SCREEN-ACTIVE = 1.
ENDIF.
ENDIF.

IF P_ALGUNS = 'X'. "Selection-Option


IF SCREEN-GROUP1 = 'P2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
SCREEN-ACTIVE = 0.
ENDIF.

IF P_SELEC = 'P1'.
SCREEN-INVISIBLE = 0.
SCREEN-INPUT = 1.
SCREEN-ACTIVE = 1.

ENDIF.
ENDIF.

MODIFY SCREEN.
ENDLOOP.
ENDFORM. "endform
*&---------------------------------------------------------------------*
*& Form d_modificar_tela - FIM
*&---------------------------------------------------------------------*

Você também pode gostar