Resolve EDIT button is grayed out on Assignment screen
Resolve EDIT button is grayed out on Assignment screen

 559 total views

In this article we will look into the EDIT button grayed out on the Employment screen for an employee and how to resolve this issue.

Want to learn Fusion Technical tools? Checkout this article

If there are any transactions performed on the employee and the approval is in progress then we won’t be able to perform any more changes on the employee till the pending transaction has been approved/rejected by the approver.

However there are cases where there was no direct transaction performed on the employee and still the EDIT option is grayed out and not able to perform any transactions on the employee.

There are two types of the transactions which can block the Edit button
1. Direct transaction
2. indirect/inflight transaction

What is Direct Transaction and how to find it?

The transaction which was directly performed on the person and it is under pending status. (e.g. Promotion transaction is performed on person A and
while it is in pending status, none of the Employment transaction is allowed (except Termination and Resignation) until Promotion transaction is under pending status.)

Use the following  query to find Employment Direct Pending transactions ( Note: If below query gives exceed time limit error, then first run an inner
query to find the Person_Id and then replace inner query block with person Id)

Query to find Direct Transaction source

Replace <<PERSON_NUMBER>> with person number for whom edit button grey out.

SELECT  d.state, d.status,h.*
   FROM fusion.HRC_TXN_HEADER h,
     FUSION.HRC_TXN_DATA d
   WHERE h.Transaction_id = d.Transaction_id
and h.OBJECT in ('PER_ALL_ASSIGNMENTS_M','PER_PERIODS_OF_SERVICE')
   AND ( h.subject_id    IN
     ( SELECT DISTINCT PERSON_ID
     FROM fusion.PER_ALL_PEOPLE_F
     WHERE person_number IN ('<<PERSON_NUMBER>>')
     )
   OR h.object_id IN
     (SELECT DISTINCT assignment_id
     FROM fusion.per_all_assignments_m
     WHERE person_id IN
       (SELECT DISTINCT PERSON_ID
       FROM fusion.PER_ALL_PEOPLE_F
       WHERE PERSON_NUMBER IN ('<<PERSON_NUMBER>>')
       )
     )
   OR h.object_id IN
     (SELECT DISTINCT period_of_service_id
     FROM fusion.per_periods_of_service
     WHERE person_id IN
       (SELECT DISTINCT PERSON_ID
       FROM fusion.PER_ALL_PEOPLE_F
       WHERE PERSON_NUMBER IN ('<<PERSON_NUMBER>>')
       )
     ) ) order by h.creation_date desc

What is Indirect transaction and how to find it?

The transaction which was not directly performed on the person instead it was performed on his manager where this person being reassigned or added as Directs.

It will block the Person transaction even though the transaction was performed on his manager as once transaction gets approved, the application will create a split in person/Directs assignment and assignment supervisor table. ( if allowed to perform the transaction(i,e direct transaction ) on Person /Reportee who has an Indirect pending transaction then once indirect transaction get approved, it will make a direct transaction to be failed due to the data conflicts.

Use the following  query to find Employment Direct Pending transactions (Note: Parent Person Number is a person on whom transaction was performed, Module Identifier gives an idea of Process Name and Comment will give an idea about whether blocking person is reassigned or added as directs as part of a transaction)

Query to find Indirect Transactions source

Replace <<PERSON_NUMBER>> with the person number for whom transaction is blocked / edit button is grayed out

SELECT 
    HrcTxnHeaderPEO.MODULE_IDENTIFIER,
     HrcTxnHeaderPEO.creation_date,
     HrcTxnHeaderPEO.created_by,
     HrcTxnHeaderPEO.TRANSACTION_ID,
     HrcTxnHeaderPEO.OBJECT,
     HrcTxnHeaderPEO.OBJECT_ID,
     HrcTxnHeaderPEO.SUBJECT_ID,
     p.person_number as PARENT_Person_number,
     pn.display_name as PARENT_Person_name,
     HrcTxnHeaderPEO.TRANSACTION_ID AS TRANSACTION_ID1,
     HrcTxnDataPEO.TRANSACTION_DATA_ID,
     HrcTxnDataPEO.TRANSACTION_ID AS TRANSACTION_ID2,
     HrcTxnDataPEO.STATUS,
     HrcTxnDataPEO.STATE,
     EmplTxnChildPEO.COMMENTS
   FROM fusion.PER_EMPL_CHILD_TXN_DATA EmplTxnChildPEO,
     fusion.HRC_TXN_HEADER HrcTxnHeaderPEO,
     fusion.HRC_TXN_DATA HrcTxnDataPEO,
     fusion.PER_ALL_PEOPLE_F p,
     fusion.PER_PERSON_NAMES_F pn
   WHERE HrcTxnHeaderPEO.TRANSACTION_ID  =HrcTxnDataPEO.TRANSACTION_ID
   AND HrcTxnHeaderPEO.TRANSACTION_ID    =EmplTxnChildPEO.PARENT_TXN_ID
   AND HrcTxnHeaderPEO.OBJECT_ID         =EmplTxnChildPEO.PARENT_OBJ_ID
   AND p.PERSON_ID = HrcTxnHeaderPEO.SUBJECT_ID
   AND  sysdate between p.EFFECTIVE_START_DATE and p.EFFECTIVE_END_DATE
   AND p.PERSON_ID = pn.PERSON_ID
   AND  sysdate between pn.EFFECTIVE_START_DATE and pn.EFFECTIVE_END_DATE
   AND  pn.NAME_TYPE='GLOBAL'
   AND ( ( (EmplTxnChildPEO.CHILD_OBJ_ID IN
     (SELECT assignment_id
     FROM fusion.PER_ALL_ASSIGNMENTS_M
     WHERE person_id IN
       ( SELECT DISTINCT PERSON_ID
       FROM fusion.PER_ALL_PEOPLE_F
       WHERE PERSON_NUMBER IN ('<<PERSON_NUMBER>>')
       )
     ) )
   AND (UPPER(HrcTxnDataPEO.STATUS) = UPPER('PENDING') ) ) )

Tip: With these queries you can find out if there is any direct/indirect pending transaction due to which the EDIT button is grayed out. You can follow up with the approver who has the pending transaction and get it approved to resolve it.Hope this helps when you get into similar issue.

Join our fastest growing technology social groups to interact with experts in the Fusion space and get your queries resolved – Telegram group, Facebook Page and LinkedIn Group

The following two tabs change content below.
Sricharan is a Fusion HCM Solution Architect with over 13+ years of overall experience and 5+ years of Fusion experience. He is passionate about technical aspects of Fusion HCM and writes interesting articles on HCM Extracts, HCM Data Loader, Fast Formula, BI Publisher, Integrations and Automation etc.

Leave a Reply