Imagenes en Custom Control (Dynpro)

posted under by Antonio Lopez
para poder insertar una foto en nuestro programa, primero la tenemos que importar al workbench mediante la transaccion SE78, para este ejemplo la importaremos y le daremos el nombre de MTTO2 la imagen debe estar en formato bmp para que funcione correctamente, nuestro programa debe tener un Custom control de nombre "picture", previamente para que aparezca ahi la imagen que queremos cargar


******************************
*TOP
******************************
TYPES:
PICT_LINE(256) TYPE C.

DATA:
PICT_TAB TYPE TABLE OF PICT_LINE,
URL(255) TYPE C.
DATA:
CONTAINER1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
PICTURE TYPE REF TO CL_GUI_PICTURE.
DATA:
L_BYTECOUNT TYPE I,
L_TDBTYPE LIKE STXBITMAPS-TDBTYPE,
L_CONTENT TYPE STANDARD TABLE OF BAPICONTEN
INITIAL SIZE 0.
DATA:
GRAPHIC_SIZE TYPE I.
DATA:
BEGIN OF GRAPHIC_TABLE OCCURS 0,
LINE(255) TYPE X,
END OF GRAPHIC_TABLE.


******************************
*out
******************************
module STATUS_0600 output.
SET PF-STATUS 'xxxx'.
SET TITLEBAR 'xxxx'.
perform LOAD_IMAGE.
endmodule. " STATUS_0600 OUTPUT


******************************
*FORM
******************************
form LOAD_IMAGE.
CREATE OBJECT: CONTAINER1 EXPORTING CONTAINER_NAME = 'PICTURE',
PICTURE EXPORTING PARENT = CONTAINER1.
CALL FUNCTION 'SAPSCRIPT_GET_GRAPHIC_BDS'
EXPORTING
I_OBJECT = 'GRAPHICS'
I_NAME = 'MTTO2'
I_ID = 'BMAP'
I_BTYPE = 'BCOL'
* IMPORTING
* E_BYTECOUNT = L_BYTECOUNT
TABLES
CONTENT = L_CONTENT
EXCEPTIONS
NOT_FOUND = 1
BDS_GET_FAILED = 2
BDS_NO_CONTENT = 3
OTHERS = 4.

CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP'
EXPORTING
OLD_FORMAT = 'BDS'
NEW_FORMAT = 'BMP'
BITMAP_FILE_BYTECOUNT_IN = L_BYTECOUNT
IMPORTING
BITMAP_FILE_BYTECOUNT = GRAPHIC_SIZE
TABLES
BDS_BITMAP_FILE = L_CONTENT
BITMAP_FILE = GRAPHIC_TABLE
EXCEPTIONS
OTHERS = 1.

CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
TYPE = 'IMAGE'
SUBTYPE = 'BMP'
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_normal_center.

endform. " LOAD_IMAGE

2 comentarios

Make A Comment
Google
 
top