2011 Jun 03 8:18 AM
Hi all,
may be anyone has made authority chek for several installation facts?
Bussines case is - installation is close for edit, but some users must change several facts. As solution i am using "EBIA0027-ISU: Erweiterung Prüfungen Fakten" and checking authority check for authority object E_OPERAND.
After implementation i am changing installation fact values, but cann't to save values in the database, because installation is close to change.
Any other tools or methods?
Best regards,
Evstratov Igor
2011 Jun 03 11:48 AM
Hi Igor,
You create a custom role to restict the user & write a custom code to validate the authority check in the user -exit for Installation before saving the data in database.
This should reolve your problem
2011 Jun 03 12:37 PM
Hi,
Following are the user exits where you can put your custom logic to restrict the user to maintain the facts.
When you click on the FACT button:
EXIT_SAPLES30_011
EXIT_SAPLES30_004
EXIT_SAPLES30_005
EXIT_SAPLES30_001
EXIT_SAPLES30_007
After maintaining fact when you click on BACK button:
EXIT_SAPLES30_009
EXIT_SAPLES30_002
EXIT_SAPLES30_003
When you Save the Installation:
EXIT_SAPLES30_004
EXIT_SAPLES30_005
EXIT_SAPLES30_001
EXIT_SAPLES30_007
EXIT_SAPLES30_008
EXIT_SAPLES30_010
You can check all of these and put your custom code in that place where you want to restrict the user. Specially you check EXIT_SAPLES30_001 and EXIT_SAPLES30_007 which might be useful for you. Another way to restrict the user other than checking E_OPERAND from performing the fact maintenance is you can create a custom role for that activity and attach that role with those users who are eligible to do that. By using FM CKEXUTIL_USER_TO_ROLE you can find all the roles assigned to the user and put your custom code to check the role whether it is assigned with that user in one of the exits. Based on that you can raise an error message.
Hope it helps.
Thanks.
Nirmalya
2011 Jun 04 6:00 AM
Hi ,
There is Enhancement available as ZFBIB01A for Maintaining Installation Facts.
To do that Execute CMOD---> Enter ZFBIB01A -
> Click on DIsplay
Within Component Tab you will get to know following:
Project ZFBIB01A Authorization Table for Maintaining Installation Fact
Enhancement Impl Exp EBIA0027 IS-U: Enhancement Authority Check of Facts
Function exit EXIT_SAPLE20B_002
Within thios Fucntion Exit you will get INCLUDE ZXE20BU02 .
Write your custom code over there.
I think this will suffice your Purpose.Happy to help you if you require more clarification
Thanks & Regards,
Radharaman haldar
2011 Jun 06 8:25 AM
Hi,
TO Radharaman haldar
of course, i had read documentation for this user-exit (EBIA0027). We made separate role for object E_OPERAND. And my code is analyzing operand-name and check autorization for change or display instalation facts...
BUT end-user has no permission to change installation, and system cann't commit new fact-values into database.
Igor
2011 Jun 07 2:41 PM
Hi,
You might follow one the two approaches:
1. Allow the user to access the installation in change mode but put proper code in place so that the the user is able to make changes to only the required field.
2. Submit a batch job with different user name which has the permissions & would make the changes in background mode.
2011 Jun 08 1:15 PM
Hi, all,
i resolved my task with follow way.
1. Chek autorization object E_OPERAND in user-exit "EBIA0027"
2. If autorization is OK, then user can to change operand values
3. After that i made ENHANCEMENT to the form "instln_facts_save" in the programm "LE20BF01".
4. In this form i am calling FM "ISU_INST_FACTS_UPDATE" and transfer into FM two tables. First table content operands and values from DB tables, and second table content new values for operands.
Igor