ABAP-BarCode-1-HTML二维码打印及动态屏幕实现详解编程语言

很久很久。。。以前写的一个测试程序,主要是通过ABAP与HTML交互,编写JavaScript实现二维码及动态屏幕实现。

1.ABAP界面效果 

ABAP-BarCode-1-HTML二维码打印及动态屏幕实现详解编程语言

ABAP-BarCode-1-HTML二维码打印及动态屏幕实现详解编程语言

2.实现代码

*&---------------------------------------------------------------------* 
*& Report  ZRICO_CHTML 
*& 
*&---------------------------------------------------------------------* 
*& Dynamic screen   edit by rico 
*&实例程序名:SAPHTML_EVENTS_DEMO 
*&---------------------------------------------------------------------* 
 
report  ycf_htmlviewer. 
types : begin of y_html, 
dataset(255) type c, 
end of y_html. 
data: e_data  type y_html, 
ts_data type standard table of y_html, 
e_user  type usr03, 
ok_code type sy-ucomm, 
w_uname type char20, 
w_url   type char255, 
p_tabnm like dd03l-tabname, 
o_tabnm like dd03l-tabname, 
bdstr type string, 
p_barcd type c, 
r_p1 type c value 'X', 
r_p2 type c. 
data : ref_cont type ref to cl_gui_custom_container, 
ref_html type ref to cl_gui_html_viewer. 
data: html_control type ref to cl_gui_html_viewer, 
my_container type ref to cl_gui_custom_container, 
prog_repid like sy-repid, 
ui_flag type i,                                       "#EC NEEDED 
edurl(2048), 
edframe(255), 
edaction(256), 
edgetdata(2048), 
edpostdataline(1024), 
myevent_tab type cntl_simple_events, 
myevent type cntl_simple_event, 
postdata_tab type cnht_post_data_tab, 
edquery_table type cnht_query_table, 
qtab type line of cnht_query_table.                   "#EC NEEDED 
 
data:begin of ddtb occurs 0, 
check type c, 
tabname like dd03l-tabname, 
fieldname like dd03l-fieldname, 
rollname like dd03l-rollname, 
keyflag like dd03l-keyflag, 
position like dd03l-position, 
datatype like dd03l-datatype, 
leng like dd03l-leng, 
ddtext like dd03t-ddtext, 
value type string, 
end of ddtb. 
data:ldtb like line of ddtb. 
data:cuscontainer_con type ref to cl_gui_custom_container, 
alv_grid_con  type ref to cl_gui_alv_grid, 
ls_vari_con type disvariant, 
gt_fieldcat_con like lvc_s_fcat occurs 0 with header line, 
gs_layout_con type lvc_s_layo, 
lt_excl_func type ui_functions, 
g_repid like sy-repid, 
ls_stable type lvc_s_stbl. 
data:cuscontainer_mx type ref to cl_gui_custom_container, 
alv_grid_mx  type ref to cl_gui_alv_grid, 
ls_vari_mx type disvariant, 
gt_fieldcat_mx like lvc_s_fcat occurs 0 with header line, 
gs_layout_mx type lvc_s_layo. 
*----------------------------------------------------------------------* 
*       CLASS cl_myevent_handler DEFINITION 
*----------------------------------------------------------------------* 
* 
*----------------------------------------------------------------------* 
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.                    "cl_myevent_handler DEFINITION 
data: evt_receiver type ref to cl_myevent_handler. 
"class define 
class lcl_event_receiver definition deferred. 
*----------------------------------------------------------------------* 
*       CLASS lcl_event_receiver DEFINITION 
*----------------------------------------------------------------------* 
* 
*----------------------------------------------------------------------* 
class lcl_event_receiver definition. 
public section. 
methods: 
handle_double_click 
for event double_click of cl_gui_alv_grid 
importing e_row e_column es_row_no. 
endclass.                    "lcl_event_receiver DEFINITION 
 
