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
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.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |