Help needed in BAdi and user-exits
Hi ,
Can any one send me the procedure how to find out user-exits and about BAdi's.
Thanks in advance
Uday
hi Uday,
Welcome to <b>SDN</b>
here is the sample program to find the user exits
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
To find the function exit
REPORT ZV_FIND_EXIT 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.
or
1. in se11, goto table MODSAP
View table contents
2. in Type field, enter 'E' (for function exit)
3. For that tcode, u should know the program name.
eg. SAPLLMOB
4. then type SAPLLMOB and execute
or
REPORT z34331_user_exit .
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
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
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-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 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.
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.
if u find it useful plz markt the points
Regards,
Naveen
Similar Messages
-
Need a badi or user exit which can trigger tr:AR31
need a badi or user exit which can trigger tr:AR31 ,based on ANLA-AKTIV,ANLB-AFABG.AND COULD ANY ONE explain indetail
There is no BADi for AR31 but you can use Exit:
AINT0002 Substitution of offsetting accounts in out- and inflow ...
AINT0003 Defining percentage/amount of repayment by invest. support -
BADI and User exit for MIGO item and header enhancement
We want to add three extra fields in MIGO screen for specific movement type 101 . Two fields at item level and one filed at header level .
Item level fields are independent fields it will store in separate z-table and z-field and dont't have any relation with other table .
but header field has some relation with quantity field in item level . All the item quantity has to add up in header , Is it possible to add up .
What are the BADI and user exit need to use for this enhacement and etc required detailsHi Raghavendra,
Use BAdI MB_MIGO_BADI.
It has all the methods that cater your requirement.
Try to have a design such that you can store the values within the document by enhancing the tables using Append Structures, they surely have a link with the document.
regards,
Aabhas K Vishnoi -
Difference Between BADI and User Exits
Hi..
generally BADIs & User Exis are used exensively in SAP SD...
Can anybody throw some light waht is difference between them ...
Kindly please reply......
Regards
NishaHi
ifference Between BADI and User Exits
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
As with customer exits two different views are available:
In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
What is difference between badi and user-exists?
What is difference between enhancements and user-exists? and what is the full form of BADI?
I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the > correct name) where the error logs are stored, MSEGCALL is a table or structure.
What is the system landscape?
1) Difference between BADI and USER-EXIT.
i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
ii) BADI's are oops based.
2) About 'BDCMSGCOLL' it is a structure. Used for finding error records.
3) Full form of BADI 'Business addins'.
3) System land scape will be depends on your project
Ex:- 'Development server'>'Quality server'-> 'Production server'...... -
Diff between BADI and USER EXITs
Hi,
What is the difference between the BADI and USER EXITs?
Thanks,
SatishHI
GOOD
Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.
As with customer exits two different views are available:
In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.
In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
In contrast to customer exits, Business Add-Ins no longer assume a two-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.
SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.
The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time. In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example).
All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard. A single Business Add-In contains all of the interfaces necessary to implement a specific task.
The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects.
What is difference between badi and user-exists?
What is difference between enhancements and user-exists? and what is the full form of BADI?
I have another doubt in BDC IN BDC WE HAVE MSEGCALL (i did not remember the > correct name) where the error logs are stored, MSEGCALL is a table or structure.
What is the system landscape?
1) Difference between BADI and USER-EXIT.
i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
ii) BADI's are oops based.
2) About 'BDCMSGCOLL' it is a structure. Used for finding error records.
3) Full form of BADI 'Business addins'.
3) System land scape will be depends on your project
Ex:- 'Development server'>'Quality server'-> 'Production server'......
THANKS
MRUTYUN -
BADI and User Exit...
Hi Guys,
From my understanding and trying out tutorials on BADI, what is the difference between BADI and User Exit?
What is the best way on how to use User Exit? There are so many user exit provided by SAP.
Thanks and appreciated.
William Wilstroth.Hi
check this link,hopefully you will get your problem solved.
Re: User Exit / BADI
As far as <b>What is the best way on how to use User Exit? There are so many user exit provided by SAP.</b> is concerned. You have to choose an user exit according to your requirement. e.g MM06E005 is used to only for the purpose <b>Customer fields in purchasing document</b>
Hope this helps
regards
Amit
Message was edited by: Amit Kumar -
Differences between BADIS and User-exits
Hi everybody,
I am new to ABAP and wonder what are the differences between BADIS and User-Exits. I read paper but did not find a SAP documentation yet.
Does anybody know where to find a sap document which explains both technologies?
Greetings, ADHi,
User-Exit is a specific place in a transaction-process where SAP offers
third parties to include there own business functionality. Actually
User-Exit is the namespace used for Exits programmed by SAP specifically
for SD. For the other modules it's called Customer-Exit.=20
>Business Add-Ins (BADI) =20
The use of object orientated code within SAP has lead to new method of
enhancing standard SAP code called Business Add-Ins or BADI's for short.
Although the implementation concept is based on classes, methods and
inheritance you do not really have to understand this fully to implement
a BADI.
For better understanding visit.
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/779183#
Hope it was useful.
Thansk,
Sandeep. -
Need a badi or user exit to update numbers at level of Goods Receipt level
Hi I need to update serial number based on combination of plant, company code and fiscal year while generating a Goods Receipt by using MIGO transaction code.
Step1) once run the MIGO transaction, here enter values of Purchase Order, Quantity, and delivery note and check the item ok check box for goods receipt.
Step2) Then check for any warnings and errors by clicking the check button/tabular
Step3) Finally post the goods receipt for the purchase order by clicking Post button/tabular.
Result:
Then system will provides the Material of Document number for the goods receipt of purchase order. That number like 5000000342.
Here client wants to put his number like V500000001.for one combination of plant, company code and fiscal year.
Example
Z TABLE AS LIKE BELOW COMBINATION
Plant company code first no end no current no FISCAL YR
7800/7801 2000 V500000001 V599999999
7802/7803 3000 F500000001 F599999999
7804 4000 D500000001 D599999999
Whenever end user generates a GR then System should display one of above number instead of systems generate value.
I have used to fix the issue badi> mb_badi_migo document_badi_update and user exit-> mb_cf001, mbcf0002 but not found the solution.
Please provide me needful information.
Thanks,
RajHi
<b>Here is the sample code...</b>
method if_ex_mb_migo_badi~post_document .
data: ls_migo_badi_example type migo_badi_exampl,
lt_migo_badi_example type table of migo_badi_exampl,
ls_extdata type migo_badi_example_screen_field,
ls_xmseg type mseg.
field-symbols: <gt_extdata> type migo_badi_example_screen_field.
* Transaction MIGO will now post a material document.
* Any errors here MUST be issued as A-message (better: X-message)
* Copy data from material document into internal table
loop at gt_extdata into ls_extdata.
if g_cancel is initial.
read table it_mseg into ls_xmseg
with key line_id = ls_extdata-line_id.
else.
read table it_mseg into ls_xmseg
with key smbln = ls_extdata-mblnr
smblp = ls_extdata-zeile
sjahr = ls_extdata-mjahr.
endif.
if sy-subrc is initial.
move-corresponding ls_extdata to ls_migo_badi_example.
move-corresponding ls_xmseg to ls_migo_badi_example.
append ls_migo_badi_example to lt_migo_badi_example.
endif.
endloop.
* The data from external detail screen can be saved now:
check gt_extdata is not initial.
call function 'MIGO_BADI_EXAMPLE_UPATE_DATA' in update task
tables
it_migo_badi_example = lt_migo_badi_example.
* The data from external header screen can be saved now:
move-corresponding is_mkpf to gs_exdata_header.
call function 'MIGO_BADI_EXAMPLE_UPDATE_HEAD' in update task
exporting
is_migo_badi_header_fields = gs_exdata_header.
endmethod. "IF_EX_MB_MIGO_BADI~POST_DOCUMENT
Hope this will help.
Please reward suitable points.
Regards
- Atul -
Hello,
Can anybody tell me what is the difference between user exit and BADI?
how we can use this two enhancement in real time project?
what is the difference between customer exit and user exit?
Thank you.Hi ,
exact difference b/w user exits and customer exits
Customer exit and User Exit
customer exit
What is Customer Exist?
This query is one of the most frequently asked one..so please search in the forum itself for answers..reward if helpful
Regards
Byju -
Hi Gurus,
I need your assistance for the below requirement.
In AS01 ( Create Asset ), while creating ASSET the Equipment should be created. This syncronization is already done in the customization.
1.The requirement is the Equipment Field in the ALLOCATION Tab should automatically get the Asset Number Value once we click the ALLOCATION Tab.
2.And also the Equipment should be created only if the Evaluation Group 2 is 'Y'.
i checked all the Exits and BADI's available. But my requirement is not met. please help me in this.Hi,
Transaction Code - AS01 Create Asset Master Record
Exit Name
AAPM0001 Integration of asset accounting and site maintenance
AFAR0003 External changeover method
AFAR0004 Determination of proportional values for retirement
AINT0004 Change amount posted for certain areas
AINT0005 Dummy for extended syntax check. Do not use.
AISA0001 Assign Inventory Number
AIST0001 Exchange number range in master data maintenance
AIST0002 Customer fields in asset master
AMSP0002 Determine relationship type for two company codes
TRAN0001 User exit for asset transfer
Reward points if useful....
Regards
AK -
Badi and user exit active at the same time ?
Hi All,
Please let me know whether
1> I can have a BADI and a user exit both active at the same time for the same enhancement?
2> I can have a BADI and a user exit both active at the same time but they are for different purpose.
eg: BADI -- > to change statistical date of po item line on ME21N screen
User Exit -- > to change the exchange rate on PO header on me21n screen
Please response to the second point... as this is what I am working on.
Regards,
ShitalHello,
Thanks for your response.This is my code.
WSA_header = IM_HEADER->GET_DATA( ).
wsa_header-wkurs = '0.6668'.
CALL METHOD im_header->set_data
EXPORTING
im_data = wsa_header.
Kind Regards,
Shital -
Standard Function Modules, BAPIs, BADIs and User Exits in OM
How do I check what are the Standard Function Modules / BAPIs in OM or any HR sub modules like PA, Comp, TEM etc..
use Tcode <b>BAPI</b> and navigate to relevant module.
for FM go to se37 and search with HR* or RH* -
FB03 BAdI/BTE/user-exit
Hi,
I need to customize FB03 transaction, so that right after the document selection or via custom button at document display, I'm able to perform needed action. Preferably, it would be the custom button way, at the document display there would be a button in the application bar at the level as document/original display is.
I've been looking for propriate BTE, BAdI and user-exit, but haven't found anything suitable, that would perform at the document header level. I know how to add a button to the item level, but that's not what I need. If anyone knows about any possible customization (except changing the original), help would be appreciated.
Thanks in advance.
Best regards,
Tomasbte or exit for f-03 and F-04
What is the actual requirement ? business point of view .
It may be possible that for a validation you can use the standard functionality of GGB0.
Cheers ,
Dewang -
Hi Experts,
I would like to ask for your help regarding MIRO BADI or User Exit. I found several user exits and BADIs but I am not sure what to use with my requirement.
My requirement is to compare the Reference with the selected items' Del. note/Sheet No. I also need to check for amounts that where changed in the items.
Thanks!
Regards,
MikeHi,
have a look at this OSS Note:
Note 1156325 - BAdIs in the Logistics Invoice Verification environment
https://service.sap.com/sap/support/notes/1156325
i´ve used method CHANGE_AT_SAVE of this badi and it worked.
The badi is triggered whenever you try to hold/park/save as complete/ post/ delete ..etc, that is you need to do any of the former actions.
If you just change the content of a field do not expect the badi to be triggered.
You could just Simulate in order to trigger the badi
Best regards.
Edited by: Pablo Casamayor on Jul 22, 2011 12:44 PM -
BADI OR USER EXIT AT THE TIME OF SAVING THE TCODE MIGO TO UPDAT FIELD LSMNG
Hello Guru,
I am using BAPI BAPI_GOODSMVT_CREATE for GRN creation it is working fine. But i want to update DELIVERY NOTE QUANTITY (LSMNG) at the time of GRN Creation . This field is not provided in the BAPI .
What i had done i had applied BADI MB_MIGO_BADI to update this field but this badi does not call at the time of saving ( THIS BADI ONLY CALL WHEN WE ARE USING MIGO TCODE AND ON THE SCREEN WE ARE PRESSING ENTER) . so i am not able to update the field (LSMNG).
So i need a badi of user exit which can updates this field at the time of saving.
there are exit which are updating other fields at the time of saving but not this one .
Why i need the badi or userexit which will update the field at the time of saving because when we are using bapi only those badi or user exit are called which are
used at the time of Saving.
Kindly suggest any solution.
Thankyou
With Regards
Shantanu ModiHi
<b>Here is the sample code...</b>
method if_ex_mb_migo_badi~post_document .
data: ls_migo_badi_example type migo_badi_exampl,
lt_migo_badi_example type table of migo_badi_exampl,
ls_extdata type migo_badi_example_screen_field,
ls_xmseg type mseg.
field-symbols: <gt_extdata> type migo_badi_example_screen_field.
* Transaction MIGO will now post a material document.
* Any errors here MUST be issued as A-message (better: X-message)
* Copy data from material document into internal table
loop at gt_extdata into ls_extdata.
if g_cancel is initial.
read table it_mseg into ls_xmseg
with key line_id = ls_extdata-line_id.
else.
read table it_mseg into ls_xmseg
with key smbln = ls_extdata-mblnr
smblp = ls_extdata-zeile
sjahr = ls_extdata-mjahr.
endif.
if sy-subrc is initial.
move-corresponding ls_extdata to ls_migo_badi_example.
move-corresponding ls_xmseg to ls_migo_badi_example.
append ls_migo_badi_example to lt_migo_badi_example.
endif.
endloop.
* The data from external detail screen can be saved now:
check gt_extdata is not initial.
call function 'MIGO_BADI_EXAMPLE_UPATE_DATA' in update task
tables
it_migo_badi_example = lt_migo_badi_example.
* The data from external header screen can be saved now:
move-corresponding is_mkpf to gs_exdata_header.
call function 'MIGO_BADI_EXAMPLE_UPDATE_HEAD' in update task
exporting
is_migo_badi_header_fields = gs_exdata_header.
endmethod. "IF_EX_MB_MIGO_BADI~POST_DOCUMENT
Hope this will help.
Please reward suitable points.
Regards
- Atul
Maybe you are looking for
-
Discount calculation on partial payments
Hi Experts, Is it possible to calculate discounts on partial payments? Scnario: We have defined a payments terms Z045. It the customer pays the invoice amount immediatly he will get a discount of 3% on invoice and he will pay with in 15 days he will
-
I asked a question to a WebLogic salesrepresentative, how to avoid stale data when the db is shared, without doing ejbLoad() for each transaction. He told me that if two WebLogic Servers, in a cluster setup, access the same databa
-
Error when implementing JPA domain model in separate JAR module
Hi, I'm using JPA/TopLink Essentials to implement my domain model and services. From an architectural viewpoint I want to implement this as seperate Java project, while my View/Controller is implemented in another Java project. This last project has
-
Applications Crash When Changing Folders in Save Dialog on AFP share
I am having a problem with one specific computer in an office which is exhibiting a strange behavior. When trying to save a document on a mounted network share (on an Xserve, running 10.4.8) attempting to use the pop-menu of the folder hierarchy to c
-
Please could anyone advise I have downloaded the new version of iPhoto. Message: prepare using the iPhoto library upgrader. Following successful installation of the upgrader Message: There is a problem accessing one or more files in your iPhoto libra