我的工作流实例ID未通过Class方法调用在表sww_wi2obj中生成条目。

2020-08-20 10:04发布

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

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


您好,工作流程专家

系统:S4 HANA。

当我通过带有对象ID的类事件调用来触发工作流时,对象ID是Class和Constructor的键属性,工作流正在触发,但是应该在表sww_wi2ob中生成一个实例ID(对象ID)的条目,我可以看到工作流日志和工作项 表sww_wi2obj中的所有条目,但实例ID为空。

何时使用FM SAP_WAPI_WORKITEMS_TO_OBJECT 来搜索此INSTID的日志,但我没有使用表sww_wi2ob工作流日志来获取与FM相关的过滤器。

请让我知道以下方法find_by_lpor或lpor或构造函数中所需的任何更改吗?

以下是启用工作流的类方法的代码部分:

find_by_lpor

数据:lv_lpor TYPE zid。

将lpor-instid(4)移动到lv_lpor。

创建对象结果类型zcl_wf_process

导出iv_ie_eid = lv_lpor。

*************************************************** *

BI_PERSISTENT〜LPOR方法。

result = me-> gs_obj。

**************************************************

METHOD构造函数。

数据:lv_typeid TYPE sibftypeid。

lv_typeid ='ZCL_WF_PROCESS'。

me-> ie_eid = iv_id。 "构造参数

me-> gs_obj-catid ='CL'。

me-> gs_obj-typeid = lv_typeid。

me-> gs_obj-instid = iv_id。 "构造参数

*************************************************** ******************

当我将lv_lpor值作为硬编码值传递时,例如:1111,它在表sww_wi2obj-instid中可见,但是如果我在运行时将其作为变量传递,则不可见。

仍在等待工作流专家的答复。

赞赏快速帮助

预先感谢。

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

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


您好,工作流程专家

系统:S4 HANA。

当我通过带有对象ID的类事件调用来触发工作流时,对象ID是Class和Constructor的键属性,工作流正在触发,但是应该在表sww_wi2ob中生成一个实例ID(对象ID)的条目,我可以看到工作流日志和工作项 表sww_wi2obj中的所有条目,但实例ID为空。

何时使用FM SAP_WAPI_WORKITEMS_TO_OBJECT 来搜索此INSTID的日志,但我没有使用表sww_wi2ob工作流日志来获取与FM相关的过滤器。

请让我知道以下方法find_by_lpor或lpor或构造函数中所需的任何更改吗?

以下是启用工作流的类方法的代码部分:

find_by_lpor

数据:lv_lpor TYPE zid。

将lpor-instid(4)移动到lv_lpor。

创建对象结果类型zcl_wf_process

导出iv_ie_eid = lv_lpor。

*************************************************** *

BI_PERSISTENT〜LPOR方法。

result = me-> gs_obj。

**************************************************

METHOD构造函数。

数据:lv_typeid TYPE sibftypeid。

lv_typeid ='ZCL_WF_PROCESS'。

me-> ie_eid = iv_id。 "构造参数

me-> gs_obj-catid ='CL'。

me-> gs_obj-typeid = lv_typeid。

me-> gs_obj-instid = iv_id。 "构造参数

*************************************************** ******************

当我将lv_lpor值作为硬编码值传递时,例如:1111,它在表sww_wi2obj-instid中可见,但是如果我在运行时将其作为变量传递,则不可见。

仍在等待工作流专家的答复。

赞赏快速帮助

预先感谢。

付费偷看设置
发送
6条回答
樱桃小丸子0093
1楼-- · 2020-08-20 10:33

我认为您需要将一个属性定义为键属性,这将是您的类的实例

您完成了吗?

我希望这会有所帮助,告诉我是否有用

欢呼

Stephane

梦想连接
2楼-- · 2020-08-20 10:27

嗨,

eid已经定义为类的键属性。

谢谢

Akshay

clever101
3楼-- · 2020-08-20 10:32

嗨,

请检查并共享SAP_WAPI_WORKITEMS_TO_OBJECT的代码。 还要共享工作流容器的屏幕截图。

谢谢

Tong__Ming
4楼-- · 2020-08-20 10:25

下面为FM SAP_WAPI_WORKITEMS_TO_OBJECT输入了

此FM仅添加表sww_wi2obj中的数据,问题是表存储的实例号为空的数据,

如果我们提供不带实例ID的输入,则FM会将所有wf日志显示为Object类输入的FM输出。

由于我在主帖子中解释的实例ID仅在我以find_by_por方法的形式将其作为Constance传递时存储,而不是在运行时通过veritable进行传递时存储,因此在两种情况下也都正确触发了WF。

>

我想通过给定FM根据实例对象ID读取我的WF日志,但表未存储实例号。

有没有人可以检查您的WF是否将实例ID存储在表中,对于基于类的WF?


骆驼绵羊
5楼-- · 2020-08-20 10:20

你好,

是否对此问题有任何更新? 我有同样的问题,但只是有时候。 我设法要求客户发出OSS消息,但我认为OSS会响应尚未发布的SAP_WAPI之类的代码来进行客户编码,我想我将不得不找到其他解决方案(不是第一种情况)。

问题是,在某些情况下,SAP不会在表SWW_WI2OBJ中插入记录,然后SAP_WAPI ... FM无法看到该对象。

我正在考虑简单的报告搜索并重新生成丢失的记录,例如 从表SWWWIHEAD中获取,但是我不知道我是否可以自己生成GUID,或者表GUID是否具有指向系统其他部分的链接...

谢谢,
致谢

PetrŠourek

95年老男孩
6楼-- · 2020-08-20 10:24

解决了我自己,这是由于未在任务级别(每个需要WF日志条目的任务)上完成WF与本地任务的绑定。

一周热门 更多>