跳过SLT中的删除记录

2020-08-22 22:36发布

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

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


亲爱的人们,

我需要在SLT中捕获删除的图像/记录。 我们不想删除目标HANA数据库中已在源中删除的记录。 并且我们想添加一个新列以状态为目标,无论记录是否在源中被删除。

我也阅读了几乎所有的博客和SAP答案,并且尝试在开发中实现它们。 但是SLT仍然无法捕获删除图像及其从目标中删除的删除记录。

下面是我的包含在"规则分配"下的LTRS中的代码

下面是我在LTRS->"规则分配"中填写的详细信息

表名称:VBRP

规则类型:与字段相关

状态:已发布

分配目标:MANDT

实现:包括具有以下代码的名称。

您能告诉我我在这里想念的吗? 为什么它对我不起作用。

此致

Kamal

 FIELD-SYMBOLS:任意类型,
   TYPE任意,
  键入any。

 将结构的分配组件'IUUC_OPERAT_FLAG'分配到。

 如果sy-subrc = 0并且 ='D'。
   ='U'。
 将结构的组件'ZDELETE'分配给。
 如果sy-subrc = 0。
   ='X'。
 万一。
 ENDIF。

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

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


亲爱的人们,

我需要在SLT中捕获删除的图像/记录。 我们不想删除目标HANA数据库中已在源中删除的记录。 并且我们想添加一个新列以状态为目标,无论记录是否在源中被删除。

我也阅读了几乎所有的博客和SAP答案,并且尝试在开发中实现它们。 但是SLT仍然无法捕获删除图像及其从目标中删除的删除记录。

下面是我的包含在"规则分配"下的LTRS中的代码

下面是我在LTRS->"规则分配"中填写的详细信息

表名称:VBRP

规则类型:与字段相关

状态:已发布

分配目标:MANDT

实现:包括具有以下代码的名称。

您能告诉我我在这里想念的吗? 为什么它对我不起作用。

此致

Kamal

 FIELD-SYMBOLS:任意类型,
   TYPE任意,
  键入any。

 将结构的分配组件'IUUC_OPERAT_FLAG'分配到。

 如果sy-subrc = 0并且 ='D'。
   ='U'。
 将结构的组件'ZDELETE'分配给。
 如果sy-subrc = 0。
   ='X'。
 万一。
 ENDIF。
付费偷看设置
发送
4条回答
绿领巾童鞋
1楼-- · 2020-08-22 23:15

嗨,

同时有可能和不可能。

首先,您离成功仅一步之遥:)

您必须创建
正确的脚本如下所示:

 FIELD-SYMBOLS:
   TYPE任意,
  键入any。

 将结构的分配组件'IUUC_OPERAT_FLAG'分配到。

 如果sy-subrc = 0并且 ='D'。
   将结构的分配组件'IUUC_OPERAT_FLAG'分配到 ='U'。
   将结构的组件'ZDELETE'分配给。
   如果sy-subrc = 0。
      ='X'。
   万一。
 ENDIF。

第二个主要问题是,当您在目标中将操作从" D"更改为" U"时,将执行UPDATE。 但是,当您执行删除操作时,触发器仅将键写入日志表中。 这意味着在记录中仅填充了关键字段。 在目标中,仅将填充FIELD'ZDELETE',所有其他字段将使用空值进行更新。

没有机会跳过对所有其他字段的更新。 仅可能从目标读取记录并使用当前值初始化所有其他字段。 但是,当然,这会降低性能。

半个程序猿
2楼-- · 2020-08-22 23:25

侧面问题:我已经看到一些类似这样的博客/帖子,其中代码从源(WA_S_ *)分配了" IUUC_OPERAT_FLAG" 或结果(WA_R_ *)。 那怎么可能? 是否在源系统的日志记录表上未定义IUUC_OPERAT_FLAG? 即没有VBRP-IUUC_OPERAT_FLAG这样的东西(在此示例中)。

Climb_Ma
3楼-- · 2020-08-22 23:17

回答我自己的侧面问题... IUUC_OPERAT_FLAG在某种程度上是WA_S/R结构的一部分。 我假设这是内置在生成步骤中的某处,因为作为我们的SLT管理员,它没有采取任何具体措施将其包括在内。 我可以看到生成的对象中声明的结构中包含的标志。

一个明显的要点...如果在包含事件中更改代码,请确保从复制开始并确保所有内容都重新生成,然后再声明测试成功。

4楼-- · 2020-08-22 23:31

或其他可能的解决方案(如果使用DMIS SP15或更高版本)则使用SLT SDK,您可以在其中实现目标端自己的解决方案。 请参阅SAP注释 2652704

一周热门 更多>