2020-08-24 19:55发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我们有一个Web应用程序,该应用程序需要为Successfactors中的用户创建休假条目。 显然,我们需要使用SuccessFactors Odata API来做到这一点。 我们正在寻找可用于执行以下操作的特定API:
1。 通过提供员工编号进行查询并获得他们的时间余额
2。 为特定的开始日期,结束日期和休假类型创建休假请求。
致谢
Ravi
嗨,拉维,
检查以下实体以进行查询。
https://<主机名>/odata/v2/EmpTimeAccountBalance?$ filter = userId eq''和timeAccountType eq''
以上服务将为您提供财产余额中当年的总叶子。
https://<主机名>/odata/v2/EmployeeTime?$ filter = userId eq''和(timeType eq'')和(startDate ge datetime'2017-01-01T00:00 :00')
作为响应,您可以找到timeType的属性deductionQuantity。 这是当年的记录列表。 汇总响应列表中的所有扣除数量。
余额=余额-(deductionQuantity的总和)
https://<主机名>/odata/v2/EmployeeTime
有效载荷:
{" __metadata":{" uri":" http://<主机名>/odata/v2/EmployeeTime"," type":" SFOData.EmployeeTime"}," startDate":"/img/Date(1483920000000) /"," endDate":"/img/Date(1483920000000)/"," externalCode":" <某些唯一值>"," userIdNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/User('')"," type":" SFOData.User"}}," timeTypeNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/TimeType('')"," type":" SFOData.TimeType"}}}
考虑属性externalCode,该属性应始终是唯一的值,就像创建时的关键参数一样。
此致
Venu
嗨Kunjal&Kevin,
为了触发工作流程
请使用以下端点
POST https:///odata/v2/upsert?workflowConfirmed = true&$ format = json
{
" __metadata":{" uri":" https://<主机名>/odata/v2/EmployeeTime","类型":" SFOData.EmployeeTime"},
" startDate":"/img/Date(1484677800000)/",
" endDate":"/img/Date(1484739000000)/",
" externalCode":" <唯一值>",
" approvalStatus":"待审核",
" userIdNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/User('')"," type":" SFOData。 用户"}},
" timeTypeNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/TimeType('')"," type":" SFOData。 TimeType"}}
}
这将触发工作流程。
尝试对本POST使用oAuth。 如果您确实使用技术用户,请确保其对MDF oData API的管理员访问权限如下所述
该参数对具有对MDF OData API的管理员访问权限的管理员用户没有影响。 如果管理员用户为启用了工作流程的实体创建或更改记录,则不会触发任何工作流程,并且该记录将另存为普通数据。
https://help.sap.com/viewer/ d599f15995d348a1b45ba5603e2aba9b/1911/zh-CN/886cdf72d3474996889d0b306d30c27c.html
亲切的问候,
您还可以使用Integration Center,即简单地查询数据
SAP提供的文档-
https://help.sap .com/doc/7efdca36492e47c7b20ab92c4ca6323c/1908/zh-CN/SF_EC_OData_API_REF.pdf
API 1-https://<主机>/odata/v2/EmpTimeAccountBalance?$ filter = userId eq'3334343'和timeAccountType + in +'EL_Ind','SL_Ind','CL_Ind'&$ format = json >
上述API会为您提供截至今天为止的可用叶子总数。
API 2:https://<主机>/odata/v2/EmployeeTime?$ filter =(userId eq'3334343')和(approvalStatus eq'APPROVED')和(timeType eq'CL_Ind')和(startDate gt datetime'2019-10-19T00:00:00')&$ format = json
上述API会通过传递用户ID和状态"已批准"以及"时间类型和日期"大于"今天"的日期来向我们提供员工的已批准叶子的列表。
获取特定假期类型的总可用假期余额:
请假总余额= API 1(余额)-API 2(扣除额之和)
谢谢
Priti
最多设置5个标签!
嗨,拉维,
检查以下实体以进行查询。
1。 通过提供员工编号进行查询并获得他们的时间余额
https://<主机名>/odata/v2/EmpTimeAccountBalance?$ filter = userId eq''和timeAccountType eq''
以上服务将为您提供财产余额中当年的总叶子。
https://<主机名>/odata/v2/EmployeeTime?$ filter = userId eq''和(timeType eq'')和(startDate ge datetime'2017-01-01T00:00 :00')
作为响应,您可以找到timeType的属性deductionQuantity。 这是当年的记录列表。 汇总响应列表中的所有扣除数量。
余额=余额-(deductionQuantity的总和)
2。 为特定的开始日期,结束日期和休假类型创建休假请求。
https://<主机名>/odata/v2/EmployeeTime
有效载荷:
{" __metadata":{" uri":" http://<主机名>/odata/v2/EmployeeTime"," type":" SFOData.EmployeeTime"}," startDate":"/img/Date(1483920000000) /"," endDate":"/img/Date(1483920000000)/"," externalCode":" <某些唯一值>"," userIdNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/User('')"," type":" SFOData.User"}}," timeTypeNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/TimeType('')"," type":" SFOData.TimeType"}}}
考虑属性externalCode,该属性应始终是唯一的值,就像创建时的关键参数一样。
此致
Venu
嗨Kunjal&Kevin,
为了触发工作流程
请使用以下端点
POST https:///odata/v2/upsert?workflowConfirmed = true&$ format = json
{
" __metadata":{" uri":" https://<主机名>/odata/v2/EmployeeTime","类型":" SFOData.EmployeeTime"},
" startDate":"/img/Date(1484677800000)/",
" endDate":"/img/Date(1484739000000)/",
" externalCode":" <唯一值>",
" approvalStatus":"待审核",
" userIdNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/User('')"," type":" SFOData。 用户"}},
" timeTypeNav":{" __metadata":{" uri":" https://<主机名>/odata/v2/TimeType('')"," type":" SFOData。 TimeType"}}
}
这将触发工作流程。
尝试对本POST使用oAuth。 如果您确实使用技术用户,请确保其对MDF oData API的管理员访问权限如下所述
该参数对具有对MDF OData API的管理员访问权限的管理员用户没有影响。 如果管理员用户为启用了工作流程的实体创建或更改记录,则不会触发任何工作流程,并且该记录将另存为普通数据。
https://help.sap.com/viewer/ d599f15995d348a1b45ba5603e2aba9b/1911/zh-CN/886cdf72d3474996889d0b306d30c27c.html
亲切的问候,
Ravi
您还可以使用Integration Center,即简单地查询数据
SAP提供的文档-
https://help.sap .com/doc/7efdca36492e47c7b20ab92c4ca6323c/1908/zh-CN/SF_EC_OData_API_REF.pdf
API 1-https://<主机>/odata/v2/EmpTimeAccountBalance?$ filter = userId eq'3334343'和timeAccountType + in +'EL_Ind','SL_Ind','CL_Ind'&$ format = json >
上述API会为您提供截至今天为止的可用叶子总数。
API 2:https://<主机>/odata/v2/EmployeeTime?$ filter =(userId eq'3334343')和(approvalStatus eq'APPROVED')和(timeType eq'CL_Ind')和(startDate gt datetime'2019-10-19T00:00:00')&$ format = json
上述API会通过传递用户ID和状态"已批准"以及"时间类型和日期"大于"今天"的日期来向我们提供员工的已批准叶子的列表。
获取特定假期类型的总可用假期余额:
请假总余额= API 1(余额)-API 2(扣除额之和)
谢谢
Priti
一周热门 更多>