SAP HTLM Control
HTML 事件
效果

代码
*&---------------------------------------------------------------------*
*& Report SAPHTML_EVENTS_DEMO *
*&---------------------------------------------------------------------*
REPORT saphtml_events_demo. DATA: html_control TYPE REF TO cl_gui_html_viewer,
my_container TYPE REF TO cl_gui_custom_container,
prog_repid LIKE sy-repid, "#EC NEEDED
edurl(2048),
edframe(255),
edaction(256),
edgetdata(2048),
edpostdataline(1024),
ok_code LIKE sy-ucomm,
myevent_tab TYPE cntl_simple_events,
myevent TYPE cntl_simple_event,
postdata_tab TYPE cnht_post_data_tab,
edquery_table TYPE cnht_query_table. "#EC NEEDED *****************************************************
* CLASS cl_myevent_handler *
*****************************************************
CLASS cl_myevent_handler DEFINITION. PUBLIC SECTION.
METHODS: on_sapevent
FOR EVENT sapevent OF cl_gui_html_viewer
IMPORTING action frame getdata postdata query_table. ENDCLASS. SET SCREEN 100. DATA: evt_receiver TYPE REF TO cl_myevent_handler. * CLASS CL_GUI_CFW DEFINITION LOAD. *&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'TESTHTM1'.
SET TITLEBAR '001'. IF html_control IS INITIAL.
prog_repid = sy-repid. CREATE OBJECT my_container
EXPORTING
container_name = 'HTML_CONTROL'. CREATE OBJECT html_control
EXPORTING
parent = my_container.
IF sy-subrc NE 0.
*
ENDIF. * register event
myevent-eventid = html_control->m_id_sapevent.
myevent-appl_event = 'x'.
APPEND myevent TO myevent_tab.
CALL METHOD html_control->set_registered_events
EXPORTING
events = myevent_tab. CREATE OBJECT evt_receiver. SET HANDLER evt_receiver->on_sapevent
FOR html_control. PERFORM load_graphics.
PERFORM load_home_page.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'BACK'. "Beenden
IF NOT html_control IS INITIAL.
CALL METHOD html_control->free.
FREE html_control.
ENDIF.
LEAVE TO SCREEN 0. WHEN 'HHOM'. " show the home page
PERFORM load_home_page. WHEN 'HBAK'.
CALL METHOD html_control->go_back. WHEN 'HFWD'.
CALL METHOD html_control->go_forward. WHEN 'HRFR'.
CALL METHOD html_control->do_refresh. WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------*
*& Form LOAD_HOME_PAGE
*&---------------------------------------------------------------------*
FORM load_home_page.
DATA: doc_url(80). CALL METHOD html_control->load_html_document
EXPORTING
document_id = 'SAPHTML_EVENTS_DEMO_HOME'
IMPORTING
assigned_url = doc_url
EXCEPTIONS
OTHERS = 1. IF sy-subrc EQ 0.
CALL METHOD html_control->show_url
EXPORTING
url = doc_url.
ENDIF.
ENDFORM. " LOAD_HOME_PAGE *&---------------------------------------------------------------------*
*& Form LOAD_FRAME_SET
*&---------------------------------------------------------------------*
FORM load_frame_set.
DATA: doc_url(80). CALL METHOD html_control->load_html_document
EXPORTING
document_id = 'SAPHTML_EVENTS_DEMO_FRAME1'
document_url = 'HTMLFrame1.htm'
EXCEPTIONS
OTHERS = 1. CALL METHOD html_control->load_html_document
EXPORTING
document_id = 'SAPHTML_EVENTS_DEMO_HOME'
document_url = 'HTMLFrame2.htm'
EXCEPTIONS
OTHERS = 1. CALL METHOD html_control->load_html_document
EXPORTING
document_id = 'SAPHTML_EVENTS_DEMO_FRAMESET'
IMPORTING
assigned_url = doc_url
EXCEPTIONS
OTHERS = 1. IF sy-subrc EQ 0.
CALL METHOD html_control->show_url
EXPORTING
url = doc_url.
ENDIF.
ENDFORM. " LOAD_FRAME_SET *&---------------------------------------------------------------------*
*& Form LOAD_GRAPHICS
*&---------------------------------------------------------------------*
FORM load_graphics.
CALL METHOD html_control->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_SAPLOGO'
object_url = 'SAPLOGO.GIF'
EXCEPTIONS
OTHERS = 1.
CALL METHOD html_control->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_SAP_AG'
object_url = 'SAP_AG.GIF'
EXCEPTIONS
OTHERS = 1.
CALL METHOD html_control->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_BACKGROUND'
object_url = 'HOME_BACKGROUND.GIF'
EXCEPTIONS
OTHERS = 1.
ENDFORM. " LOAD_GRAPHICS ****************************************************
* cl_myevent_handler implementation *
****************************************************
CLASS cl_myevent_handler IMPLEMENTATION. METHOD on_sapevent. CLEAR edaction.
CLEAR edframe.
CLEAR edgetdata.
CLEAR edpostdataline. edaction = action.
edframe = frame.
edgetdata = getdata.
postdata_tab = postdata.
IF NOT postdata_tab IS INITIAL.
READ TABLE postdata_tab INDEX 1 INTO edpostdataline.
ENDIF.
edquery_table = query_table. CASE action.
WHEN 'SHOW_FRAMESET'.
PERFORM load_frame_set.
WHEN OTHERS.
ENDCASE.
ENDMETHOD. ENDCLASS.
屏幕

