从带有条件的行中选择数据

2020-09-02 01:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好

我在JDBC Sender场景中有一个SELECT事件,以便从MySQL获取数据,这是我的结构:

在MySQL上已经有如下图所示的数据:

在我这样的条件接收者中:

为什么对我不起作用?
所有来自MySQL的数据总是插入到两个Communication Component中,我的期望是如果CLIENT 320然后插入BS_MPD320_D,然后插入325。
我使用了以下格式: 条件编辑器:
/row [string(CLIENT)=" 320"] EX不起作用
/row [string(CLIENT)='320'] EX不起作用
/row/CLIENT像320 *不起作用 工作

(7.9 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好

我在JDBC Sender场景中有一个SELECT事件,以便从MySQL获取数据,这是我的结构:

在MySQL上已经有如下图所示的数据:

在我这样的条件接收者中:

为什么对我不起作用?
所有来自MySQL的数据总是插入到两个Communication Component中,我的期望是如果CLIENT 320然后插入BS_MPD320_D,然后插入325。
我使用了以下格式: 条件编辑器:
/row [string(CLIENT)=" 320"] EX不起作用
/row [string(CLIENT)='320'] EX不起作用
/row/CLIENT像320 *不起作用 工作

(7.9 kB)
付费偷看设置
发送
5条回答
1楼-- · 2020-09-02 02:00

嗨,Yoppy,

1。 为了准确确定接收器,您需要使用EX运算符。 如果使用=运算符,则在某些情况下可能会失败。 例如-考虑一个XML,其中第一行不包含320,而第二行包含320。=运算符将检查第一次出现的内容,因此将不会确定接收器320。 EX运算符检查整个XML是否存在值320。

尝试以这种方式使用-.//row/CLIENT[text()="320"] EX

2。 现在,确定接收方后,您需要根据目标系统过滤源XML,为此,如果所有接收方都具有相同的目标结构,则可以使用参数(例如接收方系统)创建一个映射。 该映射将过滤记录。 您还需要使用相同的条件来确定接口。

如果您想获取更多详细信息,可以关注我,以便我们可以向我发送消息进行连接并分享一些时间来完成此操作。/p>

谢谢

Sugata

南山jay
2楼-- · 2020-09-02 02:13

嗨,

您正确地完成了所有操作,除了出现了一次row。 它的1个无界,表示您正在接收多个记录。 因此,您需要告诉XPath,请在XPath表达式中仅选择第一个[1]。

希望它可以解决您的问题,但是请记住,它只会与第一个/特定一个一起检查。

此致

Anoop Rai

Tong__Ming
3楼-- · 2020-09-02 02:14

嗨,Yoppy,

我给您发了消息。 请检查您的邮件收件箱

梦想连接
4楼-- · 2020-09-02 02:12

感谢您的评论。
案件由我完成,我认为这有点棘手。

CPLASF-自律
5楼-- · 2020-09-02 01:55

杉田,您好,

1。 仍然出现错误,如下图所示:

2。 我与下图具有相同的结构:


我不理解" 使用参数创建一个映射",是在sproxy类接口中还是在PI配置中进行映射?

好的,我已经关注了您

一周热门 更多>