‎2013 Jun 18 4:13 PM
Hi,
I have a requirement in which i need to restrict persons from removing delivery block if exist for a customer
in XD02 transaction (only for 02 AR credit block).
I have created a new authorization object for this to check the users but i am not able to find any exit through
which i can change the field attribute KNA1-LIFSD (Credit block) if the authorization fails (Make it disable)
I have found Exits and Badi which are called while saving customers but for field modification i am not able to find
any Exit or Badi or Bapi which will disabled the field Delivery block if the person did not have authorization for this.
I tried loop at screen in many Exits and Badi but nothing is working.
Can someone please help.
‎2013 Jun 19 6:36 AM
Hi Kamlesh,
1. Create a transaction variant (ZTVXD02) for XD02 t-code (While doing recording the make the delivery block non-editable).
2. Create a custom T-code (Say ZXD02) and assign the above variant to t-code.
Restrict the XD02 access for the set of user by creating the custom authorization object and give the accesss for the above Z tcode (ZXD02).
Thanks & Regards,
Venugopal M N
‎2013 Jun 19 6:36 AM
Hi Kamlesh,
1. Create a transaction variant (ZTVXD02) for XD02 t-code (While doing recording the make the delivery block non-editable).
2. Create a custom T-code (Say ZXD02) and assign the above variant to t-code.
Restrict the XD02 access for the set of user by creating the custom authorization object and give the accesss for the above Z tcode (ZXD02).
Thanks & Regards,
Venugopal M N
‎2013 Jun 19 2:25 PM
Hi Venugopal, Thanks for the reply i am aware of Transaction variant but i want to restrict the users only when the block value is 02 (AR credit hold) and i don not think that we can enable or disable fields through transaction variant based on some conditions....
‎2013 Jul 02 9:56 AM
Hi Kamlesh,
With the help of Transaction Variants, you can disable, hide precisely the fields which you dont want the users to use.Just create a new Transaction variant say ZXD02 with the Block value as 02 which will be a frozen field.Then you can assign the T-code to the user or user group.
Regards,
Siddharth
‎2013 Jul 02 10:47 PM
The only option that comes to mind - find a user exit / BADI when saving the customer and there check if the field value was changed to remove this specific block (hopefully there are some variables that keep track of that) and then do authorization check and an error message if it fails.
If I'm understanding correctly that the users are allowed to change other blocks except for just this one, then disabling the field won't work actually, as well as transaction variants.
Although I have to say this is a very strange requirement, maybe it's not even a good design. I'd check with an SD person on what's the idea behind this. This looks suspiciously like a bad implementation of credit management...
‎2013 Jul 19 9:28 AM
I would just disable input for this field by enhancement in form x055_berechtigung_pruefen.