cancel
Showing results for 
Search instead for 
Did you mean: 

Authorization for changing Contract from Active to Inactive

Former Member
0 Kudos

Hello Everyone,

We would like to restrict authorizations in the SAP RE-FX for the deactivation of the Real Estate Contracts (transaction RECN).


Currently what happens is the Finance User Activates the RE Contract for Posting. Then, if any changes were made to the Contract by the Leasing User to change any field, the Contract automatically becomes in-Active.

The requirement is to restrict the Leasing User from making any changes on the Contract after it has been Activated for Posting.

If they require any changes, they have to ask the Finance User to deactivate the Contract for them to make the changes.

Note: We use User Statuses for Active and In-Active:

Active --> Manually changed by the Finance User

In-Active --> Automatically changed upon any Contract Change

Thanks a lot,

May

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi May Naguib,

Good day.

I have done one of the similar development .

Requirement :


There is a Two Levels for the Contract Creation & Approval Process i.e.

Contract Creation will be Done by Level-1 Users

Contract Approval will be done by Level-2 Users

Procedure :

1. Maintained roles authorization for the UserID's (One role for Create,Change,Display / Second role for Activate & Deactivate )

2. Implemented BADI_RECA_AUTH_CHECK BADI for validating the role.

Sample code

This is authorization check is to restrict the User for Creation/Change/Display

AUTHORITY-CHECK OBJECT 'F_RECN'

            ID 'ACTVT' FIELD '01'

            ID 'ACTVT' FIELD '02'

            ID 'ACTVT' FIELD '03'.


This is the authorization check maintain to restrict the user only for ACTIVATE/DEACTIVATE


AUTHORITY-CHECK OBJECT 'F_RECN'

              ID 'ACTVT' FIELD '07'.


Please let me know for any queries..


Thanks,

Seshadri.

Former Member
0 Kudos

Hello May,

you can try:

RECACUST ->Tools -> Enhancements -> Implement Enhancements (BAdI): Authorization Checks

Details in note 1005831 - BAdI for customer-specific authorization check for RE obj

Regards,

Dan

Former Member
0 Kudos

Hi,

By Implementing BADI - BADI_RECN_CONTRACT you can achieve your requirement.

Write below example code in substitution method:

      DATA: recn_contract         TYPE        recn_contract,

            contract           TYPE REF TO cl_recn_contract,

            lv_recndactiv TYPE DAKTV.

      contract ?= io_object.

      MOVE contract->if_recn_contract~ms_detail TO recn_contract.

    

      if sy-tcode = 'RECN' and id_activity = '02'.

             clear:lv_recndactiv.

             select single recndactiv from vicncn into lv_recndactiv

                                                                        where bukrs = recn_contract-bukrs and

                                                                                    intreno = recn_contract-intreno.

            if lv_recndactiv is not initial and recn_contract-recndactiv is not initial.

              MESSAGE 'Contract is activated, changes not possible' TYPE 'E'.

            endif.

      endif.