data event_receiver type ref to lcl_event_receiver. 
*----------------------------------------------------------------------* 
*       class lcl_event_receiver implementation 
*----------------------------------------------------------------------* 
* 
*----------------------------------------------------------------------* 
class lcl_event_receiver implementation. 
method: handle_double_click. 
perform vp_double_clk using e_row 
e_column 
es_row_no. 
endmethod.                    "handle_double_click 
endclass.                    "lcl_event_receiver implementation 
 
data:gr_event_handler type ref to lcl_event_receiver. 
*----------------------------------------------------------------------* 
*       CLASS 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 'submit_form_as_post_method'. 
clear:bdstr. 
loop at ddtb into ldtb. 
read table edquery_table into qtab with key name = ldtb-fieldname . 
if sy-subrc = 0. 
ldtb-value = qtab-value. 
concatenate bdstr ldtb-ddtext ldtb-value into bdstr separated by space. 
endif. 
modify ddtb from ldtb. 
clear:ldtb,qtab. 
endloop. 
when others. 
endcase. 
endmethod.                    "on_sapevent 
 
endclass.                    "cl_myevent_handler IMPLEMENTATION 
 
data:user_id type usr01-bname. 
initialization. 
g_repid = sy-repid. 
ls_stable-row = 'X'. 
ls_stable-col = 'X'. 
start-of-selection. 
perform f_get_username. 
call screen 9000. 
*&---------------------------------------------------------------------* 
*&      Module  STATUS_9000  OUTPUT 
*&---------------------------------------------------------------------* 
*       PBO for 9000 
*----------------------------------------------------------------------* 
module status_9000 output. 
set pf-status 'STATUS'. 
perform f_genearte_html. 
perform html_container. 
perform tab_container. 
endmodule.                 " STATUS_9000  OUTPUT 
*&---------------------------------------------------------------------* 
*&      Module  USER_COMMAND_9000  INPUT 
*&---------------------------------------------------------------------* 
*       PAI for screen 9000 
*----------------------------------------------------------------------* 
module user_command_9000 input. 
case ok_code. 
when ''. 
perform initial_data. 
when 'BACK'. 
leave to screen 0. 
when others. 
endcase. 
endmodule.                 " USER_COMMAND_9000  INPUT 
*&---------------------------------------------------------------------* 
*&      Form  initial_data 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
form initial_data. 
if o_tabnm <> p_tabnm. 
select * into corresponding fields of table ddtb 
from dd03l 
where tabname = p_tabnm 
and comptype <> 'S'. 
sort ddtb by position. 
loop at ddtb. 
if ddtb-rollname = ''. 
select single ddtext into ddtb-ddtext from dd03t where tabname = ddtb-tabname and ddlanguage = sy-langu and fieldname = ddtb-fieldname. 
else. 
select single ddtext into ddtb-ddtext from dd04t where rollname = ddtb-rollname and ddlanguage = sy-langu. 
endif. 
if ddtb-fieldname = 'MANDT'. 
delete ddtb. 
else. 
modify ddtb. 
endif. 
clear:ddtb. 
endloop. 
o_tabnm = p_tabnm. 
endif. 
endform.                    "initial_data 
*&---------------------------------------------------------------------* 
*&      Form  F_GENEARTE_HTML 
*&---------------------------------------------------------------------* 
*       HTML code 
*----------------------------------------------------------------------* 
 
form f_genearte_html . 
clear:e_data. 
free ts_data. 
concatenate '<html><head> Dear:' sy-uname into e_data-dataset separated by space. 
append e_data to ts_data. 
if r_p1 = 'X'. 
e_data-dataset = '<br><img src="SAPLOGO.GIF" align=middle></br>'. 
elseif r_p2 = 'X'. 
e_data-dataset = '<br><img src="SAP_AG.GIF" align=middle></br>'. 
endif. 
append e_data to ts_data. 
e_data-dataset = '</head><body><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />'. 
append e_data to ts_data. 
e_data-dataset = '<style type="text/css">'. 
append e_data to ts_data. 
e_data-dataset = '.div-c{ width:200px; margin:0px;line-hight:10px;}'. 
append e_data to ts_data. 
e_data-dataset = '.div-a{ float:left;  width:50px; border:1px solid #999; height:60px;margin:20px;line-hight:10px;}'. 
append e_data to ts_data. 
e_data-dataset = '.div-b{ float:right; width:120px; border:1px solid #999; height:60px;margin:20px;line-hight:10px;}'. 
append e_data to ts_data. 
e_data-dataset = '</style>'. 
append e_data to ts_data. 
"e_data-dataset = '<br><span style="font-size:500px">字体</span></br>'.  append e_data to ts_data. 
 
