BAPI更新SAP HCM中的员工详细信息?

2020-09-14 12:38发布

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

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


你好。

我想使用以下详细信息在SAP HCM系统中创建或更新员工记录:

名字,中间名和姓氏,DOB,电子邮件,组织ID,职位,供应商ID,人员区域,开始日期和结束日期。

对任何BAPI有任何想法吗?

问候。

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

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


你好。

我想使用以下详细信息在SAP HCM系统中创建或更新员工记录:

名字,中间名和姓氏,DOB,电子邮件,组织ID,职位,供应商ID,人员区域,开始日期和结束日期。

对任何BAPI有任何想法吗?

问候。

付费偷看设置
发送
4条回答
宇峰Kouji
1楼 · 2020-09-14 13:33.采纳回答

使用功能模块'HR_MAINTAIN_MASTERDATA'创建/更新员工记录。

CALL FUNCTION'HR_MAINTAIN_MASTERDATA'
导出

massn ='ZS'

actio ='INS'
tclas ='A'
begda = i_input_data-startdate
werks = lv_persa
persg ='E'
persk ='51'
计划 = i_input_data-positionno
导入
return1 = e_message
表格
proposal_values = lt_values
modified_keys = lt_modified_keys。

要更新的信息类型可以在proposal_values中传递。

请参见下面的代码示例:

*操作类型-雇用非工资单
ls_values-infty ='0000'。
ls_values-fname ='P0000-MASSN'。
ls_values-fval ='ZS'。
APPEND ls_values至lt_values。
清除ls_values。


*动作原因
ls_values-infty ='0000'。
ls_values-fname ='P0000-MASSG'。
ls_values-fval ='51'。
附加ls_values TO lt_values。
清除ls_values。

*操作类型-终止非工资单
ls_values-infty ='0000'。
ls_values-fname ='Q0000-MASSN'。
ls_values -fval ='ZU'。
将ls_values附加到lt_values。
清除ls_values。

ls_values-infty ='0001'。
ls_values-fname ='P0001-BTRTL'。
ls_values-fval = i_input_data-location。
附加ls_values至lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002-ANRED'。
ls_values-fval = i_input_data-title。
附加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002-NACHN '。
ls_values-fval = i_input_data-lname。
附加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002 -VORNA'。
ls_values-fval = i_input_data-fname。
附录ls_values到lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002-MIDNM'。
ls_values-fval = i_input_data-mname。< br>追加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002-RUFNM'。
ls_values-fval = i_input_data-pname 。
附加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0002'。
ls_values-fname ='P0002-GBDAT'。
ls_values-fval = i_input_data -birthdate。
将ls_values附加到lt_values。
清除ls_values。

*终止日期
ls_values-infty ='0019'。
ls_values-fname ='P0019-TERMN'。
ls_values-fval = i_input_data-enddate。
附加ls_values至lt_values。
清除ls_values。

ls_values-infty ='0315'。
ls_values-fname ='P0315-ENDDA '。
ls_values-fval = i_input_data-enddate。
附加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0315'。
ls_values-fname ='P0315 -LIFNR'。
ls_values-fval = i_input_data-vendor_id。
附加ls_values到lt_values。
清除ls_values。

ls_values-infty ='0105'。
ls_values-fname ='P0105-SUBTY '。
ls_values-fval ='0010'。
追加ls_values至lt_values。
清除ls_values。

ls_values-infty ='0105'。
ls_values-fname ='P0105 -USRID_LONG'。
ls_values-fval = i_input_data-email。
附加ls_values至lt_values。
清除ls_values。

注意。

hengyuye
2楼-- · 2020-09-14 13:18

此功能需要小心。 它较旧,并且绕过了更新的DCIF。 我相信如果您要使用这种方法,可以使用一个更新的函数。

shere_lin
3楼-- · 2020-09-14 13:35

首先,您是否了解BAPI实际上是什么,什么是"业务对象"? 其次,您了解功能,远程功能和接口吗?.....如果您对这些问题回答"是"...。您甚至尝试过看吗?....交易BAPI? 然后在"人事管理"->"人事管理"下有大量"雇员"业务对象。 每个文档甚至都有文档。 我建议您去那里看看。

zhangjiyang1323
4楼-- · 2020-09-14 13:26

HCM P&F现在很有趣,因为我可以在睡觉时做。 哈哈,我必须保持"其他"技能的敏锐度.....做FreeCodeCamp课程,做Laracast/Laravel教程,做Fiori和SAPUI5教程(第5次哈哈).....或者我觉得自己正在成为 古。 哈哈

一周热门 更多>