Ícones de status são elementos de visualização que você pode usar para representar o estado de um programa graficamente. Em princípio, você pode usar qualquer um dos ícones disponíveis no SAP GUI, mas a escolha deve ser limitada a ícones especificados para esta finalidade.
Você só pode criar ícones de status no Screen Painter. Quando você cria um ícone, você atribui um nome e um campo de tela para ele. Este campo de tela é conhecido como um campo de status. O comprimento visível do campo de tela determina a quantidade de espaço que o ícone pode ocupar na tela. Assim como o próprio ícone, você também pode colocar um texto no campo.
Screen Painter
Para criar um ícone de status siga os seguintes passos:
- Cria um programa chamado Zicones.
- No Screen Painter crie uma tela com o numero de 100.
- Coloque um componente Box, um componente Text Field, um componentes Status Icon e um componente PushButton.
- Use a imagem abaixo para criar o Layout:
- Nomeie o Status Icon de MEU_ICONE.
- Nomeie os outros componentes como desejar.
- Preencha a aba Flow Logic da sua tela com o código abaixo.
- Ative sua tela.
- Digite o código para o programa de acordo com o programa abaixo.
Exemplo
Neste exemplo usamos o conteúdo dos valores dos campos são alterados no evento PAI, e consequentemente um novo ícone é definido no caso no evento PBO.
Abap
Aba – Flow Logic
PROCESS BEFORE OUTPUT. MODULE set_icone. PROCESS AFTER INPUT. MODULE cancelar AT EXIT-COMMAND. MODULE mudar.
Programa – Zicones
*&---------------------------------------------------------------------*
*& Report ZICONES
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Status Icons
*&---------------------------------------------------------------------*
REPORT ZICONES.
* Declara variaveis
DATA value TYPE i VALUE 1.
* Declara Componente e propriedades
DATA: MEU_ICONE TYPE icons-text,
icone_nome(20) TYPE c,
icone_texto(100) TYPE c.
* Chama a tela
CALL SCREEN 100.
MODULE set_icone OUTPUT.
* Você pode criar um menu para este programa
"SET PF-STATUS 'xxx'.
* Define as propriedades do componente
CASE value.
WHEN 1.
icone_nome = 'ICON_GREEN_LIGHT'.
icone_texto = 'Icone verde - Ação esta correta'.
WHEN 2.
icone_nome = 'ICON_YELLOW_LIGHT'.
icone_texto = 'Icone amarelo - Ação esta imcompleta'.
WHEN 3.
icone_nome = 'ICON_RED_LIGHT'.
icone_texto = 'Icone vermelho - Ação esta errada'.
ENDCASE.
* Executa ação do componente
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = icone_nome
text = icone_texto
info = 'Status'
add_stdinf = 'X'
IMPORTING
result = MEU_ICONE
EXCEPTIONS
icon_not_found = 1
outputfield_too_short = 2
OTHERS = 3.
ENDMODULE.
* Fecha o programa
MODULE cancelar INPUT.
LEAVE PROGRAM.
ENDMODULE.
* Muda o status das propriedades do componente
MODULE mudar.
CASE value.
WHEN 1.
value = 2.
WHEN 2.
value = 3.
WHEN 3.
value = 1.
ENDCASE.
ENDMODULE.