e_data-dataset = '<br><h3>Dynamic QR-CODE:'. 
append e_data to ts_data. 
********************************************************************************************* 
******* 以下为二维码生成 
********************************************************************************************* 
if p_barcd = 'X'. 
e_data-dataset = '<script type="text/javascript" src="http://static.hdslb.com/js/jquery.min.js""></script>'. 
append e_data to ts_data. 
e_data-dataset = '<script type="text/javascript" src="http://static.hdslb.com/js/jquery.qrcode.min.js"></script>'. 
append e_data to ts_data. 
e_data-dataset = '<div id="code"></div>'. 
append e_data to ts_data. 
"unicode中文 由UTF-16转换为UTF-8 
e_data-dataset = '<script type="text/javascript">'. 
append e_data to ts_data. 
e_data-dataset = 'function utf16to8(str) {'. 
append e_data to ts_data. 
e_data-dataset = 'var out, i, len, c;'. 
append e_data to ts_data. 
e_data-dataset = 'out = "";'. 
append e_data to ts_data. 
e_data-dataset = 'len = str.length;'. 
append e_data to ts_data. 
e_data-dataset = 'for(i = 0; i < len; i++) {'. 
append e_data to ts_data. 
e_data-dataset = 'c = str.charCodeAt(i);'. 
append e_data to ts_data. 
e_data-dataset = 'if ((c >= 0x0001) && (c <= 0x007F)) {'. 
append e_data to ts_data. 
e_data-dataset = 'out += str.charAt(i);'. 
append e_data to ts_data. 
e_data-dataset = '} else if (c > 0x07FF) {'. 
append e_data to ts_data. 
e_data-dataset = 'out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));'. 
append e_data to ts_data. 
e_data-dataset = 'out += String.fromCharCode(0x80 | ((c >>  6) & 0x3F));'. 
append e_data to ts_data. 
e_data-dataset = 'out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));'. 
append e_data to ts_data. 
e_data-dataset = '} else {'. 
append e_data to ts_data. 
e_data-dataset = 'out += String.fromCharCode(0xC0 | ((c >>  6) & 0x1F));'. 
append e_data to ts_data. 
e_data-dataset = 'out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));'. 
append e_data to ts_data. 
e_data-dataset = '}'. 
append e_data to ts_data. 
e_data-dataset = '}'. 
append e_data to ts_data. 
e_data-dataset = 'return out;'. 
append e_data to ts_data. 
e_data-dataset = '}'. 
append e_data to ts_data. 
e_data-dataset = '</script>'. 
append e_data to ts_data. 
"e_data-dataset = '<script>$("#code").qrcode("http://www.helloweba.com");</script>'. append e_data to ts_data.  "//任意字符串 
e_data-dataset = '<script>$("#code").qrcode({ '. 
append e_data to ts_data. 
e_data-dataset = '    render: "table", '. 
append e_data to ts_data. 
e_data-dataset = '    width: 100, '. 
append e_data to ts_data. 
e_data-dataset = '    height:100, '. 
append e_data to ts_data. 
concatenate '    text: utf16to8("' bdstr '") ' into e_data-dataset. 
append e_data to ts_data. 
e_data-dataset = '}); </script>'. 
append e_data to ts_data. 
endif. 
e_data-dataset = '</h3><br>'. 
append e_data to ts_data. 
********************************************************************************************* 
******* 以下为动态字段 
********************************************************************************************* 
concatenate 'Below is the dynamic fields from the data structure:' p_tabnm into e_data-dataset separated by space. 
append e_data to ts_data. 
e_data-dataset = '<form method=post action="sapevent:submit_form_as_post_method">'. 
append e_data to ts_data. 
loop at ddtb where check = 'X'. 
concatenate '<div class="div-c"><p><font size="2" color="blue">' ddtb-ddtext '</p></div>' into e_data-dataset. 
append e_data to ts_data. 
concatenate '<div class="div-c"><p><font size="2" color="blue"><input type="text" name="' ddtb-fieldname '" value="' ddtb-value '" maxlength="' ddtb-leng '"></p></div>' into e_data-dataset. 
append e_data to ts_data. 
endloop. 
*  e_data-dataset = '<label for="meeting">日期:</label><input type="date" name="user_date" />'. 
*  append e_data to ts_data. 
e_data-dataset = '<br><input type=submit value="submit input using post method"></br></form>'. 
append e_data to ts_data. 
********************************************************************************************* 
******* 以下为打印部分 
********************************************************************************************* 
*  e_data-dataset = '<script type="text/javascript" src="jquery-1.4.2.min.js"></script>'. 
*  append e_data to ts_data. 
*  e_data-dataset = '<script type="text/javascript" src="jquery.PrintArea.js"></script>'. 
*  append e_data to ts_data. 
*  e_data-dataset = '<script>'. 
*  append e_data to ts_data. 
*  e_data-dataset = '$(document).ready(function(){'. 
*  append e_data to ts_data. 
*  e_data-dataset = '$("input#biuuu_button").click(function(){'. 
*  append e_data to ts_data. 
*  e_data-dataset = '$("div#myPrintArea").printArea();'. 
*  append e_data to ts_data. 
*  e_data-dataset = '});'. 
*  append e_data to ts_data. 
*  e_data-dataset = '});'. 
*  append e_data to ts_data. 
*  e_data-dataset = '</script> '. 
*  append e_data to ts_data. 
*  e_data-dataset = '<input id="biuuu_button" type="button" value="打印"></input> '. 
*  append e_data to ts_data. 
*  e_data-dataset = '<div id="myPrintArea">.....文本打印部分.....</div>'. 
*  append e_data to ts_data. 
 
