SAP系统STRANS事务
XML文件编辑规则
先用STRANS事务码创建一个ST程序,我们将这个程序命名为ZTESTXUE008。
ST程序中定义两个ROOT元素,通过与ABAP的交互将数据传入或传出ST程序。一般情况下,ROOT元素的个数视数据多少来定。本程序中,HEADER部分的数据其实也可以定义成三个独立的ROOT元素来传递数据。
定义一个主模版。在
主模版调用了其它的子模版,可以很容易看出哪个是主模版。其实子模版也可以调其它的子模版,本程序还不算特别复杂,子模版中没有进行其它的调用。调用子模版的语法是:
定义子模版。子模版与主模版的定义没有任何区别。只是主模版的调用在
附本次应用到的ST程序全部的代码:
ABAP程序中调用ST程序,将内表与结构数据转换成XML文件。 call transformation ztestxue005 source header = gs_so item = gt_item[] result xml gv_xml. if sy-subrc = 0. write '转换成功'. write / gv_xml. endif.转换成功后,我们可以通过DEBUG查看转换后的XML文件。
ABAP程序中调用ST程序,将XML文件转换成内表与结构数据。 call transformation ztestxue005 result header = gs_so item = gt_item[] source xml gv_xml. if sy-subrc = 0. write '转换成功'. write / gv_xml. endif.转换后可以通过DEBUG查看内表与工作区中的数据。转换前后,被转换的数据或XML文件都是一直存在于内存中的。
模版定义的时候不能进行嵌套,主模版与子模版都是并列的。
模版调用的时候,不要形成递归调用。
实际ABAP调用ST程序时,应用使用TRY CATCH来捕捉转换时的异常,否则容易DUMP。