Hi abap masters.
I want to show a bitmap on a dynpro stored on the application server. All seems to work fine: No FM exceptions, GUIDs generated, ... but I don't know why the picture is not shown.
Please, help!!
TYPES pict_line(256) TYPE x.
DATA: lt_pict_tab TYPE TABLE OF pict_line,
wa_pict_line TYPE pict_line,
lv_url(255) TYPE c,
len TYPE i.
DATA: lv_direc TYPE char50,
lv_syrepid TYPE syrepid,
lv_dynnr TYPE sydynnr.
lv_syrepid = sy-repid.
lv_dynnr = '9001'.
DATA: container1 TYPE REF TO cl_gui_custom_container,
picture TYPE REF TO cl_gui_picture.
IF container1 IS INITIAL.
CREATE OBJECT container1
EXPORTING
* PARENT =
container_name = 'PICTURE'
* STYLE =
* LIFETIME = lifetime_default
repid = lv_syrepid
dynnr = lv_dynnr
* NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6.
IF sy-subrc = 0.
IF picture IS INITIAL.
CREATE OBJECT picture
EXPORTING
* LIFETIME =
* SHELLSTYLE =
parent = container1
* NAME =
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL METHOD picture->set_display_mode
EXPORTING
display_mode = cl_gui_picture=>display_mode_fit_center
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc <> 0.
**********
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF picture IS NOT INITIAL.
* Obtener ruta del directorio
SELECT SINGLE valor INTO lv_direc
FROM t9lacredp_params
WHERE clave1 = c_dir_fotos.
CONCATENATE lv_direc wa_acred_aux-inss c_ext_bmp INTO lv_svrfile.
****Hay que cargar la imagen en LT_PICT_TAB
DESCRIBE FIELD wa_pict_line LENGTH len IN BYTE MODE.
OPEN DATASET lv_svrfile FOR INPUT IN BINARY MODE.
IF sy-subrc = 0.
DO.
READ DATASET lv_svrfile INTO wa_pict_line MAXIMUM LENGTH len.
IF sy-subrc = 0.
APPEND wa_pict_line TO lt_pict_tab.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET lv_svrfile.
CALL FUNCTION 'DP_CREATE_URL'
EXPORTING
type = 'IMAGE'
subtype = CNDP_SAP_SUBTYPE_UNKNOWN
* SIZE =
* DATE =
* TIME =
* DESCRIPTION =
* LIFETIME =
* CACHEABLE =
* SEND_DATA_AS_STRING =
TABLES
data = lt_pict_tab
* FIELDS =
* PROPERTIES =
CHANGING
url = lv_url
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_put_table = 2
dp_error_general = 3
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD picture->load_picture_from_url
EXPORTING
url = lv_url
EXCEPTIONS
error = 1
OTHERS = 2.
IF sy-subrc = 0.
CALL METHOD cl_gui_cfw=>flush.
ELSE.
*******
ENDIF.
ENDIF.
FREE lt_pict_tab.
Thanks in advance,
Jordi