e_data-dataset = '<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();"/>'. 
append e_data to ts_data. 
e_data-dataset = '<input id="btnPrint" type="button" value="打印预览" onclick=preview(1) />'. 
append e_data to ts_data. 
e_data-dataset = '<style type="text/css" media=print>'. 
append e_data to ts_data. 
e_data-dataset = '.noprint{display : none }'. 
append e_data to ts_data. 
e_data-dataset = '</style>'. 
append e_data to ts_data. 
e_data-dataset = '<p class="noprint">不需要打印的地方</p> '. 
append e_data to ts_data. 
e_data-dataset = '<script>'. 
append e_data to ts_data. 
e_data-dataset = 'function preview(oper)'. 
append e_data to ts_data. 
e_data-dataset = '{'. 
append e_data to ts_data. 
e_data-dataset = 'if (oper < 10) '. 
append e_data to ts_data. 
e_data-dataset = '{'. 
append e_data to ts_data. 
e_data-dataset = 'bdhtml=window.document.body.innerHTML;'. 
append e_data to ts_data.  "//获取当前页的html代码 
e_data-dataset = 'sprnstr="<!--startprint"+oper+"-->";'. 
append e_data to ts_data.  "//设置打印开始区域 
e_data-dataset = 'eprnstr="<!--endprint"+oper+"-->";'. 
append e_data to ts_data.  "//设置打印结束区域 
e_data-dataset = 'prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18);'. 
append e_data to ts_data. "//从开始代码向后取html 
e_data-dataset = 'prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); '. 
append e_data to ts_data. "//从结束代码向前取html 
e_data-dataset = 'window.document.body.innerHTML=prnhtml;'. 
append e_data to ts_data. 
e_data-dataset = 'window.print();  '. 
append e_data to ts_data. 
e_data-dataset = 'window.document.body.innerHTML=bdhtml;  '. 
append e_data to ts_data. 
e_data-dataset = '} else {'. 
append e_data to ts_data. 
e_data-dataset = 'window.print();  '. 
append e_data to ts_data. 
e_data-dataset = '}'. 
append e_data to ts_data. 
e_data-dataset = '}'. 
append e_data to ts_data. 
e_data-dataset = '</script>'. 
append e_data to ts_data. 
e_data-dataset = '<p>XXXXX</p>'. 
append e_data to ts_data. 
e_data-dataset = '<!--startprint1-->要打印的内容<!--endprint1-->  '. 
append e_data to ts_data. 
e_data-dataset = '</body></html>'. 
append e_data to ts_data. 
endform.                    " F_GENEARTE_HTML 
*&---------------------------------------------------------------------* 
*&      Form  F_GET_USERNAME 
*&---------------------------------------------------------------------* 
*       To get User name from Tcode 
*----------------------------------------------------------------------* 
form f_get_username . 
call function 'SUSR_USER_ADDRESS_READ' 
exporting 
user_name              = user_id 
importing 
user_usr03             = e_user 
exceptions 
user_address_not_found = 1 
others                 = 2. 
if sy-subrc = 0. 
concatenate e_user-name1 
e_user-name2 
into w_uname 
separated by space. 
endif. 
endform.                    " F_GET_USERNAME 
*&---------------------------------------------------------------------* 
*&      Module  EXIT  INPUT 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
module exit input. 
leave to screen 0. 
endmodule.                 " EXIT  INPUT 
*&---------------------------------------------------------------------* 
*&      Form  tab_container 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
form tab_container. 
clear:gt_fieldcat_con,gs_layout_con. 
refresh:gt_fieldcat_con. 
if cuscontainer_con is initial. 
create object cuscontainer_con 
exporting 
container_name              = 'TBCON' 
exceptions 
cntl_error                  = 1 
cntl_system_error           = 2 
create_error                = 3 
lifetime_error              = 4 
lifetime_dynpro_dynpro_link = 5 
others                      = 6. 
create object alv_grid_con "定义alv及所在容器 
      exporting 
