ABAP 中的 HTML 模板是一个强大的工具,可以在 SAP 中以 HTML 格式保存文档、SAP 长文本和电子邮件的模板。
SAP HTML 模板不仅包含具有布局和数据参考的内容,还可以生成动态电子邮件和/或富文本。
这些字段将被相应的值替换。
SAP HTML 模板 Tcode
首先,您必须实现 HTML 模板。使用 WYSWYG 工具甚至记事本编辑器。
在此处查看如何在 Notepad++ 中设置 ABAP Synthax。
准备好 HMTL 文件后,运行 tcode SMW0以进入SAP Web Repository。
SMW0 Tcode 可用于存储 HMTL 模板以及上传二进制数据(如图片、PDF……)
对于 HTML 文件,选择第一个选项:WebRFC 应用程序的 HTML 模板。
HTML 模板上传
单击以在 SAP Web Repository 中创建新的 HTML 文件。
填写名称和描述
上传创建的 HTML
这是一个简单的电子邮件 HTML 模板
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Verdana size=3><STRONG>HANDLING HTML TEMPLATE in ABAP / SAP </STRONG></FONT></DIV>
<FONT face="Verdana,Arial,Helvetica" size=2>
<DIV> </DIV>
<DIV>Hello;</DIV>
<DIV> </DIV>
<DIV>This is a test for HTML Template in SAP </DIV>
<DIV> </DIV>
<DIV>Your SAP UserId is <strong>!USERID!</strong></DIV>
<DIV>The date is <strong>!DATE!</strong></DIV>
<DIV> </DIV>
</FONT> </BODY>
</HTML>
SAP 模板属性
上传后,系统会为 HTML 生成一些属性,例如:
文件扩展名.html
文件名C:tempHTML_TEMPLATE.html
文件大小693
mimetype文本/html
版本00001
您可以添加自己的属性(例如处理语言)
在 ABAP 中处理 HTML 模板
SAP 提供了一个功能模块来合并两个 HTML。
功能模块WWW_HTML_MERGER可以用它们的值替换 HTML 模板中声明的变量。
输入:
TEMPLATE : SAP Web Repository 中模板的名称
MERGE_TABLE:是包含变量及其值的表:
“?” -替换占位符行(默认)
'b'在占位符行之前插入
' a' 在占位符行之后插入
'r'仅替换占位符
名称(30):变量的名称:占位符:'<!list!>'
w3html之类的html出现100,”要插入的HTML代码(是表格!)
command:合并时发生的动作。
输出:
HTML_TABLE : 输入 SWWW_T_HTML_TABLE 并包含 HTML 行 (255)
ABAP 示例 如何在 SAP 中处理 HTML 模板
这是一个 ABAP 教程示例代码,用于检索模板并与数据交换变量。
*&---------------------------------------------------------------------*
*& ABAP CODE : HOW TO HANDLE HTML TEMPLATE IN ABAP
*& REMPLACE THE VARIABLES IN HTML WITH VALUE
*&---------------------------------------------------------------------*
REPORT ZTEST_HTML_TEMPLATE.
" Declare the SWWW Type-Pool
TYPE-POOLS: swww.
" Data Declarations
DATA: lt_merge_table TYPE swww_t_merge_table.
DATA: lt_html_table TYPE swww_t_html_table.
DATA: ls_merge_table LIKE LINE OF lt_merge_table.
DATA: ls_html_table LIKE LINE OF lt_html_table.
DATA: lv_string TYPE string.
" Selection Screen
PARAMETERS: p_temp TYPE swww_t_template_name DEFAULT 'ZZ_HTML_TEMPLATE_TEST'.
PARAMETERS: p_user TYPE syuname DEFAULT sy-uname.
PARAMETERS: p_date TYPE sydatum DEFAULT sy-datum.
START-OF-SELECTION.
REFRESH lt_html_table.
" Remplace USERID with its value
CLEAR ls_merge_table.
ls_merge_table-name = '!USERID!'.
ls_merge_table-command = 'R'.
lv_string = p_user.
APPEND LV_string to ls_merge_table-html[].
APPEND ls_merge_table TO lt_merge_table.
" Remplace DATE with its value
CLEAR ls_merge_table.
ls_merge_table-name = '!DATE!'.
ls_merge_table-command = 'R'.
lv_string = p_date.
APPEND LV_string to ls_merge_table-html[].
APPEND ls_merge_table TO lt_merge_table.
" Call the HTML MERGE function
CALL FUNCTION 'WWW_HTML_MERGER'
EXPORTING
template = p_temp
IMPORTING
html_table = lt_html_table[]
CHANGING
merge_table = lt_merge_table[].
END-OF-SELECTION.
LOOP AT lt_html_table INTO ls_html_table.
WRITE / ls_html_table-line.
ENDLOOP.
SAP 传输 HTML 模板
在 SAP Web 存储库中保存 HTML 模板时,系统会要求您选择传输。您也可以在进行一些 ABAP 测试时将它们保存在本地。
在运输中,与模板对应的行:
描述:Web 报告/Internet 事务服务器 HTML 模板
程序编号:R3TR
对象类型:W3HT
对象名称:ZZ_HTML_TEMPLATE_TEST
如果您想更深入地了解 HTML 模板,请访问help.sap.com 上的官方文档