Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Authorization to check delivery deletion

Former Member
0 Kudos

Hi

Is there a way of controlling outbound delivery deletion? If user is given authorization for VL02N (Delivery change), it is allowing the user to delete the delivery as well. How to prevent this?

Did not find any activity in the object for Deletion control.

Thanks

Sriram

8 REPLIES 8

Former Member
0 Kudos

Hi Sriram,

You can make the delete button inactive from SHD0.

1. in SHD0 provide the txn VL02N.

2. Click on create button

3. a pop-up will come. (Object can only be created in SAP development class) click ok.

4.Then Just come back (F3)

5. A screen will appear. Select "Menu functions" button on the top right corner of the screen

6. It will ask for the program name and Status with Ok and "Functions" button

7. Provide "SAPMV50A" for program and for Status press f4(possible entries) .. there you can select "E0"

8. In the same pop-up click on "Functions" button

9. In the following screen expand "Function Setting"

10. You will find "LOES_T---Delete"

11. select that and press F2.

12. Now you have deactivated the "delete" button.

13. save

now when ever the txn VL02N is called the "Delete" button will be greyed out.

Similarly you can do for the subsequent screen where the user provides the outbound delivery number and looks for the "Change overview" ...

Regards,

Srihari

0 Kudos

Thanks Srihari

But how do I go about assigning this transaction variant to specific users? I do not want deletion menu disappaear for all users but only for specific users.

Sriram

0 Kudos

Hi Sriram,

You need to provide this variant to all except those you want to have the "Delete" option.

You can do this by assigning the parameter LE_0001_USER_VARIANT in SU01 for all the users excluding for those whom you wish to give the "Delete" option.

Go to SU01, put the user name->modify->parameters tab-> provide the parameter LE_0001_USER_VARIANT-> the value for this parameter will the Transaction variant you have created->save and exit.

First test this for sample number and if this is successful, you can do a mass updation by SECATT.

FYI -

The other related parameters are:

Parameter----
Text

LEDSP_VLSP_VARIANT Variant for the "Subsequent Delivery Split" Dialog

LE_0001_USER_VARIANT User-Specific Variants for Delivery Scenario 0001

LE_0002_USER_VARIANT User-Specific Variants for Delivery Scenario 0002

LE_0003_USER_VARIANT User-Specific Variants for Delivery Scenario 0003

LE_0101_USER_VARIANT User-Specific Variants for Delivery Scenario 0101

LE_0102_USER_VARIANT User-Specific Variants for Delivery Scenario 0102

LE_0103_USER_VARIANT User-Specific Variants for Delivery Scenario 0103

LE_0201_USER_VARIANT User-Specific Variants for Delivery Scenario 0201

LE_0202_USER_VARIANT User-Specific Variants for Delivery Scenario 0202

LE_0203_USER_VARIANT User-Specific Variants for Delivery Scenario 0203

LE_VL10_USER_VARIANT Default Selection Parameters for Delivery Creation

SD_VARIANT_MAINTAIN Authorization for variant maintenance

I'm sure that this will work for you.

Regards,

Srihari

0 Kudos

hi Srihari

Sorry about this, but I tried attaching the transaction variant I created for VL02N to all the parameter ids you gave me. It still does not work. If I activate my transaction variant in SHD0, it is active for all users. So I left it as inactive and then assigned the transaction variant to all the parameter ids you gave. It did not work.

Where am I going wrong?

Regards

Sriram

0 Kudos

Hi Sriram,

First of all I presume that you have deactivated the "Delete" Option. If not done correctly, please do it.

1. Have you deactivated only the "Delete" button on the initial screen of VL02N or did you deactivate it in the subsequent screen also?

2. No need to assign all the parameters to user with the newly created variant.

3. All you need to do is:

a. Deactivate the delete button from all the screens of the program SAPMV50A and save it as a variant.

b. In the user master (for those you wish not to give the delete option) provide the parameter LE_0001_USER_VARIANT with the value equal to the new variant you have created.

c. make sure that for the users there is no 06 activity for any object of VL02N through other roles

d. now create a new role with authorizations allowing the users to perform the delete activity and provide it only to those whom you want to provide the authorization to delete.

Regards,

Srihari

Former Member
0 Kudos

I also had same issue and after spending some time I manage to found solution. This is explained in OSS note 580226. First we need to add activity '06' in authorisation object V_LIKP_VST and then add following code in delivery user exit MV50AFZ1.

FORM USEREXIT_DELETE_DOCUMENT.

*>>>> START OF INSERTION <<<<

authority-check object 'V_LIKP_VST'

id 'VSTEL' field likp-vstel

id 'ACTVT' field '06'.

if sy-subrc ne 0.

message a001(ZZ). "Use own error message here

endif.

*>>>> END OF INSERTION <<<<<<

ENDFORM.

In this way we can restrict user to have 'Delete' delivery authorisation or not.

Regards,

Sanjay

0 Kudos

Hi Sanjay,

I'm having the same requirement. I'm using ECC 6.0.I think that note is already applicable there.

As u have mentioned, First I need to add activity '06' in authorisation object V_LIKP_VST. How can we add that there? B'se when I go to that authorization object it didn't show me "06" as a available option.

Could you please let me know how to add that to there?

And regarding, "message a001(ZZ). "Use own error message here">

How and where I should define that my own error message? I mean the transaction code?

Really appreciate your help on this!

Best regards,

Anupa

0 Kudos

Anupa,

it is surprising you ask this. Anyway, you can change the permitted activities for a object in SU21