i_parent          = cuscontainer_con 
exceptions 
error_cntl_create = 1 
error_cntl_init   = 2 
error_cntl_link   = 3 
error_dp_create   = 4 
others            = 5. 
create object gr_event_handler. 
set handler gr_event_handler->handle_double_click for alv_grid_con. 
endif. 
if gt_fieldcat_con[] is initial. 
perform get_fieldcat using: 
"'TABNAME'    'T' '' '表名', 
'FIELDNAME'  'T' '' '字段名', 
'VALUE'      'T' '' '', 
'DDTEXT'     'T' '' '描述', 
'KEYFLAG'    'T' '' 'KEY'. 
*       'POSITION'   'T' '' '序号', 
*       'DATATYPE'   'T' '' '数据类型', 
*       'LENG'       'T' '' '长度'. 
 
gs_layout_con-zebra = 'X'. 
gs_layout_con-cwidth_opt = 'X'. 
gs_layout_con-stylefname = 'FIELD_STYLE'. 
gs_layout_con-no_toolbar = 'X'. 
gs_layout_con-box_fname = 'CHECK'. 
endif. 
call method alv_grid_con->set_table_for_first_display " 显示alv 
    exporting 
is_layout                     = gs_layout_con 
is_variant                    = ls_vari_con 
i_save                        = 'A' 
it_toolbar_excluding          = lt_excl_func 
changing 
it_fieldcatalog               = gt_fieldcat_con[] 
it_outtab                     = ddtb[] 
exceptions 
invalid_parameter_combination = 1 
program_error                 = 2 
too_many_lines                = 3 
others                        = 4 . 
endform.                    "tab_container 
*&---------------------------------------------------------------------* 
*&      Form  get_fieldcat 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->ZD         text 
*      -->ZDBZ       text 
*      -->ZDET       text 
*      -->ZDMS       text 
*----------------------------------------------------------------------* 
form get_fieldcat using zd zdbz zdet zdms. 
if zdbz = 'T'. 
gt_fieldcat_con-fieldname  = zd. 
gt_fieldcat_con-reptext    = zdms. 
gt_fieldcat_con-checkbox   = zdet. 
append gt_fieldcat_con. 
clear:gt_fieldcat_con. 
elseif zdbz = 'M'. 
gt_fieldcat_mx-fieldname  = zd. 
gt_fieldcat_mx-reptext    = zdms. 
gt_fieldcat_mx-checkbox   = zdet. 
gt_fieldcat_mx-edit       = zdet. 
if zd = 'ZFDTX' or zd = 'ZFLNM'. 
gt_fieldcat_mx-edit    = 'X'. 
elseif zd = 'ZDFLG'. 
gt_fieldcat_mx-checkbox = 'X'. 
endif. 
append gt_fieldcat_mx. 
clear:gt_fieldcat_mx. 
endif. 
endform.                    "get_fieldcat_con 
*&---------------------------------------------------------------------* 
*&      Form  vp_double_clk 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
*      -->E_ROW      text 
*      -->E_COLUMN   text 
*      -->ES_ROW_NO  text 
*----------------------------------------------------------------------* 
form vp_double_clk using e_row  type lvc_s_row 
e_column type lvc_s_col 
es_row_no type lvc_s_roid. 
read table ddtb index es_row_no-row_id. 
if ddtb-check = 'X'. 
ddtb-check = ''. 
else. 
ddtb-check = 'X'. 
endif. 
modify ddtb index es_row_no-row_id transporting check. 
perform f_genearte_html. 
perform html_container. 
endform.                    "vp_double_clk 
*&---------------------------------------------------------------------* 
*&      Form  html_container 
*&---------------------------------------------------------------------* 
*       text 
*----------------------------------------------------------------------* 
form html_container. 
if not ref_html is initial. 
"call method ref_html->free. 
    clear:w_url. 
