0.11 - Telas de Seleção

July 13, 2018 | Author: Rogerio Nishitani | Category: Data, Computer Programming, Information Technology Management, Computing, Technology
Share Embed Donate


Short Description

Descrição: telas de seleção...

Description

Treinamento Telas de Seleção

Telas de Seleção Seleção  –

Introdução

 –

Telas de de Seleção Seleção - Exemplo Exemplo

 –

SELECT-OPTIONS

 –

Tabelas de Seleção •

Tabelas de seleção multi-linhas

 –

Textos de seleção

 –

CHECK

 –

PARAMETERS •

PARAMETERS como CHECKBOX



PARAMETERS como botões de rádio

Telas de Seleção  –

 –

 –

 –

 –

 –

 –

FRAMES Formatando a tela de seleção Telas adicionais Criando botões na barra de ferramentas Estrutura da SSCRFIELDS Criando botões na tela de seleção Mensagens •





 –

Mensagens de erro na tela de seleção  A tabela T100 Inserindo as mensagens

Criando IDs (classes) e mensagens

Introdução

Telas de seleção de relatórios são telas definidas pelo desenvolvedor dentro do código ABAP que o sistema monta automaticamente e servem para que o usuário parametrize a execução e a exibição da saída.

Telas de Seleção - Exemplo SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001. SELECT-OPTIONS: s_id FOR scarr-carrid. SELECTION-SCREEN END OF BLOCK bl1. SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-002. SELECT-OPTIONS: s_conn FOR sflight-connid, s_fldate FOR sflight-fldate. SELECTION-SCREEN SKIP 1. PARAMETERS: p_zero AS CHECKBOX. SELECTION-SCREEN END OF BLOCK bl2.

SELECT-OPTIONS SELECT-OPTIONS FOR [DEFAULT [TO ]]

SELECT-OPTIONS cria um critério de seleção para um campo do Banco de Dados. Se essa sentença existir no programa automaticamente uma tela de seleção é criada na execução do programa. SELECT-OPTION também cria uma tabela interna com o nome dado na declaração. Tal tabela contém o critério de seleção para o campo. OBLIGATORY obriga o usuário a preencher um dos campos.

Tabelas de Seleção SIGN

OPTION

LOW

HIGH

I

BT

3

10

I

EQ

1

E

GE

7

Tabelas de seleção são criadas pelo sistema para cada SELECT-OPTION e apresentam sempre o seguinte formato: • • •



SIGN: Pode ser ‘I’ (Inclusive) ou ‘E’ (Exclusive).

OPTION: Recebe o operador relacional para a linha corrente. LOW: Contém o valor mais baixo de um intervalo ou um valor único caso a comparação seja com valores distintos. HIGH:Contém o valor mais alto de um intervalo ou é vazio caso a comparação seja com valores distintos.

Tabelas de seleção multi-linhas Clique aqui para abrir  a tela de seleção múltipla.

A tela de seleção só mostra uma linha da tabela de seleção. Para poder acessar as outras linhas é necessário clicar no botão de SETA (EXTENSION) do lado direito da condição de seleção. NO-EXTENSION suprime o botão SETA do lado direito permite a adição de apenas uma linha no SELECT-OPTION. NO INTERVALS faz com que o SELECT-OPTION aceite apenas um valor de seleção ao invés de um intervalo FROM e TO.

Textos de seleção

Quando um SELECT-OPTION é criado o nome dele é usado como rótulo na tela. Usando-se Goto -> Text elements -> Selection Texts é possível criar textos de seleção mais amigáveis.

CHECK SELECT-OPTIONS S_SEL FOR SY-INDEX. DO 10 TIMES. CHECK S_SEL.  WRITE: / SY-INDEX. ENDDO.

Conteúdo da Tabela de Seleção: I BT 1 10 E EQ 5 E BT 7 8

Valores mostrados: 1 2 3 4 6 9 10

O CHECK também pode ser usado com condições de seleção. Dessa maneira o CHECK avalia se o campo anexo à condição de seleção confere com o critério de seleção.

PARAMETERS ...

PARAMETERS P_FNAME(50) TYPE C DEFAULT ‘/TMP’ LOWER CASE OBLIGATORY. ...

PARAMETERS cria um campo na tela de seleção que aceita apenas uma entrada. Uma variável de mesmo nome também é criada no programa. Pode-se criar um texto de seleção da mesma maneira que com o SELECT-OPTION.

PARAMETERS como CHECKBOX ...

PARAMETERS: P_ZERO AS CHECKBOX DEFAULT ‘X’. ...

CHECKBOX

Usando-se a cláusula CHECKBOX faz com que o parâmetro apareça como uma caixa de seleção na tela. Um PARAMETER como CHECKBOX sempre terá o tipo C de

tamanho 1 e seus valores serão ‘X’ para caixa preenchida e ‘’

(branco) para caixa vazia.

PARAMETERS como botões de rádio ... PARAMETERS: P_FX1 RADIOBUTTON GROUP RB1, P_FX2 RADIOBUTTON GROUP RB1, P_FX3 RADIOBUTTON GROUP RB1. ...