PBO

*&---------------------------------------------------------------------*
*& Report RSDEMO_HTML_VIEWER *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------* REPORT rsdemo_html_viewer .
DATA container TYPE REF TO cl_gui_custom_container.
DATA html_viewer TYPE REF TO cl_gui_html_viewer. DATA ok_code TYPE sy-ucomm.
DATA init.
DATA save_ok TYPE sy-ucomm.
DATA url(255) VALUE 'HTTP://WWW.SAP-AG.DE'.
DATA frame(255).
DATA align TYPE i.
DATA document_id(255) VALUE 'HTMLCNTL_TESTEVNT_HOME'.
DATA document_textpool TYPE sy-repid.
DATA document_url(255).
DATA assigned_url(255).
DATA merge_table TYPE swww_t_merge_table.
DATA object_id(255) VALUE 'HTMLCNTL_TESTHTM2_SAPLOGO'.
DATA object_url(255) VALUE 'SAPLOGO.GIF'.
DATA type(4) VALUE 'text'.
DATA subtype(4) VALUE 'html'.
DATA size TYPE i.
DATA data_table TYPE c OCCURS 0. SET SCREEN 100.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
IF init is initial.
CREATE OBJECT container
EXPORTING container_name = 'CUSTOM'.
CREATE OBJECT html_viewer
EXPORTING parent = container
EXCEPTIONS cntl_error = 1
cntl_install_error = 2
dp_install_error = 3
dp_error = 4.
IF sy-subrc ne 0.
* Fehlerbehandlung
ENDIF.
CALL METHOD cl_gui_cfw=>flush
EXCEPTIONS cntl_system_error = 1
cntl_error = 2.
IF sy-subrc ne 0.
* Fehlerbehandlung
ENDIF.
init = 'X'.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'SHOW_URL'.
CALL METHOD html_viewer->show_url
EXPORTING url = url
frame = frame
EXCEPTIONS cntl_error = 1.
WHEN 'STOP'.
CALL METHOD html_viewer->stop
EXCEPTIONS cntl_error = 1.
WHEN 'GO_BACK'.
CALL METHOD html_viewer->go_back
EXCEPTIONS cntl_error = 1.
WHEN 'GO_FORWARD'.
CALL METHOD html_viewer->go_forward
EXCEPTIONS cntl_error = 1.
WHEN 'GO_HOME'.
CALL METHOD html_viewer->go_home
EXCEPTIONS cntl_error = 1.
WHEN 'DO_REFRESH'.
CALL METHOD html_viewer->do_refresh
EXCEPTIONS cntl_error = 1.
WHEN 'GET_CURRENT_URL'.
CALL METHOD html_viewer->get_current_url
IMPORTING url = url
EXCEPTIONS cntl_error = 1.
call method cl_gui_cfw=>flush
exceptions cntl_error = 1
cntl_system_error = 2.
WHEN 'LOAD_DATABASE'.
CALL METHOD html_viewer->load_html_document
EXPORTING document_id = 'HTMLCNTL_TESTHTM2_FRAME1'
* document_textpool = document_textpool
document_url = 'HTMLFrame1.htm'
* IMPORTING assigned_url = assigned_url
* CHANGING merge_table = merge_table
EXCEPTIONS document_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3.
CALL METHOD html_viewer->load_html_document
EXPORTING document_id = 'HTMLCNTL_TESTEVNT_HOME'
* document_textpool = document_textpool
document_url = 'HTMLFrame2.htm'
* IMPORTING assigned_url = assigned_url
* CHANGING merge_table = merge_table
EXCEPTIONS document_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3.
CALL METHOD html_viewer->load_html_document
EXPORTING document_id = 'HTMLCNTL_TESTHTM2_FRAMESET'
* document_textpool = document_textpool
* document_url = document_url
IMPORTING assigned_url = assigned_url
* CHANGING merge_table = merge_table
EXCEPTIONS document_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3.
CALL METHOD html_viewer->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_SAPLOGO'
object_url = 'SAPLOGO.GIF'
* IMPORTING assigned_url = assigned_url
EXCEPTIONS object_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3.
CALL METHOD html_viewer->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_SAP_AG'
object_url = 'SAP_AG.GIF'
* IMPORTING assigned_url = assigned_url
EXCEPTIONS object_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3.
CALL METHOD html_viewer->load_mime_object
EXPORTING
object_id = 'HTMLCNTL_TESTHTM2_BACKGROUND'
object_url = 'HOME_BACKGROUND.GIF'
* IMPORTING assigned_url = assigned_url
EXCEPTIONS object_not_found = 1
dp_error_general = 2
dp_invalid_parameter = 3. CALL METHOD html_viewer->show_data
EXPORTING url = assigned_url
* frame = frame
EXCEPTIONS cntl_error = 1. ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module EXIT INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE exit INPUT.
CALL METHOD html_viewer->free.
CALL METHOD container->free.
FREE html_viewer.
FREE container.
LEAVE PROGRAM.
ENDMODULE. " EXIT INPUT
SAP HTLM Control的更多相关文章
- (网络流 最大流 Dinic || SAP)Control -- hdu --4289
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4289 http://acm.hust.edu.cn/vjudge/contest/view.action ...
- SAP Picture Control(图片加载)
Screen display 效果 源代码 program sap_picture_demo. set screen 200. TYPE-POOLS cndp. ******************* ...
- SAP Table control
REPORT RSDEMO02. * demostrates the use of table controls * unsolved problems: attributes left_col an ...
- SAP Grid control( ALV Grid 列表 自定义 按钮)
ALV 列表和按钮 效果 源代码 PROGRAM bcalvc_tb_menu_with_def_but. *&&&&&&&&& ...
- 屏幕 Dynpro
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ALV详解:OO ALV
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 烽火2640路由器命令行手册-12-IBM网络配置命令
IBM网络配置命令 目 录 第1章 DLSW配置命令... 1 1.1 DLSW配置命令... 1 1.1.1 dlsw local-peer 1 1.1.2 dlsw remote-peer 3 ...
- SAP ABAP编程 Table Control动态隐藏列
在SAP DIALOG设计中,有时候须要动态的隐藏某些列,以下是方法. ***数据定义 CONTROLS: table_control TYPE TABLEVIEW USING SCREEN 0100 ...
- SAP WM TO Print Control设置里,Movement Type 的优先级更高
SAP WM TO Print Control设置里,Movement Type 的优先级更高 存储类型的配置: 从storage type GRM 搬到任何地方,都不需要打印TO单. 移动类型的配置 ...
随机推荐
- Java 图像处理(一)
曾几何时,Java图像处理已经被认为是太过鸡肋,就连Java的创始公司,在java图像处理方面也是浅尝辄止,可能相比较C++,Java在这方面的处理,确实差强人意. 不过Java类库中有一个叫JAI的 ...
- 那些年uniapp踩过的坑之-------搜索框插件uni-search-bar字体和图标居中的问题
用uniapp必不可少的就是搜索框 但是公司要求的是这样滴 但是 uni-search-bar这个插件给我的偏偏是这样子滴 这个时候我以为是简简单单的样式问题,但是多方调试无果之后才发现,这两个根本不 ...
- 控制Python浮点数输出位数
技术背景 在Python的一些长效任务中,不可避免的需要向文本文件.二进制文件或者数据库中写入一些数据,或者是在屏幕上输出一些文本,此时如何控制输出数据的长度是需要我们注意的一个问题.比如对于一个二进 ...
- oracle split 以及 简单json解析存储过程
BEGIN; 由于之前工作上需要在oracle中做split功能以及json格分解.然后经过一番google和优化整合,最后整理到一个存储过程包中,易于管理,代码如下: 1.包定义: CREATE O ...
- html_学习所有标签使用
<!DOCTYPE html><!--声明为HTML5文档--><html lang="en"><head><!-- 页面表头 ...
- 为何PostgreSQL即将超越SQL Server?
DB-Engines 2021年10月份统计,PostgreSQL当月上升10.30点,总分是597.27:SQLServer当月大幅下降16.32,总分是954.29 .按照这样的速度,2年之内,P ...
- 团队Beta2
队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 学习 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 **还 ...
- 4 个超实用的 Linux 监控工具
公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 下面是 Linux 下 4 个日常使用率非常高的监控工具,可以帮助我们准确快速的诊断系统问题. 1. iotop 如果你想知 ...
- java.sql和javax.sql的区别
根据 JDBC 规范,javax.sql 包中的类和接口首先作为 JDBC 2.0 可选包提供.此可选程序包以前与 J2SE1.2 中的 java.sql 程序包是分开的.从 J2SE1.4 开始,这 ...
- 数据库、MySQL下载与安装、基本SQL语句
数据演变史 # 1.单独的文本文件 没有固定的存放位置 没有固定的数据格式 '''程序彼此无法兼容 没有统一的标准''' # 2.软件开发目录规范 按照文件功能的不同规定了相应的位置 '''文件查找变 ...