Wednesday, 25 August 2021

HCM Actions - Assignment Change / Termination / New Hire

Base table for HCM Actions for various type of transactions like Assignment Change / Termination / New Hire is PER_ACTIONS_B

Wednesday, 4 August 2021

FlowActionsService SOAP Error

Trying to submit the FlowActionsService SubmitFlow API and java.lang.IllegalArgumentException popped up and there was no clue what was going wrong. Finally fingured with that the following tag is also needed.
typ:recurringFlag false /typ:recurringFlag

Tuesday, 3 August 2021

Query Get HCM Payroll Name

Query to get payroll name of the payroll assigned with person number -

select p.person_number, py.payroll_name
from PAY_ASSIGNED_PAYROLLS_DN ap
, pay_PAYROLL_TERMS pt
, PAY_PAY_RELATIONSHIPS_DN pr
, PAY_ALL_PAYROLLS_F py
, PER_ALL_PEOPLE_F p
where ap.payroll_term_id = pt.payroll_term_id
and pt.payroll_relationship_id = pr.payroll_relationship_id
and ap.payroll_id = py.payroll_id
and pr.person_id = p.person_id
and p.person_number = :person_num

Thursday, 25 February 2021

HCM Extract / Fast Formulas scribblings

HCM Extracts -

Add Parent Data Group
- Select the main UE

To add a Child data group -> Right click on the Parent group area and 'Add Child Data Group'
- Define the Child Data group (UE, Filters etc)
- Connect the Data groups

To add a Record -> Righ Click and 'Add Record'
- Define the details, Save and Add Attributes

To add a fast formula column add the columnd as Rule

DEFAULT FOR PER_ASG_REL_DATE_START IS '4712/12/31 00:00:00' (date)

l_rel_date_start = PER_ASG_REL_DATE_START

l_effective_date = GET_PARAMETER_VALUE_DATE('EFFECTIVE_DATE')

--RULE_VALUE is default return for Extract Rule FF Type
return RULE_VALUE

Cloud HCM Use Valueset in Fast Formula

You can use valueset(Ex-ORG_LEVEL1) to use the query table functionality in Fast Formulas. Below is sample how you pass parameters(P_ORG_ID) and invoke valuesets to FFs. The Fast Formula will be of type Extract Rule.

Sample FF Code :
DEFAULT FOR PER_ASG_DEPARTMENT_ID IS 0

l_organization_id=to_char(PER_ASG_DEPARTMENT_ID)
l_level1_org=GET_VALUE_SET('ORG_LEVEL1','|=P_ORG_ID='''||l_organization_id||'''')

RULE_VALUE=l_level1_org

return RULE_VALUE


In you Valueset where clause the parameter is used as below :
and level1.organization_id=:{PARAMETER.P_ORG_ID}
Make sure the ID and Value columns are populated in Valuset otherwise empty values are returned

HCM GET ORG AT PARTICULAR DEPTH

Query to get a org at a particular depth -

SELECT haou.name, haou.organization_id
, ANCESTOR_PK1_VALUE, DISTANCE
,haou1.name LEVEL1_ORG
FROM per_org_tree_node_rf prf, hr_all_organization_units haou
, hr_all_organization_units haou1
WHERE 1=1
AND pk1_value = haou.organization_id
AND ANCESTOR_PK1_VALUE = haou1.organization_id
AND DISTANCE = (CASE WHEN haou.name LIKE '%IDEN1%' THEN 1
WHEN haou.name LIKE '%IDEN2%' THEN 2
WHEN haou.name LIKE '%IDEN3%' THEN 3
ELSE 1 END
)

Instead of the hard coded distance calculation you could use the current node depth and get the node at a given level above.

Friday, 19 February 2021

Integrations Lead - Lessons learnt

 Integrations have been my passion for a while but like anything tech there is no credit given when things go right but always heaps of pres...