User Exit/ Enahancement/BADI in the sales order creation process

Hi,
We have an EDI  process for creating a sales order, we want to change one of the partners on some of the lines according to the document type,
We know how to do it using the MV45AFZZ user exits but we want to do it using a BADI or an Enhancement,
Can anyone help us find a User Exit/ Enahancement/BADI ?
Thanks,
Mickey

Hi,
Thanks for the quick  answer,
i created an implementation for this BADI and put a break point there but it didnt stop there,
i also tried a break point on FM "SXV_GET_CLIF_BY_NAME" to see if this BADI is on the list but i didnt find it,
i tried creating the sales order via VA01 and via the IDOC process,
Thanks,
Mickey

Similar Messages

  • User Exits or BAdis' for the Service Order create Transaction

    Hi all,
              I need to Replace a field, "Product" in the "Item Details" area  of the create Service Order Transaction(CRMD_BUS2000116) with some custom field.
    Are there any Exits/BAdi which will help me in doing this..
    Thanks in advance
    Sethu

    Hi Sethu,
    The user exits / BADI's for the Transaction(CRMD_BUS2000116 are not avaliable:
    The following info from one forum to search user exits / BADI's  that you can use: There are multiple ways of searching for BADI.
    • <b>Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
    • Finding BADI Using SQL Trace (TCODE-ST05).
    • Finding BADI Using Repository Information System (TCODE- SE84).</b>
    1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for ‘CL_EXITHANDLER=>GET_INSTANCE’.
    Make sure the radio button “In main program” is checked. A list of all the programs with call to the BADI’s will be listed.
    The export parameter ‘EXIT_NAME’ for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter ‘INSTANCE’ will have the interface assigned to it. Double click on the method to enter the source code.
    Definition of Instance would give you the Interface name.
    2. Start transaction ST05 (Performance Analysis).
    Set flag field "Buffer trace"
    Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
    Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
    Push the button "Deactivate Trace".
    Push the button "Display Trace".
    The popup screen "Set Restrictions for Displaying Trace" appears.
    Now, filter the trace on Objects:
    • V_EXT_IMP
    • V_EXT_ACT
    Push button "Multiple selections" button behind field Objects
    Fill: V_EXT_IMP and V_EXT_ACT
    All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
    So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
    3. Go to “Maintain Transaction” (TCODE- SE93).
    Enter the Transaction VD02 for which you want to find BADI.
    Click on the Display push buttons.
    Get the Package Name. (Package VS in this case)
    <b>Go to TCode: SE84->Enhancements->Business Add-inns->Definition</b>
    Enter the Package Name and Execute.
    Here you get a list of all the Enhancement BADI’s for the given package MB.
    Also have a look at below report which will list BADIs.
    REPORT  Z_FIND_USER_EXITS.
    TABLES : TSTC,TADIR,MODSAPT,MODACT,TRDIR,TFDIR,ENLFDIR,SXS_ATTRT ,TSTCT.
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE,
                 P_PGMNA LIKE TSTC-PGMNA .
    DATA wa_tadir type tadir.
    START-OF-SELECTION.
      IF NOT P_TCODE IS INITIAL.
        SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
      ELSEIF NOT P_PGMNA IS INITIAL.
        TSTC-PGMNA = P_PGMNA.
      ENDIF.
      IF SY-SUBRC EQ 0.
        SELECT SINGLE * FROM TADIR
        WHERE PGMID = 'R3TR'
        AND OBJECT = 'PROG'
        AND OBJ_NAME = TSTC-PGMNA.
        MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
        IF SY-SUBRC NE 0.
          SELECT SINGLE * FROM TRDIR
          WHERE NAME = TSTC-PGMNA.
          IF TRDIR-SUBC EQ 'F'.
            SELECT SINGLE * FROM TFDIR
            WHERE PNAME = TSTC-PGMNA.
            SELECT SINGLE * FROM ENLFDIR
            WHERE FUNCNAME = TFDIR-FUNCNAME.
            SELECT SINGLE * FROM TADIR
            WHERE PGMID = 'R3TR'
            AND OBJECT = 'FUGR'
            AND OBJ_NAME EQ ENLFDIR-AREA.
            MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
          ENDIF.
        ENDIF.
        SELECT * FROM TADIR INTO TABLE JTAB
        WHERE PGMID = 'R3TR'
        AND OBJECT in ('SMOD', 'SXSD')
        AND DEVCLASS = V_DEVCLASS.
        SELECT SINGLE * FROM TSTCT
        WHERE SPRSL EQ SY-LANGU
        AND TCODE EQ P_TCODE.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) P_TCODE,
        45(50) TSTCT-TTEXT.
        SKIP.
        IF NOT JTAB[] IS INITIAL.
          WRITE:/(105) SY-ULINE.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
          sort jtab by OBJECT.
          data : wf_txt(60) type c,
          wf_smod type i ,
          wf_badi type i ,
          wf_object2(30) type C.
          clear : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
          LOOP AT JTAB into wa_tadir.
            at first.
              FORMAT COLOR COL_HEADING INTENSIFIED ON.
              WRITE:/1 SY-VLINE,
              2 'Enhancement/ Business Add-in',
              41 SY-VLINE ,
              42 'Description',
              105 SY-VLINE.
              WRITE:/(105) SY-ULINE.
            endat.
            clear wf_txt.
            at new object.
              if wa_tadir-object = 'SMOD'.
                wf_object2 = 'Enhancement' .
              elseif wa_tadir-object = 'SXSD'.
                wf_object2 = ' Business Add-in'.
              endif.
              FORMAT COLOR COL_GROUP INTENSIFIED ON.
              WRITE:/1 SY-VLINE,
              2 wf_object2,
              105 SY-VLINE.
            endat.
            case wa_tadir-object.
              when 'SMOD'.
                wf_smod = wf_smod + 1.
                SELECT SINGLE MODTEXT into wf_txt
                FROM MODSAPT
                WHERE SPRSL = SY-LANGU
                AND NAME = wa_tadir-OBJ_NAME.
                FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
              when 'SXSD'.
    For BADis
                wf_badi = wf_badi + 1 .
                select single TEXT into wf_txt
                from SXS_ATTRT
                where sprsl = sy-langu
                and EXIT_NAME = wa_tadir-OBJ_NAME.
                FORMAT COLOR COL_NORMAL INTENSIFIED ON.
            endcase.
            WRITE:/1 SY-VLINE,
            2 wa_tadir-OBJ_NAME hotspot on,
            41 SY-VLINE ,
            42 wf_txt,
            105 SY-VLINE.
            AT END OF object.
              write : /(105) sy-ULINE.
            ENDAT.
          ENDLOOP.
          WRITE:/(105) SY-ULINE.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No.of Exits:' , wf_smod.
          WRITE:/ 'No.of BADis:' , wf_badi.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(105) 'No userexits or BADis exist'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(105) 'Transaction does not exist'.
      ENDIF.
    AT LINE-SELECTION.
      data : wf_object type tadir-object.
      clear wf_object.
      GET CURSOR FIELD FIELD1.
      CHECK FIELD1(8) EQ 'WA_TADIR'.
      read table jtab with key obj_name = sy-lisel+1(20).
      move jtab-object to wf_object.
      case wf_object.
        when 'SMOD'.
          SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
          CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
        when 'SXSD'.
          SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
          CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
      endcase.
    Hope it will help you.
    Regards,
    Arjun
    <b>Reward points if it helps</b>

  • What are the User Exits for Sales Order creation process?

    Hi,
    what are the User Exits for Sales Order creation process? how can I find them?
    thanks in advance,
    will reward,
    Mindaugas

    Please check this info:
    User Exits In Sales Document Processing
    This IMG step describes additional installation-specific processing in sales document processing. In particular, the required INCLUDES and user exits are described.
    Involved program components
    System modifications for sales document processing affect different areas. Depending on the modification, you make the changes in the program components provided:
    MV45ATZZ
    For entering metadata for sales document processing. User-specific metadata must start with "ZZ".
    MV45AOZZ
    For entering additional installation-specific modules for sales document processing which are called up by the screen and run under PBO (Process Before Output) prior to output of the screen. The modules must start with "ZZ".
    MV45AIZZ
    For entering additional installation-specific modules for sales document processing. These are called up by the screen and run under PAI (Process After Input) after data input (for example, data validation). The modules must start with "ZZ".
    MV45AFZZ and MV45EFZ1
    For entering installation-specific FORM routines and for using user exits, which may be required and can be used if necessary. These program components are called up by the modules in MV45AOZZ or MV45AIZZ.
    User exits in the program MV45AFZZ
    The user exits which you can use for modifications in sales document processing are listed below.
    USEREXIT_DELETE_DOCUMENT
    This user exit can be used for deleting data which was stored in a separate table during sales document creation, for example, if the sales document is deleted.
    For example, if an additional table is filled with the name of the person in charge (ERNAM) during order entry, this data can also be deleted after the sales order has been deleted.
    The user exit is called up at the end of the FORM routine BELEG_LOESCHEN shortly before the routine BELEG_SICHERN.
    USEREXIT_FIELD_MODIFICATION
    This user exit can be used to modify the attributes of the screen fields.
    To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can be edited together during a modification in ABAP. If a field has no field name, it cannot be allocated to a group.
    The usage of the field groups (modification group 1-4) is as follows:
    Modification group 1: Automatic modification with transaction MFAW
    Modification group 2: It contains 'LOO' for step loop fields
    Modification group 3: For modifications which depend on check tables or on other fixed information
    Modification group 4: is not used
    The FORM routine is called up for every field of a screen. If you require changes to be made, you must make them in this user exit.
    This FORM routine is called up by the module FELDAUSWAHL.
    See the Screen Painter manual for further information on structuring the interface.
    USEREXIT_MOVE_FIELD_TO_VBAK
    Use this user exit to assign values to new fields at sales document header level. It is described in the section "Transfer of the customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAK_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBAP
    Use this user exit to assign values to new fields at sales document item level. It is described in the section "Copy customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBEP
    Use this user exit to assign values to new fields at the level of the sales document schedule lines.
    The user exit is called up at the end of the FORM routine VBEP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBKD
    Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer master fields into sales document".
    The user exit is called up at the end of the FORM routine VBKD_FUELLEN.
    USEREXIT_NUMBER_RANGE
    Use this user exit to define the number ranges for internal document number assignment depending on the required fields. For example, if you want to define the number range depending on the sales organization (VKORG) or on the selling company (VKBUR), use this user exit.
    The user exit is called up in the FORM routine BELEG_SICHERN.
    USEREXIT_PRICING_PREPARE_TKOMK
    Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.
    USEREXIT_PRICING_PREPARE_TKOMP
    Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.
    USEREXIT_READ_DOCUMENT
    You use this user exit if further additional tables are to be read when importing TA01 or TA02.
    The user exit is called up at the end of the FORM routine BELEG_LESEN.
    USEREXIT_SAVE_DOCUMENT
    Use this user exit to fill user-specific statistics update tables.
    The user exit is called up by the FORM routine BELEG-SICHERN before the COMMIT command.
    Note
    If a standard field is changed, the field r185d-dataloss is set to X. The system queries this indicator at the beginning of the safety routine. This is why this indicator must also be set during the maintenance of user-specific tables that are also to be saved.
    USEREXIT_SAVE_DOCUMENT_PREPARE
    Use this user exit to make certain changes or checks immediately before saving a document. It is the last possibility for changing or checking a document before posting.
    The user exit is carried out at the beginning of the FORM routine BELEG_SICHERN.
    User exits in the program MV45AFZA
    USEREXIT_MOVE_FIELD_TO_KOMKD
    Use this user exit to include or assign values to additional header fields in the communication structure KOMKD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMPD
    Use this user exit to include or assign values to additional item fields in the communication structure KOMPD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMKG
    Use this user exit to include or assign values to additional fields in the communication structure KOMKG taken as a basis for material determination and material listing. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_MOVE_FIELD_TO_KOMPG
    Use this user exit to include or assign values to additional fields in the communication structure KOMPG taken as a basis for material determination and material listung. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_REFRESH_DOCUMENT
    With this user exit, you can reset certain customer-specific fields as soon as processing of a sales document is finished and before the following document is edited.
    For example, if the credit limit of the sold-to party is read during document processing, in each case it must be reset again before processing the next document so that the credit limit is not used for the sold-to party of the following document.
    The user exit is executed when a document is saved if you leave the processing of a document with F3 or F15.
    The user exit is called up at the end of the FORM routine BELEG_INITIALISIEREN.
    User-Exits in program MV45AFZB
    USEREXIT_CHECK_XVBAP_FOR_DELET
    In this user exit, you can enter additional data for deletion of an item. If the criteria are met, the item is not deleted (unlike in the standard system).
    USEREXIT_CHECK_XVBEP_FOR_DELET
    In this user exit, you can enter additional data for deletion of a schedule line. If the criteria are met, the schedule line is not deleted (unlike in the standard system).
    USEREXIT_CHECK_VBAK
    This user exit can be used to carry out additional checks (e.g. for completion) in the document header. The system could, for example, check whether certain shipping conditions are allowed for a particular customer group.
    USEREXIT_CHECK_VBAP
    This user exit can be used to carry out additional checks (e.g. for completion) at item level.
    USEREXIT_CHECK_VBKD
    The user exit can be used to carry out additional checks (e.g. for completion) on the business data in the order.
    USEREXIT_CHECK_VBEP
    This user exit can be use to carry out additional checks (e.g. for completion) on the schedule line. During BOM explosion, for example, you may want certain fields to be copied from the main item to the sub-items (as for billing block in the standard system).
    USEREXIT_CHECK_VBSN
    You can use this user exit to carry out additional checks (e.g. for completion) on the serial number.
    USEREXIT_CHECK_XVBSN_FOR_DELET In this user exit, you can enter additional criteria for deletion of the serial number. If the criteria are met, the serial number is not deleted (unlike in the standard system).
    USEREXIT_FILL_VBAP_FROM_HVBAP
    You can use this user exit to fill additional fields in the sub-item with data from the main item.
    USEREXIT_MOVE_FIELD_TO_TVCOM_H
    You can use this user exit to influence text determination for header texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    USEREXIT_MOVE_FIELD_TO_TVCOM_I
    You can use this user exit to influence text determination for item texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    User-Exits for product allocation:
    The following user exits all apply to structure COBL, in which the data for account determination is copied to item level.
    USEREXIT_MOVE_FIELD_TO_COBL
    Option to include new fields in structure COBL.
    USEREXIT_COBL_RECEIVE_VBAK
    Option to assign values from the document header to the new fields.
    USEREXIT_COBL_RECEIVE_VBAP
    Option to supply values from the item to the new fields.
    USEREXIT_COBL_SEND_ITEM
    A changed field can be copied from the structure into the item. You could use the user exit to display a certain field in the account assignment block (see also MV45AFZB).
    USEREXIT_COBL_SEND_HEADER
    A changed field can be copied from the structure to the header (see source text MV45AFZB)
    USEREXIT_SOURCE_DETERMINATION
    You can use this user exit to determine which plant will be used for the delivery. In the standard system, the delivering plant is copied from the customer master or the customer-material info record. If you want to use a different rule, then you must enter it in this user exit.
    USEREXIT_MOVE_FIELD_TO_ME_REQ
    With this user exit you can include additional fields for the following fields:
    EBAN (purchase requisition)
    EBKN (purchase requisition-account assignment)
    USEREXIT_GET_FIELD_FROM_SDCOM
    Option to include new fields for the variant configuration. Fields that are included in structure SDCOM can be processed and then returned to the order.
    USEREXIT_MOVE_WORKAREA_TO_SDWA
    You can use this user exit to format additional work areas for the variant configuration. You will find notes on the user exit in MV45AFZB.
    User-Exits for first data transfer:
    The following user exits can only be used for the first data transfer.
    Note
    Only use the user exits if the names/fields do NOT have the same name.
    USEREXIT_MOVE_FIELD_TO_VBAKKOM
    Option to include additional fields in structure VBAKKOM (communiction fields for maintaining the sales document header)
    USEREXIT_MOVE_FIELD_TO_VBAPKOM
    Option to include additional fields in structure VBAPKOM (communication fields for maintaining a sales item)
    USEREXIT_MOVE_FIELD_TO_VBEPKOM
    Option to include additional fields in structure VBEPKOM (communication fields for maintaining a sales document schedule line)
    USEREXIT_MOVE_FIELD_TO_VBSN
    You can use this user exit to include fields in structure VBSN (scheduling agreement-related change status).
    USEREXIT_MOVE_FIELD_TO_KOMKH
    You can use this user exit to include new fields for batch determination (document header).
    USEREXIT_MOVE_FIELD_TO_KOMPH
    You can use this user exit to include new fields for batch determination (document item).
    USEREXIT_CUST_MATERIAL_READ
    You can use this user exit to set another customer number in the customer material info record (e.g. with a customer hierarchy)
    USEREXIT_NEW_PRICING_VBAP
    Option for entry of preconditions for carrying out pricing again (e.g. changes made to a certain item field could be used as the precondition for pricing to be carried out again). Further information in MV45AFZB.
    USEREXIT_NEW_PRICING_VBKD
    Option for entry of preconditions for carrying out pricing again (e.g. changes to the customer group or price group could be set as the preconditions for the system to carry out pricing again). Further information in MV45AFZB.
    User-Exits in Program MV45AFZD
    USEREXIT_CONFIG_DATE_EXPLOSION
    The BOM is exploded in the order with the entry date. You can use this user exit to determine which data should be used to explode the BOM (explosion with required delivery date, for example).
    User exits in the program FV45EFZ1
    USEREXIT_CHANGE_SALES_ORDER
    In the standard SAP R/3 System, the quantity and confirmed date of the sales document schedule line is changed automatically if a purchase requisition is allocated, and it or the sales document is changed (for example, quantity, date).
    If you want to change this configuration in the standard system, you can define certain requirements in order to protect your sales orders from being changed automatically. Use this user exit for this purpose. Decide at this point whether the schedule lines are to be changed.
    User-Exits in Program RV45PFZA
    USEREXIT_SET_STATUS_VBUK
    In this user exit you can you can store a specification for the reserve fields in VBUK (header status). Reserve field UVK01 could, for example, be used for an additional order status (as for rejections status, etc.).
    The following workareas are available for this user exit:
    VBUK (header status)
    FXVBUP (item status)
    FXVBUV (Incompletion)
    USEREXIT_SET_STATUS_VBUP
    In this user exit you can you can store a specification for the reserve fields for VBUP (item status).
    The following workareas are available for this user exit:
    FXVBAP (Item data)
    FXVBAPF (Dynamic part of order item flow)
    FXVBUV (Incompletion)
    USEREXIT_STATUS_VBUK_INVOICE
    You can use this user exit to influence billing status at header level.
    User exits in the screens
    Additional header data is on screen SAPMV45A 0309, additional item data on screen SAPMV45A 0459. These screens contain the Include screens SAPMV45A 8309 or SAPMV45A 8459 as user exits.
    Fields which are also to be included in the sales document for a specific installation should be included on the Include screens for maintaining. If an application-specific check module is needed for the fields, this can be included in the Include MV45AIZZ. The module is called up in the processing logic of the Include screens.
    For field transports, you do not have to make changes or adjustments.
    Example
    A new field, VBAK-ZZKUN, should be included in table VBAK.
    If the check is defined via the Dictionary (fixed values or check table) the field must be included with the fullscreen editor in the Include screen SAPMV45A 8309. In this case, no change has to be made to the processing logic.
    User Exits in Program MV45AFZ4
    USEREXIT_MOVE_FIELD_TO_KOMK
    You can use this user exit to add or edit additional header fields in the communication structure - KOMK- for free goods determination. For more information, see the New Fields for Free Goods Determination IMG activity.
    USEREXIT_MOVE_FIELD_TO_KOMP
    You can use this user exit to add or edit additional item fields in the communication structure KOMP for free goods determination. For more information see the New Fields for Free Goods Determination IMG activity.
    User Exits in the SAPFV45PF0E and SAPFV45PF0C Programs
    EXIT_SAPFV45P_001
    You can use this user exit to decide whether intercompany billing data is used in the profitability segment for cross-company code sales, or whether the data comes from external billing (external customer, sales data from the selling company code.
    Regards
    Eswar

  • Logic and User Exit for Availabilty Check in Sales Orders,

    Hi All,
    I have a requirement of creating a Sales order from an Inbound IDOC. Before saving i need to do all the validations for the sales order including the availabilty check for the sales orders. If it is not  fulfilled i need to reject the sales order creation.
    I am trying to search for the logic for the availabilty check of the sales order but i am not able to find one. Please help me out with that and also i need the user exit for the availabilty check for the sales orders. Please help me out with that one too.
    Regards,
    Sharadendu

    See this function Module for message type ORDERS
    IDOC_INPUT_ORDERS all validations are there in this Function Module .
    Please reward if useful.

  • Screen /user exit for additional screen on sales order header

    Hello sir's,
    can anybody help me for this query---
    Screen /user exit for additional screen on sales order header.
    exit name.
    Thanks in advance,
    Vikram

    Hi,
    SAP has provided screen modification. This you can do on "Additional data B" screen at both <b>header</b> and line iteam level.
    Additional <b>header data is on screen SAPMV45A 0309</b>, additional item data on screen SAPMV45A 0459. These screens contain the <b>Include screens SAPMV45A 8309 ( this is the screen exit at header  )</b> or SAPMV45A 8459 ( this is the screen exit at item ) as user exits. There few more exits you will have to code to get this screen works. The are,
    MV45AOZZ - PBO module of screen
    MV45AIZZ - PAI module of screen
    MV45ATZZ - Global data definition for user-exit.
    Check this link for more info regarding user-exit in sales docs.
    http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/frameset.htm
    We have alredy implemented this solution at line item level. Let me know if you have any question.
    Regards,
    RS

  • How to find the list of USER-EXITS or BADI for the transaction ABSO

    Hi all,
    Please help me to find the list of USER-EXITS or BADI for the transaction ABSO & find the exact user-exit which meets the requirement.
    Thanks & Regards,
    gyanaraj

    Hi,
    Copy the problem  in SE38 and  Execute it
    Enter the Tcode  u want
    this  will the  list of Userexits and badis
    TABLES: TSTC,
    TADIR,
    MODSAPT,
    MODACT,
    TRDIR,
    TFDIR,
    ENLFDIR,
    SXS_ATTRT ,
    TSTCT.
    DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA: FIELD1(30).
    DATA: V_DEVCLASS LIKE TADIR-DEVCLASS.
    PARAMETERS: P_TCODE LIKE TSTC-TCODE,
    P_PGMNA LIKE TSTC-PGMNA .
    DATA: WA_TADIR TYPE TADIR.
    START-OF-SELECTION.
    IF NOT P_TCODE IS INITIAL.
    SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    ELSEIF NOT P_PGMNA IS INITIAL.
    TSTC-PGMNA = P_PGMNA.
    ENDIF.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'PROG'
    AND OBJ_NAME = TSTC-PGMNA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    IF SY-SUBRC NE 0.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME = TSTC-PGMNA.
    IF TRDIR-SUBC EQ 'F'.
    SELECT SINGLE * FROM TFDIR
    WHERE PNAME = TSTC-PGMNA.
    SELECT SINGLE * FROM ENLFDIR
    WHERE FUNCNAME = TFDIR-FUNCNAME.
    SELECT SINGLE * FROM TADIR
    WHERE PGMID = 'R3TR'
    AND OBJECT = 'FUGR'
    AND OBJ_NAME EQ ENLFDIR-AREA.
    MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
    ENDIF.
    ENDIF.
    SELECT * FROM TADIR INTO TABLE JTAB
    WHERE PGMID = 'R3TR'
    AND OBJECT in ('SMOD', 'SXSD')
    AND DEVCLASS = V_DEVCLASS.
    SELECT SINGLE * FROM TSTCT
    WHERE SPRSL EQ SY-LANGU
    AND TCODE EQ P_TCODE.
    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
    WRITE:/(19) 'Transaction Code - ',
    20(20) P_TCODE,
    45(50) TSTCT-TTEXT.
    SKIP.
    IF NOT JTAB[] IS INITIAL.
    WRITE:/(105) SY-ULINE.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    Sorting the internal Table
    sort jtab by OBJECT.
    data : wf_txt(60) type c,
    wf_smod type i ,
    wf_badi type i ,
    wf_object2(30) type C.
    clear : wf_smod, wf_badi , wf_object2.
    Get the total SMOD.
    LOOP AT JTAB into wa_tadir.
    at first.
    FORMAT COLOR COL_HEADING INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 'Enhancement/ Business Add-in',
    41 SY-VLINE ,
    42 'Description',
    105 SY-VLINE.
    WRITE:/(105) SY-ULINE.
    endat.
    clear wf_txt.
    at new object.
    if wa_tadir-object = 'SMOD'.
    wf_object2 = 'Enhancement' .
    elseif wa_tadir-object = 'SXSD'.
    wf_object2 = ' Business Add-in'.
    endif.
    FORMAT COLOR COL_GROUP INTENSIFIED ON.
    WRITE:/1 SY-VLINE,
    2 wf_object2,
    105 SY-VLINE.
    endat.
    case wa_tadir-object.
    when 'SMOD'.
    wf_smod = wf_smod + 1.
    SELECT SINGLE MODTEXT into wf_txt
    FROM MODSAPT
    WHERE SPRSL = SY-LANGU
    AND NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
    when 'SXSD'.
    For BADis
    wf_badi = wf_badi + 1 .
    select single TEXT into wf_txt
    from SXS_ATTRT
    where sprsl = sy-langu
    and EXIT_NAME = wa_tadir-OBJ_NAME.
    FORMAT COLOR COL_NORMAL INTENSIFIED ON.
    endcase.
    WRITE:/1 SY-VLINE,
    2 wa_tadir-OBJ_NAME hotspot on,
    41 SY-VLINE ,
    42 wf_txt,
    105 SY-VLINE.
    AT END OF object.
    write : /(105) sy-ULINE.
    ENDAT.
    ENDLOOP.
    WRITE:/(105) SY-ULINE.
    SKIP.
    FORMAT COLOR COL_TOTAL INTENSIFIED ON.
    WRITE:/ 'No.of Exits:' , wf_smod.
    WRITE:/ 'No.of BADis:' , wf_badi.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'No userexits or BADis exist'.
    ENDIF.
    ELSE.
    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
    WRITE:/(105) 'Transaction does not exist'.
    ENDIF.
    AT LINE-SELECTION.
    data : wf_object type tadir-object.
    clear wf_object.
    GET CURSOR FIELD FIELD1.
    CHECK FIELD1(8) EQ 'WA_TADIR'.
    read table jtab with key obj_name = sy-lisel+1(20).
    move jtab-object to wf_object.
    case wf_object.
    when 'SMOD'.
    SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
    CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    when 'SXSD'.
    SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).
    CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.
    ENDCASE.

  • User exit to control the sales order creation

    Hi All,
    I have a business scenario, where a specific account group customers Business doesn't want to sell the goods .SAP should not allow you to create a sales order.
    Which user exit will solve my requirement?
    could you please help me..
    Regards,
    SK

    Hi Prakash,
    Thanks for the reply. Actually these customers are created as a Agents and we are using these customers in Commission rebates. So at the time of Rebate partial credit memo, then these agents should be active otherwise system will give the error.
    So what i am thinking is, Standard sales order creation needs to be restricted so that users can not able to create standard order.
    So can you suggest is there any user exit can be used to prevent creation of standard order for these account group and order type xxx?
    Regards,
    SK

  • User exit Or Badi for  creating Service order while modifying sales order.

    Hi Experts,
    I am creating Notification using transaction IW51.
    In IW51 there is a button to create a sales order.
    I click on sales order button and create a sales order.
    Now notification and sales order are created.
    Now i go in transaction VA02 and click on avalibility check push button .It gives me some popups in which i select copy all options.Then  i click on save button
    .At this point service order gets created.
    My requirement :
    Before the service order gets created i want to pass the notification data ; for ex- Equnr(Equipment number) to service order.
    Thanks & Regards,
    Chetan

    Hi,
    Are you saying first create notification,then service order
    and then Sales order.
    But the requirement is create notification then sales order and when you go in va02 and while modifying the sales order and create service order.
    Thanks & regards,
    chetan.

  • User-Exit for Checking Customer and Sale order type in Sales Order Creation

    Hi Experts,
      While creating the Sales Order once i enter sold-to-party and enter line item, i have to check the customer against the sales order type.
    Please suggest me if any user-exit or enhancement or BADI available for it.
    Thanks & Regards,
    -VM

    Hi
    Follow the below steps to find out what all BADI's are called when you press any button in any transaction.
    1) Goto se24 (Display class cl_exithandler)
    2) Double click on the method GET_INSTANCE.
    3) Put a break point at Line no.25 (CASE sy-subrc).
    Now
    4) Execute SAP standard transaction
    5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
    6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
    7) This way you will find all the BADIs called on click of any button in any transaction.
    mark if helpful
    Regs,
    Tushar Mundlik

  • User exit while creating delivery from sales order

    Hi Guys ,
    Is there any user exit in sales order which triggers when we try to DELIVER(from the menu bar) .
    My requirement is to not include some line items(base on some condition) before they are included in the delivery .
    Thnx in advance .
    Anil

    Hi Naimesh ,
    Thnx for your reply.
    I'm not sure of the functionality in VOFM .Can u please tell me how can i acheive my current functionality as explained above in my question .
    I'll tell u my requirement .
    When creating delivery , I have to check for some condition and depending upon this condition , the line items must not be included in the delivery .
    I have acheived this by BADI  LE_SHLP_DELIVERY~SAVE_DOCUMENT_PREPARE.
    if suppose any line items gets deleted in the delivery(based upon my condition) , and then if I look at the status of the slaes order(VA03) , it shows partially confirmed at the header level and the item which is rejected(in delivery) shows OPEN .
    Can u tell me how to update the status of the sales order header and item level (if any item is deleted) during creation of delivery .
    Thnx .
    Anil

  • User exit or badi for the iw32 for the subnetwrk/portn

    Hi All,
    I got one requirement in PM Module, after making the changes in the PM work order using the transaction code IW 32 and clicking on u201CSAVEu201D button, then we need to fetch the u201CSettlement Receiveru201D values from Settlement Rule related to Account assignment category NTA and NTW. The fetched values from the Settlement Rule should be placed in u201CAdditional Datau201D tab in the field u201CSubnetwrk of/Oprtnu201D.
    Could you please any one let me know we can achieve this by using the USER EXIT or BADI or any other.

    Jaya Sankar,
    Have a look at IWO10009 (at save user-exit) and try entering this code to extract the settlement data:
    lv_text1 = '(SAPLKOBS)GT_COBRB_BUF[]'.
    ASSIGN (lv_text1) TO <fs_gt_cobrb_buf>.
    If you get no values, then it means that the user has not entered the settlement screens. You therefore need to select the data from the database.
    Then try using this code to update the header data:
    * NOTE: Be very careful when using this method - it is not recommended by SAP
    * get order header data (or use user-exit import data)
      call function 'CO_IH_GET_HEADER'
        importing
          caufvd_imp = lv_caufvd.
    * do your own processing here
    * set order header data
      call function 'CO_IH_SET_HEADER'
        exporting
          caufvd_imp = lv_caufvd.
      perform caufv_upd(saplcobh) using lv_caufvd.
    PeteA

  • User exit or BADI while saving purchase order

    Hello,
    I want to use an user exit or BADI while saving of purchase order. The objective is to check the material group of the line item while saving. We don´t want to allow to save purchase orders for one material group.
    Can you please guide me.
    Thanks
    Srinivasan

    Hi
    The Business Add-In (BAdI) ME_PROCESS_PO_CUST enables you to extend the business logic of the Enjoy purchase order on an individual basis.
    You can thus influence the dialog transactions ME21N, ME22N, ME23N, and ME29N, and the BAPIs BAPI_PO_CREATE1 and BAPI_PO_CHANGE.
    Typical applications for this BAdI include:
    Processing of own objects
    Processing of additional data on standard objects
    Implementation of additional checks and derivationsChange of data in standard fields
    Change in field selection
    you can use this BADI for checking the material group
    Thanks & Regards
    Kishore

  • User Exit or BADI  when saving Internal Orders

    Hello, I need a user exit or BADI when saving a Internal Orders to shoot a workflow
    REGARDS
    Dayana

    Hi
    Why do you need a user exit or BADI.
    Create a Custom Business Object(SWO1) and Create a New Event(SW01) and link it to the B.O. Or you could also create a CO Validation and use it for triggering a Validation and as a last resort you go for User Exit or Abap code.
    Check if you have some workflow expertise in your tech team and you should be fine.
    Thanks,
    Praveen

  • User-exit to craete text  for sales order

    Hi Expert,
    Can anyone tell me what's the user-exit to Populate texts in the Sales Order?
    sales order-> Header->Texts->RPD General Ledger Number

    Transaction Code - VA01                     Create Sales Order
    Exit Name           Description
    SDTRM001            Reschedule schedule lines without a new ATP check
    V45A0001            Determine alternative materials for product selection
    V45A0002            Predefine sold-to party in sales document
    V45A0003            Collector for customer function modulpool MV45A
    V45A0004            Copy packing proposal
    V45E0001            Update the purchase order from the sales order
    V45E0002            Data transfer in procurement elements (PRreq., assembly)
    V45L0001            SD component supplier processing (customer enhancements)
    V45P0001            SD customer function for cross-company code sales
    V45S0001            Update sales document from configuration
    V45S0003            MRP-relevance for incomplete configuration
    V45S0004            Effectivity type in sales order
    V45W0001            SD Service Management: Forward Contract Data to Item
    V46H0001            SD Customer functions for resource-related billing
    V60F0001            SD Billing plan (customer enhancement) diff. to billing plan
    No of Exits:         15
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Rewards if useful.........
    Minal

  • Question - SD user exit for Billing with multiple sales orders

    We have a situation where we are summarizing Accounting Billing document updates via OBCY, transaction type VBRK .
    We will also have multiple sales orders per billing document.
    One of our accounts is a COGS- clearing account which will post for both delivery and billing documents.
    Our goal will be to clear the COGS-clearing account after the delivery and billing has occurred.
    One alternative being evaluated is to update the assignment field ( bseg -zuonr) for the sales order. 
    To do this, one of the SD user exits , perhaps SDVFX008, would be necessary to update the sales order from vbrp-vbel2 to bseg-zuonr.
    I am concerned about
    1) will the update work
    2) what will be the effect on summarization
    If we try to implement the user exit , would we be successful to just update the assignment field for just the COGS accruall account.   _Therefore the next effect is that AR,Rev, etc, would summarize , but the COGS clearing would break out due to the update to the assignment field..
    Does anyone have any experience similar to this situation.
    Thank you,
    Jeff

    Hi
    You can use SDVFX008 or FI Substitution exit RGGBS000 (Form U100)
    You can very well update the required GL (COGS Clearing) with the Sales order No... However, how exactly it would behave upon summarization, I am not sure about that.. you need to develop that and see
    In the COGS account during PGI, Sales Order No is populated always in the field "Sales Order"... In your case, the COGS clearing account should be having sales order no populated...
    So, if you are successful to populate Sales Order No during billing in the "Sale Order" Field for the COGS clearing account, that should also suffice...
    or See if you can have relevant sort key in FS00 for the COGS clearing account so that Sales order no is always populated..
    Regards
    Ajay M

Maybe you are looking for