Posting GR against IB, user-exit to calcluate exchange rate

Hi guys, this is my requirement.
When we do a goods receipts in VL32N (Click on post goods receipts), this will create a material document, the amounts calculated in the material document (Amount in Local Currency, mseg-DMBTR) are calculated against the posting date of the material document from the table V_TCURR (transaction OB08). We want these amounts to be calculated against another date that we will provide, not the posting date from the material document. The business don't want to change the posting date of the material document.
How can I do that, is there a BAdi, user-exit, enhancement spot/options?
alex

Hi A ,
can u check whether this BADI  LE_SHP_GOODSMOVEMENT - can influence price of the Mat.Doc ?
check --> at this point ,whether is already calculated the price of the Doc ? if yes then based on the new logic u can re-calc the Xchange rate.
regards
Prabhu

Similar Messages

  • User exit for calculating exchange rate in MRER,MRKO,MRNB,MIRO

    Hi All,
    For the transactions MRER,MRKO,MRNB,MIRO I want to change the exchange rate type(tcurv-kurst) which is used to calculate exchange rate .
    For example, exchange rate type 'M' is used to calculate the exchange rate but now i want to use the type 'ITAD' to calculate the exchange rate.Could you suggest some user exit or BADI for achieving this.

    Hi Subasree,
    The user exits for respective tcodes are mentioned below,
    MRER
    Exit Name           Description
    MRER0001            Automotive Evaluated Receipt Settlement (ERS)
    MRKO
    Exit Name           Description
    RMVKON00            Enhancements to report "Settle consignment liabilities"
    MM08R001            User exits for ERS
    MM08R002            User exit for tolerance checks
    MRNB
    Exit Name           Description
    LMR1M001            User exits in Logistics Invoice Verification
    LMR1M002            Account grouping for GR/IR account maintenance
    LMR1M003            Number assignment in Logistics Invoice Verification
    LMR1M004            Logistics Invoice Verification: item text for follow-on docs
    LMR1M005            Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006            Logistics Invoice Verification: Process XML Invoice
    MRMH0001            Logistics Invoice Verification: ERS procedure
    MRMH0002            Logistics Invoice Verification: EDI inbound
    MRMH0003            Logistics Invoice Verification: Revaluation/RAP
    MRMN0001            Message output and creation: Logistics Invoice Verification
    MIRO
    Exit Name           Description
    LMR1M001            User exits in Logistics Invoice Verification
    LMR1M002            Account grouping for GR/IR account maintenance
    LMR1M003            Number assignment in Logistics Invoice Verification
    LMR1M004            Logistics Invoice Verification: item text for follow-on docs
    LMR1M005            Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006            Logistics Invoice Verification: Process XML Invoice
    MRMH0001            Logistics Invoice Verification: ERS procedure
    MRMH0002            Logistics Invoice Verification: EDI inbound
    MRMH0003            Logistics Invoice Verification: Revaluation/RAP
    MRMN0001            Message output and creation: Logistics Invoice Verification
    Hope you will find the required amongst this,
    Regards,
    Soundarya.

  • User-Exit to modify exchange rate type for Accouting document

    Hi,
    My requirement is as follows.
    I am creating an incoming invoices which in turn creates an accounting document.
    The document currency for the accouting document is different from the Company code currency. In such a case, the "Exchange rate type" provided in the customization of the "Accouting doc type" is picked up and the exchange rate is determined for the conversion.
    I need some user-exit/badi/bte where I can override default  "Exchange rate type" for my accouting document.
    Regards,
    Abhishek

    Provide the exchange rate in the BAPI to create the incoming invoice document.

  • User Specified date for Exchange Rate in Goods Receipt

    Hi All,
              Exchange rate in Goods receipt will be picked up on the Posting date. Our requirement is that the exchange rate should be picked up on user specified date but not the posting date.
    Is there any possibility to achieve this functionality either by 
    1) Customization change
    2) User Exits or BAdI's
    3) FM to control the exchange rate date while posting the GR?
    Any pointers regarding this will be appreciated.
    Regards
    Barada

    Hi
    Did you find any solution to your problem? We have similar situation. Here is OSS note 619330 not sure if it will work withut material ledder. Let me know if you have found any alternate

  • Ceartion of User Defined Field in EXCHANGE RATE AND INDEXES

    Hi Experts,
                     I want to create  User Defined Field in EXCHANGE RATE AND INDEXES.But while creating the UDF from User Defined Field-Management unable to find the table for it.Write now My Client are using SAP B1 2007 Ptach-08.Is there any way out to create user defined field in EXCHANGE RATE AND INDEXES.
    Plz help me out on this issue.
    with regards,
    Pankaj K and Kamlesh N

    Pankaj,
    When you do the Manage User Fields area to define a UDF, all the possible areas where UDF's can be created in B1 is listed.  You would be able to create UDF's only on these.
    Suda

  • Exit for checking Exchange Rate in ME21N(Only for Import PO)

    Hi,
    Could you pls tel me User Exit/BADI for transaction ME21N to check the Exch Rate Fixed In Delivery/Invoice tab for Import Document Type.
    Thanks in Advance..
    Nithy

    Hi,
    This is the list of exits for ME21N.
    AMPL0001            User subscreen for additional data on AMPL
    LMEDR001            Enhancements to print program
    LMELA002            Adopt batch no. from shipping notification when posting a
    LMELA010            Inbound shipping notification: Transfer item data from ID
    LMEQR001            User exit for source determination
    LMEXF001            Conditions in Purchasing Documents Without Invoice Receip
    LWSUS001            Customer-Specific Source Determination in Retail
    M06B0001            Role determination for purchase requisition release
    M06B0002            Changes to comm. structure for purchase requisition relea
    M06B0003            Number range and document number
    M06B0004            Number range and document number
    M06B0005            Changes to comm. structure for overall release of requisn
    M06E0004            Changes to communication structure for release purch. doc
    M06E0005            Role determination for release of purchasing documents
    ME590001            Grouping of requsitions for PO split in ME59
    MEETA001            Define schedule line type (backlog, immed. req., preview)
    MEFLD004            Determine earliest delivery date f. check w. GR (only PO)
    MELAB001            Gen. forecast delivery schedules: Transfer schedule imple
    MEQUERY1            Enhancement to Document Overview ME21N/ME51N
    MEVME001            WE default quantity calc. and over/ underdelivery toleran
    MM06E001            User exits for EDI inbound and outbound purchasing docume
    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 orde
    MM06E009            Relevant texts for "Texts exist" indicator
    MM06E010            Field selection for vendor address
    MM06E011            Activate PReq Block
    MMAL0001            ALE source list distribution: Outbound processing
    MMAL0002            ALE source list distribution: Inbound processing
    MMAL0003            ALE purcasing info record distribution: Outbound processi
    MMAL0004            ALE purchasing info record distribution: Inbound processi
    MMDA0001            Default delivery addresses
    MMFAB001            User exit for generation of release order
    MRFLB001            Control Items for Contract Release Order
    Regards
    Rajesh Kumar

  • Stop user to change predefined exchange rate

    Dear all,
    I want to restrict all the to change exchange rate while I am dealing with foreign customer/vendor.
    When I choose a foreign customer in sale order, it shows Doc Rate in editable format, so user
    can make change. But I want restriction, what can i do for this?
    Thanks & Regards
    Annu

    Hello Annu,
    Try this...on Sales order
    IF (@object_type = '17' AND (@transaction_type = 'A' Or @transaction_type = 'U'))
    BEGIN
    Declare @DateRateMaster as Nvarchar(20)
    Declare @RateOnDocument as Nvarchar(20)
    Set @DateRateMaster = (Select Rate from ORTT where RateDate =(Select DocDate from ORDR where DocEntry = @list_of_cols_val_tab_del And Currency =(Select DocCur from ORDR where DocEntry = @list_of_cols_val_tab_del) ))
    Set @RateOnDocument = (Select DocRate from ORDR where DocEntry = @list_of_cols_val_tab_del)
    if @DateRateMaster <> @RateOnDocument
    Begin
    set @error =1
    set @error_message = 'You can not Change Rate, Rate is :- ' + @DateRateMaster
    End
    END
    Thanks
    Manvendra Singh Niranjan

  • Dumb question about E messages generated in user exits called from dialogs

    After a user enters goods receipt info in MIGO and hits POST, there is a user exit (EXIT_SAPLIE01_007) which receives a copy of the goods receipt table (xmseg) from MIGO and lets you do whatever you want before the MIGO update task is called.  In other words, you're still in the MIGO dialog process.
    I have successfully used this exit before to pop an editable ALV that lets the user enter custom data per line item, and then store this data in memory so it can be accessed in MB_DOCUMENT_BADI or in the equivalent XMBC exit (enhancement MB_CF001).
    But here's my question.
    Suppose I generate an "E" message in EXIT_SAPLIE01_007. 
    Will this stop the MIGO "POST" so that the update task isn't called?
    And will the text of the "E" message be displayed at the bottom of the main MIGO screen (the one you hit "POST" from) ????
    Edited by: David Halitsky on Feb 21, 2008 9:03 PM
    Edited by: David Halitsky on Feb 21, 2008 9:04 PM

    Hi David,
    it seems that you will get it:
    E in Status bar
    +behaviour:     +
    PAI processing is terminated, and control returns to the current screen. All of the screen fields for which there is a FIELD or CHAIN statement are ready for input. The user must enter a new value. The system then restarts PAI processing for the screen using the new values. Error messages are not possible in POH or POV processing. Instead, a runtime error occurs.
    according to help [http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaabc35c111d1829f0000e829fbfe/frameset.htm|http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbaabc35c111d1829f0000e829fbfe/frameset.htm]
    best regards,
    Wojciech

  • Help in User Exit MV45AFZB

    Hi,
    We have a User Exit for SO, MV45AFZB.
    We want to insert a condition in it that when we change the plant, new pricing should be carried out..
    Please let me know where i should check the condition, in Form  USEREXIT_CHECK_VBAP or Form  USEREXIT_NEW_PRICING_VBKD... because plant shows in VBAP table and pricing table have another...
    what should be code for this...
    Regards...

    Duplicated post?
    [Problem in User Exit MV45AFZB - USEREXIT_NEW_PRICING_VBKD;
    Regards,
    Andrea

  • Information on user exits

    hi all ,
           i want to learn user exits , how to  use them and what are the uses of user exit ... can any one tell me the best link or documentation to learn user exits from the basics..
    it will be great favour and person will be rewarded with points
    Thanks and regards
    nikesh kumar

    check the foll link,
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    also refer
    http://www.sap-img.com/abap/what-is-user-exits.htm
    Creating menu exits
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/19762743b111d1896f0000e8322d00/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/83/7a18cbde6e11d195460000e82de14a/frameset.htm
    For screen exits.
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    chech these links for user exists its usefull
    http://www.allsaplinks.com/user_exit.html
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/561602545a11d1a7020000e829fd11/frameset.htm
    http://www.sap-basis-abap.com/sapab013.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    refer
    just refer to the link below for step by step procedure with screen shots
    http://www.sapmaterial.com/?gclid=CN322K28t4sCFQ-WbgodSGbK2g
    Check this link:
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975e643b111d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb2d40358411d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/10/e7dbde82ba11d295a40000e8353423/content.htm
    http://fuller.mit.edu/tech/dialog_programming.html
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
    Also, refer this:
    Overview
    R/3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it. Enhancements were new in release 3.0.
    The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.
    The older User Exits in FI/CO are "Z" programs that are defined in table T80D for client-dependent user exits, and in table T80I for client-independent user exits. These are also used to expand the standard functionality within the FI/CO modules. These User Exits have been available since the early releases of SAP. All of these FI/CO User Exits are listed in this document in the Configuring User Exits (Older). The list is included because these User Exits are not a part of the Enhancements or Business Transaction Events and do not have an Info System for searching.
    Benefits• Standard SAP functionality can be enhanced without modification to the standard code.
    • Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The enhancements should be thoroughly tested when upgrading to ensure the system will still work as implemented.
    Configuring SAP Enhancements
    Basic Steps in Configuring an Enhancement
    • Find the appropriate Enhancement.
    • Enter the ABAP code in the "Z" program within the function module.
    • Create a project.
    • Add the Enhancement to the project.
    • Activate the project.
    Example Business Scenario for Enhancements
    Company A has a requirement to validate all customer master records created with a U.S. address. The U.S. entity reports on the industry field on the customer master. This is only a U.S. requirement and should not be required for the other countries, so the field status would not work. To accomplish this requirement, Company A will need to set up an Enhancement for the customer master transaction. The necessary steps are detailed below with screenprints. This example was configured in a 4.6C system.
    Detailed Steps
    1. Tools ABAP Workbench Utilities Enhancements Definition Utilities List Enhancements
    2. Do not execute this without any parameters! There are too many Enhancements and it will probably time out. You’re searching for a customer master exit. Enter mast in the short text (see Figure 1). You’ll start there. Searching for an exit can be tricky, so make sure you try several things before giving up.
    3. Execute the search.
    Start Your Search for a Master Exit Here
    4. Look through the list until you find the Enhancement for User exits: Customer Master Data.
    5. Double-click on the enhancement SAPMF02D. This will take you to the details of the Enhancement and list the function modules included in the Enhancement.
    6. To continue, double-click on the function module EXIT_SAPMF02D_001
    7. This will take you to the source code for the function module. Click on the Import tab to review the tables/fields that are available for the Enhancement
    The Tables That Are Available for the Enhancement
    8. To view the tables/fields that can be changed in the function module, click on the Export and Changing tabs. For this function module, these tabs are empty because you can only validate data. You cannot change any fields in this enhancement.
    9. Return to the Source Code tab.
    10. Scroll down until you see the Include statement in the program. The "Z" program listed after the Include is where your code will be written
    Your Program Will Begin After the Include Statement
    11. Double-click on the Include. You will be prompted to create the include. Click on Yes to create.
    12. At this point you will be prompted to enter a development class and to create a transport request. If you do not know which development class to use, please contact your technical team.
    13. Enter the following ABAP code into the program
    User exit to ensure that all US customers have a group key
    entered on the customer master.
    if i_kna1-land1 = 'US' and
    i_kna1-brsch = ' '.
    message e001(F2).
    endif.
    The ABAP Code You Need to Enter
    14. Note that the table name matches the table name in the import tab tables.
    15. In this example you are using the standard message class F2 with message number 001. Normally, you will create your own message within your own message class. All customer message classes must begin with a "Z" and are created in transaction SE91.
    16. Save the program.
    17. The next step is to create the project. Go to transaction code CMOD or follow menu path: Tools ABAP Workbench Utilities Enhancements Project Management.
    18. Enter the project name; begin the name with a "Z."
    19. Click on the Create button.
    Click on Create After You Type in the Project Name
    20. Enter in a description for the project.
    21. Click on the Enhancement Assignments button.
    22. You will be prompted to save the enhancement. Click on Yes.
    23. At this point you will be asked for a development class and to create a transport for the project. You may use the same one created when adding the ABAP code to the function module.
    24. Enter the name of the enhancement SAPMF02D (see Figure 6).
    Enter the Name of the Enhancement Here
    25. Save the project.
    26. Back out of the enhancement assignment.
    27. Activate the project by hitting the Activate button.
    The SAP Enhancement is ready to be tested! Try creating a customer with U.S. as the country and a blank group key. Be sure to test one with a group key to make sure the message is not displayed in error as well.
    Configuring Business Transaction Events
    Basic Steps in Configuring an Event
    • Make sure the application is active for Business Transaction Events.
    • Copy the sample interface function module into a "Z" function module.
    • Enter the ABAP code into the source code section of the new "Z" function module. You may choose to create a "Z" program to enter the code into and then insert the "Z" program into your function module source code.
    • Activate the function module.
    • Assign the function module to the event, country and application.
    Example Business Scenario for Business Transaction Events
    Company A would like to copy the group key field from the vendor master into the allocation field on all the line items within a vendor invoice and payments, including the vendor lines. This requirement assumes only one vendor is posted to in a document.
    To accomplish this requirement, Company A will use the Business Transaction Event 1130, Post Document: SAP Internal Field Substitution.
    1. IMG Menu Path: Financial Accounting Financial Accounting Global Settings Use Business Transaction Events Environment Infosystem (Processes).
    2. Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Publish and Subscribe Info System.
    3. Execute the search with the defaults.
    4. Find the correct interface for updating a document: Post Document: SAP- Internal Field Substitution
    Find the Correct Interface for the Business Event
    5. Put your cursor on the event and click on the Sample Function Module button.
    6. You are now in transaction SE37 – Function Builder. This is the function module (sample_process_00001130) you will need to copy into a "Z" name function module for your coding
    Figure 8. This Is the Function Module You Need to Copy Your "Z" Name Function Module
    7. Click on the Copy button.
    8. Enter the "Z" function module name in the To Function Module field
    9. Enter a Function Group. If you need to create a "Z" function group, go to transaction code SE37 and follow menu path: Go to Function Groups Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
    Enter Your "Z" Function Module Name Here
    10. In Function Builder (transaction SE37), enter the new "Z" function module. Click on the Change button.
    11. The system will default into the source code screen where you may enter your ABAP code.
    12. Notice the tables available for the code. Additional tables may be declared if necessary.
    13. Enter the following source code
    tables: lfa1.
    data: z_groupkey like lfa1-konzs.
    z_groupkey = ' '.
    loop at t_bseg.
    check for vendor lines. If one is found, read the vendor master and
    retrieve the group key field.
    if t_bseg-koart eq 'K'.
    select single konzs from lfa1 into z_groupkey
    where lifnr = t_bseg-lifnr.
    endif.
    Move the group key field into all line items allocation field.
    loop at t_bsegsub.
    t_bsegsub-zuonr = z_groupkey.
    modify t_bsegsub index sy-tabix.
    endloop. "t_bsegsub
    endloop. "t_bseg
    The Screen Where You Enter Your Source Code
    14. Save the function module.
    15. Back out to the main Function Builder screen by clicking on the green arrow button.
    16. Activate the function module by clicking on the Activate button
    . Activate the Function Module from This Screen
    17. Assign the function module to the event in the IMG: Financial Accounting Financial Accounting Global Settings Business Transaction Events Settings Process Function Modules of an SAP Appl.
    18. Hit enter past the warning messages that this is SAP data.
    19. Click on the New Entries button.
    20. Enter the process for your interface. In your example it is 00001130.
    21. Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.
    22. Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transactions are programmed to go through these interfaces! You will need to test to find out!
    23. Enter the new "Z" function module
    Enter Your New "Z" Function Module Here
    24. Save the settings. At this point you will be prompted for a CTS number for the configuration change.
    25. The Business Transaction Event is complete! You are ready for testing.
    Configuring User Exits (Older)
    Basic Steps in Configuring an User Exit
    • Create a "Z" program for the User Exits and enter the necessary ABAP code.
    • Enter the new program name into table T80D.
    • Configure the application to call the User Exit.
    List of User Exits
    • Variable Field Movements
    • Substitutions in FI, CO, PCA
    • Validations in FI, CO, PCA
    • Rollups in SPL
    • Fixed Field Movements in SPL
    • Cost Center Summarization on Detail Screen
    • Sets Formula Variables
    Example Business Scenario for User Exits
    Company A would like to add a "Z" field in the Special Purpose Ledger to capture a Business Unit field for reporting. They have used all the standard SAP fields such as Business Area and Profit Center. The field will only be used for reporting and is only needed in the Special Purpose Ledger. You created a special ledger table (ZZSPL1) with field Z_BUNIT and need to populate this field based on a combination of G/L account, fund and functional area.
    To accomplish this requirement, Company A will use the Variable Field Movement User Exit. To make maintenance easier, table ZZBUSUNIT was created with the G/L account, fund and functional area fields as key fields, and the business unit field as a non-key field. You generated the table maintenance so the table could be updated using transaction SM30. SAP users update the business unit determination rules in table ZZBUSUNIT by entering the G/L account, fund and functional area, and then the business unit that combination should be posting to. The User Exit will read table ZZBUSUNIT using the G/L account, fund and functional area from the posting transaction and determine the business unit. The steps for using the user exit are detailed below. This example was created on a 4.6C system.
    1. Copy the delivered template User Exit program RGIVU000_TEMPLATE into a "Z" program. Follow menu path Tools ABAP Workbench Development ABAP Editor (transaction code SE38). In early releases, the delivered program was RGIVU000.
    2. You will be prompted for a development class and a transport. Please check with the technical team for the correct development class.
    3. At the initial ABAP Editor screen, enter your new "Z" program name, select the Source Code button and click on Change
    To Enter Your New Code, Select Source Code and Click on the Change Button
    4. Enter the following code in the User Exit (Figure 14):
    FORM E01_MVC USING FROM_FIELD TO_FIELD.
    to_field = 'CORP'. "Set a default business unit.
    read table zzbusunit to determine the business unit field.
    select single z_bunit from zzbusunit into to_field
    where hkont = accit_glx-hkont and
    geber = accit_glx-geber and
    fkber = accit_glx-fkber.
    ENDFORM.
    Figure 14. Enter Your New Code at This Screen.
    5. Activate the program by clicking on the Activate button.
    6. Change the configuration in the User Exit table to point to your new "Z" program.
    7. Follow the IMG menu path: Financial Accounting Special Purpose Ledger Basic Settings User Exits Maintain Client Specific User Exits.
    8. The entry to maintain is application area GIMV: Variable Field Movement. Enter your "Z" program
    Enter Your "Z" Program in the Application Area GIMV: Variable Field Movement
    9. Save the changes.
    10. The final configuration step is to assign the User Exit in the variable field movement for your special ledger table. In the IMG: Financial Accounting &#61664; Special Purpose Ledger &#61664; Basic Settings &#61664; Master Data &#61664; Maintain Field Movements. Field movements control how the fields in a special ledger table are populated. They can be populated straight from other fields in a posting or through User Exits.
    After You Assign the Business Unit Field and the G/L Account, the Exit Field Should Contain U01.
    11. Assign the business unit field as a receiver and the G/L account as the sender. The Exit field should contain U01 (see Figure 16).
    12. The User Exit number U01 calls User Exit E01_MVC form in the "Z" program.
    13. Save the field movement.
    14. You are ready to test your User Exit!
    Reward points if useful.

  • User exits & varients in SAP

    hi
      i want to know conceptually what are User Exits and  varients , what is the purpose of using these .
       iAftr learing that i want to a practical example on both topics then , if any one have some good material on these plz send me on [email protected]
    thanx

    Hi
    User Exits in FI/CO
    R/3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it. Enhancements were new in release 3.0.
    The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.
    The older User Exits in FI/CO are "Z" programs that are defined in table T80D for client-dependent user exits, and in table T80I for client-independent user exits. These are also used to expand the standard functionality within the FI/CO modules. These User Exits have been available since the early releases of SAP. All of these FI/CO User Exits are listed in this document in the Configuring User Exits (Older). The list is included because these User Exits are not a part of the Enhancements or Business Transaction Events and do not have an Info System for searching.
    Benefits
    •     Standard SAP functionality can be enhanced without modification to the standard code.
    •     Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The enhancements should be thoroughly tested when upgrading to ensure the system will still work as implemented.
    Configuring SAP Enhancements
    Basic Steps in Configuring an Enhancement
    •     Find the appropriate Enhancement.
    •     Enter the ABAP code in the "Z" program within the function module.
    •     Create a project.
    •     Add the Enhancement to the project.
    •     Activate the project.
    Example Business Scenario for Enhancements
    Company A has a requirement to validate all customer master records created with a U.S. address. The U.S. entity reports on the industry field on the customer master. This is only a U.S. requirement and should not be required for the other countries, so the field status would not work. To accomplish this requirement, Company A will need to set up an Enhancement for the customer master transaction. The necessary steps are detailed below with screenprints. This example was configured in a 4.6C system.
    Detailed Steps
    1.     Tools   ABAP Workbench   Utilities   Enhancements   Definition   Utilities   List Enhancements
    2.     Do not execute this without any parameters! There are too many Enhancements and it will probably time out. You’re searching for a customer master exit. Enter mast in the short text (see Figure 1). You’ll start there. Searching for an exit can be tricky, so make sure you try several things before giving up.
    3.     Execute the search.
    Figure 1. Start Your Search for a Master Exit Here
    4.     Look through the list until you find the Enhancement for User exits: Customer Master Data.
    5.     Double-click on the enhancement SAPMF02D. This will take you to the details of the Enhancement and list the function modules included in the Enhancement.
    6.     To continue, double-click on the function module EXIT_SAPMF02D_001
    7.     This will take you to the source code for the function module. Click on the Import tab to review the tables/fields that are available for the Enhancement (see Figure 2).
    Figure 2. The Tables That Are Available for the Enhancement
    8.     To view the tables/fields that can be changed in the function module, click on the Export and Changing tabs. For this function module, these tabs are empty because you can only validate data. You cannot change any fields in this enhancement.
    9.     Return to the Source Code tab.
    10.     Scroll down until you see the Include statement in the program. The "Z" program listed after the Include is where your code will be written (see Figure 3).
    Figure 3. Your Program Will Begin After the Include Statement
    11.      Double-click on the Include. You will be prompted to create the include. Click on Yes to create.
    12.      At this point you will be prompted to enter a development class and to create a transport request. If you do not know which development class to use, please contact your technical team.
    13.     Enter the following ABAP code into the program (Figure 4):
    User exit to ensure that all US customers have a group key
    entered on the customer master.
    if i_kna1-land1 = 'US' and
    i_kna1-brsch = ' '.
    message e001(F2).
    endif.
    Figure 4. The ABAP Code You Need to Enter
    14.      Note that the table name matches the table name in the import tab tables.
    15.      In this example you are using the standard message class F2 with message number 001. Normally, you will create your own message within your own message class. All customer message classes must begin with a "Z" and are created in transaction SE91.
    16.     Save the program.
    17.     The next step is to create the project. Go to transaction code CMOD or follow menu path: Tools   ABAP Workbench   Utilities   Enhancements   Project Management.
    18.     Enter the project name; begin the name with a "Z."
    19.     Click on the Create button.
    Figure 5. Click on Create After You Type in the Project Name
    20.      Enter in a description for the project.
    21.      Click on the Enhancement Assignments button.
    22.      You will be prompted to save the enhancement. Click on Yes.
    23.      At this point you will be asked for a development class and to create a transport for the project. You may use the same one created when adding the ABAP code to the function module.
    24.     Enter the name of the enhancement SAPMF02D (see Figure 6).
    Figure 6. Enter the Name of the Enhancement Here
    25.     Save the project.
    26.     Back out of the enhancement assignment.
    27.     Activate the project by hitting the Activate button.
    The SAP Enhancement is ready to be tested! Try creating a customer with U.S. as the country and a blank group key. Be sure to test one with a group key to make sure the message is not displayed in error as well.
    Configuring Business Transaction Events
    Basic Steps in Configuring an Event
    •     Make sure the application is active for Business Transaction Events.
    •     Copy the sample interface function module into a "Z" function module.
    •     Enter the ABAP code into the source code section of the new "Z" function module. You may choose to create a "Z" program to enter the code into and then insert the "Z" program into your function module source code.
    •     Activate the function module.
    •     Assign the function module to the event, country and application.
    Example Business Scenario for Business Transaction Events
    Company A would like to copy the group key field from the vendor master into the allocation field on all the line items within a vendor invoice and payments, including the vendor lines. This requirement assumes only one vendor is posted to in a document.
    To accomplish this requirement, Company A will use the Business Transaction Event 1130, Post Document: SAP Internal Field Substitution.
    1.     IMG Menu Path: Financial Accounting   Financial Accounting Global Settings   Use Business Transaction Events   Environment   Infosystem (Processes).
    2.     Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Publish and Subscribe Info System.
    3.     Execute the search with the defaults.
    4.     Find the correct interface for updating a document: Post Document: SAP- Internal Field Substitution (see Figure 7).
    Figure 7. Find the Correct Interface for the Business Event
    5.     Put your cursor on the event and click on the Sample Function Module button.
    6.     You are now in transaction SE37 – Function Builder. This is the function module (sample_process_00001130) you will need to copy into a "Z" name function module for your coding (see Figure 8).
    Figure 8. This Is the Function Module You Need to Copy Your "Z" Name Function Module
    7.     Click on the Copy button.
    8.     Enter the "Z" function module name in the To Function Module field (see Figure 9).
    9.     Enter a Function Group. If you need to create a "Z" function group, go to transaction code SE37 and follow menu path: Go to   Function Groups   Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
    Figure 9. Enter Your "Z" Function Module Name Here
    10.     In Function Builder (transaction SE37), enter the new "Z" function module. Click on the Change button.
    11.     The system will default into the source code screen where you may enter your ABAP code.
    12.     Notice the tables available for the code. Additional tables may be declared if necessary.
    13.     Enter the following source code (see Figure 10):
    tables: lfa1.
    data: z_groupkey like lfa1-konzs.
    z_groupkey = ' '.
    loop at t_bseg.
    check for vendor lines. If one is found, read the vendor master and
    retrieve the group key field.
    if t_bseg-koart eq 'K'.
      select single konzs from lfa1 into z_groupkey
        where lifnr = t_bseg-lifnr.
    endif.
    Move the group key field into all line items allocation field.
    loop at t_bsegsub.
      t_bsegsub-zuonr = z_groupkey.
      modify t_bsegsub index sy-tabix.
    endloop. "t_bsegsub
    endloop. "t_bseg
    Figure 10. The Screen Where You Enter Your Source Code
    14.     Save the function module.
    15.     Back out to the main Function Builder screen by clicking on the green arrow button.
    16.     Activate the function module by clicking on the Activate button (see Figure 11).
    Figure 11. Activate the Function Module from This Screen
    17.     Assign the function module to the event in the IMG: Financial Accounting   Financial Accounting Global Settings   Business Transaction Events   Settings   Process Function Modules   of an SAP Appl.
    18.     Hit enter past the warning messages that this is SAP data.
    19.     Click on the New Entries button.
    20.     Enter the process for your interface. In your example it is 00001130.
    21.     Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.
    22.     Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transactions are programmed to go through these interfaces! You will need to test to find out!
    23.     Enter the new "Z" function module (see Figure 12).
    Figure 12. Enter Your New "Z" Function Module Here
    24.     Save the settings. At this point you will be prompted for a CTS number for the configuration change.
    25.     The Business Transaction Event is complete! You are ready for testing.
    Configuring User Exits (Older)
    Basic Steps in Configuring an User Exit
    •     Create a "Z" program for the User Exits and enter the necessary ABAP code.
    •     Enter the new program name into table T80D.
    •     Configure the application to call the User Exit.
    List of User Exits
    •     Variable Field Movements
    •     Substitutions in FI, CO, PCA
    •     Validations in FI, CO, PCA
    •     Rollups in SPL
    •     Fixed Field Movements in SPL
    •     Cost Center Summarization on Detail Screen
    •     Sets Formula Variables
    Example Business Scenario for User Exits
    Company A would like to add a "Z" field in the Special Purpose Ledger to capture a Business Unit field for reporting. They have used all the standard SAP fields such as Business Area and Profit Center. The field will only be used for reporting and is only needed in the Special Purpose Ledger. You created a special ledger table (ZZSPL1) with field Z_BUNIT and need to populate this field based on a combination of G/L account, fund and functional area.
    To accomplish this requirement, Company A will use the Variable Field Movement User Exit. To make maintenance easier, table ZZBUSUNIT was created with the G/L account, fund and functional area fields as key fields, and the business unit field as a non-key field. You generated the table maintenance so the table could be updated using transaction SM30. SAP users update the business unit determination rules in table ZZBUSUNIT by entering the G/L account, fund and functional area, and then the business unit that combination should be posting to. The User Exit will read table ZZBUSUNIT using the G/L account, fund and functional area from the posting transaction and determine the business unit. The steps for using the user exit are detailed below. This example was created on a 4.6C system.
    1.     Copy the delivered template User Exit program RGIVU000_TEMPLATE into a "Z" program. Follow menu path Tools   ABAP Workbench   Development   ABAP Editor (transaction code SE38). In early releases, the delivered program was RGIVU000.
    2.     You will be prompted for a development class and a transport. Please check with the technical team for the correct development class.
    3.     At the initial ABAP Editor screen, enter your new "Z" program name, select the Source Code button and click on Change (see Figure 13).
    Figure 13. To Enter Your New Code, Select Source Code and Click on the Change Button
    4.     Enter the following code in the User Exit (Figure 14):
    FORM E01_MVC USING FROM_FIELD TO_FIELD.
    to_field = 'CORP'. "Set a default business unit.
    read table zzbusunit to determine the business unit field.
    select single z_bunit from zzbusunit into to_field
       where hkont = accit_glx-hkont and
        geber = accit_glx-geber and
        fkber = accit_glx-fkber.
    ENDFORM.
    Figure 14. Enter Your New Code at This Screen.
    5.     Activate the program by clicking on the Activate button.
    6.     Change the configuration in the User Exit table to point to your new "Z" program.
    7.     Follow the IMG menu path: Financial Accounting   Special Purpose Ledger   Basic Settings   User Exits   Maintain Client Specific User Exits.
    8.     The entry to maintain is application area GIMV: Variable Field Movement. Enter your "Z" program (see Figure 15).
    Figure 15. Enter Your "Z" Program in the Application Area GIMV: Variable Field Movement
    9.     Save the changes.
    10.     The final configuration step is to assign the User Exit in the variable field movement for your special ledger table. In the IMG: Financial Accounting &#61664; Special Purpose Ledger &#61664; Basic Settings &#61664; Master Data &#61664; Maintain Field Movements. Field movements control how the fields in a special ledger table are populated. They can be populated straight from other fields in a posting or through User Exits.
    Figure 16. After You Assign the Business Unit Field and the G/L Account, the Exit Field Should Contain U01.
    11.     Assign the business unit field as a receiver and the G/L account as the sender. The Exit field should contain U01 (see Figure 16).
    12.     The User Exit number U01 calls User Exit E01_MVC form in the "Z" program.
    13.     Save the field movement.
    14.     You are ready to test your User Exit!

  • User exit / badi for txn: FBCJ

    Hi experts,
    After posting FBCJ entry we are passing one more entry with FB01,
    My requirement is to automate the entry from FBCJ.
    Can we pass FB01 entry as soon as we post FBCJ  by using user exit / badi.
    I tried the badi "CJ_DOCUMENT" but it fails even after activating it.
    Thanks
    Ganesh
    Edited by: Ganesh Modhave on Sep 4, 2008 9:06 AM

    hello,
    just check out the BADI CJ_DOCUMENT for tcode FBCJ if this suits ur requirement.
    Regards,
    Sagar.

  • User-exit to Update stock category in MB1B

    I need to cross-check & then change the value of the stock category(MSEG-J_4KSCA) if needed, before doing the posting in MB1B.
    User-exits/BADIs that i have tried do not allow to change this value in the material document before posting. The material document created in MB03 still retains the original value.
    User-exits:
    MBCF0002
    MBCF0005
    MBCF0006
    MBCF0007
    MBCF0009
    MBCF0010
    MBCF0011
    MB_CF001
    BADIs:
    MB_DOCUMENT_BADI_SAP
    MB_DOCUMENT_BADI
    MB_DOCUMENT_UPDATE etc...
    Can anyone please advise?

    I need to cross-check & then change the value of the stock category(MSEG-J_4KSCA) if needed, before doing the posting in MB1B.
    User-exits/BADIs that i have tried do not allow to change this value in the material document before posting. The material document created in MB03 still retains the original value.
    User-exits:
    MBCF0002
    MBCF0005
    MBCF0006
    MBCF0007
    MBCF0009
    MBCF0010
    MBCF0011
    MB_CF001
    BADIs:
    MB_DOCUMENT_BADI_SAP
    MB_DOCUMENT_BADI
    MB_DOCUMENT_UPDATE etc...
    Can anyone please advise?

  • MD01 - USER EXIT

    Hi Abapers,
             inthe MD01 window (Transaction Code),
    <b>User exit select materials for planning</b> selection part,
    I want to find out where saved user exit keys and where the user exit parameters against the user exit key.

    Hi Nelson,
    Please check this user exits.
    EXIT_SAPMM61X_001: MRP run normal (enhancementM61X0001)
    EXIT_SAPLM61C_001: MRP run parallel (enhancement M61X0001)
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Exchange rate gain /loss is not posted in the contract

    Hi Sap People,
    Exchange rate gain /loss is not posted in the contract(cashflows). This is w.r.t  SAP Banking Module.
    The open items are posted with a certain exchange rate in the contract at the time of disburesment,while clearing thru FF68(incoming payment) with a new exchange rate the items
    are cleared with the same exchange rate and the Exchange gain/loss is posted as zero.
    Regards
    Ravi

    Hi,
    Check the exchange rate type for the disbursement.  It is M for FF68.  Check in configuration the exchange rate type.  Also check the exchange rates maintained in OB08 for this exchange rate type and confirm if there is any difference.
    Is it Loans module?
    Regards,
    Ravishankar

Maybe you are looking for