User Exists In Sales Order Creation Program for adding "Reason For Reject"

Hi gurus
I have following requriement
As New Sales Order created (VA01) by default or at the time of saving the sale order, perticular "Reason for Rejection" should be set to each line item.
This is then can be removed in change (VA02) with Mass change.
We need this to review the sales order / block sales order from MRP run.
Please let me know how to manage this or is there any user exist for the same.
Thanks
Sunil K

Hi,
As per my knowledge the automatic creation of rejection order is not possible, still will check out and know.
but for urgent use you will have to follow the manual way of changing the line items from OK to blocked for apporoval so you can achieve their not passing on to MRP.
manual way is what is described below:
You can either reject the whole sales document or individual items.
Reject all items:
If you want to reject all the items, choose Reject document in the change modus for the sales document.
The system automatically selects all the items and you can enter a reason for rejection in the following dialog box.
Enter the appropriate reason for rejection and choose Copy.
The system assigns the same reason for rejection to all the selected items.
Reject individual items:
If you only want to reject some of the items, select those items in the item overview screen and choose Edit - Fast change of... - Reason for rejection.
A dialog box appears in which you can enter the appropriate reason for rejection.
Enter the appropriate reason for rejection and choose Copy.
The system assigns the same reason for rejection to all the selected items.
Reject individual items with different reasons of rejection:
If you want to enter different reasons for rejection for the items, choose the Reason for rejection tab page from the overview screen when changing the sales document.
You can enter a different reason for rejection for each item in the Reason for rejection field.
regards,
Siddharth.
Edited by: SD on Mar 15, 2008 10:22 AM

