‎2006 Jun 15 11:26 AM
Hi,
My requirement is that the user who has parked the document should not be able to post the parked document through tcode FBV0.
Is there any user exit where in I can validate the current system user and the user who has parked the document?
I have tried the user-exit SAPLF040,but this does not suffice my requirement.
Also is it possible to define our own exits in tcode OB28?
Regards,
Rajeev
‎2006 Jun 15 11:29 AM
Info on user exits can be found here http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
Transaction Code - FBV0 Post Parked Document
-----------------------------------------------------------------------------------------------
|Exit Name |Description |
-----------------------------------------------------------------------------------------------
|F050S001 |FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment |
|F050S002 |FIDCC1: Change IDoc/do not send |
|F050S003 |FIDCC2: Change IDoc/do not send |
|F050S004 |FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send |
|F050S005 |FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document |
|F050S006 |FI Outgoing IDoc: Reset Clearing in FI Document |
|F050S007 |FIDCCH Outbound: Influence on IDoc for Document Change |
|F180A001 |Balance Sheet Adjustment |
|FARC0002 |Additional Checks for Archiving MM Vendor Master Data |
|RFAVIS01 |Customer Exit for Changing Payment Advice Segment Text |
|RFEPOS00 |Line item display: Checking of selection conditions |
|RFKORIEX |Automatic correspondence |
|SAPLF051 |Workflow for FI (pre-capture, release for payment) |
-----------------------------------------------------------------------------------------------
No of Exits: 13These are the user exits possible for FBV0
<b>we can find user exit for any transaction, copy and run the following code in SE38</b>
report z_find_userexit no standard page heading.
*&---------------------------------------------------------------------*
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits exists.
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Tables
*&---------------------------------------------------------------------*
tables : tstc, "SAP Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*&---------------------------------------------------------------------*
*& Variables
*&---------------------------------------------------------------------*
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
*&---------------------------------------------------------------------*
*& Selection Screen Parameters
*&---------------------------------------------------------------------*
selection-screen begin of block a01 with frame title text-001.
selection-screen skip.
parameters : p_tcode like tstc-tcode obligatory.
selection-screen skip.
selection-screen end of block a01.
*&---------------------------------------------------------------------*
*& Start of main program
*&---------------------------------------------------------------------*
start-of-selection.
* Validate Transaction Code
select single * from tstc
where tcode eq p_tcode.
* Find Repository Objects for transaction code
if sy-subrc eq 0.
select single * from tadir
where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir
where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir
where pname = tstc-pgmna.
select single * from enlfdir
where funcname = tfdir-funcname.
select single * from tadir
where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name = enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
* Find SAP Modifactions
select * from tadir
into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct
where sprsl eq sy-langu
and tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
* Take the user to SMOD for the Exit that was selected.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
‎2006 Jun 15 11:36 AM
You can copy and change the program RFPUEB00 into customer name space to do your job.
Like in screen 100 of fbv0.
PROCESS BEFORE OUTPUT.
MODULE TRANSAKTIONS_INIT.
MODULE CHECK_INSERT.
MODULE KEYS_VORSCHLAGEN.
MODULE STATUS.
*{ INSERT R3TK910311 1
module submit_report.
*} INSERT
PROCESS AFTER INPUT.
MODULE BEENDEN AT EXIT-COMMAND.
CHAIN.
FIELD RF05V-BUKRS.
FIELD RF05V-BELNR.
FIELD RF05V-GJAHR.
MODULE BUKRS_PRUEFEN.
MODULE BELEG_PRUEFEN.
ENDCHAIN.
MODULE OKCODE_BEARBEITUNG.
MODULE submit_report OUTPUT.
data: tcode like sy-tcode.
*import tcode(transaction code) from SAP shared buffer memory
IMPORT tcode FROM SHARED BUFFER indx(td) ID sy-uname.
IMPORT tcode FROM SHARED BUFFER indx(tc) ID sy-uname.
IF tcode = 'FBV0'.
SUBMIT zsh_rfpueb00.
ENDIF.
then you can validate the posting user with parked one.
Regards,
Wasim Ahmed
‎2006 Jun 15 11:40 AM
Hi Rajeev ,
yeah u can do the validations in OB28 , let me know ur SAP version , if it is <= 4.7 check the program GGBS000 , which is used for all validations.
Regards
Prabhu
‎2006 Jun 15 11:45 AM
Hello Rajeev,
Have u check the BADI FI_AUTHORITY_ITEM. Check the documentation.
‎2009 Feb 18 9:12 PM
We had an implemetation similar like this but in FV60 using Transaction Event .
We used process transaction event 00001140. Refer to OSS note 361420.