Precautions for User Exits
Can anyone tell me what are the precautions to be taken for user exits?
i mean...what are the ABAP statements that are not used in user exits...
can anybody plz suggest me?
Hi,
Welcome to SDN.
COMMIT WORK should not be used in a user exit. This reason is that it could/will commit all work done by the entire transaction and could possibily create data inconsistancy.
Also LEAVE TO TRANSACTION and SUBMIT statements should also be not used. It will terminate the current LUW.
Regards,
Ferry Lianto
Please reward points if helpful.
Similar Messages
-
Value for user-exit variable is invalid
Hi Gurus,
My Value for a Fiscal Year Prd returns a invalid value for the 12th month of each year( for Example 12/2004, returns the error "Value 200313 for User-exit variable is invalid.
This is the code that is being used.
*Rolling 12 months for entered month
when 'ZCALM12'.
clear: v_mth, v_yr.
REFRESH E_T_RANGE.
CLEAR L_S_RANGE.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZCALMON'.
exit.
endloop.
v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
concatenate v_yr v_mth into L_S_RANGE-LOW.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
APPEND L_S_RANGE TO E_T_RANGE.
Thanks in Advance.Hi Ravi,
when 'ZCALM12'.
clear: v_mth, v_yr.
REFRESH E_T_RANGE.
CLEAR L_S_RANGE.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZCALMON'.
exit.
endloop.
<b>-->> Here, you are not checking any thing.</b> <i>On which logic you are reducing year by one and increasing month by 1..?</i>
v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
-->><i>IF month is 200512 you will get output from above code is :</i> please check.
v_yr = 2005 - 1 = 2004
v_mth = 12 +1 = 13.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
concatenate v_yr v_mth into L_S_RANGE-LOW.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
APPEND L_S_RANGE TO E_T_RANGE.
Try to debug the code by keeping break point after When. and execute the report, you will be debugging mode.
Hope it Helps
Srini -
Need help for user exit mereq001
Hi,
I need help for user exit mereq001. I think I messed up with include table CI_EBANDB and CI_EBANMEM. And When I tried to check the syntax . It gives me error like : <b>Class IF_PURCHASE_REQUISITION. Inconsistency in the dictionary for the structure mereq_item_s_cust_data.</b> Anyone had experience for this exit? I just need to extract costcenter information of the each item from the requisition and block the requisiton if the costcenter are differents from each other before the requisition is saved. Any one has idea about it?
Thanks.biao,
Have you checked this struture consistency from SE11. Also check the activation log.
If there are any errors and you are not able to rectify the same use RSDDCHECK program, give your table name and run the report.
This will list down the error structures releated this table and also prompts for you to activate it.
Regds
Manohar -
hello
can you please let me the know the enhancement for user exit:exit_sapliqs0_001
regards
anikHi,
these are teh enhancements that r available...u need to check each of them.
IWO10026 User check on setting status 'Do not perform'
IWO10027 User exit: Generate user-defined settlement rule
IWOC0001 Create PM/SM notification: Determine reference object
IWOC0002 PM/SM notification: Check whether status change is allo
IWOC0003 PM/SM authorization check of ref. object and planner gr
IWOC0004 Change single-level list editing PM/QM/SM ALV settings
Regards,
nagaraj -
Hi is there any code for user exits in bw
can you help me out with user exits in bw reporting pls
http://abapcode.blogspot.comHi Amit,
i have good document for user exits in bw. pls send me ur email i will send the document.
hope that will help you to resolve.
<b>Reward pts if found usefull:)</b>
Regards
Sathish -
hey guys i want the code for user-exits for inclusion of Excise Chapter ID mandatory in PO .....
regards,
Naveenwhich user exit u are using ?
check the BADI for the same .
SE15->Enhancements->BADI--->definations -
>search on Package = ME.
and see BADI definition called Process _cust.
Regards
Peram -
Hi all,
the requirement is...
In MIRO,the Incoimg invoice should not be posted without an empty field of amount(WRBTR) in the Basic Data.Currently as per std,it's not a mandatory field and can be posted by not entering any amount in that.So, either we have to make it as a mandatory field or should restrict not to saving the data if posting of empty field.(Not giving any amount)***seems,it tells the user to give the amount as mandatory.
How to do this.....if its coming under the USER Exit object...pls post both how to get the std program and enhancement assignment(it asks while creating user exit in CMOD) also for user exit.
thanks & regards
sankar.hi
Program name is SAPLMR1M
For MIRO tcode, you have below user exits.
LMR1M001 User exits in Logistics Invoice Verification
LMR1M002 Account grouping for GR/IR account maintenance
LMR1M003 Number assignment in Logistics Invoice Verification
LMR1M004 Logistics Invoice Verification: item text for follow-on docs
LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
LMR1M006 Logistics Invoice Verification: Process XML Invoice
MRMH0001 Logistics Invoice Verification: ERS procedure
MRMH0002 Logistics Invoice Verification: EDI inbound
MRMH0003 Logistics Invoice Verification: Revaluation/RAP
MRMN0001 Message output and creation: Logistics Invoice Verification
EXIT_SAPLMR1M_003 may useful to you. Check with this.
Reward if it dose
Thanks
Siva Kumar. -
hai all MM gurus,
How to find out the user exits for any Tcodes or for any documents?.for this there is a user written program called "zuserexit" which will be available. Run the program & give Tcode as input u ll get all exits for that.
http://www.sap-img.com/ab038.htm
Finding the user-exits of a SAP transaction code
Finding the user-exits of a SAP transaction code
Enter the transaction code in which you are looking for the user-exit
and it will list you the list of user-exits in the transaction code.
Also a drill down is possible which will help you to branch to SMOD.
Written by : SAP Basis, ABAP Programming and Other IMG Stuff
http://www.sap-img.com
report zuserexit no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
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 eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
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 hotspot on,
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.
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.
*---End of Program -
Request for User Exit or BADIs for outgoing posting block in F-53
Dear Gurus,
Can somebody advice me which user exit or BADIs to use for the below scenario:
My users is using more than one alternative payee for their invoices, therefore when they use F-53 to clear open item, they always accidentally do multiple payment for document no. with different alternative payee. Worst case is that the posting go through! But when they print out the form, its too late and they had to do reversal.
I like to enforce a block so that if the alternative payee is different across the document no. selected, they cannot post.
Desperately,
Belinda
Edited by: Belinda Lee on Jun 3, 2008 5:34 PMHello,
You can use Business Transaction Event (BTE) . You should use 00001120 events.
You must do some customizing in FIBF.
Regards,
Burak -
EXIT_SAPMM06E_016 for User exit how to prepare functional specification.
Hello Gentlemen,
Ex: - issue for the PO no: 4500006789
Made advance payment against PO 100%, later vendor has given discount on freight charges, so once advance payment is made then system should not allow to amending the PO.
Now client requirements are as follows likeu2026.
Condition no1: If there is an existing down payment against the PO then system should allow to amending the PO, but system should throw the warning message as there is already down payment against the PO.
Condition no2: If there is an existing down payment against the PO system should allow to amending the PO, but system should not allow to changing more than the total value of the PO.
So User exit which I have mentioned in above subject line it should be in a position to fullfill the condition no1 and condition no2.
So pleas let me know the functional specification and functional specification logic for above said in subject User exit.
Early action inthis matter will be highly appreciated.as far as i know, when you make an advance payment you can link it to a po only thru a reference text field.
uncleared vendor items will be table BSIK
you may have to filter it out by transaction type A and spl gl indicator A, both refering to down payment.
this way you can find out what is the advance payment still with the vendor. -
Problem in transporting the text elements for user exit EXIT_SAPLV09A_002
Hi All,
I am facing a problem in transporting the text element (text symbol) for the exit EXIT_SAPLV09A_002. It is implemented and transported but the text elements are not transported and even if I try to delete them and then create them again, on activation it doesn't prompts for TO and it version its shows it as local object. I have tried to manually assign the TO by using limu as id of program and rept as type and SAPLXV09 as the name of the object but still it doesn't allows as an error message comes prompting local object cannot be assigned to TO. Kindly suggest solution this problem.
Regards,
Sachin
Edited by: Sachin Dangayach on Nov 15, 2010 4:21 PMHello ,
In the Quality after you run the report check in the layout option>display text elements> variables and check what value is displayed for the use exit variable , if it is correct then problem may be in the selection you gave when you run the report if the user exit variable value is wrong , then set a break point in the code and run the report from rsrt and check where the error is.
hope it is clear
assign points if useful -
Hello SAP Guru,
We are having the challenging in performing posting to multiple G/L accounts per shipment. This is required, for example, if customer, interplant, and/or inbound orders are combined onto one shipment.
We found this BADI that allows system to work the way we want; however, BADI is not support in 4.5B.
This BADI is linked to enhancement LMR1M002 and function module MR_ACCOUNT_ASSIGMENT. Please refer to note 64204.
Please advise, I am looking something similar that work in SAP 4.5B.
Regards,
SongHi,
Please try this:
Enhancement LMR1M002 Account grouping for GR/IR account maintenance
Enhancement MRMH0001 Logistics Invoice Verification: ERS procedure
Enhancement LMR1M001 User exits in Logistics Invoice Verification
Enhancement LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
Enhancement LMR1M004 Logistics Invoice Verification: item text for follow-on docs
I hope this may helpfull and let me know wht exactly the business needs so I can give you some more exits.
Thank you,
Thanks,
AMS -
Funtion Module for user exits variables in BEx Queries.
Hi,
This is for BW Query customer exit variable (zvar2) for include ZXRSRU01 and exit :EXIT_SAPLRRS0_001.
Can anyone please suggest the function modules that can be used to do the following.
1)Read value of zvar1 from selection screen whatever
user enters at run time.
2)How to define the zvar2 in the include. zvar2 is the
variable created in BEx to be populated from this
customer exit.
3)How to use case statment where once the value for zvar1
is determined then,
Case zvar1.
when zvar1 = 0 , then zvar2 = 10
when zvar1 = 1 , then zvar2 = 20
3) Assign zvar2 value as computed in the case statement.
Can anyone please help with the code to achieve this.
Any information regarding function modules that can help write user exits for variable reading and input will be greatly helpful.
Thanks
Sarah.Hi Sarah,
You don't need any FM for your issue.
Please try thie sample code :
DATA: VAR_INPIUT LIKE RRRANGEEXIT.
CASE I_VNAM.
WHEN 'ZVAR2'.
CLEAR L_S_RANGE.
IF I_STEP = 2."PROCESSED AFTER VARIABLE INPUT
*Reading value of ZVAR1
LOOP AT I_T_VAR_RANGE INTO VAR_INPIUT
WHERE VNAM = 'ZVAR1'.
CASE VAR_INPIUT-LOW.
*FILLING ZVAR2
WHEN 0.
L_S_RANGE-LOW = 10.
WHEN 1.
L_S_RANGE-LOW = 20.
ENDCASE.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.
ENDCASE.
Hope this helps
Joe -
Modify Std. code to get value for User Exit.
I am executing release strategry at user exit EXIT_SAPLEBND_002 ( Exit Name M06E0004 ), for the field ( USRN1)
This has got user program ZXM06U22 in it. In this exit I get values from I_CEKKO , IT_BEKPO, IT_BEKET, IT_EKKNU
and I have to pass the PO value from these structures to E_CEKKO-USRN1 ( This field has set in SPRO setting ) .
I get the PO value as per standard calculation in the field IT_BEKPO-EFFWR , I also get a value in I_CEKKO-GNETW. However not one of both these values satisfy any one of my conditions. My document condition is defined in SPRO as ZVPA and values against it is calculated considering Taxes On PO. The fields EFFWR or GNETW does not include taxes. And my release startegy should get executed after considering the amount with taxes.
After debugging a lot I have found that the PO_AMOUNT can be obtained from the Internal Table TKOMV. In this it is stored at TKOMV-KAWRT. I can get the TKOMV values at the point where this user-exit is called.
i.e. in program MM06EF0S_STRATEGIE_CEKKO in the last you can see the call to user exit wriiten as below
CALL FUNCTION 'EXIT_SAPLEBND_002'
EXPORTING
i_cekko = cekko
it_bekpo = pot[]
it_beket = ett[]
it_ekknu = knt[]
IMPORTING
e_cekko = cekko.
If I put the debugger on CALL FUNCTION 'EXIT_SAPLEBND_002 and go to TABLES tab and enter there 'TKOMV'
I can get the table and it's values. However If I press F5 then I go inside my exit code i.e. ZXM06U22. But Here I Don't Get access to the internal table TKOMV , which is accessible from main calling program MM06EF0S_STRATEGIE_CEKKO.
My job can be done if I get value from TKOMV inside the code of ZXM06U22. However to get that code in ZXM06U22 what right now I can do is to get the access key of MM06EF0S_STRATEGIE_CEKKO and write code before exit Call and pass the ZVPA from TKOMV there. However many people here advised me not to do that since it is a STANDARD CODE.
So I would like to know your suggestion in this regard.
AmolHi All
Thanks for your quick replies. I wrote code below in my exit. But I am getting Compilation error at following line ( In Bold )
DATA: l_name(50).
DATA: my_tkomv TYPE TABLE OF komv.
<b>FIELD-SYMBOLS: <tkomv> type standard table of komv.</b>l_name = '(SAPMMM06E)TKOMV[]'.
ASSIGN (l_name) TO <tkomv>.
my_tkomv[] = <tkomv>.
The error is below
"," expected after "TABLE".
I don't know whether TYPE TABLE OF is correct or not.
I will be glad If I get some further help.
Amol -
Funtion Module for user exits for variables used in BEx Queries.
Hi,
This is for BW Query customer exit variable (zvar2) for include ZXRSRU01 and exit :EXIT_SAPLRRS0_001.
Can anyone please suggest the function modules that can be used to do the following.
1)Read value of zvar1 from selection screen whatever
user enters at run time.
2)How to define the zvar2 in the include. zvar2 is the
variable created in BEx to be populated from this
customer exit.
3)How to use case statment where once the value for zvar1
is determined then,
Case zvar1.
when zvar1 = 0 , then zvar2 = 10
when zvar1 = 1 , then zvar2 = 20
3) Assign zvar2 value as computed in the case statement.
Can anyone please help with the code to achieve this.
Any information regarding function modules that can help write user exits for variable reading and input will be greatly helpful.
Thanks
Sarah.Hi Sarah,
You don't need any FM for your issue.
Please try thie sample code :
DATA: VAR_INPIUT LIKE RRRANGEEXIT.
CASE I_VNAM.
WHEN 'ZVAR2'.
CLEAR L_S_RANGE.
IF I_STEP = 2."PROCESSED AFTER VARIABLE INPUT
*Reading value of ZVAR1
LOOP AT I_T_VAR_RANGE INTO VAR_INPIUT
WHERE VNAM = 'ZVAR1'.
CASE VAR_INPIUT-LOW.
*FILLING ZVAR2
WHEN 0.
L_S_RANGE-LOW = 10.
WHEN 1.
L_S_RANGE-LOW = 20.
ENDCASE.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'EQ'.
APPEND L_S_RANGE TO E_T_RANGE.
EXIT.
ENDLOOP.
ENDIF.
ENDCASE.
Hope this helps
Joe
Maybe you are looking for
-
Can I create one single crystal report using 2 bex queries
HI all, I have 2 bex queries and has to develope a single crystal report .Is it possible???? If so, than how to connect two bex queries and develope one single crystal report.Any other option is also fine. I mean ....no need to use crystal..( I can
-
HP Photosmart 7520 e-All-in-One Printer - WHEN i AM TRYING TO MAKE A COPY COPY OF AN A4 DOCUMENT WITH A4 PAPER INSTALLED. iT KEEPS PUTTING THROUGH A BLANK SHEET AND SAYING INCORRECT PAPER SIZE. HELP!! I HAVE CHECKED FOR UPDATED SOFTWARE ETC, CLEAN
-
ipod wont pop up in itunes. asks to trust computer ***?
-
Crash during import of ts files
hi ! my environment: win8 pro, 8gb ram, premiere cs6 my problem: i have an hard-disc videorecorder which records hd-movies in the usal sequenze of approx 1GB mpeg-ts files: AVC videostream, AC3 audio stream bitrate approx 10000 Kbps, 1920x1080, 25fps
-
TV 3.0 - Photos no longer rotate
I started my Apple tv this morning and before the menu came up it downloaded and installed the 3.0 software. I don't have a real problem with that but I just wanted to watch a slideshow of photos stored on the Apple tv. Things seemed to work fine exc