"free ref_html. 
"free ref_cont. 
  endif. 
if ref_cont is initial. 
create object ref_cont 
exporting 
container_name              = 'HTMLCONT' 
exceptions 
cntl_error                  = 1 
cntl_system_error           = 2 
create_error                = 3 
lifetime_error              = 4 
lifetime_dynpro_dynpro_link = 5 
others                      = 6. 
if sy-subrc <> 0. 
endif. 
endif. 
if ref_html is initial. 
ui_flag = cl_gui_html_viewer=>uiflag_no3dborder. 
" + cl_gui_html_viewer=>uiflag_noiemenu. 
 
create object ref_html 
exporting 
parent             = ref_cont 
saphtmlp           = 'X' 
uiflag             = ui_flag 
lifetime           = cl_gui_html_viewer=>lifetime_dynpro 
exceptions 
cntl_error         = 1 
cntl_install_error = 2 
dp_install_error   = 3 
dp_error           = 4 
others             = 5. 
if sy-subrc <> 0. 
endif. 
myevent-eventid = ref_html->m_id_sapevent. 
myevent-appl_event = 'X'. 
append myevent to myevent_tab. 
call method ref_html->set_registered_events 
exporting 
events = myevent_tab. 
create object evt_receiver. 
set handler evt_receiver->on_sapevent for ref_html. 
endif. 
call method ref_html->load_mime_object 
exporting 
object_id  = 'HTMLCNTL_TESTHTM2_SAPLOGO' 
object_url = 'SAPLOGO.GIF' 
exceptions 
others     = 1. 
call method ref_html->load_mime_object 
exporting 
object_id  = 'HTMLCNTL_TESTHTM2_SAP_AG' 
object_url = 'SAP_AG.GIF' 
exceptions 
others     = 1. 
call method ref_html->load_data 
exporting 
type                 = 'text' 
subtype              = 'html' 
importing 
assigned_url         = w_url 
changing 
data_table           = ts_data 
exceptions 
dp_invalid_parameter = 1 
dp_error_general     = 2 
cntl_error           = 3 
others               = 4. 
if sy-subrc <> 0. 
endif. 
call method ref_html->show_url 
exporting 
url                    = w_url 
exceptions 
cntl_error             = 1 
cnht_error_not_allowed = 2 
cnht_error_parameter   = 3 
dp_error_general       = 4 
others                 = 5. 
if sy-subrc <> 0. 
endif. 
*  call method  ref_html->do_refresh 
*    exceptions cntl_error = 1. 
* 
*  call method cl_gui_cfw=>dispatch. 
endform.                    "html_container

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/17975.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论