Mapping 是PI 中非常重要的一个概念。之前我们介绍过一些Interface Object 的知识,而Mapping 的作用就是Inbound 和Outbound 的桥梁,提供Outbound 到Inbound 转换的具体的方法。其中就包含,Outbound->Inbound 数据结构的转换及数据本身的一些转换。
这里有四种方式:Message Mapping 、XSLT 、JAVA 、ABAP
![](http://blogimg.chinaunix.net/blog/upfile2/080818182031.jpg)
Message Mapping 中有图形化编辑器,可以进行拖拉操作,完成一些简单的Mapping 。同时SAP 还提供了一些内置的function 和自定义function 的接口来拓展Mapping 功能。同时由于基于对列,能有效处理大型文件。这也是PI 中一种主要的Mapping 方式。
Interface Mapping :顾名思义,就是在Interface 层次上的Mapping 。它的工作就是把Mapping Program 分配给Source Message 和Target Message 。而这个Mapping Program 就是我们之前说的四种方式:Message Mapping 、XSLT 、JAVA 、ABAP 。这里的Mapping Program 可以是多个,顺序执行。Interface Mapping 同时注册了一对接口(Inbound&Outbound ),并且赋予这对接口Mapping 。
![](http://blogimg.chinaunix.net/blog/upfile2/080818182049.jpg)
之前提过一些自定义的Mapping Program ,有些需要从外部导入。这时就需要Imported Archives 来执行这个动作。以上都需要把文件打包成jar 格式。在.jar 文件中,XSLT 必须是.xsl 格式。同时,IR 中也支持导入文件的维护,诸如编辑,编译等。
XSLT stylesheets
Java Mapping
Java extensions to XSLT mappings
Message Mapping 中用户自定义的Function
![](http://blogimg.chinaunix.net/blog/upfile2/080818182059.jpg)