如图:
<
ZEILE
>
0001
</
ZEILE
>
<
EBELN
>
4500003720
</
EBELN
>
<
EBELP
>
00010
</
EBELP
>
<
MATNR
>
40032020160121
</
MATNR
>
<
WERKS
>
D100
</
WERKS
>
<
LGORT
>
8000
</
LGORT
>
<
MENGE
>
500000.000
</
MENGE
>
<
MEINS
>
EA
</
MEINS
>
<
CHARG
>
20150302
</
CHARG
>
<
VFDAT
>
20170731
</
VFDAT
>
<
PASTE
/>
<
LICHN
/>
<
VBELN
/>
<
POSNR
/>
<
PRODT
>
20160121
</
PRODT
>
</
item
>
这个是sxi_mointor消息监控提取的XAML序列文件,ESR中Mappings配置正常,sxi_mointor消息监控中PRODT这个字段也显示有值,但是在SAP接口程序RFC中PRODT却没有值,经过一番折腾,最终发现是因为PRODT字段前面的几个字段是空值,导致PI传输到RFC的过程中PRODT字段的值也弄丢了。这其中的原因可能是Mappings传值的原理导致的。
最终解决的办法如下:
把PRODT字段提升到空值字段前面就OK了,如图:
<
ZEILE
>
0002
</
ZEILE
>
<
EBELN
>
4500003721
</
EBELN
>
<
EBELP
>
00020
</
EBELP
>
<
MATNR
>
000000000000400090
</
MATNR
>
<
WERKS
>
D100
</
WERKS
>
<
LGORT
>
8000
</
LGORT
>
<
MENGE
>
200000.000
</
MENGE
>
<
MEINS
>
EA
</
MEINS
>
<
CHARG
>
20150304
</
CHARG
>
<
VFDAT
>
20260228
</
VFDAT
>
<
PRODT
>
20160121
</
PRODT
>
<
PASTE
/>
<
LICHN
/>
<
VBELN
/>
<
POSNR
/>
</
item
>