Enhancement points option: Function modules or BADI

Hi, I am on ECC 6.0 and I need to validate and set some requirement in customer sales area data when user input the document output message in Documents tab strip screen 7003 of sapmf02d  in transaction XD01 or XD02.
  I found that there is function module EXIT_SAPMF02D_001 that I probably can use to create an implicit enhancement point to validate table T_KNVD or  I can use BADI customer_add_data.  Can someone suggest which way is better and why?  I am new to this so could someone show me screen by screen on how to create and implement BADI.
I am confusing about should I create a ZBADI or using existing BADI customer_add_data.  If I use existing BADI how can I add my own method with my own code. 
Thanks.

Thanks. Could you explain to me how does the custom BADI get call to execute my code?  Say
I have a customer document screen 7326 (Customer Master Subscreen SD Documents in program  SAPMF02D).  What I want is when user click save, I want to do some validation on the output message that they enter and issue some warning or error messages.
  I am on ECC 6.0 so I can create a BADI from Enhancement spot not from SE18.   SAP has a BADI called CUSTOMER_ADD_DATA with class CL_EX_CUSTOMER_ADD_DATA and interface IF_EX_CUSTOMER_ADD_DATA. 
When I create a ZBADI_CUST, which interface class I put in the IF_EX_CUSTOMER_ADD_DATA
or a ZIF_EX_XX so that I can create my own method?  How does the BADI get called when I am in transaction XD02 and click the save button?  Could you kindly show me step by step the procedure.
Thanks.

