REPORT demo_html_from_mime.

CLASS mime_demo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS main.
PRIVATE SECTION.
TYPES: mime_line(1022) TYPE x,
mime_tab TYPE STANDARD TABLE OF mime_line
WITH EMPTY KEY.
CLASS-METHODS get_mime_obj
IMPORTING
mime_url TYPE csequence
RETURNING
VALUE(mime_tab) TYPE mime_tab.
ENDCLASS. CLASS mime_demo IMPLEMENTATION.
METHOD main.
DATA html_url TYPE c LENGTH 255. DATA(custom_container) = NEW
cl_gui_custom_container( container_name = 'CUSTOM_CONTAINER' ).
DATA(html_control) = NEW
cl_gui_html_viewer( parent = custom_container ). DATA(pict_tab) = get_mime_obj(
mime_url = '/SAP/PUBLIC/BC/ABAP/mime_demo/ABAP_Docu_Logo.gif' ).
html_control->load_data(
EXPORTING
url = 'picture_url'
type = 'image'
subtype = '.gif'
CHANGING
data_table = pict_tab ). DATA(html_tab) = get_mime_obj(
mime_url = '/SAP/PUBLIC/BC/ABAP/mime_demo/demo_html.html' ).
html_control->load_data(
IMPORTING
assigned_url = html_url
CHANGING
data_table = html_tab ). html_control->show_url(
EXPORTING
url = html_url ).
ENDMETHOD. METHOD get_mime_obj.
cl_mime_repository_api=>get_api( )->get(
EXPORTING i_url = mime_url
IMPORTING e_content = DATA(mime_wa)
EXCEPTIONS OTHERS = 4 ).
IF sy-subrc = 4.
RETURN.
ENDIF.
mime_tab =
VALUE #( LET l1 = xstrlen( mime_wa ) l2 = l1 - 1022 IN
FOR j = 0 THEN j + 1022 UNTIL j >= l1
( COND #( WHEN j <= l2 THEN
mime_wa+j(1022)
ELSE mime_wa+j ) ) ).
ENDMETHOD.
ENDCLASS. START-OF-SELECTION.
mime_demo=>main( ).
CALL SCREEN 100.

Description

An API is used to load a HTML file and an image from the MIME repository and save them in internal tables. The method LOAD_DATA of the class CL_GUI_HTML_VIEWER is used to associate the data with the HTML control of CFW and the HTML file is displayed. The name of the image in the HTML file is the same as the URL passed to the method LOAD_DATA for the image. LOAD_DATA is given a URL for the image in the internal table and is used on the HTML page.

See also the example for direct access to objects from the MIME repository using ICF.

SAP 实例 8 HTML from the MIME Repository的更多相关文章

  1. SAP 实例 4 CFW

    *&---------------------------------------------------------------------* *& Report demo_cfw ...

  2. SAP 实例 1 Images in HTML

    REPORT zharpo_010 NO STANDARD PAGE HEADING. TABLES : t001. TYPE-POOLS: slis. DATA : w_repid LIKE sy- ...

  3. SAP 实例- 下拉框

    效果图 源代码 REPORT rsdemo_dropdown_listbox . DATA init. TABLES scarr. TABLES spfli. TABLES sflight. TABL ...

  4. SAP 实例- 页签tabsrip

    屏幕页签:项目上有一需求,对标准TCODE 一个屏幕增加一个页签.于是做了个例子. 下面屏幕有两个页签. 我们来看一下屏幕结构.100屏幕是主屏幕,101,102是子屏幕,对应页签test1,test ...

  5. SAP 实例 13 Random Grouping with LOOP

    REPORT demo_loop_group_by_random. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS: main, class_ ...

  6. SAP 实例 12 List Box with Value List from PBO Module

    REPORT demo_dynpro_dropdown_listbox. DATA: name TYPE vrm_id, list TYPE vrm_values, value LIKE LINE O ...

  7. SAP 实例 10 List Box with value list from input help

    *&---------------------------------------------------------------------* *& Report DEMO_DROP ...

  8. SAP 实例 9 Text output

    REPORT demo_show_text. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS main. ENDCLASS. CLASS de ...

  9. SAP 实例 6 HTML input

    REPORT demo_html_input. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS main. PRIVATE SECTION. ...

随机推荐

  1. 帝国CMS只备份栏目和模板的方法

    方法一:不备份所有帝国cms数据内容表 我们知道帝国cms有8大模型,分别是 1.新闻系统数据表 ( phome_ecms_news )2.下载系统数据表 ( phome_ecms_download  ...

  2. Java学习day30

    线程分为用户线程和守护线程,虚拟机必须确保用户线程执行完毕,虚拟机不用等待守护线程执完毕 并发:同一个对象被多个线程同时操作,例如上万了同时抢100张票,手机银行和柜台同时取同一张卡里的钱 处理多线程 ...

  3. ionic系列教程 2 ---- 安装

    开发平台注意点首先,我们需要注意构建Ionic App需要的最低配置:Ionic只支持iOS6 +和Android 4.0 + ,(虽然2.3可以工作,但会有点卡).但是,Android设备众多,可能 ...

  4. Java语言学习day01--6月28日

    Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...

  5. VMWARE vcenter重置root密码

    1\重启VCSA 2\在GNU GRUBc的时候,按住e键,在后面加上一句命令 3.rw init=/bin/bash 4. 按CTRL-X或者按住F10,启动系统 5. 使用passwd命令修改ro ...

  6. Oracle 数据库表删除重复数据

    删除重复数据并保留一条 方法一 1.建立临时表,记录重复的数据 create table 临时表 as select a.字段1,a.字段2,max(a.rowid) as dataid from 原 ...

  7. 专门为小白准备的入门级mybatis-plus-generator代码自动生成器,提高开发效率。值得收藏

    引入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-g ...

  8. C#/VB.NET 实现Word和ODT文档相互转换

    ODT文档格式一种开放文档格式(OpenDocument Text).通常,ODT格式的文件可以使用LibreOffice Writer.MS Word或其他一些文档编辑器来打开.我们在处理文档时,可 ...

  9. 2┃音视频直播系统之浏览器中通过 WebRTC 拍照片加滤镜并保存

    一.拍照原理 好多人小时候应该都学过,在几张空白的纸上画同一个物体,并让物体之间稍有一些变化,然后连续快速地翻动这几张纸,它就形成了一个小动画,音视频播放器就是利用这样的原理来播放音视频文件的 播放器 ...

  10. Redis设计与实现2.2:数据持久化

    数据持久化 这是<Redis设计与实现>系列的文章,系列导航:Redis设计与实现笔记 RDB持久化 RDB 持久化功能所生成的 RDB 文件是一个经过压缩的二进制文件,通过该文件可以还原 ...