Prévia do material em texto
OLÁ Modelo Tela de seleção Parameters Utilizado para criar parâmetros de seleções para as telas do programa. Cada PARAMETER declarado representa um campo na tela de seleção. Ao utilizar PARAMETERS num programa, lembre-se de uma informação importante, sempre que este estiver vazio, a busca na tabela transparente será feita procurando um campo com valor vazio, pois este sempre utiliza a instrução EQ (igual/=) na comparação feita no select. O PARAMETER pode ser utilizando dentro de um programa como uma variável também, não só, para ser utilizado em um select. SINTAXE: * Declaração de parameters * Parameter declarado do tipo mara-mtart PARAMETERS p_mtart TYPE mara-mtart. Select-options Utilizado para criar parâmetros de seleções para telas com opções (range de seleções). Outra informação importante, cada campo declarado como SELECT-OPTIONS precisa ter obrigatoriamente a tabela interna referenciada declarada em TABLES. SINTAXE: * Declaração de select-options TABLES: mara. * Para que aceite a declaração do select-options abaixo, a tabela * transparente (MARA) que será utilizada nele deve estar declara- * da em TABLES. * Select-options declarado do tipo mara-matnr SELECT-OPTIONS s_matnr FOR mara-matnr. O Select-options tem algumas forma de ser utilizado. De acordo com a seleção múltipla: Acessando esta variável via debug, conseguimos analisar a forma que os dados são passados, onde: E = Exclusão I = Inclusão EQ = Igual BT = Entre Entre essas opções há também os operadores abaixo: Onde ficaria desta maneira: As declarações OBLIGATORY, NO EXTENSIONS e NO-INTERVALS também são bastante utilizadas nos SELECT-OPTIONS. OBLIGATORY é utilizado para deixar o preenchimento do SELECT-OPTIONS obrigatório. NO EXTENSIONS quando é solicitado que o usuário não pode entrar com mais de um valor em cada campo do SELECT- OPTIONS, NO-INTERVALS quando é solicitado que o SELECT- OPTIONS não tenha a opção DE/ATÉ, apenas DE, ou seja, apenas um campo SINTAXE: * Declaração de select-options SELECT-OPTIONS s_matnr1 FOR mara-matnr NO INTERVALS OBLIGATORY. SELECT-OPTIONS s_matnr2 FOR mara-matnr NO-EXTENSION OBLIGATORY. SELECT-OPTIONS s_matnr3 FOR mara-matnr NO INTERVALS NO- EXTENSION OBLIGATORY PUSHBUTTON Utilizado para criar Botão em tela, tendo uma ação após o click. Esta ação é definida no evento AT SELECTION-SCREEN. SINTAXE: * Declaração de Botão em tela SELECTION-SCREEN: PUSHBUTTON 12(10) ps_tst1 USER- COMMAND ps_tst1. INITIALIZATION. *Declarando descrição no botão ps_tst1 = ‘Teste’. AT SELECTION-SCREEN. * Utilizando o valor do USER-COMMAND, definimos o sy- ucomm após o click no botão. CASE sy-ucomm. WHEN ps_tst1. WHEN OTHERS. ENDCASE. INITIALIZATION Primeiro evento chamado ao carregar o programa ABAP, onde podem ser definidos valores para variáveis e qualquer outro parâmetro de tela SINTAXE: INITIALIZATION. * Inicializando parâmetro de tela p_mtart com um valor fixo p_mtart = 'HALB'. SELECTION-SCREEN Utilizado para criar a tela de seleção do programa SINTAXE: * Declaração da tela de seleção * b1 é o nome o bloco de campos criado na tela. * no elemento de texto text001, definimos um texto para este * bloco. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. * Declaração de select-options SELECT-OPTIONS s_matnr FOR mara-matnr. * Declaração de parameters PARAMETERS p_mtart TYPE mara-mtart. SELECTION-SCREEN END OF BLOCK b1. AT SELECTION-SCREEN Primeiro evento chamado ao efetuar o preenchimento da tela de seleção do programa ABAP e ao executa-lo, sendo utilizado para efetuar a validação dos parâmetros de seleção SINTAXE: AT SELECTION-SCREEN. * Validando parâmetro de tela p_mtart * Caso o valor atenda a condição verificada, emite mensagem * de erro na tela IF p_mtart = 'HALB’. MESSAGE e208(00) WITH 'Erro’. ENDIF. RadioButton Utilizado para selecionar uma opção única na tela de seleção SINTAXE: SELECTION-SCREEN BEGIN OF BLOCK part2 WITH FRAME. PARAMETERS: r1 RADIOBUTTON GROUP rad DEFAULT 'X', r2 RADIOBUTTON GROUP rad, r3 RADIOBUTTON GROUP rad. SELECTION-SCREEN END OF BLOCK part2. AT SELECTION-SCREEN OUTPUT Segundo evento chamado ao carregar o programa ABAP, sendo utilizado para efetuar a validação dos parâmetros de seleção. Após a tela carregada, ao efetuar seu preenchimento, é sempre chamado após o evento AT SELECTION-SCREEN SINTAXE: AT SELECTION-SCREEN OUTPUT. * Validar botões de rádio e tomar ações após isso IF NOT p_radio1 IS INITIAL. * Toma alguma ação exclusiva para este botão ELSE. * Toma alguma ação exclusiva para o outro botão ENDIF. AT SELECTION-SCREEN ON Utilizado para incluir valores iniciais nos parâmetros de seleção (matchcodes, etc...) SINTAXE: AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_mtart. * Validando parâmetro de tela p_mtart * Caso o valor atenda a condição verificada, emite mensagem * de erro na tela IF p_mtart = 'HALB’. MESSAGE e208(00) WITH 'Erro’. ENDIF. SKIP Utilizado para pular uma linha em programas, telas, etc... SINTAXE: * Declaração da tela de seleção SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text001. * Declaração de select-options SELECT-OPTIONS s_matnr FOR mara-matnr. * Utilizando SKIP para pular uma linha entre campos da tela SELECTION-SCREEN SKIP. * Declaração de parameters PARAMETERS p_mtart TYPE mara-mtart. SELECTION-SCREEN END OF BLOCK b1. CHECKBOX Utilizado para acrescentar uma caixa de seleção na tela se seleção SINTAXE: SELECTION-SCREEN BEGIN OF BLOCK selection1 WITH FRAME. SELECT-OPTIONS s_vbeln FOR vbak-vbeln. SELECTION-SCREEN SKIP. PARAMETERS p_chkbox AS CHECKBOX DEFAULT ‘’. SELECTION-SCREEN END OF BLOCK selection1. Programa de exemplo no ambiente: ZTREINA_012 ZTREINA_004 Exercício: Utilizando o programa anterior como exemplo, criar uma tela de seleção dinâmica, contendo 3 RADIOBUTTON, e através dos Ids, separar pelo menos 2 (Parameters ou Select- options) para cada RADIOBUTTON. Exemplo: Exercício: Criar um tela de seleção com um parameters(Material), um select-options(Categoria) e um checkbox(Excluido), utilizar os campos da tabela ZESTOQUE_TREINO – Selecionar os dados da tabela ZESTOQUE_TREINO de acordo com a tela de seleção. Realizar a impressão com LOOP e WRITE dos campos material, descrição e quantidade. Exemplo: Obrigado(a)!