首页 > 解决方案 > SAP PI XSLT 映射中具有否定条件的 XPATH 表达式

问题描述

我必须维护 SAP PI 中 ICO 的接口确定中的条件。我有几种发票类型,如 L1、S1、G1、F1 等。根据要求,我有两个单独的映射。

当发票类型为 L1、S1 或 G1,并且 LAND1 = IND、PARW= W 和 QUALF=015 时,我想选择第一个映射,而对于剩余的发票类型,我想选择第二个映射。

两个映射的条件编辑器中的 XPath 表达式是:

1)

(/ZEINV_INVOIC02/IDOC/E1EDKA1[PARVW = 'W' and LAND1 = 'IND'])   EX   AND
(/ZEINV_INVOIC02/IDOC/E1EDK14[QUALF = 015 and ORGID = 'L1'])    EX   OR
(/ZEINV_INVOIC02/IDOC/E1EDKA1[PARVW = 'W' and LAND1 = 'IND'])   EX   AND 
(/ZEINV_INVOIC02/IDOC/E1EDK14[QUALF = 015 and ORGID = 'G1'])    EX   OR 
(/ZEINV_INVOIC02/IDOC/E1EDKA1[PARVW = 'W' and LAND1 = 'IND'])   EX   AND
(/ZEINV_INVOIC02/IDOC/E1EDK14[QUALF = 015 and ORGID = 'S1'])    EX

2)(我对关于 ORGID 表达式的第二行有疑问)

(/ZEINV_INVOIC02/IDOC/E1EDKA1[PARVW = 'W' and LAND1 = 'IND'])                                    EX AND
(/ZEINV_INVOIC02/IDOC/E1EDK14[QUALF = 015 and ( ORGID ≠ 'L1' or ORGID ≠ 'G1' or ORGID ≠ 'S1' )]) EX

问题是,当 ICO 运行时,它会选择两个映射,同时满足以下两个条件:

ORGID = 'L1'
QALF  = 015
PARW  = 'W' 
LAND1 = 'IND'

当我们的 ORGID 值不是 L1、G1 和 S1 时,第二个条件的 XPath 表达式是什么?

标签: xpathsapsap-xisap-pi

解决方案



推荐阅读