MIME CL_MIME_REPOSITORY_API BSP 图标 显示 及下载

可以参考标准程序 : BSP_UPDATE_MIMEREPOS

https://blog.csdn.net/Sundam/article/details/84286178
ABAP-为Container添加图片
首先创建Container:

Class的声明&实现:

---------------------------------------------------------------------

  •   CLASS c_service DEFINITION
    

---------------------------------------------------------------------
*
---------------------------------------------------------------------
CLASS C_SERVICE DEFINITION.
PUBLIC SECTION.
CLASS-METHODS GET_PIC_TAB IMPORTING MIME_URL TYPE CSEQUENCE
EXPORTING PIC_TAB TYPE STANDARD TABLE.
ENDCLASS. "c_service DEFINITION

CLASS C_SERVICE IMPLEMENTATION.
METHOD GET_PIC_TAB.
DATA PIC_WA TYPE XSTRING.
DATA LENGTH TYPE I.
DATA MIME_API TYPE REF TO IF_MR_API.

MIME_API = CL_MIME_REPOSITORY_API=>GET_API( ).


MIME_API->GET( EXPORTING I_URL = MIME_URL
               IMPORTING E_CONTENT = PIC_WA
               EXCEPTIONS OTHERS = 4 ).

IF SY-SUBRC = 4.
  RETURN.
ENDIF.

CLEAR PIC_TAB.

LENGTH = XSTRLEN( PIC_WA ).

WHILE LENGTH >= 1022.
  APPEND PIC_WA(1022) TO PIC_TAB.
  SHIFT PIC_WA BY 1022 PLACES LEFT IN BYTE MODE.
  LENGTH = XSTRLEN( PIC_WA ).
ENDWHILE.

IF LENGTH > 0.
  APPEND PIC_WA TO PIC_TAB.
ENDIF.

ENDMETHOD. "get_pic_tab
ENDCLASS. "c_service IMPLEMENTATION

  • PICTURE_CONTROL
    DATA: CONTAINER1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
    CONTAINER2 LIKE CONTAINER1,
    PICT1 TYPE REF TO CL_GUI_PICTURE,
    PICT2 LIKE PICT1,
    EVT_TAB TYPE CNTL_SIMPLE_EVENTS,
    EVT_TAB_LINE LIKE LINE OF EVT_TAB,
    URL(256) TYPE C.

在START-OF-SELECTION事件下为URL添加图片地址:

START-OF-SELECTION.

  • Reporting events
    PERFORM INIT_REPORTING.
    PERFORM FOM_GETDATA .
    CALL SCREEN 100.

&---------------------------------------------------------------------
*& Form INIT_REPORTING
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM INIT_REPORTING .

C_SERVICE=>GET_PIC_TAB(
EXPORTING MIME_URL = ‘/SAP/BC/fp/graphics/FPsamples/Tatze.bmp’
IMPORTING PIC_TAB = PIC_TAB ).

CALL FUNCTION ‘DP_CREATE_URL’
EXPORTING
TYPE = ‘IMAGE’
SUBTYPE = ‘GIF’
TABLES
DATA = PIC_TAB
CHANGING
URL = URL.

ENDFORM.

在PBO事件下显示图片:

&---------------------------------------------------------------------
*& Form CREATE_PICTURE_CONTROL
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM CREATE_PICTURE_CONTROL .

CREATE OBJECT: container1 EXPORTING container_name = ‘CONT02’,
container2 EXPORTING container_name = ‘PICTURE2’,
pict1 EXPORTING parent = container1,
pict2 EXPORTING parent = container2.

l_alignment = cl_gui_control=>align_at_left +
cl_gui_control=>align_at_right +
cl_gui_control=>align_at_top +
cl_gui_control=>align_at_bottom.

CALL METHOD pict1->set_alignment
EXPORTING
alignment = l_alignment.

CALL METHOD pict1->set_3d_border
EXPORTING
border = 1.

evt_tab_line-eventid = cl_gui_picture=>eventid_picture_click.
evt_tab_line-appl_event = ’ '. " System Event!
APPEND evt_tab_line TO evt_tab.

CALL METHOD pict1->set_registered_events
EXPORTING
events = evt_tab.

CALL METHOD pict1->load_picture_from_url
EXPORTING
url = url
EXCEPTIONS
OTHERS = 4.

ENDFORM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值