Í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.