分配从网络活动中拆分给一个人

2020-08-24 22:16发布

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

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


专家您好,

使用bapi" BAPI_NETWORK_MAINTAIN"创建网络活动。

之后,我想将拆分分配给一个人。

我从活动中获得了KBED和KBEZ条目。

我如何更改KBED中的PERNR,以将拆分分配给一个人?

是否有任何功能模块/BAPI或其他我可以尝试的东西?

亲切的问候,

巴勃罗

(37.6 kB)

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

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


专家您好,

使用bapi" BAPI_NETWORK_MAINTAIN"创建网络活动。

之后,我想将拆分分配给一个人。

我从活动中获得了KBED和KBEZ条目。

我如何更改KBED中的PERNR,以将拆分分配给一个人?

是否有任何功能模块/BAPI或其他我可以尝试的东西?

亲切的问候,

巴勃罗

(37.6 kB)
付费偷看设置
发送
4条回答
奄奄一息的小鱼
1楼 · 2020-08-24 22:41.采纳回答

巴勃罗嗨,

我看不到任何公开使用的标准功能。 但是以下对我来说分配一个资源是有用的:

 DATA(ls_kbed)= VALUE cykbed_tab(bedid = l_bedid
                                         bedzl = l_bedzl
                                         索引= l_indbt
                                         pernr = l_pernr)。
       通话功能'CY01_CAP_REQ_ASSIGN'
         出口
           in_kbed_entry = ls_kbed"具有cap.req.rec。和赋值数据的结构
           kbedd_imp = ls_current_kbed
         例外情况
           其他= 10。

         通话功能'CY_BT_VB_CHECK'
           出口
             i_bedid_1 = l_bedid
             i_aufpl = l_aufpl
           输入
             e_bedid_1 = l_bedid_r
             e_aend_flag = l_flag
           例外情况
             其他= 2。

 提交工作。
 

但是实际上这需要一些工作,因为这种方法依赖于现有的内存结构来正确填充。 例如,变量l_indbt是指向内部表的索引,指向原始KBED条目的行。

要建立一个工作环境,需要完成以下几项工作:

 ls_objects = VALUE#(flg_alt = abap_true
                           flg_seq = abap_true
                           flg_opr = abap_true
                           flg_bed = abap_true)。
     lt_aufnr = VALUE#((aufnr = l_aufnr))。
     通话功能'CO_ZF_ORDER_READ'
       出口
         flg_enqueue = abap_true
         objects_imp = ls_objects" Liste der Auftragsobjekte,die zu lesen sind
       输入
         flg_escape = l_escape
         flg_enqueue_ok = l_flg_enqueue_ok" AlleübergebenenAufträgewurden gesperrt
       桌子
         aufnr_tab_imp = lt_aufnr" Zu bearbeitendeAufträge
       例外情况
         其他= 3。

 *自设置了flg_bed以来,这不是必需的。
     lt_pre_tab = VALUE#((bedid = l_bedid))。
     通话功能'CY_BT_KBED_PRE_READ'
       桌子
         bedid_pre_tab = lt_pre_tab。


 

这是一些对我有用的方式。 尽管我无法提供我在这里所做的全部源代码。 但是我想这就是需要的本质。

随时询问详情。

干杯

Peter

我是小鹏鹏啊
2楼-- · 2020-08-24 22:40

您好乔安娜·卡罗拉斯

对不起,这是我所有的源代码。 这是我用来试验的片段。 我了解,要获得完整的解决方案,还有很多遗漏。

干杯,
Peter

Alawn_Xu
3楼-- · 2020-08-24 22:36

没有什么标准,因此您必须围绕它编写代码。

我已经做了类似彼得·杰克尔(Peter Jaeckel),但使用了FM" CY_BT_KBED_POST_IN_OTHER_TASK"。 此FM可以更新表" KBED"," KBKO"," KBEZ"以获取多种资源(例如Pernrs团队)...

在FM中设置一个BREAKPOINT并进行一些调试以查看 逻辑在标准SAP事务中的工作方式...


希望这会有所帮助

Nic T。

梦想连接
4楼-- · 2020-08-24 22:43

嗨, Peter Jaeckel ,

您是否愿意共享此功能的所有源代码? 预先感谢。

一周热门 更多>