Similar Messages

  • User Exit during Sales Order Creation - New Line Item needed

    I have a situation during the process of sales order creation. If a Material in a line item has say 27 EA and the Base Unit is EA. But the Sales Unit is CSE. Then whenever the user enters 27 EA and presses enter he should get two line items.
    The first line item needs to convert to maximum number of CSE posible and the rest will be the second line item with the remaining EA. The order isn't important but that is what is needed. Question is how do I approach this problem and code my user exit accordingly and where do I code it.
    I was looking at SAPMV45A and saw the program MV45AIZZ which is meant as a user exit for any PAI event handling. If anybody has encountered this kind of requirement can you please share your view on this.
    I will definitely reward points for useful answers.
    Clark

    Hello Mahendra
    The requirement is as follows :
    PART 1:
    Sales Order Enter: 
    1.     When a line item is entered on a sales order (VA01 or VA02), at enter, check the sales unit of measure (VBAP-VRKME).
    •     Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP.  TANN are free goods that should not be considered for consolidation.  TAPS & ZTAP are lower level materials as a result of product selection.  They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
    •     Do not check items where VRKME <> EA
    2.     If VRKME = EA, go to MARM for MATNR.
    3.     Go to record where alternate unit of measure (MEINH) = CSE, get the value from the numerator field (UMREZ).
    4.     Divide the order quantity (VBEP-WMENG) by UMREZ.
    5.     If the result is greater than 1.0, the customer has ordered more than one case and a new line item needs to be added to the sales order for the case quantity.
    6.     Add a new line to VBAP for the same material with the case quantity.  If not a whole value, the remainder of eaches (bottles) should update the qty on the first item on VBAP.
    •     Part 1 is relevant for order types ZCA, ZOR, ZSO, RE, ZSM
    PART 2:
    Batch Job to run prior to the Delivery Due List:
    1.     Read VBUK for Delivery Status (LFSTK) = A (delivery not processed).  Get all of the document numbers (VBELN).
    2.     Go to VBEP for those document numbers to get the goods issue date for the order.  There will be many records in VBEP for the same sales order.  Look at all orders with a goods issue date (WADAT) of next day.
    3.     Go to VBAK for those document numbers to see if there are multiple sales orders for the same Sold To party (KUNNR).
    4.     For customers who have more than one order in VBAK, search all line items (for all orders).  If there are no duplicate materials across sales orders, do nothing.
    •     Do not check line items where item category (VBAP-PSTYV) = TANN, TAPS or ZTAP.  TANN are free goods that should not be considered for consolidation.  TAPS & ZTAP are lower level materials as a result of product selection.  They will be attached to a higher-level material with an item category of TAX, which is relevant for consolidation.
    •     Do not check line items where reason for rejection (VBAP-ABGRU) is not blank
    5.     If there are duplicate materials, go through the same logic as in part 1.  If the quantity across the sales orders adds up to greater than one case, add the appropriate quantity to a new line item on the first sales order.   If there is a remainder qty, update the line item on the first sales order with this qty. In this case, the quantities on the second sales order needs to be closed out with a reason for rejection code of 50, ‘Line Item Consolidation’. If there is no remainder,  update the qty on this item directly.
    •     Part 2 is relevant for order types ZOR, ZCA, ZSM
    •     This batch job will have to be run manually for Day Pick orders.  The end of this program should automatically kick off the delivery due list for Day Pick orders, shipping condition 02.
    Business Justification:
    The business requires that like order line items be consolidated to one line item prior to the order going to the warehouse for picking.  This will aid in picking at the warehouse as well as result in the customer invoice not reflecting more than one line item for the same material.  In the case where the customer has truly ordered more than a case, i.e;, 1 case, 2 bottles, the documents in SAP will still reflect 2 lines.

  • User exit on Sale order creation -  Prog- SAPMV45A, Screen - 8459

    Hi All,
    I have added additional fields on Additional data tab on sales order creation screen on screen no 8459.
    I have decleared the fields in PAI as well as defined all of them in layout.
    But out of 14 fields only 13 input fields gets displayed on screen.
    The height and width of screen are enough to display all fields.
    Is there any limitation on maximum no of fields can be defined on screen?
    How can i resolve this problem.
    Regards,
    Deepak.

    Hi
    We had the similar issue and i think this is due to size of screen.
    Try to arrange the fields in 2 or 3 columns, it may work
    Regards
    Madhan D

  • Status of Sales Order Open Even after assigning Reason for Rejection.

    Hi All,
    I am facing with a basic problem wherein even after assigning a reason for rejection status for a sales order, the sales order numbere is appearing in  the list of Open Sales Order(VA05).
    Also another case is i created a sales order with one line item, invoiced the same. Now i cancel the invoice and further wanted to close the sales order as i cannot delete the same. In this case also i see that even after assigning the reason for rejection, the sales order number along with its details appear in the list of open orders.
    Can somebody please tell me whatt configurations have i missed?.
    Regards
    Bhushan
    Edited by: NAGABHUSHAN THIPPANNA on Nov 30, 2009 9:14 AM

    Hi Vivek,
    Thanks for the reply... My issue got solved partially. Now if i assign a "Reason for rejection" to the sales order then that sales order is not reflecting in the VA05 (open orders list).
    But given a scenario wherein i create  a sales order and whose quantities & values  gets updated in the standard infostructures and i will be able to see the same by executing MCTE (incoming orders & Qty). After assigning the reason for rejection for the same sales order i view the output of MCTE then the report still displays the old ordered quantity and value. Is there any wayout to control this wherein the moment we assign a reason for rejection for a line item in a sales order and the values get reversed in the standard infostructures.
    Thanks and Regards
    Bhushan

  • Change Transportation Zone in Sales Order creation

    Hi Gurus,
    I am looking for an user-exit to overwrite the transportation zone for the ship-to party while creating the Sales order.
    Actually the order is getting created thru IDOC. The segment E1EDKA1 with PARVW 'WE' contains all the data including name, street, city, phone etc. But there is no option(field) to send this transporation zone (LZONE). In the sale order creation program, it is automatically picking it up from VBPA for the customer. I need to overwrite this one with a different value. Is there any User-exit available to accomplish?
    For your information its PO-SO process. A KBZI order will be created. Using the PR generated from this order, we need to create the PO that in turns automatically creating an Intercompany Sales Order ( thru IDoc). In this second Sales Order, I need to overwrite the transportation zone based on the initial order.
    Thanks in advance,
    Vijay.

    >
    Murphy wrote:
    > I modified the value at runtime KUVEW-LZONE. But this values is keep on getting modified by XVBPA-LZONE for the customers...
    How about if we modifiy the value of XVBPA-LZONE itself at runtime in Routine either USEREXIT_SAVE_DOCUMENT or USEREXIT_SAVE_DOCUMENT_PREPARE?
    See if the values of KUVEW-LZONE or XVBPA-LZONE in our hand in above exit?

  • Problem with Sales Order Creation

    Hi,
    In my sales order creation program if item qty is zero, it should not include that item in the order. It is not working properly with this example it is creating same order for customer 1001 and 1004. It is checking for qty = 0 condition and executing 'continue' statememt , then it is not checking 'At end of kunnr' and creating only one order for all the remaining 4 items from 1001 and 1004 other than 0 qty's.
    kunnr   matnr   qty     order#
    1001     51038     723     102255
    1001     51054     0
    1001     51055     0
    1004     51038     207     102255
    1004     51054     236     102255
    1004     51055     219     102255
    it should create like this.
    kunnr   matnr   qty     order#
    1001     51038     723     102255
    1001     51054     0
    1001     51055     0
    1004     51038     207     102256
    1004     51054     236     102256
    1004     51055     219     102256
    Please help me fix this.
    Thanks,
    veni.

    Hi,
    Here is the code.
    WHEN 'ORDERS'.
          DESCRIBE TABLE gt_zprice LINES lv_cnt.
          DO lv_cnt TIMES.
            lv_index = sy-index + 4.
            READ LINE lv_index FIELD VALUE chbox.
            IF chbox = 'X'.
              READ TABLE gt_zprice INTO gs_zprice1 INDEX sy-index.
              IF sy-subrc EQ 0.
                gs_zprice1-index = sy-index.
                APPEND gs_zprice1 TO gt2_zprice.
                CLEAR gs_zprice1.
              ENDIF.
            ENDIF.
            CLEAR chbox.
          ENDDO.
          gt4_zprice[] = gt2_zprice[].
         SORT gt4_zprice BY kunnr vtweg.
          LOOP AT gt4_zprice INTO gs_zprice1.
            IF gs_zprice1-crmemo IS INITIAL.
              AT NEW kunnr.
                MOVE 'Y' TO lv_flg.
              ENDAT.
              IF lv_flg EQ 'Y'.
                PERFORM headerdata.
                PERFORM texts.
                CLEAR lv_flg.
              ENDIF.
              IF gs_zprice1-eohqty IS INITIAL.
                CONTINUE.
              ENDIF.
              PERFORM itemdata.
              APPEND gs_zprice1 TO gt3_zprice.
              CLEAR gs_zprice1.
              AT END OF kunnr.
                PERFORM call_function.
                PERFORM update_pricetable.
                PERFORM errorcheckandcommit.
                REFRESH gt2_zprice.
                CLEAR chbox.
                REFRESH partner.
                REFRESH item.
                REFRESH itemx.
                REFRESH lt_schedules_in.
                REFRESH lt_schedules_inx.
                REFRESH conditions1.
                REFRESH order_text.
                lv_itemno = 10.
              ENDAT.
            ELSE.
              REFRESH gt2_zprice.
              CLEAR chbox.
            ENDIF.
          ENDLOOP.
          WRITE: /01(179) sy-uline.
          PERFORM headings.
          WRITE: /01(179) sy-uline.
          PERFORM displaydata.
      ENDCASE.
    Thanks,
    Veni.

  • Mass sales order creation using BAPI

    Dear All,
    Can anyone help in  mass sales order creation using Bapi BAPI_SALESORDER_CREATEFROMDAT2.
    For example if i want to create 3 sales order with three item per order . i am populating
    HEADER = 3 Records
    Item   = 9 records
    schedule = 9 records
    partner  = 1 record.
    Then after populating the records I am calling Bapi BAPI_SALESORDER_CREATEFROMDAT2
    to create order. It should have created three order but unfortunately it creates
    only one sales order. I debugged and found that records are correct both in header,
    item, scheudle and partners.
    Could you please guide me what I am missing for creation of mass orders.
    I appreciate your time and many thanks in advance.
    cheers
    chandra

    Hi Chandra,
    Do like this.
    Loop at Header table into wa_header.
    *-- Move BAPI Header data
    Loop at item table into wa_item where condition.
    *--  in this move all Item and Schedule line item  to the BAPI.
      At end of item .
    Use the below function modules.
    BAPI_SALESORDER_CREATEFROMDAT2
    BAPI_TRANSACTION_COMMIT.
    Endloop.
    Endloop.
    Regards,
    Balavardhan.K

  • 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

  • Restrict Sales Order Creation for Serial Numbers already in Sles Order/Sold

    We have recently implemented variant configuration and usage of serial numbers.
    Facing some problems because of this.
    1. If a Material is in Stock e.g Material xyz and serial number 123
    System allows us to create sales order and Deliver and Invoice Serial number 124.
    I have activated Indicator: Serial Number Existence Requirement thru OIS2. However it solves only part of my problem.
    If for Material xyz serial number 123 is in stock but serial number 124 has also been created and assigned to material xyz but not in stock, then system allows me to create sales order, delivery and billing for material xyz and serial number 124.
    When I check MMBE I see zero stock when I click on serial number I see serial 123, which is inconsistent.
    How to ensure that such a situation does not happen?
    Also I do not want the system to create a sales order for a material for which sales order has been created.
    e.g. for material xyz and serial 1234 if sales order exists then system should not allow creation of another sales order for the same combination.
    However in case of consignment orders the system should allow only the logical transactions like consignment fill up or consignment returns.
    Please help.
    Regards
    Rajkumar Reddy

    Hi
    This is nothing but Creating Roles  and assigning the respective authorizations to the Roles  for giving the access to the related Tcodes
    This has to be done by basis people
    using the Transactions
    PFCG
    SU21
    SUIM
    such that every user can not create the sales order or change it.
    Reward points if useful
    Regards
    Anji

  • BAPI for Sales Order Creation.

    Hello gurus,
    I want to create a sales order using BAPI.
    I have tried some BAPI's like BAPI_SALESORDER_CREATEFROMDAT1, BAPI_SALESORDER_CREATEFROMDAT2, BAPI_SALESORDER_CREATEFROMDATA, BAPI_SALESDOCU_CREATEWITHDIA.
    But I am not able to update the Miscellaneous Information like Mode of transport(VBAP-OIC_MOT), Forwarding Agent(VBAP-OIC_LIFNR), Base Location(VBAP-OIA_BASELO), Truck Number(VBAP-OIC_TRUCKN), Pipeline trip No.(VBAP-OIC_PTRIP), Pipeline operator´s external batch number(VBAP-OIC_PBATCH).
    Is there any other BAPI thru which i can update these fields while creation of Sales Order.
    The Fields which I can provide to BAPI as import parameter is:
    Order Type(VBAK-AUART),
    Contract(VBAK_VGBEL),
    SALES Org (VBAK-VGORT),
    Dist Channel(VBAK-VTWEG),
    Division (VBAK-SPART),
    Open Quantity (VBAK-KWMENG)
    Plant(VBAP-WERKS)
    Storage Location (VBAP-LGORT)
    Mode of transport(VBAP-OIC_MOT), Forwarding Agent(VBAP-OIC_LIFNR), Base Location(VBAP-OIA_BASELO), Truck Number(VBAP-OIC_TRUCKN), Pipeline trip No.(VBAP-OIC_PTRIP), Pipeline operator´s external batch number(VBAP-OIC_PBATCH).
    Thanks In Advance,
    Points will be rewarded for Best Solution......
    Yogesh Sharma

    hi,
    I can give u a suggestion .. try it ..
    its a quite a long process....
    in BAPI_SALESORDER_CREATEFROMDAT2
    there is a table EXTENSIONIN...
    here u can add append structure and carry on ur sales order creation
    Follow the process
    Customer Enhancement for VBAK, VBAP, VBEP
    Description
    You can use this parameter to transfer user-specific enhancments to a BAPI. The customer has to complete the EXTENSION structure and the system automatically continues processing it. If you have not defined any user-specific fields, then you can transfer a blank EXTENSIONIN structure.
    Technical information about Customer Enhancements
    The following description uses an example to explain how to proceed with customer enhancements to the SD tables VBAK, VBKD, VBAP and VBEP.
    The customer has added their own fields to table VBAP using the INCLUDE structure CUTEST. This structure contains 2 fields:
    CFIELD1, CHAR 10
    CFIELD2, CHAR 3.
    The customer also requires that these two fields can be maintained with the BAPI.
    1. Maintain structure CUTEST in table VBAP
    2. Because the BAPIs work with checkboxes, you must also define a CUTESTX checkbox for the customer structure. It should be structured like this:
    Field name       Data element
    CFIELD1            CHAR1
    CFIELD2          CHAR1
    3. Define these customer structures in the structures VBAPKOZ und VBAPKOZX using INCLUDE or APPEND.
    4. Add the customer structures to the BAPE_VBAP and BAPE_VBAPX BAPI structures using the APPEND technique.
    5. Adjust the following structures for customer enhancements to table VBAK:
    a) VBAKKOZ
    b) VBAKKOZX
    c) BAPE_VBAK
    d) BAPE_VBAKX
    6. Adjust the following structures for customer enhancements to table VBEK:
    a) VBEPKOZ
    b) VBEPKOZX
    c) BAPE_VBEP
    d) BAPE_VBEPX
    7. Generally, the data should be added to the BAPI interface in the internal communication structures (VBAKKOM, and so on). There, you can process the data in the SD tables (VBAK, and so on).
    8. If the EXTENSIONIN parameter contains customer data, you must complete at least the key fields in the relevant standard parameters.
    For example:
    You want to change customer field VBAP-CFIELD2 for item 20 to "XYZ" in order 4711.
    The following entries are expected:
    Import:     BAPIVBELN-VBELN       = '0000004711'  Document number
                BAPISDHD1X-UPDATEFLAG = 'U'           UPDKZ for doc header
    Tables:     BAPISDITM-ITM_NUMBER  = '000020'      Item number
                BAPISDITMX-ITM_NUMBER = '000020'      Item number
              + BAPISDITMX-UPDATEFLAG = 'U'           UPDKZ for item
    You must complete the EXTENSION table as follows:
    STRUCTURE                          VALUEPART1       1234561234567890123
    BAPE_VBAP                       0000004711000020                 XYZ
    BAPE_VBAPX                      0000004711000020       X
    Further Information
    You can find more information in the BAPI programming guide in the chapter for enhancements to BAPIs.
    Notes
    You must complete the STRUCTURE field with the name of the relevant enhancement structure (BAPE_VBAK, BAPE_VBAP, BAPE_VBEP). You can complete the remaining fields with the append structures from the enhancement structures.
    At the moment, you can use the BAPI to store enhancements in the following structures:
    VBAK : An enhancement to header data requires an append structure to BAPE_VBAK and an enhancement to structure VBAKKOZ.
    VBAP : An enhancement to item data requires an append structure to BAPE_VBAP and an enhancment to structure VBAPKOZ.
    VBEP : An enhancement to schedule line data requires an append structure to BAPE_VBEP and an enhancement to structure VBEPKOZ.
    VBKD : If you are using an enhancement for header data, you must add an append structure to BAPE_VBAK. You also need to enhance structure VBAKKOZ. If it is for item data, you need to add an append structure to BAPE_VBAP. You must also enhance structure VBAPKOZ.
    If you also want to work with checkboxes, each X-structure must also contain an append structure.
    For example:
    A customer has created an order and wants to include the material long text (50 digits long).
    The EXTENSIONIN structure must be completed with BAPE_VBAP. Two fields have fixed definitions in this structure. These are in the VBAP host key (VBELN, POSNR). The customer sets up an append structure that contains field ZMAT50.
    Because the VBELN is normally blank when you create an order, the data can look like this:
    STRUCTURE   |BAPE_VBAP
    VALUEPART1  |          000010Customermateriallongtext50
                  VBELN     POSNR ZMAT50

  • Sales order creation for a project

    Dear all,
    I would like to know how to create quotation ,sales order, delivery and Billing for a total project. Let me explain the situation.. Customer has 4 different product.. they have 4 Plants to produce those materials.. They will sell each products individually and combination of others also. Their sales process is Customer will place an order for the total project which involves supply erection and Training. The erection and training may take 3 months to 1 year. The requirement is customer wants to create quotation and sales order creation in SAP. Also they want to map the erection and Training in SAP. They would like to capture the expenses involved during the erection and Training period. In this case excise duty, Sales Tax and service Tax all are involved in the same project.
    Can any one suggest some idea
    Thanks in advance
    Sriram

    Hi,
    It is understood that your client has 4 plants for 4 different materials. Your client sells materials and service (1.Installation of equipment and 2.Training the users). Your client wants to know the cost of the sold items (Materials and services). The billings are subjected to all applicable taxes.
    As you know, these requirements can be mapped in SAP by SD and PS modules.
    SD Module: Whatever the customer places the order (either partially or as total), you can create quotations. The materials are finished goods (FERT) and service materials (DIEN). The pricing procedure should consider all applicable duties and taxes.
    The business flow: Quotation >> Sales order >> Delivery of goods >> Billing (VF01) >> Excise Invoice >> Account receivable.
    Note: To link the sales order with PS module you have to maintain respective u2018WBS Elementu2019 in the Account assignment tab of the sales order. This is used for planned revenue in PS.
    Since you are supplying goods from all plants, maintain all plants to Sales organization and distribution channel combination in Assignment of Enterprise structure.
    PS Module:
    If the customer orders for an entire project including supply of materials, installation and training the users, create a project definition for that project in the project system. Assign a main WBS element under the project definition. Assign lower level WBS element according to your need. Under the WBS element network is assigned. Under the network activities are assigned. Under the activity there are activity elements. There are different types of activities; internal, external etc.
    You can assign different WBS element for services. Under this the relevant activities are assigned.
    You can budget for the project; you can assign supplementary budget if it is required. 
    When you release the project the Purchase requisitions are generated. The MM persons will create PO and procure the materials for the project.
    All the materials required are initiated from PS. Here every activity is routed through PS including service.  So, all the expenses are captured.
    By settlement rule, the cost is arrived at different levels.
    The configuration is to be done accordingly.
    Hope this give you an idea on the subject.
    Regards,
    K Bharathi

  • Sales Order creation/ change date for the items

    I have a unique scenario and i need to get a Report for this
    A sales order is created for 4 line items.
    Out of these , for 2 line items a delivery is created. I need the sales order creation date and time  for these 2 items in a custom report
    Now the other 2 items go in to some kind of block- Now these are released by going in the sales order VA02 and after releasing the delivery is created. Again for these two items , i need the sales order change date as after a user goes and changes the sales order to remove the block only then delivery is created for these two items
    Also another scenario is the 2 line items go for back order and when we get stock  at tht time system confirms the stock and then the delivery is created for these. So also for this when this change occured i need to get the date for these 2 line items
    Can any one please suggest how to get this data  from the scenarios?
    I dont want to get the date when the delivery is created as i can get tht from the LIKP table. I need the sales order create and change dates for these.

    You may be aware, any changes to a document will be recorded in CDHDR (for header changes) and CDPOS (for item changes).  You can explore these two tables.
    thanks
    G. Lakshmipathi

  • Disable duplicate check for customer address on sales order creation

    I am using the following tables to create sales order as well as customer and addresses together. All data are coming from third party system through dblink.
    OE_HEADERS_IFACE_ALL
    OE_LINES_IFACE_ALL
    OE_CUSTOMER_INFO_IFACE_ALL
    however, whenever the address to be created already exist in OFS, the sales order import program ended with:
    Source/Order/Seq/Line    Message
    *1122/SOSHM006// Duplicate SHIP_TO ADDRESS found for SOSHM006_S. Please correct the data.*
    *1122/SOSHM006// Duplicate BILL_TO ADDRESS found for SOSHM006_B. Please correct the data.*
    how can I disable the above checking? ie: allow the address to be created even the address already exist.
    See Example below, notice that the addresses for SOSHM006_S and SOSHM005_S are identical, and addresses for SOSHM006_B and SOSHM005_S are identical, but we want them to be created as separately addresses.
    Example (first time)
    Insert into ONT.OE_HEADERS_IFACE_ALL (ORDER_SOURCE_ID, ORIG_SYS_DOCUMENT_REF, ORG_ID, ORDERED_DATE, ORDER_TYPE, PRICE_LIST, SALESREP_ID, SALES_CHANNEL_CODE, SHIP_FROM_ORG_ID, CUSTOMER_NUMBER, BOOKED_FLAG, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, OPERATION_CODE, ORIG_SHIP_ADDRESS_REF, ORIG_BILL_ADDRESS_REF) Values (1122, 'SOSHM005', 86, sysdate, 'Corporate (NOR)', 'Corporate', 1, 'CORPORATE', 90, 'SHM01', 'Y', 0, sysdate, 0, sysdate, 'INSERT', 'SOSHM005_S', 'SOSHM005_B');
    Insert into ONT.OE_LINES_IFACE_ALL (ORDER_SOURCE_ID, ORIG_SYS_DOCUMENT_REF, ORIG_SYS_LINE_REF, LINE_TYPE, INVENTORY_ITEM, ORDERED_QUANTITY, SHIP_FROM_ORG_ID, FULFILLMENT_SET_NAME, UNIT_LIST_PRICE, UNIT_SELLING_PRICE, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, OPERATION_CODE, SUBINVENTORY) Values (1122, 'SOSHM005', 'SOSHM005A_S', 'Corporate Line (NOR)', '01-09-PAC-3522-01', 1, 90, '1', 0, 0, 0, sysdate, 0, sysdate, 'INSERT', 'Mesad');
    insert into OE_CUSTOMER_INFO_IFACE_ALL(CUSTOMER_INFO_REF, CUSTOMER_INFO_TYPE_CODE, current_customer_number, org_id, COUNTRY, ADDRESS1, CITY, STATE, POSTAL_CODE, IS_SHIP_TO_ADDRESS, IS_BILL_TO_ADDRESS, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY) values('SOSHM005_S', 'ADDRESS', 'SHM01', 86, 'MY', 'Ship4 479, JALAN PASIR PUTEH 31650 IPOH PERAK.', 'IPOH', 'Perak', '31650', 'Y', 'N', sysdate, 0, sysdate, 0);
    insert into OE_CUSTOMER_INFO_IFACE_ALL(
    CUSTOMER_INFO_REF, CUSTOMER_INFO_TYPE_CODE, current_customer_number, org_id, COUNTRY, ADDRESS1, CITY, STATE, POSTAL_CODE, IS_SHIP_TO_ADDRESS, IS_BILL_TO_ADDRESS, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY) values('SOSHM005_B', 'ADDRESS', 'SHM01', 86, 'MY', 'Bill4 479, JALAN PASIR PUTEH 31650 IPOH PERAK.', 'IPOH', 'Perak', '31650', 'N', 'Y', sysdate, 0, sysdate, 0);
    Example (second time) - the differences are highlighted in bold.
    Insert into ONT.OE_HEADERS_IFACE_ALL (ORDER_SOURCE_ID, ORIG_SYS_DOCUMENT_REF, ORG_ID, ORDERED_DATE, ORDER_TYPE, PRICE_LIST, SALESREP_ID, SALES_CHANNEL_CODE, SHIP_FROM_ORG_ID, CUSTOMER_NUMBER, BOOKED_FLAG, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, OPERATION_CODE, ORIG_SHIP_ADDRESS_REF, ORIG_BILL_ADDRESS_REF) Values (1122, *'SOSHM006'*, 86, sysdate, 'Corporate (NOR)', 'Corporate', 1, 'CORPORATE', 90, 'SHM01', 'Y', 0, sysdate, 0, sysdate, 'INSERT', *'SOSHM006_S'*, *'SOSHM006_B'* );
    Insert into ONT.OE_LINES_IFACE_ALL (ORDER_SOURCE_ID, ORIG_SYS_DOCUMENT_REF, ORIG_SYS_LINE_REF, LINE_TYPE, INVENTORY_ITEM, ORDERED_QUANTITY, SHIP_FROM_ORG_ID, FULFILLMENT_SET_NAME, UNIT_LIST_PRICE, UNIT_SELLING_PRICE, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, OPERATION_CODE, SUBINVENTORY) Values (1122, *'SOSHM006'*, *'SOSHM006A_S'*, 'Corporate Line (NOR)', '01-09-PAC-3522-01', 1, 90, '1', 0, 0, 0, sysdate, 0, sysdate, 'INSERT', 'Mesad');
    insert into OE_CUSTOMER_INFO_IFACE_ALL(CUSTOMER_INFO_REF, CUSTOMER_INFO_TYPE_CODE, current_customer_number, org_id, COUNTRY, ADDRESS1, CITY, STATE, POSTAL_CODE, IS_SHIP_TO_ADDRESS, IS_BILL_TO_ADDRESS, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY) values( *'SOSHM006_S'* , 'ADDRESS', 'SHM01', 86, 'MY', 'Ship4 479, JALAN PASIR PUTEH 31650 IPOH PERAK.', 'IPOH', 'Perak', '31650', 'Y', 'N', sysdate, 0, sysdate, 0);
    insert into OE_CUSTOMER_INFO_IFACE_ALL(
    CUSTOMER_INFO_REF, CUSTOMER_INFO_TYPE_CODE, current_customer_number, org_id, COUNTRY, ADDRESS1, CITY, STATE, POSTAL_CODE, IS_SHIP_TO_ADDRESS, IS_BILL_TO_ADDRESS, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY) values( *'SOSHM006_B'* , 'ADDRESS', 'SHM01', 86, 'MY', 'Bill4 479, JALAN PASIR PUTEH 31650 IPOH PERAK.', 'IPOH', 'Perak', '31650', 'N', 'Y', sysdate, 0, sysdate, 0);

    Hi George Chen
    with sales order stock .. is ther a way of allocating the stock from unrestricted stock .. i understand that you have to have the stock in a "special" area to move it to the sales order?
    excuse my ignorance but what is IS-AD solution?
    thanks
    Nick

  • 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

  • Quotations as mandatory for sales order creation

    Dear SD experts
    We have a situation where the user from one of our sales organization  wants to make Quotations as mandatory for sales order  creation.  Means that no order will be created unless it has a refrence to a quotation.
    But the problem is that this  sales order type u201CZordu201D   is being used by multiple sales organizations. Hence making quotations mandatory in the order type will even activate mandatory check on other companies using this order type.
    Is there a way to make the quotations mandatory on sales organization or user based role? Or any other way. Please advise.
    Best regards,

    Hi
    Say example sales org 1000 where you need to create sales orders with mandatory reference to quotation
    Have a order type ZOR with mandatory reference marked inits configuration in VOV8
    Then in T code OVAZ configuartion configuration you can restrict ZOR order type to be used only for sales areas which has 1000 has sales orgs
    For other sales orgs sales areas dont maintain ZOR in the allowed order types
    Regards
    Raja

