Visual – Picture Control – cl_gui_picture – load_picture_from_url – Custom Control – Complex Screen Element – Abap

Publicado: 10 de abril de 2014 em Abap

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.

picturecontrol

SAP Picture Control

 

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:

  1. Crie um programa chamado Zpicturecontrol.
  2. Crie uma tela de numero 100 para este programa no Screen Painter.
  3. Arraste um componente Text Fiels, um componente Box, um Componente Custom Control e um PushButton.
  4. Nomeie o Custom Control como IMAGEM, nomeie os outros componentes como desejar.
  5. No componente PushButton nomeie sua propriedade function code de F_SAIR.
  6. Use a figura abaixo para montar o design de tela:

    picturecontrol-design

    SAP Picture Control – Design

  7. Na aba Element List preencha ao campo tipo OK com OK_CODE.
  8. 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.
  9. Salve o programa, volte para o Screen Painter e ative sua tela.
  10. Vá para o programa e utilize o código abaixo.
  11. 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
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s