Hi Sriknath,
As Akashya was correctly mentioned! better to use the USEREXIT_SAVE_DOCUMENT_PREPARE.
because the reason for reject is item level! You can validate your code
* it will trigger when the sales order is changed
loop at xvbap where updkz eq 'U'.
if xvbap-abgru is not initial.
check xbvak-ernam = ' user name'.
message error.
endif.
endloop.
dont hard code the user names inside the user-exit. Better to maintain the table to restrict to set the reason for rejection.