Product Information
[General Journal Entry Workflow] How to set up approver based on submitter? How to enable Responsibility Extensibility?
Nowadays, there are more and more customers benefit from the S/4 HANA flexible workflow. Specially for the general journal entries workflow, user could set up dynamic workflow. For example, set up multi-level workflow based on amount.
If you also want to take advantage, you just need to do 2-step settings, so that system will learn,‘
- When to trigger workflow – Using Fiori App ‘Manage Workflows for General Journal Entry Verification’
- Who to approve – Using Fiori app ‘Manage Teams and Responsibilities (General Journal Entry Verification)’
In SAP help portal, there is complete explanation about ‘Enabling and Extending Workflows’.
It is strongly recommended that you go through all the example settings mentioned above, better to play around in some test system. Practice makes perfect!
In this blog, I would like to show you how to enhance the ‘Who to approve’ part by illustration one typical use case – set up workflow approve based on submitter
What it looks like?
Step1: Logon with GL_ACCOUNTANT role and open Fiori APP ‘Manage Teams and Responsibilities (General Journal Entries Verification)’
Step2: Create a new team with Type FI General Journal Entry Verification Default Team (FGLVG) for General Journal Entry workflow
Step3: Then you could see the custom responsibility definition is also show in the section. Now you could set a value for the submit by and define a processor for this person.
How to? ( Configuration)
(The screenshot is for CE1911 version)
Step1: Select ‘Manage Your solution’ app, in order to navigate to the Configuration screen
Within this app, Click the task ‘Configure your solution’ which will give you the possibility to maintain certain processes.
Step2: Select configuration item ‘Responsibility definition’. The application Area is Application Platform and Infrastructure and the sub application area is Responsibility Management
Step4: Choose configuration step ‘Define Customer Responsibility Definition’ (SSCUI ID 102159) . Click New entries, add field and click save and exit
4.1 Within this SSCUI, first click the ‘New entries’ button to create a new entry
4.2 Then input the resp. def. name as you need. for example, Z_SUBMITBY
4.3 Select CDS view ‘I_BusinessUserBasic ’, CDS field ‘USERID’.
4.4 Input the resp. def. ext. name as you need. for example, Z_SUBMITBY
4.5 Save and Exit
Step5: Back to worklist and Choose configuration item ‘Responsibility definition’. Select configure step ‘Assign Custom Responsibility Definition to CDS View’ (SSCUI ID 102163)
assign
5.1 Within this SSCUI, first click the ‘New entries’ button to create a new entry
5.2 Then input the newly created Customer Responsibility Definition, the one you created in step4
5.3 Select the CDS VIEW name ‘C_GLJRNLENTRYTOBEVERIFIED’ and input the CDS field name ‘PARKEDBYUSER‘. (for General Journal Entry Workflow )
5.4 Save and Exit.
Step6: Select configuration item ‘Teams’. The application Area is Application Platform and Infrastructure and the sub application area is Responsibility Management. Select configure step ‘Assign Custom Responsibility Definitions to Standard Team Category’ (SSCUI ID 102160)
6.1 Within this SSCUI, first click the ‘New entries’ button to create a new entry
6.2 Select standard team category ‘FGJEV (G/L Journal Entry Verification)’
6.3 Then input the newly created Customer Responsibility Definition, the one you created in step4.
6.4 Save and Exit
Example – User Case
Different processors are needed in the following cases:
Manager X’s approval is needed when general journal entry is submitted by Employee A or B
Manager Y’s approval is needed when general journal entry is submitted by Employee C
Submit General Journal Entries by | Approve by |
Employee A or B | Manager X |
Employee C | Manager Y |
Settings in Managing Teams and Responsibilities
You need to create two team entries in the app for Manager X and Manager Y, and configure the settings as below:
Team Entry 1 | Team Entry 2 | |
Responsibility Definitions | User Name = Employee A, B | User Name = Employee C |
Team Members | Business partner = Manager X | Business partner = Manager Y |
Function = Group 1 for Verifying G/L Journal Entries | Function = Group 1 for Verifying G/L Journal Entries |
So far, you are able to have different approvals based on submitter. (known issue: the description is always blank )
If you would like to extend more other dimensions to extend the ‘Who to approve’ part, you could just change corresponding fields in Configuration step 5 and 6. After that, you will could realize a more suitable approval.
Hope this blog could somehow save your time.
Liling Jia : Great blog, I know few customers who have been looking for this functionality, thanks for sharing.
Ryan Muller Riwa Mouawad : Please have a look, may be of interest to you guys!
Liling Jia Great blog - thank you so much for sharing. Many customers will find this very helpful.
Sandeep Kumar - indeed very interesting - thank you for pointing this out.
Sandeep Kumar Thanks for the heads up I'll definitely dive into it more as this was a key stumbling point for us in getting to sox controls.
Thanks for sharing.
Thank you so much for the blog! You have no idea how useful.
Liling J Thank you so much for the blog to explain about the custom responsibility definitions in Responsibility Management and how it extends the standard workflow agent determination without any modification to existing code.
@All: You can know more about Responsibility Management via https://help.sap.com/viewer/8308e6d301d54584a33cd04a9861bc52/1909.000/en-US/a4a31dc3e2824cb1afc7be8eafc07f5c.html for On-Premise offerings and https://help.sap.com/viewer/a630d57fc5004c6383e7a81efee7a8bb/2002.500/en-US/a4a31dc3e2824cb1afc7be8eafc07f5c.html for Cloud offerings.
Although SAP User (e.g. CBXXXXXXXXXX) or Business User or Business Partner or Material Number are technically allowed as custom responsibility definitions, you should consider custom responsibility definitions which are based on characteristics (e.g. Salary Group with values like Average Salary Group, High Salary Group or Material Type with values like Perishable goods and Non-perishable goods) which are non-personal and which have same value in Quality and Production. The advantage of that approach is that even if Person A is replaced by Person B in an organization/department or Material 123 is replaced by Material 456, the team definition doesn't need to change. Using in-app extensibility and custom logic, such characteristics can be maintained and even populated automatically from other data like salary of a person.
Thanks for sharing. Useful and detailed.
Thank you for this content Liling Jia.
Very detailed and accurate.
Well done 😀
Thanks for sharing this Liling, really appreciate it~
thanks for sharing...should be useful info
Hello Liling,
Thank you for this step by step process.
I have followed the process and created the additional field. I have then created 2 Teams in Manage Teams and responsibilities and have created 2 workflows in Manage Workflows for General Journal Verification Entries.
The issue I am having is that when people submitted journals, all the journals are going to the approver of the workflow that is number 1 in the order of workflows. It is ignoring the Submitted by rule created.
Please Help
Hi Lorrelle,
In this case, you might want to adjust the order for the workflows, or you could add precondition in the workflow.
hope this could help.
best regards,
liling
Hi Liling,
I have tried adjusting the order of the workflows, however it just looks at the first workflow rule and ignores the others.
Liling Jia Are you able to advise on the workflow order setup?
Tamlyn Pillay then would you please check the precondition of the first workflow rule and the others? if it is unlimited, then it will fall into that workflow.
On the pre-condition its setup the same on both at company code level and there is only one company code.
Please refer to the attached file.
Tamlyn Pillay thanks for the screen shot. then you could need to check what is the company code you are using. if you are using this mentioned company code, by design it will fall into this workflow. unless you make additional restriction to make it not match.
Thanks Liling!
Thanks for this blog!
Thank you for this blog.
Hi ,
Version 2005 .
After implementing above solution , we were trying to assign users in responsibility definition (Z_SUBMITBY)in teams and responsibility app . But user list is empty . I double checked in system as there quite number of users who has GL_Accountant role . Did any one faced similar issue ?
Appreciate your help .
Hi Anand,
thank you so trying this solution.
1. 'users' here are those 'submitter'. which means, only those users who have submitted a journal entry would be listed in the value list. thus, at the begining, the value list is empty.
2. don't worry. at same time system allow you to input the users who has gl_accountant role.
hope this expains.
best regards,
liling
HI Anand,
We also faced a similar issue - so the list will not show any names when trying to search for a user, unless they have submitted a journal via the verify app. You can also enter their "CB - user ID" in the custom field added and that should work.
Hope this is useful.
Thanks.
Hi Anand,
1. Usually, the search help of the new created custom responsibility definitions will take long time to get result for the first time. Please wait few minutes.
2. Also you can directly input the correct user ID( CBXXXXXXXX) without using search help. It also works.
Best regards,
Take
Hi Anand,
SSCUI 102159 Define Customer Responsibility Definition’ (Blog Step 4)
In this SSCUI , you need to define a new responsibility definition name which should start with Z. Also, you need to maintain a CDS view and one field that belongs to this CDS view. This CDS view that maintained here will be used as search help of the newly created responsibility definitions.
Actually it is not a good solution that uses CDS view C_GLJRNLENTRYTOBEVERIFIED here. It will cause the issue that pointed out by Tamlyn Pillay -->User can be selected only after he/she submitted JE by verify app.
Please try to use view I_BusinessUser and field USERID.
Best regards,
Take
Hi Anand, Submitted By is a custom field that needs extra configuration. For information about how to, please look at the topic on help portal: https://help.sap.com/viewer/0fa84c9d9c634132b7c4abb9ffdd8f06/latest/en-US/9cd674525d2b4a07ba5c577522f0b551.html
Liling, hi, on the last step when I try to add the custom responsibility definition to the standard team ccategory I get the following error:
Custom resp. def. mapping for the FGJEV team category is not supported
Message no. RSM_TEAM039
Thanks
Daniel
Hi Daniel Almada ,
I just tested the steps in CE2102 system and it works well from my side.
kindly follow the same steps to check again. This message should not appear.
thanks,
liling
I don't see how repeating the steps would make the error message go away. It's still there.Thanks Liling.
Hello Jia,
Do you know the steps to configure the agent determination for 'Teams & Responsibility' Application for customized flexible workflow created without taking reference of any other standard workflow in S/4 HANA 1909 On premise version?
Hi Krishna Upadhyay ,
As you know, the S4HANA OP version enables more flexibility. Here is what i know.
Geneally speaking, you could check this document for 'Definition of an Agent Determination Rule' and the relevant document for SAP Business workflow.
https://help.sap.com/viewer/a602ff71a47c441bb3000504ec938fea/201909.004/en-US/4eebac630d3e57e0e10000000a421bc1.html
As for agent determination, there are a few scenario based BAdIs. for example, purchase order workflow scenario.
https://blogs.sap.com/2020/05/19/s-4-purchase-order-flexible-workflow-agent-determination-by-badi/
https://help.sap.com/viewer/af9ef57f504840d2b81be8667206d485/1909.002/en-US/fb148364c6ee49758df5b76737ce4020.html?q=agent%20determination
hope this helps.
best regards,
liling
Thank you for the response Jia. I might not have been clear in my earlier question. Let me elaborate it further.
For example, Consider sales order flexible workflow WS02000006. When you configure this workflow using 'Manage sales order workflow' application, you get an option to add multiple steps to the workflow and to define the recipients based on roles or users. When you select the roles option, you get certain set of roles such as workflow initiator, manage of workflow initiator etc. If we want to have additional roles in the recipient section of the workflow step, we can configure the functions in 'Teams & Responsibility' Application and then can utilize those functions as roles in recipient section of workflow steps in 'Manage sales order workflow' application.
Now, when I define the custom flexible workflow in the system, I can always define the recipients based on traditional agent determination approaches such as defining a custom agent determination rule, security roles, HR job positions etc. However, if I want to define the recipients based on functions(approval-level 1 in below screenshot ) in 'Teams & Responsibilities' application, then how can I add them in 'Manage Workflow' application for customized flexible workflow.
Hi Liling Jia ,
Thank you for the wonderful share. I tried the same for sales order workflow, I was not able to get the standard CDS view hence created the custom one. But I am getting the following error:
Can you please help with this?
Best Regards,
Sanket