Abap/4操作屏幕(8)

来源:互联网 发布:桌面工作安排软件 编辑:程序博客网 时间:2024/05/29 18:28

*&---------------------------------------------------------------------*
*& Report  Z_CPT7_11                                                   *
*&                                                                     *
*&---------------------------------------------------------------------*
*&     定制控件          显示图片
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  Z_CPT7_11                                                   .

DATA:OK_CODE TYPE SY-UCOMM,
     SAVE_OK TYPE SY-UCOMM.
DATA CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA PICTURE TYPE REF TO CL_GUI_PICTURE.
DATA INIT.

CALL SCREEN 100.


*&---------------------------------------------------------------------*
*&      Module  CANCEL  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE CANCEL INPUT.
    LEAVE PROGRAM.
ENDMODULE.                 " CANCEL  INPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
*如果未创建定制对象
IF INIT IS INITIAL.
*   定义图片URL
    DATA URL(255).
    CLEAR URL.
*创建对象
    CREATE OBJECT CONTAINER EXPORTING CONTAINER_NAME = 'CC1'.
    CREATE OBJECT PICTURE EXPORTING PARENT = CONTAINER.
*定义通用函数取得图片地址
    PERFORM LOAD_PIC_DB CHANGING URL.
*显示图片
    CALL METHOD PICTURE->LOAD_PICTURE_FROM_URL
        EXPORTING
          URL = URL.
*打标记
INIT = 'X'.
ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT


FORM LOAD_PIC_DB CHANGING P_URL.
    DATA QUERY_TABLE LIKE W3QUERY OCCURS 1 WITH HEADER LINE.
    DATA HTML_TABLE LIKE W3HTML OCCURS 1.
    DATA RETURN_CODE LIKE W3PARAM-RET_CODE.
    DATA CONTENT_TYPE LIKE W3PARAM-CONT_TYPE.
    DATA CONTENT_LENGTH LIKE W3PARAM-CONT_LEN.
    DATA PIC_DATA LIKE W3MIME OCCURS 0.
    DATA PIC_SIZE TYPE I.

    REFRESH QUERY_TABLE.
    "查询数据对象
    QUERY_TABLE-NAME = '_OBJECT_ID'.
    "图片名称对象
    QUERY_TABLE-VALUE = 'girl1'.
    APPEND QUERY_TABLE.
    "读取WWWDATA表,取得图片对象信息
    CALL FUNCTION 'WWW_GET_MIME_OBJECT'
        TABLES
          QUERY_STRING = QUERY_TABLE
          HTML = HTML_TABLE
          MIME = PIC_DATA
        CHANGING
          RETURN_CODE = RETURN_CODE
          CONTENT_TYPE = CONTENT_TYPE
          CONTENT_LENGTH = CONTENT_LENGTH.
     IF SY-SUBRC EQ 0.
         PIC_SIZE = CONTENT_LENGTH.
     ENDIF.

     "创建图片URL地址
     CALL FUNCTION 'DP_CREATE_URL'
       EXPORTING
         TYPE = 'image'
         SUBTYPE = CNDP_SAP_TAB_UNKNOWN
         SIZE = PIC_SIZE
         LIFETIME = CNDP_LIFETIME_TRANSACTION
       TABLES
         DATA = PIC_DATA
       CHANGING
         URL = URL.
ENDFORM.