sexta-feira, 15 de abril de 2011

Figura no Module Pool

  "  Radical esse código heim, hahaii !!
"  Foi como disse o meu amigo que passou este esqueminha pra mim,
" o Nicholas procurou muito na internet e naum achou porisso estou postando
" espero que ajude algum junior, vamos por passos : 

"  Passo 1 - Criar uma 'Custom Control no Layout da tela
"  Passo 2 - Dentro do 'Before OutPut (PBO) tem o Modulo de Status da tela,
"  Passo 3 - Dentro deste modulo (por Bouas praticas) crie um 'Perform para 
" chamar a imagem
"  Passo 4 - Agora coloque o codigo abaixo não esquecendo de relacionar o 
" o 'Custom Control com o container e colocar o nome do figurinha no 'Method

"  É Voala (é Assim que escreve?) agora seu 'Module Pool vai ter uma imagem a 
" maioria da vezes serve pra coloca o logo do cliente (por favor não erre a 
" imagem )

*&---------------------------------------------------------------------*
*&  Include           MZ_NCPROGRAMAF01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  Z_FIGURA_1
*&---------------------------------------------------------------------*



FORM z_figura_1 .

  DATA: w_lines TYPE i.

  TYPES pict_line(256) TYPE c.

  DATA :  container TYPE REF TO cl_gui_custom_container,
          editor    TYPE REF TO cl_gui_textedit,
          picture   TYPE REF TO cl_gui_picture,
          pict_tab  TYPE TABLE OF pict_line,
          url(255)  TYPE c.

  DATA: graphic_url(255).

  DATA: BEGIN OF graphic_table OCCURS 0,
          line(255) TYPE x,
        END OF graphic_table.

  DATA: l_graphic_conv TYPE i.
  DATA: l_graphic_offs TYPE i.
  DATA: graphic_size   TYPE i.
  DATA: l_graphic_xstr TYPE xstring.

  CALL METHOD cl_gui_cfw=>flush.

* Aqui é declarado o container onde a imagem vai aparecer.

  CREATE OBJECT: container EXPORTING container_name = 'CUSTOM_CONTROL_1', picture EXPORTING parent = container.

* Metodo que carrega a imagem do SAP.

  CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
    EXPORTING
      p_object       = 'GRAPHICS'
      p_name         = 'SUA_IMAGEM_AKI'
      p_id           = 'BMAP'
      p_btype        = 'BCOL'
    RECEIVING
      p_bmp          = l_graphic_xstr
    EXCEPTIONS
      not_found      = 1
      internal_error = 2
      OTHERS         3.

  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  graphic_size = XSTRLEN( l_graphic_xstr ).
  l_graphic_conv = graphic_size.
  l_graphic_offs = 0.

  WHILE l_graphic_conv > 255.

    graphic_table-line = l_graphic_xstr+l_graphic_offs(255).
    APPEND graphic_table.
    l_graphic_offs = l_graphic_offs + 255.
    l_graphic_conv = l_graphic_conv - 255.

  ENDWHILE.

  graphic_table-line = l_graphic_xstr+l_graphic_offs(l_graphic_conv).
  APPEND graphic_table.

  CALL FUNCTION 'DP_CREATE_URL'
    EXPORTING
      type     'IMAGE'
      subtype  = 'X-UNKNOWN'
      size     = graphic_size
      lifetime = 'T'
    TABLES
      data     = graphic_table
    CHANGING
      url      = url.

  CALL METHOD picture->load_picture_from_url
    EXPORTING
      url = url.

  CALL METHOD picture->set_display_mode
    EXPORTING
      display_mode = picture->display_mode_fit_center.

ENDFORM.                    " Z_FIGURA_1
Comentários
0 Comentários

Nenhum comentário:

Postar um comentário