transformation XML 转换
来源:互联网 发布:淘宝上怎么试穿衣服 编辑:程序博客网 时间:2024/05/18 09:24
【XML】关于XML (第三部分)
在前两篇中(【XML】关于XML (第一部分),【XML】关于XML (第二部分)),XML的读与写我们都是通过XML的proxy class进行的。而SAP提供着另一种方式那就是call transformation <id>的方式,这也是我们平常工作中最常使用的一种方式。
使用call transformation后,我们的ABAP程序不再像前面那样有大篇幅地处理XML node等,非常的简洁与方便。但同时,需要我们事先开发好transformation。
Call transformation方式比较复杂,里面有很多的非ABAP的内容。这里仅就记录自己工作中所用的内容,以防遗忘。
使用Call transformation操作XML
Tcode: STRANS
Transformation中分为两种:Simple Transformation以及XSLT.
简单测试simple transformation.
程序:
REPORT ZTEST_TRANSOFRMATION_1.
data:
ls_lfa1 type lfa1,
lt_lfa1 type TABLE OF lfa1,
lv_xml type string,
lv_string type string,
w_len type i,
it_xml type TABLE OF string.
START-OF-SELECTION.
SELECT * from lfa1 into TABLE lt_lfa1
UP TO 20 rows.
* call XML
call TRANSFORMATION ZTEST_01
SOURCE VENDOR = lt_lfa1
RESULT XML lv_xml.
WRITE:lv_xml.
其中transformation ZTEST_01 为:
结果为:
XML文件正确产生。
另外,使用transformation是可以双向进行的,即Deserialization(解析XML)以及serialization(生成XML)。如下测试:
*&———————————————————————*
*& Report ZTEST_XML_ATTRIBUTE
*&
*&———————————————————————*
*& parse xml attribute
*&
*&———————————————————————*
REPORT ZTEST_XML_ATTRIBUTE.
data:
w_attr1 type string,
w_attr2 type string.
data:
w_xml type string.
*—————— Deserialization ———————
* from xml
w_xml = ‘<X attr1=”Text1″ attr2=”Text2″/>’.
* deserialization of XML
call TRANSFORMATION ZTEST_02
SOURCE XML w_xml
RESULT root1 = w_attr1
root2 = w_attr2.
WRITE:/ ‘Attribute 1:’, 20 w_attr1,
/ ‘Attribute 2:’, 20 w_attr2.
*—————— serialization ———————
skip 2.
clear: w_xml ,w_attr1,w_attr2.
“form data
w_attr1 = ‘[2nd]Text1′.
w_attr2 = ‘[2nd]Text2′.
“serialization
call TRANSFORMATION ztest_02
SOURCE root1 = w_attr1
root2 = w_attr2
RESULT XML w_xml.
write: w_xml.
其中transformation:
结果:
关于使用XSLT类型,这里有一个简单的例子,也是我们实际工作中应用到的:
写XML:
CALL TRANSFORMATION id
SOURCE XML iv_xml_stream
RESULT sap_business_all_epa_proc = lt_proc_state_epa.
读XML:
CALL TRANSFORMATION id
SOURCE sap_business_all_epa_proc = lt_proc_state_epa
RESULT XML ev_xml_stream.
其中XML格式为:
注:关于Transformation,这里仅记录了自己工作中所应用的很简单的几个小case。而transformation是一个比较复杂内容也非常丰富的point,需要更深入的学习,链接:
SAP Help: http://help.sap.com/abapdocu_70/en/ABAPCALL_TRANSFORMATION.htm
一位foreigner 的blog里面有相当的XML内容:http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/u/35460
- transformation XML 转换
- Transformation XML(TCODE-STRANS)
- Transformation XML(TCODE-STRANS)
- zju2857图像转换Image Transformation
- Transformation
- CALL TRANSFORMATION的方法生成XML例程
- Web.config 转换概览(Transformation Overview)
- Kettle之命令行执行转换(transformation)
- 3D 图形转换(3D Transformation)
- ####好#####DStream中的转换(transformation)
- Transforming XML Documents to HTML using .NET Transformation
- SQL优化【基础09】 - 查询转换(query transformation)
- Oracle优化器:星型转换(Star Query Transformation )
- 转换XML
- 转换xml
- xml转换
- XML转换
- Android开发中禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml
- 谈谈对于企业级系统架构的理解
- 高斯分布
- jQuery插件] jQuery Color Animations颜色动画插件
- 后山寨时代狂想曲
- POJ 1274 The Perfect Stall (匈牙利算法)
- transformation XML 转换
- VB DataGridView中上移下移功能的实现
- JSON --- JAVA对象转换为json
- 经常使用到的字符串操作方法
- mdev的使用方法和原理
- 北京1009 hdu4049 Tourism Planning DP初始化
- 各种数据库查询前几条数据的方法
- tomcat 配置
- .net 缓存基本方法