SAP for Utilities Discussions
Connect with fellow SAP users to share best practices, troubleshoot challenges, and collaborate on building a sustainable energy future. Join the discussion.
cancel
Showing results for 
Search instead for 
Did you mean: 

Installation facts authority check

0 Kudos
782

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

6 REPLIES 6

vikrant_guptarya
Participant
0 Kudos
445

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

Former Member
0 Kudos
445

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

Former Member
0 Kudos
445

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

0 Kudos
445

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

0 Kudos
445

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.

0 Kudos
445

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