Create Custom method in a Implemented Badi

Hello Folks,
I am writing code in a badi but some part of code is repeating, as there is no provision for creating perform statements, I would like to create a method and put the code in that method so that the code in the badi will look modularized.
But i don't have much idea on how to do this.
Can anyone help me how we can do it.
Thanks for your help.
Regards,
Raj

Hi,
This should be very straight forward,
when you go to transaction SE19 with a particular BADI, then you can find a class attached to that BADI starting with Z, go into the class in edit mode, and add a method u want and then code it to your need. and you can call the same method from any of your BADI method with CALL METHOD me->xyz.
Regards,
Prasanna

Similar Messages

  • When/why do we create custom method in Entity DefImpl ?

    Hi All,
    I am reading "ADF Dev Guide 4 GL" on "section 9.6.2 : Implementing an Efficient Existence Check " , referring to the SRDemo sample.
    I do not understand why the "exists" method is created in ProductDefImpl ?
    Why don't we create it in ProductImpl or SRServiceImpl ?
    Is it a best practice to always create the method for checking existence in the <Entity>DefImpl ?
    Thank you very much,
    xtanto

    Repost.

  • How to create custom Item Renderers List for mobile?

    Hi,
       I have seen many samples using List with Item Renderers (image, label, message below the label and decorator) for mobile apps.
    But what I need is, I need to create a List with the below items.
    Item 1. Image
    Item 2. a small icon
    Item 3. Label with 1 or 2 lines
    Item 4.  a Favourite button (like Favourites + or - button). If I like this item, I add it into my favourites list
    Item 5. decorator arrow > to go the Detail view.
    I am new to Adobe Flash Builder and Flex development. Can anyone show me some samples on how to do this?

    Method One:
    I have created simple application page and i used powershell command(Set-SPCustomLayoutsPage -Identity "AccessDenied" -RelativePath "/_layouts/ExampleAccessDenied.aspx" -WebApplication "http://DEVWEBAPPLICATION")
    to change the new custom page.But it will be applied to all site collections in web application.
    Method Two: I have created custom masterpage and added following script. And referred this Custom masterpage in the custom access denied page.But it Never comes to this script.
    script type="text/javascript">  
      _spBodyOnLoadFunctionNames.push("redirectToCustomAccDenPage");  
      function redirectToCustomAccDenPage()  
       if( -1 != location.href.toLowerCase().indexOf('http://yoursitename/_layouts/accessDenied.aspx') )
       var url = 'https://' + window.location.host + '/mysite/customPages/customAccessDenied.aspx';
       window.location.replace(url);
       else
       alert(location.href);
     </script> 
    Method 3:
    I have Created custom HTTP module and implemented and it is working fine. But  the problem is it will be called for the all the requests in the web applicaton.
    COuld you let me know alternate apporach.
    Thanks
    Ravi P
    Ravi

  • Getting error while creating abstract method

    hi folks,
    i facing issue for ABSTRACT Class.
    I am trying to create abstarct method, (refered example from saptechnical site),
    I created one attribute i-num, created one method AREA, in  implementation area , i made it as Abstract, then i did syntax check, then it is giving below error.
    *Class ZTEST_CLASS01_AB,Method AREA
    The abstract method "AREA" can only be implemented after its
    redefinition (METHODS AREA REDEFINITION).*
    i tried all the ways..
    created subclass for this, i writted some code in AREA of Sub-class, there it is giving dump, because first one is not activated properly..
    could you please somebody help me on this.
    Sri

    Hello Arshad,
    Create a class(ZABSTRACT) and make its type as Abstract( Which means atleast one of its methods is abstract)
    We can have abstract classes with all it's methods as non-abstract or concrete. A small example is given below:
    CLASS gcl_abstract DEFINITION ABSTRACT.
      PUBLIC SECTION.
        METHODS concrete. "Concrete
    ENDCLASS.                    "gcl_abstract DEFINITION
    *       CLASS gcl_abstract IMPLEMENTATION
    CLASS gcl_abstract IMPLEMENTATION.
      METHOD concrete.
        WRITE: / `I'm a concrete method`.
      ENDMETHOD.                    "concrete
    ENDCLASS.                    "gcl_abstract IMPLEMENTATION
    *       CLASS gcl_abstract_sub DEFINITION
    CLASS gcl_abstract_sub DEFINITION INHERITING FROM gcl_abstract.
      PUBLIC SECTION.
        METHODS concrete REDEFINITION.
    ENDCLASS.                    "gcl_abstract_sub DEFINITION
    *       CLASS gcl_abstract_sub IMPLEMENTATION
    CLASS gcl_abstract_sub IMPLEMENTATION.
      METHOD concrete.
        super->concrete( ).
        WRITE: / 'Abstract class might not have abstract methods at all!'.
      ENDMETHOD.                    "concrete
    ENDCLASS.                    "gcl_abstract_sub IMPLEMENTATION
    START-OF-SELECTION.
      DATA: go_abstract TYPE REF TO gcl_abstract_sub.
      CREATE OBJECT go_abstract.
      go_abstract->concrete( ).
    Although i will agree there is no point in making a class as abstract & having no abstract method
    @Sri: Looks like you're trying to implement the abstract method "AREA" in the abstract class hence the error. For abstract method you cannot define their implementation in the corres. abstract class.
    BR,
    Suhas
    Edited by: Suhas Saha on Mar 30, 2011 12:04 PM

  • Creating custom database user

    Hi,
    Oralce E-Biz: 11.5.10.2
    OS: AIX 5.3
    I have a requirement from the function team to creata custom user for HR implementation.
    need to know best practice for it. i.e privileges for it, Default tablespace etc.
    Thanks

    Hi;
    What that user will do? It will be readonly? Give more details
    Regard
    Helios

  • Could not get Custom screen in me21n after implementing Badi ME_GUI_PO_CUST

    Hi.,
    I created implementation for the badi ME_GUI_PO_CUST... but i could not get the Tab and screen in header tab.
    also used below  link in the  forum to correct the issue ....but dint help me .
    Custom screen not displaying using BADI ME_GUI_PO_CUST
    Pls help me how to go abt...
    Thanks,
    Ranjitha.

    Hi ....
    Now the tab is reflecting in me22n & me23n but not in me21n ......can anybody tell what could be the reason?
    thanks
    ranjitha

  • Error in Creating Custom Business Methods using ADF Business Comp. Tutorial

    I've been working with Jdev 10g Preview for a while. Now that we have Jdev 10g, I have to unlearn some of the Preview methods and learn the "real" way of doing things. To that end, I went out to the "Creating Custom Business Methods using ADF Business Components" tutorial. Unfortunately, I've found what I think is a mistake in the example code.
    Specifially, ADF treats the default iterator on View Objects differently than previous BC4J versions. In the older versions, the iterator was positioned before the first row when you first executed a query. In that case, the hasNext() method was used to see if you had any rows at all. In ADF, however, the default iterator is positioned at the first row. So, if your query only returns one row, then the hasNext() method returns false!
    Here's the code posted in the tutorial:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    while (emps.hasNext() )
    Row empsRow = emps.next();
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary")));
    return salaryTotal;
    As you can see, this is coded using the pre-10g semantics. It checks hasNext() at the top of the while loop. If there is only one Employee in the Department, hasNext() will return false since the emps View Object will already be positioned at the first and only row. There won't be a next row. So, the salaryTotal will be zero instead of the correct value. Alternatively, if there is more than one row, then hasNext() will be true, but the routine will skip the first row and start totalling salaries from the second row on.
    The routine should be recoded as follows:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    Row empsRow = emps.first(); // Get the first row
    while (empsRow != null ) // while we have a row
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary"))); // add in the salary
    empsRow = emps.next(); // get the next row
    return salaryTotal;
    I haven't actually executed this code, so there may be a typo or two in there. However, the basic idea is sound -- I think!
    Please update the tutorial so we don't mislead people right at the start! :-)

    Gary:
    I have two questions for you:
    1) Could you post the preferred code here?
    2) Why is it the preferred method? I would think that creating and destroying another object (the temporary iterator) would be a bad thing.

  • How to create the custom method and make it available to clients:

    Hello, Can any one help me with this problem ASAP??
    I am trying to work on an example of "Customizing the Query and Creating an Associated Custom Method"
    from http://helponline.oracle.com/jdeveloper/help/topics/jdeveloper/developing_mvc_applications/adf_pviewcustommethod.html?tp=true#method. To do that, the first task is to create the custom method and make it available to clients.
    Following instructions in the helponline documentation, I completed the three steps: (1) "Specify a custom query for the View Object definition for EmployeesView", (2) "Add the custom method to the application module Java class", and (3) "Make the method available to clients".
    The following is the error message I got to test the application module. Can anyone tell me what the message really means and what I should do. I am wondering if there is any mistakes in the document.
    (oracle.jbo.SQLStmtException) JBO-27122: SQL error during statement preparation. Statement: SELECT Employees.EMPLOYEE_ID, Employees.FIRST_NAME, Employees.LAST_NAME, Employees.EMAIL, Employees.PHONE_NUMBER, Employees.HIRE_DATE, Employees.JOB_ID, Employees.SALARY, Employees.COMMISSION_PCT, Employees.MANAGER_ID, Employees.DEPARTMENT_ID FROM EMPLOYEES Employees WHERE Employees.SALARY > :1 and Employees.DEPARTMENT_ID = :2
    ----- LEVEL 1: DETAIL 0 -----
    (java.sql.SQLException) ORA-01008: not all variables bound

    You need to set values for the parameters in your query before you try to execute the query in the view object.
    So you need to call the setBindVars method before the query.

  • HRXSS_PER_BEGDA  - Implementing Custom Effective Dates with a BADI

    What am I missing?
    We have a need to implement different effective dates based on infotype.
    ( For example, we want changed to IT 210 (US - WithHolding) to be effective
    on the first day of the current (unprocessed) pay period).
    IT 6 (address)  anf 9 Bank will also have there own date logic.
    To this end, we implemented BADI   HRXSS_PER_BEGDA through the config, 
    as ZHRXSS_PER_BEGDA with an implementation class
    of ZCL_IM_HRXSS_PER_BEGDA  .
    To keep it simple, as a first test,  we left the business logic out and just hard coded a date  as follows:
    method IF_EX_HRXSS_PER_BEGDA~DEFAULT_DATE.
      if INFTY = '0006' .
        begda  = '20071001' .
      endif .
    endmethod.
    ( an external breakpoint confirms that the code is reached)
    I would have thought that this would have set the start date to 10/01/2007 .
    When I chang an address through the portal, the effective date, both displayed on the ESS side, and as saved on the backend, is always [today].
    What am I missing?
    ...Mike
    We're running :
    NW 2004S, ESS 1.0 SP09 Web DynProVersion
    with ECC6.0 ERP2005 on the R/3 side

    HI Michael,
    I have similar problem that you described here. I have implemented the BADI - HRXSSPER_BEGDA to default the start date of dependents' infotype (0021) to a date in the past based on employee's hire date. However, the start date is always shown as current date. I have used a simple code as
    IF INFTY = '0021'.
    BEGDA = '20090901'.
    ENDIF.
    I shall be glad if you help me resolve this issue. Thanks a lot.
    Regards,
    Shakir

  • Calling  Report in   Customized Method   Created in  ZBUS2081

    Hi ,
    I have created ZBUS2081  in that I  have  create one Customized  method  ZEMAIL  .
    now  in SE38   i have  wriiten  logic  to send  email to  person   .
    I want to use  this  report in ZEMIL   method   .   even I  used that  report  by  using   SUBMIT    but  it's  not  working    .
    mail is  not  going to respective person   .    the code which  i have written for sending  mail   is correct   .
    Please  suggest  any   solution   if  any code is  available  or  is there  any  link availabe then  please provide it .
    Regards,
    Sandeep

    Hi Sandeep,
    Create a method which refers to report. System will generate the code "Submit ZREPORT WITH SELE CRITERIA AND RETURN". This will surely work if you pass all mandatory selection paramters. If the problem is with mail then check the parameters/code used for sending the mail.
    Regards,
    Vaishali.

  • What are the methods used for creating customer

    i have to upload a text file and create customer using idoc .can any one suggest the methods used to fullfil this requirement

    Hi,
    Upload the file using the function module GUI_UPLOAD into an internal table then try to pass the values from the file to the segments in the idoc DEBMAS03 using the function module MASTERIDOC_CREATE_DEBMAS to create the customer.
    Any doubts regarding you can clarify.
    Thanks&Regards
    Sarves

  • Create Custom Infotype and handle Modification/Updation

    Hi All,
    I need to create a custom infotype and handle few checks while creating/updating the existing one.
    I have gone through the existing threads and have figured out the creation part.
    Could anyone tell me where i need to code the checks while creating/updating.
    I tried editing the PBO/PAI of the Module pool program, but as its standard, is asking for access key. Do we need to code this in any userexit or implement BADI.
    For example,
    a) i need to check that only one instance of the infotype should be valid for an  
        employee at a time
    b) This infotype should be created for only Employees and not contingent workers.
    c) Few fields on the body section needs to be updated/modified.
    Thanks and Regards
    Manish.

    You can use the IN_UPDATE or AFTER_INPUT Methods of the BAdI HRPAD00INFTY to perform your validations.
    Arya

  • Need Ways to implement Badis in ECC 6.0 (Enhancement Points)

    Hi experts,
    I am new to BADIs. I've a requirement to find a BADI for changing Customer number while posting customer invoice in SAP (the data is coming from XI system in IDOC format). I want to know any BADIs or userexits are there for my requirement. At the same time I want to know how to implement a BADI in ECC 6.0 .Any docs releated to this topic will be of great help.
    points will be awarded for sure..........

    hi Poorna Chandras... ,
    These steps should enable you to find any BADI related to any transaction in a matter of minutes.
    Procedure 1:
    1) Go to the transaction SE37 to find your function module.
    2) Locate the function SXV_GET_CLIF_BY_NAME.
    3) Put a breakpoint there.
    4) Now open a new session.
    5) Go to your transaction. 6) At that time, it will stop this function.
    7) Double click on the function field EXIT_NAME.
    8) That will give you name of the BADI that is provided in your transaction.
    Business Add-Ins
    Procedure 2:
    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).
    4) Now 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
    SAP Business Add-Ins (BAdIs) are one of the most important technologies used to adapt SAP software to specific requirements. BAdIs were introduced with Release 4.6 and replace function module exits. This technology is not limited to SAP applications. BAdI calls can be integrated in customer applications. These can then be enhanced by other customer applications. In the various SAP applications, BAdI calls are implemented at places where enhancements are appropriate.Business add-ins are enhancements to the standard version of the system. 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.
    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, country-specific versions, industry solutions, partner, customer, and so on). You can create definitions and implementations of Business Add-Ins at any level of the system landscape.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 differentiate between Add-In implementations using the filter Country or other criteria.
    The enhancement technique is set up in such a way that it is possible to define interfaces for ABAP soure code, screens, GUI interfaces, and tables. These allow 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.
    BADI is just an object-oriented version of user-exit. Instead of entering program code into some function module (as in customer-exit), you define some class which has to implement predefined methods and those methods are fired at predefined points just like an old user-exit. Some BADI can have multiple independent implementations which is much better for software deployment as several developers can implement the same BADI independently. BADI/UserExists are used to enhance R/3 For customer Needs.
    Actually there is no transaction to find when and where the BADI
    is called.
    1. You can see the BADI description to find why it is called.
    2. Once you implemented and activated the BADI, put some break points
    in the BADI and see "where else used" option to check in what all
    programs this BADI is called. In the ITS debug, when you are doing
    the operation what exactly the BADI description tells, it will take
    to the break points and you have to do manually debug the whole thing.
    I know its bit difficult to do manual debug the whole thing, it
    takes lot of time, but you have to be very patience when you are
    dealing with BADI's.
    Transaction SE18 is the BADI equivalent of transaction SMOD
    Transaction SE19 is the BADI equivalent of transaction CMOD .
    To find the BADI to be implemented and then implement this via SE19.
    Check this blogs 2 find a BADI:
    How to find if we have a BADI in Transaction VB02
    Re: BADI for screen enhancement in MM01  transaction
    Re: BADI and User exits
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    You can check the links for Step by Step Badi Implemntation
    (very helpful self learning docs).
    BADI Step by Step Implementation.
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
    The specified item was not found.
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    http://www.allsaplinks.com/badi.html
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    New to Badi`s
    New to BADI
    New to BADI long question
    Badi
    /message/4866901#4866901 [original link is broken]
    Hope this helps
    Rewards if useful.........
    Cheers
    Kripa Rangachari.

  • How to implement  BADI's for the below issue

    Hi All,
    The URL is being populated correctly (without any spaces) to the follow on document (PR/PO) created in R/3 after implementing code corrections in BBP (replacing space by ‘=’ as shown below).
    When sending the PO to supplier portal, the outbound IDOC segment does not get populated properly. The text format ‘=’ is again converted to space in ECC 6.0 which was not the case with 4.5B.
    This is an upgrade issue as the function module used to format text ‘FORMAT_TEXTLINES’ is completely different in ECC 6.0. The entire code of this function module in 4.5B has been commented in ECC 6.0 and new code has been implemented which splits the text and inserts spaces while formatting as shown below.
    This issue can be resolved by implementing a customer exit or a BADI which gets called after standard SAP populates the IDOC. It requires implementing custom code to remove the unwanted spaces inserted by standard SAP for text id F07. Hence after SAP completes its processing to populate the IDOC, the text would be processed further to remove unwanted spaces before actually sending the IDOC out from SAP R/3.
    Thus this upgrade issue resolution requires R/3 development
    1.     BADI Definition:  ME_MMPUR_EINM, Method: PROCESS_TEXT
    This option is preferable.
    2.     User exit: EXIT_SAPLEINM_002
    I need your help on how to write this code in the form of BADI's.where we write and how to implement. ASAP
    thanks,
    Sridhar

    Hi All,
    The URL is being populated correctly (without any spaces) to the follow on document (PR/PO) created in R/3 after implementing code corrections in BBP (replacing space by ‘=’ as shown below).
    When sending the PO to supplier portal, the outbound IDOC segment does not get populated properly. The text format ‘=’ is again converted to space in ECC 6.0 which was not the case with 4.5B.
    This is an upgrade issue as the function module used to format text ‘FORMAT_TEXTLINES’ is completely different in ECC 6.0. The entire code of this function module in 4.5B has been commented in ECC 6.0 and new code has been implemented which splits the text and inserts spaces while formatting as shown below.
    This issue can be resolved by implementing a customer exit or a BADI which gets called after standard SAP populates the IDOC. It requires implementing custom code to remove the unwanted spaces inserted by standard SAP for text id F07. Hence after SAP completes its processing to populate the IDOC, the text would be processed further to remove unwanted spaces before actually sending the IDOC out from SAP R/3.
    Thus this upgrade issue resolution requires R/3 development
    1.     BADI Definition:  ME_MMPUR_EINM, Method: PROCESS_TEXT
    This option is preferable.
    2.     User exit: EXIT_SAPLEINM_002
    I need your help on how to write this code in the form of BADI's.where we write and how to implement. ASAP
    thanks,
    Sridhar

  • Custom screen not displaying using BADI ME_GUI_PO_CUST

    Hello Experts,
    I was working on BAD ME_GUI_PO_CUST to add custom subscreen on header
    I have created a subscreen ZNRD_SAPMEGUI_PO with number 9999.
    I have created implementation of ME_GUI_PO_CUST as ZME_GUI_PO_CUST.
    I have added screen details to the BADI.as follows
    CALLPROGRAM = SAPLMEGUI.
    Scr No = 1102
    Subscreen area = TABSTRIPCONTROL2SUB
    Program called = ZNRD_SAPMEGUI_PO
    Scr no = 9999.
    Now to the method SUBSCRIBE to the implemented BADI ZME_GUI_PO_CUST
    I have wriiten the following codes.
    method if_ex_me_gui_po_cust~subscribe.
    data: ls_subscriber like line of re_subscribers.
    if sy-tcode eq ' ME21N' or sy-tcode eq 'ME22N' or sy-tcode eq 'ME23N'.
    check im_application = 'PO'.
    check im_element = 'HEADER'.
    * CLEAR re_subscribers[].
    ls_subscriber-name = 'ZNRD_SAPMEGUI_PO'.
    ls_subscriber-dynpro = '9999'.
    ls_subscriber-program = 'SAPLMEGUI'.
    *ls_subscriber-struct_name = 'MEPO_SUBSCRIBERS'.
    ls_subscriber-label = 'Customer Data'.
    ls_subscriber-position = 10.
    ls_subscriber-height = 7.
    append ls_subscriber to re_subscribers.
    endif.
    endmethod.
    BADI is active
    Now when irun ME21N i dont see the additional custom tab on header coming up.
    Please guide will be appreciated.
    Regards,
    Ranjith

    Hi
    I have been through the documentation friends still I am unable to go ahead thats the I am seeking your help.
    Please guide.
    Shailaja could you please explain why do i need to use the user-exit  MM06E005 when I am using the BADI.
    Regards,
    Ranjith N

Maybe you are looking for