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.org/wp-content/uploads/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