Similar Messages

  • Enhancement-point in function module CO_FW_AFFW_POST

    Hi there,
    In SAP Standard FM CO_FW_AFFW_POST
    I need to change the following code:
    prot_upd_is_active = yx.
      prot_del_is_active = yx.
    * >>> To activate the writing of a protocol entry for <<<
    * >>> deleted AFFW entries delete the following line  <<<
      CLEAR prot_del_is_active.      "<<< DELETE FOR ACTIVATING PROTOCOL
    * >>> To activate the writing of a protocol entry for <<<
    * >>> modified AFFW entries delete the following line <<<
      CLEAR prot_upd_is_active.      "<<< DELETE FOR ACTIVATING PROTOCOL
    I need to set the values (prot_upd_is_active,prot_del_is_active ) back to their original value (u201Cyxu201D, before CLEAR statements happens)
    I do not want to modify SAP standard code.
    IMPLICIT enhancement is no good to me, as the Points it allows are in all the wrong placesu2026
    Iu2019m thinking I can create EXPLICIT enhancement using u201CEnhancement-Pointu201D.
    Can this only be done at an existing u201CEnhancement-Pointu201D statement in the program?
    (or can I put it directly after the last CLEAR statement)
    Can you have more than one ACTIVE enhancement per ENHANCEMENT-POINT? (forums suggest you can u2013 I know you can only have 1 active u201CEnhancement Sectionu201D )
    Any help/suggestions appreciated!
    Thanks,
    David

    Hi Roy,
    thanks for the quick response - will give that a shot and see how it goes.Will award forum points .
    I'm presuming that my new enhancement spot will not have any effect on the code that currently exists at that enhancement-point?
    Thanks,
    David.

  • Function module in BADI

    hi,
    have anyone worked with function module in BADI.if so plz
    let me know how how to do
    my current requirment is on that
    poits will be rewarded
    regards
    raj

    Hi Raj,
    check out these links
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Differences between BADI and User Exits
    BADI's
    BADI
    CMOD Vs BADI....!!!!!!!!!
    http://help.sap.com/saphelp_erp2005/helpdata/en/a3/1d40425c459923e10000000a155106/frameset.htm
    BAdI(Business Addins) are enhancement techniques using Object Oriented Technique.
    Users of BAdI can customize the logic according to the specific requirements (User-defined) or use the standard logic available.
    Each Business Add-In has
    At least one BAdI definition
    A BAdI interface
    A BAdI class that implements the interface
    For User-defined BAdI,
    developer creates an interface for the add-in.
    Enhancement management creates an adapter class that implements the interface
    Developer creates an instance of the class in the application program and calls the corresponding methods.
    For standard BAdI, interface and class will be predefined by SAP.
    Adapter class performs these tasks
    Control ( the class calls all active implementations)
    Filtering (If the Add-in has to be executed under certain conditions, the class ensures that only certain implementations are executed)

  • Trigger point of function module EXIT_SAPMV45A_002

    Who can tell me the trigger point of function module EXIT_SAPMV45A_002?
    It is the one of user exits of T-CODE VA01.But it didn't be executed all the time during I executed the T-CODE: VA01 as well as finished the sales document.

    HI,
    Go to transaction CMOD.
    Enter project name and select the button Create
    we want to create a project to enahance trasnaction VA01 .
    - Create a project called ZVA01
    - Choose the Enhancement assign radio button and press the Change button
    In the first column enter V45A0002 Predefine sold-to party in sales document.
    Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed
    Press Save Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
    Now the function module is displayed. Double click on include ZXVVAU04 in the function module
    Insert the following code into the include: E_KUNNR = '1000'.
    Activate the include program. Go back to CMOD and activate the project.
    Goto transaction VA01 and craete a salesorder.
    Note that Sold-to-party now automatically is "1000"
    Reward points pls.
    Regards,
    Govind.

  • List of Functional Module and BADIs

    Hi Forum,
    I m new in this CRM, started as a CRM functional.
    Just want to know from where can i get list of all FUNCTIONAL MODULES and BADI.
    and also is it mandatory for functional consultant to have gud knowledge and expert in usage of mentioned BADI and Functional Modules..
    Kindly reply soon...
    Points will surely be awarded.
    Regards
    Rajeev Singh

    Hi Rajeev,
    Your can view the function modules in transaction SE37.
    And BADIs in SE18.Its not mandatory to know the function module details or Badi details for a functional consultant , but it always good to have a knowledge. It will reduce the task of technical consultant.
    Like Function Module CRM_ORDER_READ, is used to get the details of any business transaction. Simlarly BADI ORDER_SAVE is called every time u save a transaction etc.
    Regards,
    Shalini Chauhan

  • Function module and BADI

    Hi BW gurus
    I have a datasource 0CRM_SRV_PROCESS_H and i need to enhance it where the table is BUT000 source field is PARTNER
    in the datasource im taking ZZENDCUST as the enhanced field for that i have a pseudo code like (Use FM CRM_ORDER_READ. Pass Transaction number GUID and get Partner from the table ET_PARTNER (Field: PARTNER_NO) where PARTNER_FCT = u2018ZECu2019.).This pseudo code is for my reference .My requirement is that i need to use a standard BADI RSU5_SAPI_BADI for this .how to go with this requirement.I need to know that how the BADI and function module can be linked.
    Regards,
    Siva

    Hi Siva:
    You need to look for "Enhancing datasources". Basically, in the source system, go to
    t-code: SE18
    Select: BADI NAME: RSU5_SAPI_BADI
    In the Menu: Enhancement Implementation, select: Create.
    You can also display the BADI and click on the documentation, there is good information there.
    See this link for more information:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3001894b-b1fb-2910-77ba-e80b6f2053b7?QuickLink=index&overridelayout=true

  • Help in enhancing CRM logon function module

    Hello all,
    We have a situation where in the past we have allowed the creation of multiple Business Partners sharing the same e-mail address. We are about to close this loophole but we have this as a master data issue for some existing Customers/Business PArtners.
    Currently, our CRM Webshop only uses e-mail address and password for login verification (not using Business Partner/Customer number).
    We would like to enhance the webshop logon to include customer number as well ie. We want to determine which customer number associated with the ambiguous e-mail address is used. I have attempted to identify which function module is involved by inserting an endless WHILE loop into the following , but none of them seems to be called :
    CRM_ICSS_USER_LOGIN
    CRM_ISA_IUSER_LOGINr
    CRM_ISAI_BP_LOGIN_BPARTNER_GET
    CRM_ISA_BP_LOGIN_CHECK
    CRM_ISA_LOGIN_R3USER_CHECK
    CRM_ISA_IUSER_LOGIN
    CRM_ISA_LOGIN_CHECK
    CRM_ISAI_BP_LOGIN_BPARTNER_GET
    In addition I notice the function SUSR_CHECK_LOGON_DATA can not be enhanced as it's a Basis FM.
    I have attempted to look up documentation in SAP Help and not much joy. Can anyone tell me whether I'm barking up the wrong tree and this needs to be addressed by a kernel level function or recommend another place in the standard code ?
    Regards,
    Gabriel

    Hi Pooja,
    Please follow the below steps to create a function module :
    1. Goto Transaction code : SE37.
    2. Create a Function Group first.
       a) From the Menu Bar Choose Goto -> Function groups ->  Create group.
       b) Specify the function group name and a short text.
       c) Choose Save.
    When you create a new function group, the system automatically creates a main program containing two includes. Like any other programs and includes, you can display them in the Repository Browser.
    3. Now create a Function Module.
    4. Enter the function's name in the field Function module.
    5. Choose Create.
    6. In the Enter function group dialog box, enter the function group to which you want to assign the function module.
    7. In The Attributes Tab select Remote Enabled Module (since you want a RFC function module ).
    8. Give the Import and Export parameters and exceptions(if any).
    9. Write the functioning part of the fuction module in the Source code tab.
    10. Save and Activate your function Module.
    Now go ahead and use your function module where ever you want.
    Hope it helps.
    Reward if helpful.
    Regards
    Hemant Khemani

  • New and enhanced or changed function modules in Ecc6.0 compare to 4.6C

    Hi all Experts,
    Now i am at the middle phase of my upgrade project. How can i list module wise (like SD, FI, MM) function modules which modified or newly came to ecc 6.0 or deleted in ecc?
    I already visited the sap site and taken the delta functions. but its not having this function modules.
    where i can find and list?
    Kindly help please....
    points will awarded.
    Raghav

    Hi Sriram,
    It also helps. but my need is only what are the new/changed function modules in ECC6.0 when compared to 4.6C. How to list this?
    Kindly anyone also answer to me.
    Regards,
    Raghav

  • 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*

  • Any Enhancement Point/Spot that serves like BADI(MB_DOCUMENT_BADI) on MSEG?

    Hi Experts,
    I need to populate around 10 standard SAP fields and 8 custom fields on MSEG(material document item table) record, WHILE the material document is creating or CONFIRMING the delivery or SHIPEMENT confirmation. In this process I found an a BADI (MB_DOCUMENT_BADI), well, this BADI does not having CHANGING parameters of MSEG.....pls. let me know any other user-exit ot BADI which serves my requirement?
    Actually, I tried to do it by suing field-symbols (below code) in this BADI, but still my values are not reflecting!
    FIELD-SYMBOLS: <SGTXT> TYPE any,
    <SGTXT_1> TYPE any.
    ASSIGN '(SAPMM07M)MSEG-SGTXT' TO <SGTXT>.
    CHECK SY-SUBRC = 0.
    assign (<SGTXT>) to <SGTXT_1>.
    CHECK SY-SUBRC = 0.
    <SGTXT_1> = 'MY_TEST'.
    assign (<SGTXT_1>) to <SGTXT>.
    endmethod.
    Thank you

    I found that this BADI itself is migrating.
    Thank you

  • Does Access key required to implement explicit Enhancement point

    Hi All,
    Does Access key required to implement explicit Enhancement point in Function module or source code or etc.
    please clarify..
    thanks
    Bhanu

    Thanks for your reply Mr. Bala..
    I think i have not asked question correctly.. what i mean to ask is "to create the explicit enhancement point in the method(Source code), does ACCESS KEY required".
    Because when i tried to create enhancement point at IMPLICIT enhancement option system is allowing to create but when i tried to create at other than IMPLICIT enhancement option(in the mid of source code ) system is not allowed and displayed following message :
    "In this mode, you can create implementations only"
    waiting for your reply..
    Thanks
    Bhanu

  • Enhance standard function module in ECC 5.0 System

    Hi All,
    My requirement is to add the custome fields in the standard screen.there is no screen exit for this screen.
    The screen is calling by using the standard function module CALL_SCREEN_HU_DISPLAY
    Iam working on ECC 5.0 System, Is it possisble to enhance the standard function module and add custome fields.
    Please let me know if any suggestions.
    Thanks & Regards,
    Nagendra

    Hi Reddy,
    Thanks for the reply..
    Can u please give the steps how to create implicit enhancement in function modules.
    Thanks & Regards,
    Nagendra

  • Use of input parameter of function module

    Hi,
    we implemented an enhancement of a function module with a new inputparameter.
    Now we would like to do some follow-up to see if our developers are starting to use this new parameter.
    Is there a way to find this out? We can do a program scan on the name of this new parameter, but this does not seem to be enough.
    Thanks for the advice.
    Kris

    Hi Kris,
    as described, you can do a where-used-list and expand the nodes.
    This will not cover any dynamic calls.
    If you want to know the real use of the new parameter, then you can implement a LOG-POINT in the function module, like
    FUNCTION xyz.
    IF NEW_PARAMETER IS SUPPLIED.
      LOG-POINT ID YOUR_LOG_POINT FIELDS sy-uname sy-uzeit sy-cprog NEW_PARAMETER.
    ENDIF.
    You can create, activate and evaluate LOG-POINTS with transaction SAAB. It is extremely helpful for a lot of analyzing purposes as you can switch logging on and off for users and servers on the fly. If you know what you want to know you can leave the log-points in the program code and just deactivate logging.
    Regards,
    Clemens

  • Function modules calling Application server

    I am working on a SAP Migration for windows to unix. Right now I am patching up all custom programs which call the Application server using physical filenames and paths (platform specific) and replacing them with logical paths and names (platform independent). I need help from you guys to identify more function modules which uses file names that are platform specific. I have taken care of open dataset and FTP commands. Any help pointing out function modules is highly appreciated. Points will be rewarded. Thanks in advance.
    Rohit

    Hi ,
    Check the following function groups for file related operations.
    GRAP - Frontend related.
    SVRZ -  System related.
    SFTP   - FTP related.
    SFIL  - Logical file name related.
    As per my understanding, we are not using any function modules to read data from application server.
    Best of luck.
    Thanks
    Viswa
    (Assign points for helpful answers)

  • Function Module for equipment Link

    Dear all,
    is there any function module or badi to get list of link from an equipment
    thanks
    Lukman Hakim.

    hi Anjaneya..,
    the link that i mean is link from an equipment to other equipment.
    when we create maintenance order (IW31), there is  a tab  'Object' for entering object list. and there is a need
    to enter automatically equipments ( that have link to the equipment in maintenance order) to that object list.

Maybe you are looking for