Maybe you are looking for

  • My Mac Book Pro do not install OS, say error HD but not repear it. Now do not load the system.

    I have a MacBookPro 2012 no retina. I got it 22 December 2012. Mountain Lion installed. 2 months ago I updated to Yosemite. Yesterday, my MacPB did´t start up. Stay in White screen with a folder and a question mark flashing inside. I have a time mach

  • Outbound HTTP  - Connection fails

    Hello, We are using Oracle 10.1.2 B2B Integration to test outbound XML messaging over HTTP 1.1. We get the following error when we try a outbound flow. Message Transmission Transport Exception Transport Error Code is OTA-HTTP-SEND-1005 Stack trace ==

  • Deleting 3rd party apps

    I downloaded a 3rd party world time app and got a **** app instead. I've tried everything to get rid of it, but nothing works. Does anyone know of another way to delete apps other than through iTunes? In iTunes I can bring up the apps trays and highl

  • Calling marketing calendar directly in web ui

    Hi Experts, We are working on CRM 2007 web ui and our requirement is to call the marketing calendar page directly in web ui. The user after connecting to the UI should be able to access the marketing calendar application instead of going to home page

  • Page titles in Portal

    Hi folks, The configuration of our Oracle Portal dictates that our page titles don't actually tell you what the page is called. For example, the news story on http://www.southlanarkshire.gov.uk/portal/page/portal/EXTERNAL_WEBSITE_DEVELOPMENT/SLC_ONLI