Para definir um parâmetro como botão de rádio deve-se usar a cláusula RADIOBUTTON GROUP . Isso automaticamente cria uma variável de tipo C e tamanho 1. Somente um botão de rádio dentre os que estão no mesmo grupo pode ser selecionado. O botão selecionado recebe o valor ‘X’ enquanto os outros recebem ‘’ (branco).

FRAMES ... SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETER : P_PAR(10) TYPE C. SELECTION-SCREEN END OF BLOCK B1. ...

FRAMES são definidas através da declaração BEGIN OF BLOCK WITH FRAME...END OF BLOCK . FRAMES são usadas extensivamente para separar porções da tela que tenham campos com alguma afinidade e especialmente para separar grupos de botões de rádio. Usando-se TITLE define-se um texto de título para o FRAME que pode ser um elemento de texto ou uma variável preenchida no INITIALIZATION.

Formatando a tela de seleção SELECTION-SCREEN . SELECTION-SCREEN SKIP . SELECTION-SCREEN ULINE [ [/]]. SELECTION-SCREEN COMMENT [/] [FOR FIELD ]. SELECTION-SCREEN BEGIN OF LINE. : : SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN POSITION .

Telas adicionais SELECTION-SCREEN BEGIN OF SCREEN 9500. SELECT-OPTIONS S_NOVO FOR SCARR-CARRID. SELECTION-SCREEN END OF SCREEN 9500. ... CALL SELECTION-SCREEN 9500. ...

É possível adicionar mais telas de seleção em qualquer programa (exceto tipo S). Declara-se uma tela usando-se: SELECTION-SCREEN BEGIN OF SCREEN ... SELECTION-SCREEN END OF SCREEN sendo um número de quatro dígitos (exceto 1000). Chama-se a tela através de CALL SELECTION-SCREEN .

Criando botões na barra de ferramentas TABLES SSCRFIELDS. ... SELECTION SCREEN FUNCTION KEY 1. SELECTION SCREEN FUNCTION KEY 2. SELECTION SCREEN FUNCTION KEY 3. ...

Para criar um botão na tela de seleção usa-se SELECTION-SCREEN FUNCTION KEY . Só é possível criar até 5 botões com esse método. É necessário declarar uma estrutura SSCRFIELDS (usando TABLES) que vai receber o código do botão pressionado assim como definir o texto que aparece no botão. Quando o usuário clica no botão o evento AT SELECTION-SCREEN é acionado.

Estrutura da SSCRFIELDS

A SSCRFIELDS armazena dados da tela de seleção a serem passados ao programa para futuro processamento. UCOMM armazena o código da função do botão pressionado. FUNCTXT_0 armazena o texto para o botão e deve ser preenchido no INITIALIZATION.

Criando botões na tela de seleção SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-003. SELECTION-SCREEN PUSHBUTTON /5(9) bot1 USER-COMMAND cbot1. SELECTION-SCREEN PUSHBUTTON 18(9) bot2 USER-COMMAND cbot2. SELECTION-SCREEN END OF BLOCK bl3. INITIALIZATION.

BOT1 = ‘Opção 1’. BOT2 = ‘Opção 2’.

Para criar um botão na tela de seleção usa-se SELECTION SCREEN PUSHBUTTON [/] pos(tam) USER-COMMAND . O posicionamento é feito como num comando WRITE. O texto do botão é definido no INITIALIZATION. O evento AT SELECTION-SCREEN é acionado quando se clica no botão e SY-UCOMM é preenchida.

Mensagens

Mensagens são extensivamente usadas no SAP para comunicar eventos e erros ao usuário. Mensagem são usadas em relatórios interativos, telas de seleção e programas on-line. Normalmente as mensagens são mostradas em uma linha no rodapé da tela. Exceções são mensagens que terminam o programa (abend) as quais são exibidas em tela inteira e mensagens informativas que são exibidas em uma caixa de diálogo.

Mensagens de erro na tela de seleção PARAMETERS P_IDADE TYPE I. ...  AT SELECTION-SCREEEN. IF P_IDADE > 100.

 MESSAGE E166 WITH ‘IDADE INVÁLIDA’. ENDIF

A mensagem será exibida continuamente até que o usuário digite dados válidos.

...

Usando-se o evento AT SELECTION-SCREEN é possível impedir o programa de ser processado caso o usuário tenha entrado com dados inválidos ou inapropriados. Mensagens tipo WARNING não interrompem o processamento, mas mensagens tipo ERROR não deixam o programa prosseguir até os dados serem corrigidos na seleção.

 A tabela T100

As mensagens são armazenadas na tabela T100. As mensagens são organizadas por linguagem, área de aplicação (classe) e um número seqüencial. Pode-se criar uma nova classe para armazenar mensagens, toda classe customizada deve começar com ‘X’ ou ‘Y’. O símbolo ‘&’ indica um local que pode ser

substituído por um valor em tempo de execução (máximo de quatro símbolos).

Inserindo as mensagens REPORT ZMENSAGENS MESSAGE-ID XI. ...

 MESSAGE E166 WITH ‘IDADE INVÁLIDA’. ...

Pode-se declarar uma classe de mensagens na sentença REPORT, a partir daí todas as mensagens do programa irão se referir a essa classe. O formato é: REPORT MESSAGE-ID Para mostrar a mensagem usa-se MESSAGE [WITH
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF