CALL TRANSFORMATION 的方法生成XML文件
*&---------------------------------------------------------------------*
*& Report Z_BARRY_XML_CALL
*&
*&---------------------------------------------------------------------*
*& CALL TRANSFORMATION的方法生成XML例程
*& 适用ECC5以上系统
*& 普通方法生成XML:http://blog.chinaunix.net/u1/40527/showart_468389.html
*&---------------------------------------------------------------------*
REPORT z_barry_xml_call.
DATA: BEGIN OF it_xml OCCURS 0,
line(100) TYPE c,
END OF it_xml.
DATA: w_xml TYPE string,
w_len TYPE i,
w_fname TYPE string.
DATA: BEGIN OF line ,
matnr LIKE mara-matnr ,
maktx LIKE makt-maktx ,
END OF line .
DATA: BEGIN OF line2 ,
class LIKE m_wwgha-class,"部门
kschl LIKE m_wwgha-kschl,"DESC
END OF line2 .
DATA: itab_matnr LIKE TABLE OF line ,
itab_class LIKE TABLE OF line2 .
START-OF-SELECTION.
PERFORM getdata.
PERFORM create_xml.
*---------------------------------------------------------------------*
* FORM getdata *
*---------------------------------------------------------------------*
FORM getdata.
SELECT matnr maktx FROM makt
INTO TABLE itab_matnr
UP TO 4 ROWS
WHERE spras = '1' .
SELECT class kschl FROM m_wwgha
INTO TABLE itab_class
UP TO 4 ROWS
WHERE spras IN ('1','E') .
ENDFORM. "getdata
*&---------------------------------------------------------------------*
*& Form create_xml
*&---------------------------------------------------------------------*
FORM create_xml.
CALL TRANSFORMATION ztest2
SOURCE prd = itab_matnr
class = itab_class
RESULT XML w_xml.
CALL FUNCTION 'SCMS_STRING_TO_FTEXT'
EXPORTING
text = w_xml
IMPORTING
length = w_len
TABLES
ftext_tab = it_xml.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'c:\xmlcall.xml'
filetype = 'BIN'
IMPORTING
filelength = w_len
TABLES
data_tab = it_xml.
ENDFORM. "create_xml
*Tcode:STRANS,Simple类型
*<?sap.transform simple?>
*<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">
* <tt:root name="PRD"/>
* <tt:root name="CLASS"/>
* <tt:template>
* <ROOT>
* <Products>
* <tt:loop name="line" ref="PRD">
* <Product>
* <matnr>
* <tt:value ref="$line.matnr"/>
* </matnr>
* <maktx>
* <tt:value ref="$line.maktx"/>
* </maktx>
* </Product>
* </tt:loop>
* </Products>
* <Categories>
* <tt:loop name="line2" ref="CLASS">
* <Categorie>
* <CLASS>
* <tt:value ref="$line2.class"/>
* </CLASS>
* <KSCHL>
* <tt:value ref="$line2.kschl"/>
* </KSCHL>
* </Categorie>
* </tt:loop>
* </Categories>
* </ROOT>
* </tt:template>
*</tt:transform>
CALL TRANSFORMATION 的方法生成XML文件的更多相关文章
- PHP中的生成XML文件的4种方法(转)
<?xml version="1.0" encoding="utf-8"?> <article> <item> <ti ...
- PHP中的生成XML文件的4种方法分享
生成如下XML串 Xml代码 <?xml version="1.0" encoding="utf-8"?> <article> < ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- 视频播放实时记录日志并生成XML文件
需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
- 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析
首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...
- Java生成XML文件与XML文件的写入
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6651643.html 既然能在代码中解析XML文档获取数据,当然也能通过代码动态生成XML文档了. 与解析X ...
- Mybatis自动生成xml文件、dao接口、实体类
Mybatis可以通过逆向工程,实现自动生成xml文件.dao接口.实体类 以下使用的是Intellij Idea进行自动生成 一.首先,要在pom.xml中导入插件,在<build>中加 ...
- Python中使用dom模块生成XML文件示例
在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件. 在生成XML文件中,我们主 ...
随机推荐
- JAVA Eclipse中的Android程序如何使用线程
我们先单独定义一个java类,名字可以任意取(比如叫做ClientHeartBeat类,我当前在做一个socket通信的客户端,我们假定需要一个可以测试心跳的程序),注意他要继承Thread,然后重载 ...
- 系统重装 VISTA下如何删除EISA分区
现在的品牌电脑大部分都有一键还原,把还原内容存储在EISA配置的隐藏分区里面,一般的软件都无法对其进行操作,保证分区及系统还原的安全性.这样的功能对于一些人不使用一键还原(笔者即是)来说实属鸡肋功 ...
- 块设备驱动之NOR FLASH驱动
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/25240947 一.硬件原理 从原理图中我们能看到NOR FLASH有地址线,有 ...
- TCO'10 Online Round 3 1000pt
题目大意: 密码串由小写字母.大写字母和数字组成,要求求出小写字母个数不少于L个.大写字母个数不少于U个.数字个数不少于D个的长度为N密码串的种数. 答案对 1000000009 取模 解题思路: 自 ...
- CentOS 安装rz和sz
在虚机装了CentOS6.4版本,结果ssh上去后发现rz命令不能用.那只有自力更生了,其实很简单,如下: yum install lrzsz 如果本地没有包,需要编译安装了: cd /tmp wge ...
- 两个页面相同js方法兼容
1. a.js页面 //Js获取Url参数 function request(paras) { var url = location.href; var paraString = url.substr ...
- 自己定义控件三部曲视图篇(二)——FlowLayout自适应容器实现
前言:我最大的梦想,就是有一天.等老了坐在摇椅上回望一生,有故事给孩子们讲--. 相关文章: <Android自己定义控件三部曲文章索引>:http://blog.csdn.net/har ...
- 软件project--谈项目开发
前段时间一直忙自考.着急赶项目进度,如今最终有时间回想这段时间的学习,突然发现自己已有半个月没有沉淀. 今天早上醒来.灵感如泉水般涌出,挡都挡不住.所以早上一到机房,便迫不及待的想大家分享灵感,希望大 ...
- 《Lucene in Action》(第二版) 第一章节的学习总结 ---- 用最少的代码创建索引和搜索
第一章节是介绍性质,但是通过这一章节的学习,我理解到如下概念: 1.Lucene由两部分组成:索引和搜索.索引是通过对原始数据的解析,形成索引的过程:而搜索则是针对用户输入的查找要求,从索引中找到匹配 ...
- Frogger - poj 2253 (Dijkstra)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28802 Accepted: 9353 Description Fr ...