简体   繁体   English

如何从 SAP HR/HCM 公开员工主数据

[英]How can I expose employee master data from SAP HR/HCM

I'm shortly to start on an integration project that will require organisational data (line reporting etc) and starter/leaver events etc. We utilise SAP HCM, but I have no experience of SAP (BizTalk/.NET developer), and I'm still attempting to find the right people to talk to in our organisation about how to interface with SAP.我很快就要开始一个需要组织数据(行报告等)和启动/离开事件等的集成项目。我们使用 SAP HCM,但我没有 SAP(BizTalk/.NET 开发人员)的经验,我我仍然试图在我们的组织中找到合适的人来讨论如何与 SAP 交互。

Sadly (for our organisation anyway!), Stack Overflow is normally quicker :)可悲的是(无论如何对于我们的组织!),堆栈溢出通常更快:)

So, really I'm looking for an answer to the following;所以,我真的在寻找以下问题的答案;

  1. Does SAP HCM expose master employee data "out of the box" via web services. SAP HCM 是否通过 Web 服务“开箱即用”公开主员工数据。 If not, does it require much to expose this on the SAP side?如果没有,在 SAP 端公开它是否需要很多?
  2. If data is exposed, is it via a pull only model?如果数据被公开,是通过仅拉取模型吗? ie, can SAP be configured to push events?即,SAP 可以配置为推送事件吗?
  3. This may be naive, but does a trial version of the SAP stack exist to allow me to explore the options?这可能很幼稚,但是是否存在 SAP 堆栈的试用版以允许我探索这些选项?

Any suggestions would be gratefully received.任何建议将不胜感激。 I know in the past the organisation has had to engage SAP consultants for integration work like this, but (in my naive world I guess) this seems a reasonably simple integration problem?我知道过去该组织不得不聘请 SAP 顾问进行这样的集成工作,但是(在我天真的世界中,我猜)这似乎是一个相当简单的集成问题?

Regards, Jason问候, 杰森

I'm not familiar with the HCM module specifically, but I can provide some general answers:我对 HCM 模块并不特别熟悉,但我可以提供一些一般性的答案:

  1. Generally, standard display functionality of the major business objects (like a User or a Job in the HR world) are exposeed via BAPIs.通常,主要业务对象(如 HR 世界中的用户或工作)的标准显示功能是通过 BAPI 公开的。 Assuming your Basis team has ICF (Internet Communication Framework) configured, it is pretty simple to expose a BAPI as a web service.假设您的 Basis 团队配置了 ICF(Internet 通信框架),将 BAPI 公开为 Web 服务非常简单。

  2. SAP can push data based on events happening in SAP. SAP 可以根据 SAP 中发生的事件推送数据。 For example, you could have SAP call a web service in your legacy application whenever a new employee record is created in SAP.例如,只要在 SAP 中创建新员工记录,您就可以让 SAP 调用旧应用程序中的 Web 服务。

  3. According to this post there is no trial version of HCM.根据这篇文章,没有 HCM 的试用版。 However, here's a few things that might be useful.但是,这里有一些可能有用的东西。 I haven't used them personally but they look to be worth trying out:我没有亲自使用它们,但它们看起来值得一试:

The challenge with connecting directly to SAP from another system creates a non scalable architecture - point-to-point interfaces that are affected by changes or issues with both systems.从另一个系统直接连接到 SAP 的挑战创建了一个不可扩展的架构 - 受两个系统的变化或问题影响的点对点接口。 Let's say you try and push out changes to employee data and the target system is not available, well SAP will most likely short dump (throw and error).假设您尝试推送对员工数据的更改并且目标系统不可用,那么 SAP 很可能会进行短转储(抛出和错误)。 Now you have to think about a continuous batch job in SAP to try and manage these outages.现在,您必须考虑在 SAP 中执行连续批处理作业来尝试管理这些中断。

SAP have the Netweaver Gateway 2.0, which essentially supercedes a lot of these older style interfaces. SAP 拥有 Netweaver Gateway 2.0,它基本上取代了许多这些旧式界面。 The gateway provides an abstraction layer and some form of persistance and recovery mechanism.网关提供了一个抽象层和某种形式的持久性和恢复机制。 A golden rule is never hardware systems together directly, rather look at some form of middleware layer in between which provides semanitic and physical abstraction of the systems.黄金法则永远不会将硬件系统直接组合在一起,而是查看中间件层的某种形式,这些中间件层提供系统的语义和物理抽象。

Does SAP HCM expose master employee data "out of the box" via web services. SAP HCM 是否通过 Web 服务“开箱即用”公开主员工数据。 If not, does it require much to expose this on the SAP side?如果没有,在 SAP 端公开它是否需要很多?

There are very few web service for HR. HR很少有网络服务。 However, an ABAP function or BAPI can be transformed into a web service using a menu option... if such a function does not exist then it should be simple to create on (a pull solution)但是,可以使用菜单选项将 ABAP 函数或 BAPI 转换为 Web 服务……如果这样的函数不存在,那么创建起来应该很简单(拉式解决方案)

can SAP be configured to push events? SAP 可以配置为推送事件吗?

Yes, by several mean.是的,有几个意思。 HR operations modifictaion of master data, or administrative operation can generate event that can do anything (update a table, or call a web service) HR 操作修改主数据,或管理操作可以生成可以执行任何操作的事件(更新表或调用 Web 服务)

This may be naive, but does a trial > version of the SAP stack exist to allow me to explore the options?这可能很幼稚,但是是否存在 SAP 堆栈的试用版 > 版本以允许我探索这些选项?

There aa trial stack version available on sdn.sap.com, but this contains only the core, and no specific module like HCM. sdn.sap.com 上有一个试用堆栈版本,但这仅包含核心,没有像 HCM 这样的特定模块。

Regards问候
Guillaume纪尧姆

Additionnal Infos :附加信息:

you can easily get informations on an existing user using standards RFC function, such as BAPI_EMPLOYEE_GETDATA (to get a list of employee from several criteria), or BAPI_BANKDETAIL_GETDETAIL for bank detail.您可以使用标准 RFC 函数轻松获取现有用户的信息,例如 BAPI_EMPLOYEE_GETDATA(从多个条件获取员工列表)或 BAPI_BANKDETAIL_GETDETAIL 获取银行详细信息。 You "just" have to create a wrapper call in your dev.你“只需要”在你的开发中创建一个包装器调用。 langage语言

However, this will not give you "events" such as a modification of those bank details, the hiring of a new employee or the firing of a (previous) employee... For this you have to do non-trivial developpement (the simplest : any modification of a master data put the employee id in a table... each day you check the table and import the data currently valid)但是,这不会为您提供诸如修改银行详细信息、雇用新员工或解雇(前任)员工之类的“事件”......为此,您必须进行非平凡的开发(最简单的:对主数据的任何修改都会将员工 ID 放入表中...每天检查表并导入当前有效的数据)

Regards问候

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM