zoukankan      html  css  js  c++  java
  • 通过定制控制在屏幕上显示图片

    1、图片上载

    图片的上载是在事务代码SWM0中操作的。

    输入包slis进去,然后新建一个对象,尚在成功后相关的数据在数据表WWWDATA中存储,可以通过对象名称查找出来

    2、创建屏幕100在屏幕上加上定制控制对象元素P1。

    3.代码实现:

    *&---------------------------------------------------------------------*
    *& Report  YTEST019
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*

    REPORT  ytest019.

    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.

    INCLUDE ytest019_exiti01.
    *&---------------------------------------------------------------------*
    *&      Module  USER_COMMAND_0100  INPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE user_command_0100 INPUT.

      save_ok ok_code.


    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&---------------------------------------------------------------------*
    *&      Module  STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    MODULE status_0100 OUTPUT.
    *  SET PF-STATUS 'xxxxxxxx'.
    *  SET TITLEBAR 'xxx'.
    *如果还未创建定制对象
      IF init IS INITIAL.
        DATA url(255).
        CLEAR url.
        CREATE OBJECT container
          EXPORTING
            container_name 'P1'.
        CREATE OBJECT picture
          EXPORTING
            parent container
          EXCEPTIONS
            error  1.
        IF sy-subrc NE 0.

        ENDIF.

    *定义通过函数取得图片地址
        PERFORM load_pic_from_db CHANGING url.

    * 显示图片
        CALL METHOD picture->load_picture_from_url
          EXPORTING
            url url.
        IF sy-subrc NE 0.

        ENDIF.

    *置标识位置已初始
        init 'X'.


      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&---------------------------------------------------------------------*
    *&      Form  LOAD_PIC_FROM_DB
    *&---------------------------------------------------------------------*
    FORM load_pic_from_db  CHANGING p_url.
      DATA query_table LIKE w3query OCCURS 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 'TESTPICS'.
      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
        EXCEPTIONS
          object_not_found    1
          parameter_not_found 2
          OTHERS              3.
      IF sy-subrc <> 0.
        pic_size content_length.
      ENDIF.

    * 创建图片URL地址

      CALL FUNCTION 'DP_CREATE_URL'
        EXPORTING
          type                       'image'
          subtype                    cndp_sap_tab_unknown
         size                       pic_size
    *   DATE                       =
    *   TIME                       =
    *   DESCRIPTION                =
         lifetime                   cndp_lifetime_transaction
    *   CACHEABLE                  =
    *   SEND_DATA_AS_STRING        =
    *   FIELDS_FROM_APP            =
        TABLES
          data                       pic_data
    *   FIELDS                     =
    *   PROPERTIES                 =
    *   COLUMNS_TO_STRETCH         =
        CHANGING
          url                        url
     EXCEPTIONS
    *   DP_INVALID_PARAMETER       = 1
    *   DP_ERROR_PUT_TABLE         = 2
    *   DP_ERROR_GENERAL           = 3
         others                     1
                .
      IF sy-subrc <> 0.
    * Implement suitable error handling here
      ENDIF.


    ENDFORM.                    " LOAD_PIC_FROM_DB

  • 相关阅读:
    7-3色彩平衡
    Flex 布局
    JS获取当前周
    虚树学习笔记
    当然,perl等脚本服务器是一般默认安装了,你入侵了一台主机,总不能先装配 Java 环境然后再开干吧?
    还有这种书,程序开发心理学(豆瓣)
    Codeforces Round #143 (Div. 2)
    Codeforces Round #142 (Div. 2)
    Codeforces Round #141 (Div. 2)
    2018-2019-1 20189221 书籍速读 第 1 周
  • 原文地址:https://www.cnblogs.com/caizjian/p/3332733.html
Copyright © 2011-2022 走看看