User exit for contract start date in sales order change mode.

24.10.2008
Hi Gurus,
I need to disable the 'contract start date' (VEDA-VBEGDAT) field  in Contract data tab at header and item level. Can someone suggest a user exit for the same ???
Regards,
Udaynath

Dear Udyanath,
Please check these User exits with the help of ABAPer
User exits in the program MV45AFZZ                                                                               
The user exits which you can use for modifications in sales document         
processing are listed below.                                                                               
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.
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.                                                        
I hope this will help you,
Regards,
Murali.

Similar Messages

  • User Exit for Requested Delivery Date in Sales Order

    Hi
    Which user exit can be used to change Requested Delivery Date in Sales Order.
    Scenario:  Sales Document Type: OR has Lead Time: 7 days.  System always proposes delivery date after 7 days.  We need to change this Lead Time based on plant.
    Thanks in advance for your support.
    Regards
    Uma

    Hello,
      try with USEREXIT_MOVE_FIELD_TO_VBEP or USEREXIT_SAVE_DOCUMENT_PREPARE, of program MV45AFZZ.
    Hope to be useful.
    Best regards,
    Andrea

  • User exit to copy the data from sales order to billing document

    hi everyone,
    Is there an user exit to copy the data from sales order to billing document?
    Regards
    Prabudh

    hi
    copy control would be the better option to choose.. but still u can a give a search in list below and opt for the right one..Refer to the link below..
    http://www.planetsap.com/Userexit_List.htm
    User exits for Sales order
    1•USEREXIT_DELETE_DOCUMENT
    2•USEREXIT_FIELD_MODIFICATION
    3.•USEREXIT_MOVE_FIELD_TO_VBAK
    4.•USEREXIT_NUMBER_RANGE
    5.•USEREXIT_SAVE_DOCUMENT
    User exits for billing
    1.•USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program RV60AFZZ)
    2.•USEREXIT_ACCOUNT_PREP_KOMPCV
    3•USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program RV60AFZC)
    4•USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB
    5.USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)
    Reward if Useful
    Thanx & Regards..
    Naren..

  • User exit for setting tax indicator in Sale order

    Hi All,
    I want to know if there is a way (user exit) that could look at the Sales Order Type , particular Item Pricing Condition  and Ship-to party State and set the materialu2019s tax classification (VBAP/TAXM1) to u201C0u201D (Exempt) ?
    Thanks in Advance!
    Sonali.

    Hi Ramesh,
    I have put the code in the user exit, and I am able to set the tax classification indicator but I have a problem... Before setting the indicator I need to check for the Usage code of the line item (This code I am using instead of checking the Pricing condition) . I am able to read all the values of line item in VBAP structure in the user exit except for the first time this user exit is hit as soon as a line item is entered it is not picking up the Usage code. That field is blank.
    But if add another line item and go into the user exit I can see the previous line item Usage code in XVBPA table.
    Do you have any idea why usage code is missing in VBAP structure in the user exit or is there any other table or structure where I can get the usage code?
    Thanks in Advance!
    Sonali.

  • Need a user exit for Export Control check in Sales Order fro VA01/VA02

    Hi ,
         I need a user exit for Export Legal Control process in Sales Order.since Ship-to country in the Sales Order is not always the ‘ultimate destination country’ User Exit needs to be built in with following logic
    1.     Check to see if ‘ultimate destination country’ field is maintained in Sales Order
    2.     If a value is maintained then for the Export control checks use ‘ultimate destination country’ instead of the Ship-To country (step 1)
    3.     If no value is maintained then use Ship-To country as default
    The user exit is called when the user creates or changes a Sales Order.
    Can anybody help ?
    Thanks

    Hi,
    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
    SDAPO001 Activating Sourcing Subitem Quantity Propagation
    <b>Reward points</b>
    Regarsd

  • User exit for updating delivery block of Sales order before Delivery

    Hi  Folks,
    Need to have an user exit for updating Delivery Block indicator for a Sales order Before creating its delivery
    I have got an exit in Program SAPMV45A
    MV50AFZ1
    FORM USEREXIT_REFRESH_DOCUMENT.
    that hits before processing the delivery block fro delivery (Correct me if i m wrong with this )
    Now i want now how to change the Delivery Block indicator of Sales order in that exit
    any FM available ?
    Thanks n regards
    Sonal...

    Hi  ,
    How did you solved this issue?
    I am having similar scenario in which while pressing the save button  delivery block should update if multiple schedule line exist.
    Tried by two different approaches in various user exit without any success.
    AFAIK we have two ways to achieve this functionality.
    1) Count the no of rows in vbep. If greater than 1 then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    This is not correct. If there are two line items both with single schedule line . This case total no lines in vbep will 2 and above condition will true which is incorrect.
    2) There is a indicator for multiple schedule line (VBAPD-EPMEH , xvbap-epmeh ) if it is check then multiple schedule line exist and we can assign the value to VBAK-LIFSK(delivery block) as per our requirement.
    If I write code in USEREXIT_SAVE_DOCUMENT_PREPARE.
    Multiple schedule line indicator is not populate so can not use 2nd approach.
    If I write code in  USEREXIT_SAVE_DOCUMENT it of no use as vbak is updated before reaching this user exit.
    If I write code in USEREXIT_MOVE_FIELD_TO_VBAK as this user exit is also called while pressing the enter key for this I have use
    the condition of fcode but it also fails in some condition.
    If fcode eq 'SICH'.
    Read table xvbap with key epmeh = 'X'.
    IF SY-SUBRC = 0.
    VBAK-LIFSK = '03'.
    Else.
    VBAK-LIFSK = ' '.
    Endif.
    Endif.
    Please help me to get the desired functionality working for all cases.
    1) One line item with multiple schedule line                                              
    2) Two line item with multiple schedule line                                             
    3) One line item having one schedule line and second one having multiple
    4)Two line item both with single schedule line.

  • User exit for storage location determination in sales order

    Hi SAP SD Experts,
    Please give me the exact user exit name where we can use for the automatic storage location determination in the sales order.
    Thanks & Regards,
    Rajesh Kumar Raju,

    Dear Rajesh Kumar Raju
    Go to IMG-->Logistics Execution >Shipping> Picking -->Determine Picking Location -->Define Rules for Picking Location Determination.  There you have to assign the MALA rule to your delivery type
    Also maintain in OMJ8 and in material master under MRP2 view the default storage location in the field "Prod. stor. location"
    thanks
    G. Lakshmipathi

  • User exit for "Latest GR date"

    Hi Experts,
    Please can any one provide me user exit for "Latest GR date" field in PO item level to update the value with 180 days plus on the delevery date mentioned for PO item.
    Thanks in advance.
    Regards,
    Vijay

    Please check this answered link:
    Common USER EXIT for ME21N,ME22N
    Edited by: Afshad Irani on Jun 18, 2010 11:08 AM

  • VL01N user exit to copy pricing conditions from sales order

    Does anyone know which user exit could be used to copy sales order line item conditions to delivery note conditions screen.
    The sales order screen is SAPLV69A field KOMV-KSCHL
    The delivery note screen is SAPLV69A field KOMV-KSCHL
    Thanks

    Hi,
    Just goto include - LV69AFZZ
    And Check ..
    userexit_pricing_check -  USEREXIT_PRICING_CHECK
    Thanks

  • NEED VL02N VL09 USER-EXIT FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER

    I NEED VL02N VL09 USER-EXITS FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER POSITIONS.
    F.X: IF POST QUANTITY 10, BUT PURCHASE ORDER POSITION QUANTITY 30, I NEED AT ANY CASE TO SET DELIVERY COMPLETE INDICATOR FOR RELEVANT OUTBOUND DELIVERY AN P. ORDER POSITIONS.
    THANKS/

    Hi Malka,
    It's possible set the system to mark automatically the delivery completed indicator.
    First you need to set the under delivery and over delivery tolerances.You do this in customizing:
    Materials Management under Purchasing -> Material Master -> Define Purchasing Value Keys.
    Once you set this, you can insert this value keys on Material Master Record for the materials.
    When you create the PO with a material with this value keys set the system will check the under delivery and over delivery set on customizing.
    In customizing you also have the option to let the system mark automatically the delivery indicator based on delivery tolerances set.
    In Customizing for Inventory Management and Physical Inventory under Goods Receipt -> Set Delivery Completed Indicator, you can determine for each plant whether the system automatically sets the delivery completed indicator for delivery quantities within the underdelivery and overdelivery tolerances.
    You can test setting the under delivery for 0 (with a warning message) and see if the system will only mark delivery complete only for over delivery.
    You can also work with the following Badi: MB_GOODSMOVEMENT_DCI. This Badi also allows custom logic for setting the delivery completed indicator in a PO item.
    Message: M7 433 (The "delivery completed" indicator is set for the purchase order item)
    Regards,
    Rodrigo

  • Delivery plant is not showing in sales order change mode

    HI FRIENDS
    I was created sales order, in the first  screen i choose the delivery plant , the delivery plant is copied to all items but when we go to sales order change mode we are unable to see the delivery plant in the first screen .

    Hi
    In VA02 if you are unable to see the delivering plant in the first screen then go  to Environment ->changes in VA02.
    Secondly , Also check in transaction variant , SHD0 for t.code VA02 wheather the VBAP-WERKS are in display or disable mode. If it is in disable mode then change it to display mode and then create the sales order again and then check wheather you are able to see the delivering plant or not
    Regards
    Srinath

  • User Exit for VA41 Validity Date

    Hi,
    I am giving order type in VA41 Tcode and then Clicking on 'Create with Reference' .Then a Pop Up is getting generated. In this i am giving Contract created with validity date lessthan today's date(in Contract Tab).For Example i created a Contract xxxxxx with 'valid to' 9.12.2008. When I am giving this contract and clicking on 'Copy' button a Warning message is getting generated 'The sales document is only valid until 09.12.2008'. Now i have to change this into Error message instead of Warning Message.
    i used User Exits mv45afzz,MV45AFZA,MV45AFZB. But the debugger is getting started only after Warning message got generated.Is there any User Exit for which debugger gets started when i give the Contract and then Click on 'Copy' button. Please Suggest.
    Thanks
    K Srinivas

    Hi,
    Create a file say breakpoint.txt file as follows:-
    [FUNCTION]
    Command=/H
    Title=Debugger
    Type=SystemCommand
    Once you come to the screen of 'Create with reference' where you are giving the contract, from  second session drag the above mentiuoned file to the session where you are running VA41, & drop it here. Now debugger has been activated. Proceed with debugging. This method you can use for any of the 'POP UPs'.
    I hope this helps,
    Regards
    Raju Chitale

  • User Exits for Invoice creation ,cancellation and sales return

    Hi Gurus,
    Pl help me it's very urgent.
    I did not find any user exit invoice creation so i wrote the following code in include program
    MV60AF0B_BELEG_SICHERN.
    This code is to update the Z*table while saving invoice ,cancellation and sales return.
    The code modification is like below
          FORM BELEG_SICHERN                                            *
          Buchen Fakturabelege                                          *
    FORM BELEG_SICHERN.
      READ TABLE XVBRK INDEX 1.
      IF SY-SUBRC NE 0.
        CALL FUNCTION 'DEQUEUE_ALL'.
        MESSAGE S032.
        EXIT.
      ENDIF.
      IF SAMH_MOD = ON.
        EXPORT XKOMFK TO MEMORY ID 'SDBILLDL'.
      ENDIF.
      DATA: CALC_TYPE.
      IF REBATE_DETERMINED = 'Y'.
        CALC_TYPE = 'A'.
      ELSE.
        CALC_TYPE = 'I'.
      ENDIF.
    *{   INSERT         RD1K903017                                        1
    Work Area*********************
    data : wa_xvbrk type VBRKVB.
    data : wa_xvbrp type vbrpvb.
    data : wa_zmigo type zmigo.
    data : wa_vbrp type vbrp.
    Internal table Creation*******
    DATA:  BEGIN OF tab_XVBRP OCCURS 100.
             INCLUDE STRUCTURE VBRPVB.
    DATA:  END OF tab_XVBRP.
    data : begin of tab_vbeln occurs 10,
           vbeln type vbrk-vbeln,
           knumv type vbrk-knumv,
           end of tab_vbeln.
    data : tab_zmigo type table of zmigo.
    data : tab_vbrp type table of vbrp.
    *****Data declaration*************
    data : v_no_of_inv type i.
    data : v_vbeln_no(10) type n.
    data : v_last_inv_no(10) type n.
    data : v_first_inv_no(10) type c.
    data : v_tot_qty type i.
    data : v_frbnr type mkpf-frbnr.
    *******Ranges*********************
    ranges : r_vbeln for vbrk-vbeln.
    *****Populating IT****************
    tab_xvbrp[] = xvbrp[].
    describe table xvbrk lines v_no_of_inv.
    *}   INSERT
      CALL FUNCTION 'RV_INVOICE_DOCUMENT_ADD'
           EXPORTING
                VBSK_I           = VBSK
                WITH_POSTING     = 'A'
                PREISFINDUNGSART = CALC_TYPE
           IMPORTING
                VBSK_E           = VBSK
           TABLES
                XKOMFK           = XKOMFK
                XTHEAD           = XTHEAD
                XVBFS            = XVBFS
                XVBSS            = XVBSS
                XVBRK            = XVBRK
                XVBRP            = XVBRP
                XVBPA            = XVBPA
                XKOMV            = XKOMV.
    *{   INSERT         RD1K903017                                        2
    data : v_count type i,v_fkimg type i .
    data : v_no_of_records(10) type n.
    wa_xvbrk = xvbrk.
    ********Selecting the last rec no from ZMIGO
          select max( sr_no ) from zmigo into v_no_of_records.
    *****If Distribution channel is not ZB*********
    if  wa_xvbrk-vtweg ne 'ZB' and ( wa_xvbrk-fkart = 'ZRIN' or wa_xvbrk-fkart = 'ZRTE' ).
    if v_no_of_inv = 1.              " Process only when there is one invoice
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = wa_xvbrk-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = wa_xvbrk-vbeln.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    endloop.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    clear v_no_of_inv.
    else.                              "When there are Split Invoices
    v_last_inv_no = wa_xvbrk-vbeln.
    v_vbeln_no = v_last_inv_no - v_no_of_inv + 1.
    v_first_inv_no = v_vbeln_no.
    sort tab_xvbrp by vbeln.
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = v_vbeln_no.                      "wa_vbrp-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = v_vbeln_no.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    at end of vbeln.
    v_vbeln_no = v_vbeln_no + 1.
    endat.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    endloop.
    endif.                             "End of first 2nd IF.
    clear : v_no_of_inv, v_vbeln_no.
    endif.
    ****************Sales return************************************
    if  wa_xvbrk-fkart = 'ZRRE' and wa_xvbrk-vtweg ne 'ZB'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                wa_zmigo-mtype = '651'.
                condense wa_xvbrk-xblnr.
                wa_zmigo-reference = wa_xvbrk-xblnr.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg, v_frbnr.
    endloop.
    endif.
    *******Invoice Cancellation*****************************
    if  wa_xvbrk-fkart = 'ZRS1' and wa_xvbrk-vtweg ne 'ZB'.
    delete tab_xvbrp[] where shkzg eq 'X'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                condense wa_xvbrk-zuonr.
                wa_zmigo-reference = wa_xvbrk-zuonr.
                wa_zmigo-mtype = '602'.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg.
    endloop.
    endif.
    clear : v_no_of_records.
    *}   INSERT
      CALL FUNCTION 'STACK_RESET'.
      R185D-DATALOSS = SPACE.
      FOLGEAUFRUF102 = SPACE.
      PERFORM SETPAR_INIT.
    *{   INSERT         RD1K903017                                        3
    *}   INSERT
      LEAVE.
    ENDFORM.
    This program is working fine for single user but in production where no of people are creating the invoices from different places the data is not getting updated in table ZMIGO.
    sometime populating with wrong data , partial data and sometimes no updation at all.
    I have used the table locking system enqueue and dequeue FM's before n after updation but still the same
    thing is happening.
    What could be the reason.
    Looking for help very urgent any other alternate option.

    Hi,
    Go thru these..
    Enhancement
    SDVFX009 Billing doc. processing KIDONO (payment reference numbe
    SDVFX010 User exit item table for the customer lines
    SDVFX011 Userexit for the komkcv- and kompcv-structures
    V05I0001 User exits for billing index
    V05N0001 User Exits for Printing Billing Docs. using POR Procedu
    V60A0001 Customer functions in the billing document
    V60P0001 Data provision for additional fields for display in lis
    V61A0001 Customer enhancement: Pricing
    SDVFX001 User exit header line in delivery to accounting
    SDVFX002 User exit for A/R line (transfer to accounting)
    SDVFX003 User exit: Cash clearing (transfer to accounting)
    SDVFX004 User exit: G/L line (transfer to accounting)
    SDVFX008 User exit: Processing of transfer structures SD-FI
    SDVFX007 User exit: Billing plan during transfer to Accounting
    SDVFX006 User exit: Tax line (transfer to accounting)
    SDVFX005 User exit: Reserves (transfer to accounting)
    Business Add-in
    SD_CIN_LV60AU02 BADI for billing
    If it is helpful rewards points
    Regards
    Pratap.M

  • User exit for pricing to calcumlate net sales value and taxat billing level

    Hi,
    Can anyone suggest me , which user exit i can used for below scenario.
    Create a new user exit attached to pricing procedure ZXTNIC in order to exclude the conditions YTN1 & YTN2 from the calculation of the net sales value and include the value of the conditions YTN1 & YTN2 to the calculation of the Tax vale.
    From pricing procedure ZXTNIC need the net value to be till line 500 only and exclude the value of the conditions YTN1 & YTN2
    BACKGROUND
    Inter-company invoice is not calculated correctly in terms on the net sales value. The calculation of the net sales value is correct as some conditions are included in the calculations which must be excluded.
    The reason for creating the user exist is that any change in the pricing conditions class can not be used to exclude them from the net price, without totally changing the concept behind the conditions (new conditions, new access sequence in taxes, IC changes and so on).
    FUNCTIONAL DETAILS
    The user exit will run on the values of the line item and the header of the pricing conditions
    The user exit will subtract the current net value from the value of the conditions YTN1 & YTN2, also the Tax value will be added to the value of the conditions YTN1 & YTN2.
    Need the Net value = 8,032 and not 8,882
    This value will be calculated as follows = Current Net u2013 YTN1 u2013 YTN2 = 8,882 u2013 0,773 u2013 0,077 = 8,032
    Need the Tax value = 2,395 and not 1,545
    This value will be calculated as follows = Current Tax + YTN1 + YTN2 =     1,545 + 0,773 + 0, 077 = 2,395
    Regards,
    Jayaram

    solved

  • User Exit for Enter / post invoice against the order without goods receipt

    Hi,
    My requirement is to enter or  post the  invoice against the Purchase order without goods receipt.
    Need to an User Exit  for this.
    Thanks in Advance!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    User exits available are:
    V02V0001 Sales area determination for stock transport order
    V02V0002 User exit for storage location determination
    V02V0003 User exit for gate + matl staging area determination (headr)
    V02V0004 User Exit for Staging Area Determination (Item)
    V50PSTAT Delivery: Item Status Calculation
    V50Q0001 Delivery Monitor: User Exits for Filling Display Fields
    V50R0001 Collective processing for delivery creation
    V50R0002 Collective processing for delivery creation
    V50R0004 Calculation of Stock for POs for Shipping Due Date List
    V50S0001 User Exits for Delivery Processing
    V53C0001 Rough workload calculation in time per item
    V53C0002 W&S: RWE enhancement - shipping material type/time slot
    V53W0001 User exits for creating picking waves
    VMDE0001 Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002 Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003 Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004 Shipping Interface: Message SDPACK (Packing, Inbound)
    user exit when PGI is done
    Reward if useful.

Maybe you are looking for

  • Does Time Machine also back-up iPhoto/iTunes libraries?

    I'd like to do a complete reset of my Macbook Pro, in order to get him faster. I have a LaCie Hard Disc. Will my iPhoto and iTunes librairies also be backed up when I do a back-up with Time Machine? When I re-installate my mac, and then I put the bac

  • I ve lost my iphone last night, how do i get it back?

         while traveling by bus some body stolen my iphone 4S, when after 15 mins i realized i went back to the place where i had took the bus then i didnt find any clue, then i rushed to the police station and lodge a complaint then i blocked my mobile

  • Why? Why does it do this? Why? (problem with the lock thing)

    I always lock my ipod mini and then put it in my bag while I'm using it, but as soon as it touches something in my bag it pauses. Should it pause with the lock on? It's really annoying as I have to unlock it to unpause it, and then it just pauses its

  • ITouch connecting to AirPort via wireless

    Can I get my new iTouch to play music back through my Apple AirPort devices?

  • "&"s in URL Parameters

    I created a report based on SQL. The SQL select includes the following concatentation to create a link to a form: '<a href="PORTAL30.wwa_app_module.link?p_arg_names=_moduleid&p_arg_va lues=2401420097&p_arg_names=_show_header&p_arg_values=YES&p_arg_n