02-10-2006 10:45 AM
Hi Experts
<b>Very Urgent</b>
In standard SAP, user who has the transactional authorizations to results recording function and usage decision function can update the respective database tables. However, my requirement point of view, same user must not perform the functions of both results recording and usage decision.
Hence, upon saving of the usage decision transaction, the program MUST verify if the user is indeed part of results recording table of same inspection lot / material / batch and prevent the user from saving the usage decision.
For this what i have to do.
Could you please brief explain about this.
I would be thankful for your earliest reply.
Regards
Prabhakar
02-10-2006 11:41 AM
Hi prabhakara,
1. First of all find out the
USER-EXIT(s)
for the transaction/process of Usage Decision.
2. If it exists,
then based upon it,
sy-uname can be checked
w.r.t. to the table of Results Recording,
and accordingly message can be issued.
3. So the main point is,
to find out the user-exit for that process/tcode.
regards,
amit m.
02-10-2006 11:45 AM
Hi again,
1. QEVA0006
This is the enhancment name (SMOD)
2. Inside this
EXIT_SAPMQEVA_006
FM is there.
3. Its for this purpose only.
See the documentation of this FM.
regards,
amit m.
02-13-2006 10:27 AM
Hi Amit.m,
<b>Very Urgent</b>
Thanks for your help on finding the right Enhancement for
Authorization. and the following is the logic and i don't know how to resolve it.........
Please help me on this.......
It must prevent performing the UD if the user trying to perform the UD is same as the user on RR tables.
Once QA11 is executed and SAVE button is clicked, check the user ID On QAMR table:
1. Check for validity of the user (SAP user ID) performing the Usage decision
Input parameter:
QAVE-PRUEFLOS
QAVE-MANDANT
GOTO table QAMR Where,
QAMR- PRUEFLOS = QAVE-PRUEFLOS
And QAMR- MANDANT = QAVE-MANDANT
Get a list of QAMR-VORGLFNR (node numbers)
For every QAMR-VORGLFNR, Get QAMR-MERKNR and
Get QAMR-SATZSTATUS & QAMR-MBEWERTG & QAMR-GRUPPE1 & QAMR-CODE1 (this data will be used in another FM)
check
If QAMR-AENDBELEG = X (RR change docs exist)
Goto table CDHDR where
CDHDR-OBJECTCLAS = QAMR & CDHDR-OBJECTID = CONCATENATE (QAMR-PRUEFLOS, QAMR-VORGLFNR, QAMR-MERKNR)
Get All CDHDR-CHANGENR (Get all change numbers)
(For every change number, that is associated with field name FNAME get the values of fields VALUE NEW & VALUE OLD)
Goto table CDPOS and LOOP for every CDHDR-CHANGENR where
CDPOS-OBJECTCLAS = QAMR & CDPOS-OBJECTID = Concatenate (QAMR-PRUEFLOS, QAMR-VORGLFNR, QAMR-MERKNR) & CDPOS-CHANGENR = CDHDR-CHANGENR & CDPOS-VNAME = AENDERER
Get CDPOS-VALUE NEW & CDPOS-VALUE OLD
COMPARE SAP user ID (from QA11) with CDPOS-VALUE NEW & CDPOS-VALUE OLD
IF MATCH FOUND, Display a message User name exist in RR section of inspection lot & QAVE-PRUEFLOS
EXIT from TRANSACTION.
If QAMR-AENDBELEG = (RR change docs does NOT exist) Then
If QAVE-VNAME = QAMR-ERSTELLER (the only user who created the record)
Display message User name exist in RR section of inspection lot & QAVE-PRUEFLOS
EXIT from TRANSACTION.
(SAP user ID from usage decision transaction does not match with any names on the RR table)
ELSE Then, User name DOES NOT EXIST in RR tables and user is VALID to perform UD!
CALL the next FM to verify if the test data is passed to accept proper UD.