Picture Control
Você define uma instância com referência à classe cl_gui_picture. Uma instância SAP Picture administra todas as informações relativas a uma imagem na tela. Você pode chamar os métodos desta instância para definir e alterar os atributos da imagem.
Para usar o SAP Picture, você deve ter pelo menos o conhecimento básico de ABAP Objects. Você também deve estar familiarizado SAP Control Framework.
Lifetime Managment
O gerenciamento da vida útil controla o tempo de vida de um controle personalizado no frontend. Quando um controle chega ao fim da sua vida útil, o sistema SAP destrói o controle automaticamente no frontend.
load_picture_from_url
Você pode usar esse método para exibir um gráfico em formato GIF, WMF, ou em formato JPG no SAP Picture.
Screen Painter
Para usar o SAP Picture Control siga os seguintes passos:
- Crie um programa chamado Zpicturecontrol.
- Crie uma tela de numero 100 para este programa no Screen Painter.
- Arraste um componente Text Fiels, um componente Box, um Componente Custom Control e um PushButton.
- Nomeie o Custom Control como IMAGEM, nomeie os outros componentes como desejar.
- No componente PushButton nomeie sua propriedade function code de F_SAIR.
- Use a figura abaixo para montar o design de tela:
- Na aba Element List preencha ao campo tipo OK com OK_CODE.
- Na aba Flow Logic crie um PBO MODULE para seu programa, apagando o caractere de comentário da linha MODULE STATUS 100 e clique duas vezes na variável STATUS 100.
- Salve o programa, volte para o Screen Painter e ative sua tela.
- Vá para o programa e utilize o código abaixo.
- Ative e teste o programa.
Exemplo:
Neste exemplo criamos um programa que através de um Container utiliza um componente Custom para exibir uma imagem da Web utilizando sua URL para acesso a imagem, utilizando o objeto Abap SAP Picture Control instanciado da classe cl_gui_picture.
Abap
*&---------------------------------------------------------------------* *& Report ZPICTURECONTROL *& *&---------------------------------------------------------------------* *& Desenvolvimento Aberto *& Picture Control *&---------------------------------------------------------------------* REPORT ZPICTURECONTROL. * Declara Eventos do botão DATA: ok_code LIKE sy-ucomm, clique_ok LIKE sy-ucomm. * Declara componentes * Container DATA imagem TYPE REF TO cl_gui_custom_container. * Imagem DATA figura TYPE REF TO cl_gui_picture. * Chama a tela 100 CALL SCREEN 100. MODULE STATUS_0100 OUTPUT. * SET PF-STATUS 'xxxxxxxx'. * SET TITLEBAR 'xxx'. * Cria objeto do container CREATE OBJECT imagem EXPORTING container_name = 'IMAGEM' lifetime = imagem->LIFETIME_DYNPRO. * Cria objeto da imagem CREATE OBJECT figura EXPORTING parent = imagem lifetime = figura->LIFETIME_DYNPRO. * Chama imagem da url CALL METHOD figura->load_picture_from_url EXPORTING url = 'https://desenvolvimentoaberto.files.wordpress.com/2014/04/images.jpg' EXCEPTIONS error = 1. * limpa evento clique_ok = ok_code. CLEAR ok_code. * Eventos dos botões ou teclas CASE clique_ok. WHEN 'F_SAIR'. LEAVE PROGRAM. ENDCASE. ENDMODULE. " STATUS_0100 OUTPUT