BADIs for tables
Hi ,
I want to update values to standard tables from a Z-table.
Could anyone provide some BADI(s) that update SAP APO tables
/SAPAPO/SNP02
/SAPAPO/MATRQ
/SAPAPO/MATLOTSZ
Please help me out.
Hi,
BADI is not a solution for updating tables. They are mainly used for enhancement related issues and is at the programming level.
BAPI and functions modules can be used for updating the tables.
Check out the link provided below for BAPIs related to APO.
https://www.sdn.sap.com/irj/scn/wiki?path=/display/scm/apo-technical
Regards,
John Mani
Similar Messages
-
Program or exit/BAdi for table DVER (Material Consumption for MRP Area)
Hi,
I want to update table DVER (Material Consumption for MRP Area).
Please suggest if any program or exit/BAdi.Check these function modules:
CONSUMPTION_EXI_MAT_PLA_PE_DB
CONSUMPTION_READ_FOR_MM_DB
CONSUMPTION_REF_MAT_PLA_PE_DB
DVER_GENERIC_EXIS_MATNR
DVER_GENERIC_EXIS_MATNR_DB_PER
DVER_GENERIC_READ_MATNR_PLA_PE
DVER_GET_BILD
DVER_SET_DATA
DVER_SET_SUB
A badi/user exit is triggerred when a standard transaction is run.Let me know if you want to update the table when a std. transaction is executed and the transaction code. -
BAdI For Modifying Table /AIN/DM_OBJ_CTX
Hi all,
I'm in a situation right now where we will receive PML messages from a non-SAP system and the PML messages will be sent to AII. Normally, all additional attributes that come with an id in a PML message will be recorded in the table /AIN/DM_OBJ_CTX. Unfortunately, the non-SAP system will be able to send in all required additional attributes except one, unit of measurement (UoM). For this, we will need to tell AII to determine the UoM once it receives a PML message to be processed based on the product and GTIN (which will be received in the PML message) so that AII knows what UoM to be recorded in the table /AIN/DM_OBJ_CTX.
Question is: which BAdI should I modify to achieve this? I can't seem to find the right BAdI for this and does that mean this is not achievable via BAdI modification? It'd be great if any of you could shed some light on this.
Thanks and best regards,
Chin HunHi Chin Hun Yong,
You must have a rule which process this PML when it is received by SAP AII. If you used a standard rule for this then what you can do is create a copy of this standard rule into a custom rule. Then add a custom activity whose class method can add the custom logic to find the UOM and update the context of the PML message.
Regards,
Bharat Vaka. -
Hi,
I would like to enquire is there anyway that i can improve the performance for table BKPF from the ABAP code point of view.
Because we have customise one program to generate report for the asset master listing.
one of the select statement are show as below:
SELECT SINGLE * FROM BKPF WHERE BUKRS = ANEP-BUKRS
AND GJAHR = ANEP-GJAHR
AND AWKEY = AWKEYUS.
I would like to know how it different from the select statemene below:
SELECT SINGLE * FROM BKPF INTO CORRESPONDING FIELDS OF T_BKPF
WHERE
BUKRS = ANEP-BUKRS
AND GJAHR = ANEP-GJAHR
AND AWKEY = AWKEY.
Which of the select statements above can enhance report,because currently we have face quite bad issue on this report.
Can i post the ABAP code on this forum.
Hope someone can help me on this. thank you.Hi,
As much as possible use the primary keys of BKPF which is BUKRS, BELNR and GJAHR. Also, select only the records which are needed so to increase performance. Please look at the code below:
DATA: lv_age_of_rec TYPE p.
FIELD-SYMBOLS: <fs_final> LIKE LINE OF it_final.
LOOP AT it_final ASSIGNING <fs_final>.
get records from BKPF
SELECT SINGLE bukrs belnr gjahr budat bldat xblnr bktxt FROM bkpf
INTO (bkpf-bukrs, bkpf-belnr, bkpf-gjahr, <fs_final>-budat,
<fs_final>-bldat, <fs_final>-xblnr, <fs_final>-bktxt)
WHERE bukrs = <fs_final>-bukrs
AND belnr = <fs_final>-belnr
AND gjahr = <fs_final>-gjahr.
if <fs_final>-shkzg = 'H', multiply dmbtr(amount in local currency)
by negative 1
IF <fs_final>-shkzg = 'H'.
<fs_final>-dmbtr = <fs_final>-dmbtr * -1.
ENDIF.
combine company code(bukrs), accounting document number(belnr),
fiscal year(gjahr) and line item(buzei) to get long text.
CONCATENATE: <fs_final>-bukrs <fs_final>-belnr
<fs_final>-gjahr <fs_final>-buzei
INTO it_thead-tdname.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0001'
language = sy-langu
name = it_thead-tdname
object = 'DOC_ITEM'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
lines = it_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
if successful, split long text into start and end date
IF sy-subrc = 0.
READ TABLE it_lines TRANSPORTING tdline.
IF sy-subrc = 0.
SPLIT it_lines-tdline AT '-' INTO
<fs_final>-s_dat <fs_final>-e_dat.
ENDIF.
ENDIF.
get vendor name from LFA1
SELECT SINGLE name1 FROM lfa1
INTO <fs_final>-name1
WHERE lifnr = <fs_final>-lifnr.
lv_age_of_rec = p_budat - <fs_final>-budat.
condition for age of deposits
IF lv_age_of_rec <= 30.
<fs_final>-amount1 = <fs_final>-dmbtr.
ELSEIF lv_age_of_rec > 30 AND lv_age_of_rec <= 60.
<fs_final>-amount2 = <fs_final>-dmbtr.
ELSEIF lv_age_of_rec > 60 AND lv_age_of_rec <= 90.
<fs_final>-amount3 = <fs_final>-dmbtr.
ELSEIF lv_age_of_rec > 90 AND lv_age_of_rec <= 120.
<fs_final>-amount4 = <fs_final>-dmbtr.
ELSEIF lv_age_of_rec > 120 AND lv_age_of_rec <= 180.
<fs_final>-amount5 = <fs_final>-dmbtr.
ELSEIF lv_age_of_rec > 180.
<fs_final>-amount6 = <fs_final>-dmbtr.
ENDIF.
CLEAR: bkpf, it_lines-tdline, lv_age_of_rec.
ENDLOOP.
Hope this helps...
P.S. Please award points for useful answers. -
Regarding Error message in ME_PROCESS_PO_CUST badi for validation.
hi Friends,
I am Using ME_PROCESS_PO_CUST badi for validation in Purchase order (ME21N),
For that I implemented PROCESS_ITEM method which fires during each row now i add another validation in same implementation for plant should be same through out the all line item. Now following code is woking fine but when for second line item user changese plant then it shows error message as per logic which is fine but even after changing plant to correct one the error message is still coming why is it so?
following is my current validation code
method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.
DATA:ls_poitem TYPE mepoitem,
ls_poitem_set TYPE mepoitem.
DATA:ls_poheader TYPE MEPOHEADER.
DATA:lm_poheader TYPE ref to IF_PURCHASE_ORDER_MM.
DATA:w_mara TYPE mara.
DATA:IT_ZMMTBL039 TYPE STANDARD TABLE OF ZMMTBL039 ,
WA_ZMMTBL039 TYPE ZMMTBL039 .
DATA:ls_poitem1 TYPE mepoitem.
DATA:V_KUNNR1 TYPE KNA1-KUNNR.
DATA:V_KUNNR2 TYPE KNA1-KUNNR.
DATA:W_WERKS(4),
w_werks_tmp(4),
w_flag(1).
ls_poitem = im_item->get_data( ).
lm_poheader = im_item->GET_HEADER( ).
ls_poheader = lm_poheader->GET_DATA( ).
IF ls_poitem-werks IS NOT INITIAL.
w_werks = ls_poitem-werks.
import w_flag to w_flag from MEMORY ID 'FLAG'.
if w_flag is initial.
w_flag = 'X'.
EXPORT w_werks_tmp FROM w_werks TO MEMORY ID 'MEMO1'.
export w_flag from w_flag to MEMORY ID 'FLAG'.
clear: w_flag.
endif.
ENDIF.
IMPORT w_werks_tmp TO w_werks FROM MEMORY ID 'MEMO1'.
break swaroopb.
IF ls_poitem-werks NE w_werks.
MESSAGE E010(zparts) with 'Different plants are not allowed in single PO.'.
ENDIF.
CLEAR: WA_ZMMTBL039,w_mara.
REFRESH:IT_ZMMTBL039[] .
SELECT *
INTO TABLE IT_ZMMTBL039
FROM ZMMTBL039
WHERE bsart EQ ls_poheader-bsart.
IF sy-subrc EQ 0.
CLEAR: WA_ZMMTBL039,w_mara.
SELECT SINGLE *
INTO w_mara
FROM mara
WHERE matnr EQ ls_poitem-MATNR.
IF SY-SUBRC EQ 0.
READ TABLE IT_ZMMTBL039 INTO WA_ZMMTBL039 WITH KEY bsart = ls_poheader-bsart
mtart = w_mara-mtart
spart = w_mara-spart.
IF SY-SUBRC NE 0.
MESSAGE E009(zparts) WITH ls_poitem-MATNR w_mara-spart ls_poheader-bsart .
ENDIF.
ENDIF.
ENDIF.
end methodHello Swarup
Since you want to compare all items together (having the same plant) I would suggest to implement this logic either in method CHECK or POST of the interface.
However, if you want to make your checks within the PROCESS_ITEM method then you should change your logic.
It does not make sense to work with the ABAP memory within a BAdI implementing class because the class itself is your "memory".
I would use the following logic to implement your validation:
lo_poheader = im_item->get_header( ). " retrieve header instance
lt_items = lo_poheader->get_items( ). " retrieve all items
ls_detail_x = im_item->get_detail( ). " details of currently processed item
LOOP AT lt_items INTO ls_item.
ls_detail = ls_item-item->get_detail( ).
IF ( ls_detail-werks NE ls_detail_x-werks ). " validation failed
" do something...
ENDIF.
ENDLOOP.
However, I would prefer to do this kind of validation in CHECK or POST method.
Regards,
Uwe -
BAdi for Search Criteria in IC
Hi Experts,
I am working on the UI of the IC, i have to implement a BAdi for the search criteria in the Account Identification -> ERP Sales Document , I am trying this badi "CRM_BUPA_IL_SEARCH" but this is not getting triggered.
Can anyone suggest any name of the BAdi for the same ?
Thanks in advance,
regards,
sharad,Hi sharad,,
if you want to use your badi to search a object you have to use as a search bol object BuilHeaderSearchNew. If you are using BuilHeaderSearch(sap standard) it's not working.
You can define to use the BuilHeaderSearchNew in spro->CRM->INDUSTRY-SPECIFIC Solution->Utility Industries->Setting for User Interfaces->Identification->Define Identification Profiles. Choose your z-profile and in the row Search By BP select the value BuilHeaderSearch. Check if it saves your value, becouse we had a problem with this.
Or you can use table crmc_iu_md_prof to enter the value BuilHeaderSearchNew directly for your z-profile. -
Creating BADI for datasource enhancement in CRM.
Hi,
I am working on SAP BI/BW. This is the first time I am working in CRM system with CRM datasources. Facing some problem for datasource enhancement as never done it before in the CRM system. Is there anyone who can help in in creating BADI for datasource enhancement in CRM.
Thanks in advance
MoumitaHi Prasad Reddy,
This are the available badis and exits for this t.code:
Enhancement/ Business Add-in Description
Enhancement
MGA00001 Material Master (Industry): Checks and Enhancements
MGA00002 Material Master (Industry): Number Assignment
MGA00003 Material Master (Industry and Retail): Number Display
Business Add-in
MG_MASS_NEWSEG User-Specific Fields & Segments in Mass Maintenance
MATGRP_SKU_UPD
CDT_CHECK_MATERIAL Checks for Existence of a Material in a CDT
BADI_MM_MATNR
BADI_MAT_F_SPEC_SEL BAdI for Material Special Field Selection
BADI_MATNR_CHECK_PVS
BADI_MATERIAL_REF Addition of customer-defined default data for material
BADI_MATERIAL_OD
BADI_MATERIAL_CHECK Enhanced checks for material master table
BADI_GTIN_VARIANT
BADI_EAN_SYSTEMATIC
o.of Exits: 3
o.of BADis: 11
Find the Exact exits and badis for ur requirement.
How to fine the exact badi:
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
Now
4) Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any
transaction
Rgds,
P.Naganjana Reddy
if you follow this 7 steps, you will find a suitable BADI. -
User exit or BADI for Tcode ME51N
Hi All,
My requirement is i need to check available quantity at the time of Purchase req creation. If PR quantity is available in stock then it should not allow to create new PR.
Is there any user exit or Badi for this requirement. Kindly send me.
Regards,
ParasHai,
User Exit: MEREQ001
Function exit EXIT_SAPLMEREQ_001
EXIT_SAPLMEREQ_002
EXIT_SAPLMEREQ_003
EXIT_SAPLMEREQ_004
EXIT_SAPLMEREQ_005
EXIT_SAPLMEREQ_006
EXIT_SAPLMEREQ_007
EXIT_SAPLMEREQ_008
EXIT_SAPLMEREQ_009
EXIT_SAPLMEREQ_010
Screen exit SAPLMEGUI
Include tables CI_EBANDB
CI_EBANMEM -
Hi All
Can anyone tell me an user exit or badi for Tcode CN22 which gets triggered when i save a network.
whenever i make changes in the WBS assignment of the network in the activity level then the i need to copy dates to other networks whenever a change in WBS element is done. Please treat this as pretty urgent
Thanks
SowjanyaHello,
Please check and see if the BADI
<b>"AFABD_CHANGE"</b> suits your requirement
it has
<b>AFABD
Network: Dialog table for AFA</b>
as a changable parameter....
and import parameter as
<b>CAUFVD
Dialog Structure for Order Headers and Items</b>
Reward if helpful
Regards
Byju -
User exit or BADI for recruitment
Hi,
I am new to HCM, can you give me user exit or badi for recruitment.
Requirement - i have developed an infotype which i am updating through BSP, while the custom infotype is updated it should simultaneously update some of my Z tables. Hoping for positve replies earliest.
Thanks in advance:-
SantoshHi,
<b>Infotype</b>The data fields of HR master data, time management and recruitment are grouped logically into information types or infotypes for short.
Examples of infotypes are "Family/Related Person", "Organizational Assignment, "Basic Pay".
The following naming conventions apply to infotypes:
Infotypes 0000 to 0999 are used for HR master data
and sometimes for applicant data
Infotypes 1000 - 1999 for organizational management
Infotypes 2000 - 2999 for time data
Infotypes 4000 - 4999 for applicant data
Infotypes 9000 - 9999 for customers
<b>Function character of step</b>
This controls for which types of processing (create, change and/or delete a data record) a dynamic action should be carried out.
The processing type is indicated by a two-digit numeric value. These values can be added up; in other words, you can enter several processing types for each infotype, subtype or field. A dynamic action can also be carried out independent of the current processing type.
00 for Independent of the current function carried out
02 for Change
04 for Create
06 for Change and create
08 for Delete
10 for Change and delete
12 for Create and delete
Examples
If you enter 06, an action is carried out if the specified infotype was created or changed.
If you enter 00, an action is carried out irrespective of whether the specified infotype was created, changed or deleted.
<b>Variable function part</b>
The variable function part, which depends on the indicator for step, can have the following meaning:
<b>P - Plausibility checks</b>
You can enter values for specific infotype fields. Field names must be entered in full. Literals and constants can serve as comparison values. These must be enclosed by inverted commas. Variables can also be used.
The old value of a field can be used for comparison; the field name must be preceded by PSAVE-.
If fields of other infotypes are used for comparison, these must be stored in the module pool of the current infotype.
The following comparison operators are supported:
= equal to,
< less than,
<= less than or equal to,
> greater than
>= greater than or equal to and
<> not equal to.
Consecutive checks must be linked by a logical AND. Logical OR links must also be indicated by a /X.
Note:
Note that all checks with OR links must have a /X.
If the result of the comparison operation is not "true", then the following commands (I, F, W etc.) are skipped over until a field is reached or a new comparison operation takes place.
Examples
Infotype Field ..... Ind. Variable function part
0007 STAT3 P P0007-STAT3='0'
0007 STAT3 P PSAVE-STAT3='1'
The step is taken if the value in the P0007-STAT3 field changes from 1 to 0.
0007 P P0013-KLKZ1<>'0'/X
0007 P P0013-ALVKZ<>'0'/X
0007 P P0013-RVKZ1<>'0'/X
0007 P P0013-RVNUM=SPACE
The first three conditions are linked by an OR; at least one of these conditions must be met. Condition 4 must always be met.
The step is taken if the following holds true:
P0013-KVKZ1 not equal to 0 or P0013-ALVKZ not equal to 0 or P0013-RVKZ1 not equal to 0, and P0013-RVNUM empty.
<b>I - Maintain infotype record</b>
Enter the step, infotype, subtype, object ID, start and end dates of the record and an indicator which defines whether the step is to be run in the background. The possible actions are INS, COP, MOD, and DEL.
Use commas to separate selection criteria just like the separator in the matchcode. If an entry is missing, the system inserts a comma.
Separate the indicator for suppressing dialog from other entries by a slash D (/D).
Constants, such as those for subtypes, are not enclosed in inverted commas.
Variable entries are also permitted. Fields containing such values must be put in brackets.
Examples:
Infotype Field .... Ind. Variable function part
.... I INS,19,01/D
Step: Create a Dates record, subtype 01, run in the background
.... I DEL,14,M559
Step: Delete Rec. Payments/Deds. record with subtype (wage type) M559.
0007 .... I INS,8,,,(P0007-BEGDA),(P0007-ENDDA)
Step: Create a Basic Pay record (0008) without subtype and object ID. The start and end dates are the same as those in the current Planned Working Time record (0007); specify these two fields only if they are filled because the dynamic action was triggered by this infotype.
<b>W - Default values for new record</b>
Literals or variables are used as default values.
Set the defaults for the infotype, subtype, object ID, start and end dates using an I step and not a W step.
Do not set defaults for Q fields of an infotype because the values for these fields are derived from the corresponding P fields.
Examples
Infotype Subtype ..... FC Ind. Variable function part
0021 2 04 I INS,0015,M430
0021 2 04 W P0015-BETRG='10000'
When a Family/Related Person record (0021) record with subtype 2 (child) is created, an Additional Payments record (0015) with a default amount of 100.00 is created.
<b>V - Cross-reference to another step</b>
Here, you can combine fields to groups. The variable function part contains the value in the field which follows the "field" column. Steps which are specified only for the following field are also triggered for each of the other fields.
Examples
Infotype Field ..... FC Ind. Variable function part
0016 PRBZH 06 V PRBZT
0016 PRBZT 06 I DEL,0019,01/D
Infotype 0019, subtype 01 is deleted in the background when the field PRBZT or PRBZH in infotype 0016 is changed or created (function code 06).
The following entries are equivalent:
0016 PRBZH 06 I DEL,0019,01/D
0016 PRBZT 06 I DEL,0019,01/D
<b>F - Call a routine</b>
You can call internal (module pool) as well as external routines.
If you call external routines, type the program name in brackets after the routine name. Do not specify 'using' parameters. When calling an external routine, all data must be declared in a common part. You can use the fields of structure RP50D to return values from the routine. These are not used in the standard system and can only be populated via the routine and then can be used for defaults (W-Commands).
This allows customer-specific routines to be formulated with all the above steps.
Example 1:
Infotype Field ..... Ind. Var.function part
0016 PRBZT F PROBATION
0016 PRBZT I INS,19,01
0016 PRBZT W P0019-VTRMN=PRBEND
Module pool MP001600 contains the PROBATION routine. This routine uses the entries in the fields P0016-PRBZT and P0016-PRBEH to determine the end of the probation period which it stores in the field PRBEND.
The system creates a new 'Dates' record with the reminder date = PRBEND.
Example 2:
Infotyp ..... Ind. Var. function part
0001 F GET_DATE(ZPUDYN01)
0001 I INS,19,01
0001 W P0019-VTRMN=RP50D-DATE1
The GET_DATE routine in program ZPUDYN01 calculates a date and enters this date in the RP50D-DATE1 field via "TABLES RP50D" in ZPUDYN01. This date can be user-defined in GET_DATE: if necessary, user-defined infotypes can be read afterwards.
<b>M - Send a mail</b>
Enter the name of the feature which defines the characteristics of the mail.
Example
Infotype Field ..... Ind. Var.function part
0001 SACHP M M0001
A mail is sent when the field SACHP is changed. The characteristics of the mail are defined in feature M0001.
In the standard system, feature M0001 is provided as a model. The documentation on feature M0001 explains how to define the characteristics of a mail.
<b>ADDITIONAL HINTS</b>
If you use a date as a constant, enter it as YYYYMMDD (YYYY=year, MM=month, DD=day).
The table strings T001P, T503 and PSPAR are filled with the values which are valid on the record start date.
The old values of the infotype are stored in the field string PSAVE. The structure of this string is the same as the Pnnnn structure (nnnn=infotype). The structure is filled with (valid) values only when the delete, change and create functions are used.
Please read Create dynamic actions in the Implementation Guide.
Regards
Bernd -
User Exit or BADI for Updating Tax code (MWSKZ) using ME21N
Hi all,
I am trying to fin out an exit or badi for Updating Tax code (MWSKZ) and Unit of Measure in transaction ME21n.
The scenario is like this...
For Purchase Orders Tax code will be defaulted from Purchasing info record or contract or parameter id for that item-vendor-plant.
If the Tax Code is not defaulted and account assignment is blank then tax code on the PO is updated according to the below mentioned table
Table
Supplying Plant/ Receiving Plant Tax code
Vendor/Country
Any plant/vendor/
country 5050(NA) 20
2300 6700 E0
If the tax code on PO cannot be updated by the above table, then buyer needs to put tax code on the purchase order manually.
Thanks,
Shiva, BangaloreHi Siva.,.,.,
These r the exits.,..,which will be called while calling ME21N/ME22N/ME23N
EXIT_SAPMM06E_006
EXIT_SAPMM06E_007
EXIT_SAPMM06E_008
EXIT_SAPMM06E_009
EXIT_SAPMM06E_012
EXIT_SAPMM06E_013
EXIT_SAPMM06E_014
EXIT_SAPMM06E_016
EXIT_SAPMM06E_017
EXIT_SAPMM06E_018
U want to default some values while the Initial screen will come right,
while u Enter ME21N in command Prompt.,.,two exits will get triggerd,
EXIT_SAPMM06E_014
EXIT_SAPMM06E_016
If u want to Default some values u can use these two exits.,.
Try using EXIT_SAPMM06E_016.,.this will solve ur purpose.
and if the user changes some values on screen.,,and you want them to get reflected .,.,.that means if user changes and saves data .,.
While saving.,.,EXIT_SAPMM06E_012 and EXIT_SAPMM06E_013 will get triggerd
Try using EXIT_SAPMM06E_013.,,.it was somehow the same requirement as mine.,.,IN my case it worked fine.,.,
Regards
Debasish
Message was edited by:
Debasish Das -
User exit or badi for item text in mir7 transaction
Hi Gurus,
Please provide me suitable user exit or enhancement or badi for this requirement.
client enter TEXT fied data in MIGO transaction for material document and purchase order in where tab.
in MIR7 i entered reference number as material document number and purchase order number after triggering enter button it gives the list of items but IT IS NOT GIVE THE ITEM TEXT DATA which we entered in MIGO transaction.
Please provide me suitable user exit or enhancement or BADI for this.
Thanks A lot in Advance.
With Regards,
Radhakrishna.Hi RadhaKrishna,
You can find the BADI by yourself just follow the below any methods you will get the appropriate BADI name..
Method 1:
Go to Tranaction: SE24.
open class CL_EXITHANDLER
Open the method " GetInstance"
Put Break point in the statement
call method cl_exithandler=>get_class_name_by_interface
Now execute the Transaction which you need teh BDC it will automatically stops at the the method. In debugging mode double click on the variable: " exit_name" It will return the BADI Name.
Method 2:
find the Package name and go to the tranaction SE84.
Enter the package name
inside the left navaigaiton panel there is one option " Enhancements" click on this enhancement and then enter the package name and execute it. you will get hte number of enhancement.
for your reference I am sending you the list of BADI present in MIRO transaction.
ARC_MM_MATBEL_CHECK --------Check AddOn-Specific Criteria for MM_MATBEL
ARC_MM_MATBEL_WRITE ---------- Archive AddOn-Specific Data for MM_MATBEL
MB_CHECK_LINE_BADI -------------- BAdI: Check Line Before Copying to the Blocking Tables
MB_CIN_LMBMBU04 --------------- posting of gr
MB_CIN_MM07MFB7 ---------------- BAdI for India Version exit in include MM07MFB7
MB_CIN_MM07MFB7_QTY ------------Proposal of quantity from Excise invoice in GR
MB_DOCUMENT_BADI --------------BAdIs when Creating a Material Document
MB_DOCUMENT_UPDATE -----------BADI when updating material document: MSEG and MKPF
MB_MIGO_BADI --------------------- BAdI in MIGO for External Detail Subscreens
MB_MIGO_ITEM_BADI ----------------BAdI in MIGO for Changing Item Data
MB_RESERVATION_BADI --------------MB21/MB22: Check and Complete Dialog Data
Thanks,
Chidanand -
User Exit/Badi for G/L account assignment in ME21n/ME22n
Hi All,
I need user exit/badi for account assignment in item details for following requirement.
If user changes G/L account of the first line item then I have to copy same G/L account to all line items.
Please suggest me suitable user exit for this.hello,
follow the steps.......
For User Exit's
goto to tcode->status->program name->double click on that,
then goto to-> attribute take the package name and
Goto SMOD tcode ->Utilities->give the package name and F8
then a list of exits will display for that tcode as well as that package.
u can check the table MODSAP
For BADI's,
1)goto to tcode SE24 give the CL_EXITHANDLER and display and then double click on the GET_INSTANCE
keep Break point at this location 'call method cl_exithandler=>get_class_name_by_interface'
then the tcode it will trigger there and we can debugg there we can find badi'for that tcode and then remove the break point.
2)Goto to tcode->status->program name->double click on that program will display's
then press crtl+F then cl_exithandler
Thank u,
santhosh -
User exit/BADI for Return PO item delivery Address
Hi Guyz,
We have a requirement where in when a PO item is marked as return PO item(In ME21n/ME22n/ME23n We have check box at item level) and click on enter/Check/Save, In delivery address of item details we have to populate Vendor address. By default SAP populates Plant address. If we manually give Vendor number in item details=>Delivery address tab then it populates vendor address. We want to automate this functionality.
Is there any Exit/BADI which serve this purpose.
Note: We need this functionality for few doc types(i.e PO doc type should also be available in the exit).
Any ideas could be really helpfull.
Thanks,
Vinod.Hi,
there are some user-exit & enhancements....
MEQUERY1 Enhancement to Document Overview ME21N/ME51N
MEVME001 WE default quantity calc. and over/ underdelivery tolerance
MM06E001 User exits for EDI inbound and outbound purchasing documents
MM06E003 Number range and document number
MM06E004 Control import data screens in purchase order
MM06E005 Customer fields in purchasing document
MM06E007 Change document for requisitions upon conversion into PO
MM06E008 Monitoring of contr. target value in case of release orders
MM06E009 Relevant texts for "Texts exist" indicator
MM06E010 Field selection for vendor address
MMAL0001 ALE source list distribution: Outbound processing
MMAL0002 ALE source list distribution: Inbound processing
MMAL0003 ALE purcasing info record distribution: Outbound processing
MMAL0004 ALE purchasing info record distribution: Inbound processing
MMDA0001 Default delivery addresses
MMFAB001 User exit for generation of release order
MRFLB001 Control Items for Contract Release Order
MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
AMPL0001 User subscreen for additional data on AMPL
LMEDR001 Enhancements to print program
LMELA002 Adopt batch no. from shipping notification when posting a GR
LMELA010 Inbound shipping notification: Transfer item data from IDOC
LMEQR001 User exit for source determination
LMEXF001 Conditions in Purchasing Documents Without Invoice Receipt
LWSUS001 Customer-Specific Source Determination in Retail
M06B0001 Role determination for purchase requisition release
M06B0002 Changes to comm. structure for purchase requisition release
MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
MEETA001 Define schedule line type (backlog, immed. req., preview)
ME590001 Grouping of requsitions for PO split in ME59
M06E0005 Role determination for release of purchasing documents
M06E0004 Changes to communication structure for release purch. doc.
M06B0005 Changes to comm. structure for overall release of requisn.
M06B0004 Number range and document number
M06B0003 Number range and document number
Some BADI s:
ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Customer
ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
ME_PO_PRICING Enhancements to Price Determination: Internal
ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
SMOD_MRFLB001 Control Items for Contract Release Order
MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
MM_DELIVERY_ADDR_SAP Determination of Delivery Address
ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
ME_REQ_POSTED Purchase Requisition Posted
ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
ME_PURCHDOC_POSTED Purchasing Document Posted
ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
ME_BSART_DET Change document type for automatically generated POs
ME_BAPI_PR_CREATE_02
ME_BAPI_PR_CREATE_01
ME_BAPI_PO_CREATE_02
ME_BAPI_PO_CREATE_01
ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level
MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
ME_COMMITMENT_RETURN Commitment for return item
ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
ME_CIN_MM06EFKO Copy PO data for use by Country version India
ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
ME_CHECK_OA Check BAdI for Contracts
ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO
ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
No.of Exits: 35
No.of BADis: 55
Arunima -
Hi ,
Is there any Badi or user exit to make changes to the line item data in the purchase requisition create/change ME51N or ME52N transactions. We would want to populate few fields automatically on the item data, so would request if any of you have worked on any Badi for this transaction, please do post in immediately.
Thanks,
SowmyaHi,
1)BADI to be implemented: ME_PROCESS_REQ_CUST.
Method to be used: PROCESS_ITEM.
Place the below code in your implementation.
data : l_item type MEREQ_ITEM.
CALL METHOD im_item->get_data
receiving
re_data = l_item.
*C-- L_ITEM-BEDNR is requirement tracking number
2)Exit in ME51N
MEREQ001 Customers' Own Data in Purchase Requisition
You can implemet by this way
You add your customer fields, which should be saved in the database, to
the include CI_EBANDB (in table EBAN). You can also add customer fields
that you want to use during the program run to the include CI_EBANMEM
(in structure MEREQ_ITEM) These fields are not stored in database table
EBAN.
<b>Reward points</b>
Regards
Maybe you are looking for
-
Multiple IPods on one PC-help!
Hi. I just got a shiny NEW Ipod video, reinstalled I tunes, plugged the thing in and...voila..it dumped my daughter's entire library on my new ipod and it thinks it is hers. Now what do I do? I need to get rid of her library and set up my own device
-
Can I add an internal link in a Pages 5.5.2 Document
In previous versions of Pages I could add a link from a word in my document to, say, a topic in a different place in the document. Either I've forgotten how to do it or the ability has gone away. Can someone help?
-
I am getting error from R12 while starting the app services... ERROR: apdevmgr@bhap0006-/opt/pbn1oebd/inst/apps/PBN1OEBD_bhap0006/admin/scripts # ./adstrtal.sh You are running adstrtal.sh version 120.15 Enter the APPS username: apps Enter the APPS pa
-
Copy Control of Biling Documents
Hello i am having trouble in coping invoices (f2) to invoice list (lr). The invoice list is crated but the conditions of the invoice is not passing to the incoice list. I think the problem is in the copy control. Can some one show the settings of the
-
i buy GW2 (paypal ) my status is pending and i not reiceved my BETA Code Access anyone help me ? my email from paypal : {removed per forum guidelines} from bestbuy : {removed per forum guidelines} thanks !