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 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 = '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

转载于:https://www.cnblogs.com/caizjian/p/3332733.html

通过定制控制在屏幕上显示图片相关推荐

  1. 计算机游戏中屏幕上显示的,电脑在玩全屏游戏的时候显示屏老是出现无信号

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:电脑在玩全屏游戏的时候显示屏老是出现无信号 问题详情:我在玩CF的时候 每次进入游戏 显示屏突然出现无信号 好几次了推荐回答:这样的 ...

  2. 汇编--在屏幕上显示彩色字体

    汇编--在屏幕上显示彩色字体 学习汇编学了已经半个学期了,总感觉自己学的不扎实,语言这种东西,我感觉要想学的好必须多实践.在实践中才能更扎实的掌握知识,不然学了一本书,到头来什么事都干不了.课本上有给 ...

  3. 屏幕上锁定图片_如何在Windows 8锁定屏幕上自定义时间

    屏幕上锁定图片 If you are running Windows 8, hit the Windows key and L at the same time. What do you see? I ...

  4. stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解)

    stm32f103利用HC06进行蓝牙通信,在7针的OLED屏幕上显示,带数据更新功能(带超详细讲解) 首先看看效果吧 手机端发送一个数据在OLED屏幕上显示 其实蓝牙通信就是个蓝牙转串口的过程,手机 ...

  5. ArchieOpenGL教程第11课:使用位图字体 在屏幕上显示字体

    第十一课A 源代码 图像字体A: 这一课我们将创建一些基于2D图像的字体,它们可以缩放,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经够了. 使用位图字体比起使用图形字体(贴图)看起来不 ...

  6. 换屏后sim卡显示无服务器,话机屏幕上显示“插入SIM卡”、“SIM卡无效”、“请插入UIM卡”,“无法获得网络服务”或“紧急呼叫”...

    **问题现象:** 插入SIM卡后,话机屏幕上显示"插入SIM卡"."SIM卡无效"."请插入UIM卡","无法获得网络服务&qu ...

  7. 使用U8G2在oled屏幕上显示胡桃摇动画

    使用U8G2在oled屏幕上显示胡桃摇动画 目录 使用U8G2在oled屏幕上显示胡桃摇动画 概述 图像处理 为什么要处理? 导入opencv 分解gif 灰度化 裁剪大小和缩放 裁剪 缩放 二值化前 ...

  8. 用单片机在屏幕上显示字库中的汉字

    在屏幕上显示字库中汉字 显示原理 字体模型 1.取模 2.字库 显示函数的实现 1.首先实现点亮一个点 2.以汉字12 * 12,字符6 * 12为例写的驱动函数 3.显示函数(集成到一个函数中) 总 ...

  9. c语言在屏幕上显示字母,C语言在屏幕上的显示内容

    C语言是一门通用计算机编程语言,那么大家知道C语言在屏幕上的显示内容是什么呢?下面一起来看看! 我们有两种方式从计算机获得信息:一是看屏幕上的文字.图片.视频等,二是听从喇叭发出来的声音. 让喇叭发出 ...

  10. 用c语言让屏幕显示字体,C语言在屏幕上显示内容

    C语言在屏幕上显示内容 如何使用C语言在屏幕上显示内容呢?下面百分网小编就给大家讲解一下,希望对您有所帮助! 我们有两种方式从计算机获得信息:一是看屏幕上的文字.图片.视频等,二是听从喇叭发出来的声音 ...

最新文章

  1. [Swift]LeetCode206. 反转链表 | Reverse Linked List
  2. python互相转换位置坐标(百度坐标、WGS_84、火星坐标)
  3. 【Python教程】装饰器的使用及固定模式
  4. 怎样从red hat linux图形登录改成从文本登录
  5. url中找出IP地址
  6. BetterZip使用教程:Mac用户如何提取压缩文件?
  7. 那些年面过的坑,都在这里了~
  8. 几点忠告送给在科研道路艰难跋涉的自己
  9. python复数类型及其特点和分布地区_各种气候类型及其特点、分布规律、主要分布地区、数值特征...
  10. 利用word2007插入参考文献
  11. 无线路由器服务器连接线,无线路由器连接有线路由器怎么设置?
  12. Python网络爬虫与信息提取——网络爬虫Scrapy框架
  13. dispatch_once造成的死锁问题
  14. 【昊鼎王五】pip安装pymssql模块时报错“PEP 517”怎么解决?
  15. 11.Django基础九之中间件
  16. 算法比赛经历--蓝桥杯,天梯赛,力扣,牛客,cf,acwing,acm
  17. 【推荐】国外破解网址大全
  18. 安装mysql时默认分配的端口是_安装 MySQL时默认端口号是:_学小易找答案
  19. 【工具】Datax的基本概念(初识ETL工具)
  20. 给以太坊打了一针强心剂,DeFi能跑出区块链杀手级应用吗?

热门文章

  1. GBin1教程:使用jQuery插件jquery.validationEngine实现表单验证功能
  2. NYOJ水题--最短街区问题
  3. 如何在 Mac 上使用预览将 .pdf 文件更改为 .jpg 文件
  4. Magoshare Data Recovery使用教程:在mac上恢复找回删除的丢失文件
  5. iOS底层探索之多线程(十一)—GCD源码分析(调度组)
  6. 微信小程序版本自动更新弹窗提示
  7. Django 1.8.2 文档 1
  8. python中的json模块
  9. cookie、session、localStorage、sessionStorage区别
  10. 值得关注:Ubuntu 14.04服务器版提供了虚拟化、自动化、存储相关更新