User exit PO creation

I am looking for a user exit where I can update a Z table with PO line items after a PO is created using Me21/Me21n. (After commit ) . Please let me know if you can help.
Thanks in advance,
shareen

Finally got this working.
Found a BADI method that is triggered after a PO is created :
  ME_PROCESS_PO_CUST~CLOSE .
This is what I did :
METHOD IF_EX_ME_PROCESS_PO_CUST~CLOSE.
  DATA: L_POITEMT TYPE PURCHASE_ORDER_ITEMS ." MMPR_UEKPO.
  DATA: L_LIFNR TYPE LIFNR .
  DATA: LV_ZSLOC_CUSTCLOTH TYPE ZSLOC_CUSTCLOTH .
  DATA: L_POITEM_TAB TYPE STANDARD TABLE OF EKPO .
  DATA: L_POITEM TYPE EKPO .
  DATA: LV_EBELN TYPE EBELN .
  CHECK SY-TCODE EQ 'ME21N' .
  IF SY-UCOMM EQ 'MESAVE' OR SY-UCOMM EQ 'OPT1'.
    GET PARAMETER ID 'BES' FIELD LV_EBELN .
    SELECT *  INTO TABLE L_POITEM_TAB FROM EKPO WHERE EBELN EQ LV_EBELN .
    LOOP AT L_POITEM_TAB INTO L_POITEM.
      SELECT SINGLE LIFNR INTO L_LIFNR FROM EKKO WHERE EBELN EQ L_POITEM-EBELN .
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
        EXPORTING
          INPUT  = L_LIFNR
        IMPORTING
          OUTPUT = L_LIFNR.
      IF L_POITEM-WERKS EQ '2010' .
        CLEAR LV_ZSLOC_CUSTCLOTH .
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = L_POITEM-EBELN
          IMPORTING
            OUTPUT = L_POITEM-EBELN.
        LV_ZSLOC_CUSTCLOTH-EBELN = L_POITEM-EBELN.
        LV_ZSLOC_CUSTCLOTH-EBELP = L_POITEM-EBELP.
        LV_ZSLOC_CUSTCLOTH-ERDAT = SY-DATUM.
        LV_ZSLOC_CUSTCLOTH-ERZET = SY-UZEIT .
        LV_ZSLOC_CUSTCLOTH-LGORT = L_POITEM-LGORT.
        SELECT SINGLE VBELN VBELP INTO (LV_ZSLOC_CUSTCLOTH-VBELN,LV_ZSLOC_CUSTCLOTH-VBELP) FROM EKKN WHERE EBELN EQ L_POITEM-EBELN AND
                                                                                EBELP EQ L_POITEM-EBELP.
        IF SY-SUBRC EQ 0.
          MODIFY ZSLOC_CUSTCLOTH FROM LV_ZSLOC_CUSTCLOTH .
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDIF .
Thanks everyone for the useful suggestions and your time .

Similar Messages

  • Need User Exits for Creation of Delivery and for Posting Goods Issue

    Hi,
    I need User Exits for
    Creation of Delivery
    Posting Goods Issue
    I need to make some checks regarding customer license expiration and if checks fail, I need to stop Creation of Delivery and Posting Goods Issue.
    Thanks in advance,
    Will reward,
    Mindaugas

    In the delivery you can use userexit USEREXIT_SAVE_DOCUMENT_PREPARE to make your checks and send an error message to the user in case they fail.
    You can find this user exit (form routine) in include MV50AFZ1.
    Hope that helps,
    Michael

  • User Exit after creation of Production Order

    Hello gurus.
    I would like to populate a table with the Production Order number once I create the document in transaction CO01. The problem is, I cannot find a user exit that can be executed after I save the Production Order number.
    We use internal assignment of production order numbers, so we don't know the number of the document until it's created. I'd like to find a way to be able to get the number of the document, once it's created and add it in a custom table I created.
    Is there a User Exit for this? Or maybe an alternative way of achieving this?
    Thank you.

    Fernando,
    I would suggest you to create a custom table and custom program. The program should pick up the all the orders which were created from AFKO table, on successful completion of running the program it should update the custom table with the date and completion time. So next time when this program is run, it should pick up order who's creation date and time is greater than that in the custom table. You can schedule to run this program in background.
    Regards,
    Prasobh

  • User Exit IDOC creation - When purchase order gets created

    Hi All,
    The requirement is whenever user creates a Purchase Order in the current SAP system an IDOC needs to get created and be sent to another SAP system where a Sales Order will be created.
    Can anybody suggest the correct User exit/enhancement at the time of Purchase order creation which could be used ?
    Also the function modules for creating the IDOCs within the user-exit.
    Thanks for your help.

    Hi Meghna,
    Your requirement is SAP standard function which means you don't have to use any user exit.
    What you need to do is configure output control, then when a PO saved, a idoc will send to vendor automaticly.
    Here is a step brief
    1. configure output type in NACE
    2. Add condition record in NACE
    3. Setup partner profile in WE20
    if you need detailed doc, give me your email, I can send you.
    Regards,
    Brown

  • User exit during creation of notification

    Hello!
    I am creating a notification. Required start date and time is mandatory. Now I want that difference between notification creation date and required start date should not exceed 30 days. This can be achieved by user exit. Which user exit should I use?
    Regards,
    VM

    Hi,
    I am assuming you might have used the standard functionality of dates determination by Priorities. And it might not have met your requirements.
    You may can use the following user exit QQMA0018 Scheduling according to entry of priority or QQMA0014 Checks before saving notification.
    Please check with your ABAPer which one will suit better.
    Regards,
    N.Nagaraju

  • Find the user exit while creation and change of sales order

    Hi Team
    Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
    u2022     The logic for the user exit to explode should consider the following assumptions and validations
    o     Customer master to have the entry at KNVV-KVGR1
    o     Material master to have the entry at MVKE
    o     UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
    o     Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
    for example :-->
    Product A with Scales mentioned below
    Product A     Quantity / Scale     UoM     Price(£)
         0-10     PAL/TES     20
         11- 20     PAL/TES     10
         21- 30     PAL/TES     5
         31-40     PAL/TES     2.5
         >41     PAL/TES     
    Product B with Scales mentioned below
    Product B     Quantity / Scale     UoM     Price(£)
         0-15     PAL/TES     25
         16-20     PAL/TES     20
         21- 30     PAL/TES     15
         31-40     PAL/TES     10
         > 41     PAL/TES     5
    u2022     Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
    u2022     The expected results should be
    o     Product A qty 10 + B qty 15 added = 25Pal
    o     The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
    Thanks in Advance.
    Puneet.

    Hi Team
    Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
    u2022 The logic for the user exit to explode should consider the following assumptions and validations
    o Customer master to have the entry at KNVV-KVGR1
    o Material master to have the entry at MVKE
    o UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
    o Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
    for example :-->
    Product A with Scales mentioned below
    Product A Quantity / Scale UoM Price(£)
    0-10 PAL/TES 20
    11- 20 PAL/TES 10
    21- 30 PAL/TES 5
    31-40 PAL/TES 2.5
    >41 PAL/TES
    Product B with Scales mentioned below
    Product B Quantity / Scale UoM Price(£)
    0-15 PAL/TES 25
    16-20 PAL/TES 20
    21- 30 PAL/TES 15
    31-40 PAL/TES 10
    41 PAL/TES 5
    u2022 Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
    u2022 The expected results should be
    o Product A qty 10 + B qty 15 added = 25Pal
    o The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
    Thanks in Advance.
    Puneet.

  • User exit during creation and saving of Produciton order

    Hi folks,
    I need to append a row in the material component of transaction code COR1. This needs to be triggerd when an order is created and saved in COR1. Please help me out...........
    thanks in advance

    Hi Team
    Below mentioned requirement , in which user exit i have to put below logic while creaion and change of sales order?
    u2022 The logic for the user exit to explode should consider the following assumptions and validations
    o Customer master to have the entry at KNVV-KVGR1
    o Material master to have the entry at MVKE
    o UoM in the Sales order item (VBAP- VRKME) should be = Pallets PAL or tonnes (TES)
    o Should have more than one line item or number of line items with UoM PAL or tonnes TES should be > 1
    for example :-->
    Product A with Scales mentioned below
    Product A Quantity / Scale UoM Price(£)
    0-10 PAL/TES 20
    11- 20 PAL/TES 10
    21- 30 PAL/TES 5
    31-40 PAL/TES 2.5
    >41 PAL/TES
    Product B with Scales mentioned below
    Product B Quantity / Scale UoM Price(£)
    0-15 PAL/TES 25
    16-20 PAL/TES 20
    21- 30 PAL/TES 15
    31-40 PAL/TES 10
    41 PAL/TES 5
    u2022 Product A (qty 10PAL) + Product B (qty 15 pal) ordered in a single order with 2 line items.
    u2022 The expected results should be
    o Product A qty 10 + B qty 15 added = 25Pal
    o The system user exit should add the total number of pallets on the order line items and point towards the respective scales, so in this example prices against each line item should be the respective price against 25 Pal = 5£ for product A per pal and £15 for product B.
    Thanks in Advance.
    Puneet.

  • User exit project creation

    do we need to follow any naming standard while creating a project?

    Hi,
    Yes, you should start with Z or Y and follow by your company naming convention.
    For example:
    Zmmxxxxx.
    Z  - Custom indicator
    mm - Functional area
    xxxxx - Meaningful description
    Regards,
    Ferry Lianto

  • 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/ Badi for Changing Quant parameters during TO Creation

    Hi Gurus,
    Could you please guide me to advice the User Exit/Badi which can be used for changing Quant Data during TO Creation.
    User Requirement: Using "Recepient Field" in MIGO as a Key Value for FIFO in WM during goods issue. Receipient is copied into TR and TO (Standard SAP Functionality). For the purpose of Stock Removal based on Receipient Value, we need to copy this value into Quant Data field named Certificate Number ("LQUA-ZEUGN").
    I will highly appreciate reply from Gurus.
    Regards,
    Gupta M

    Hi manish,
    Use the Exit MWMTO001 for this purpose and modify the table accordingly. This will solve your problem.
    Thanks,
    Shibashis

  • User Exit for ME21 PO Creation at the time of saving--Urgent

    Hi,
    Can some one help me out in finding the user exit for PO creation at the time of saving.
    The Requirement is:
    I need to create a custom field in EKKO table.
    After appending the structure with the field to the EKKO table, i need to create a PO.
    Now i need to update the field which has been created at the time of pressing the SAVE button.
    I need to update the EKKO table it self.
    I could find the user exits but none of them have the EKKO table either in Changing or in Tables.
    Thanks,

    Hi,
              You may want to check this user exits.
    EXIT_SAPMM06E_012 - Check Customer-Specific Data Before Saving
    EXIT_SAPMM06E_013 - Update Customer-Specific Data in Purchasing Document
    Here is the list of available user exits for ME21.
    EXIT_SAPMM06E_001 - Other Number Range or Own Document Number
    EXIT_SAPMM06E_004 - User Exit for Cust.-Specific Control of Import Data Screens in Purchasing
    EXIT_SAPMM06E_005 - Field Selection Control: Vendor Address Screen
    EXIT_SAPMM06E_006 - Export Data to Customer Subscreen for Purchasing Document Header (PBO)
    EXIT_SAPMM06E_007 - Export Data to Customer Subscreen for Purchasing Document Header (PAI)
    EXIT_SAPMM06E_008 - Import Data from Customer Subscreen for Purchasing Document Header
    EXIT_SAPMM06E_009 - Reset Customer Data at Beginning of New Document (Without Dialog)
    EXIT_SAPMM06E_012 - Check Customer-Specific Data Before Saving
    EXIT_SAPMM06E_013 - Update Customer-Specific Data in Purchasing Document
    EXIT_SAPMM06E_014 - Read Customer-Specific Data when Importing Purchasing Document
    EXIT_SAPMM06E_016 - Export Data to Customer Subscreen for Purchasing Document Item (PBO)
    EXIT_SAPMM06E_017 - Export Data to Customer Subscreen for Purchasing Document Item (PAI)
    EXIT_SAPMM06E_018 - Import Data from Customer Subscreen for Purchasing Document Item
    EXIT_SAPMM06E_020 - User Exit: Change Document for Requisitions (Conversion into PO)
    EXIT_SAPMM06E_021 - Fulfillment of Target Value: Release Orders Against a Contract
    <b>Reward points</b>
    Regards

  • Creation of a User exits FI data posted from MIGO Good receiving

    Hi all!, Will appreciate very much if you can help me. I have a situation where we dont use the std inter-co posting to trace inter-co trx . Neither do we use the SAP Consol Module. We are trying to capture the inter-co trx in SAP to be interfaced with Hyperion. Therefore we would require that VBUND filled in BSEG to be filled up for accts that are inter-co controlled . This control is done using the validation rule in FI. But the problem comes from integration from MM and SD. As the SD and MM do not have fields for VBUND when these postings post to a inter-co controlled accts the trx are not able to be posted. So was thinking if there is any way that we could assign the VBUND field thru user exits based on a logic to dervie the last 4 char from Vendor no. As our org codes all inter-co profile by the Acct grp = Interco and the last 4 char linked to SAP co. code.

    Anderton,
    I would prefer moving them to VBAK and then using it. Why?
    1. Once you have queried KNVV and moved it to VBAK you do not have to perform the select again.
    2. During SO change, you already have the data in VBAK so you do not have to fetch again from KNVV.
    3. Lets say the Z field was changed on KNVV after creation of SO and if your requirement is to use the Z field content when the SO was created, you cannot go back to KNVV since the data is changed. But if the same was stored in VBAK, you do not have that problem.
    Thanks,
    Vikram.M

  • User Exit/ BADI during creation of vendor master

    Dear Friends,
    During creation of vendormaster if the with holding tax is maintained then PAN no. field should be made mandatory.
    So far I know this can't done through standard field selection of vendor master. So this is to be done through BADI/User exit. Please provide me the same where in run time I can get PAN no field. It comes from the excise table.
    Regards

    First try for any Customization is available.
    If not we can achieve with enhancement point.
    Try to find out an implicit enhancement point on PAI event of the screen there validate for the "PAN No"
    if the "PAN No" is blank raise an error message & EXIT from the PAI.
    It would serve your purpose.
    Regards.
    Abhijit

  • BAdI: or User Exit for Campaign Creation   IN CRM 5.0

    Hi all,
    we are working in CRM 5.0,
    we have a Requirement like :
    when we create the campaign it should check higher level project ID (marketing Plan ID)
    if it is there it should permit for create campaign else it ll show error...
    Any BAdI: or User Exit for Campaign Creation?
    I ll geive reward points....
    Rhanks & Regards,
    Ganesh

    IN WHICH TRANSACTION U R CREATING CAMPAIGN ??

  • User Exit / Badi / BTE for Asset creation A ?

    Hi Experts,
    I need User Exit  / BADI / BTE for asset Creation.
    After saving newly created Asset from As01 we need to send a mail to the person for whom the Asset is assigned.
    i have tried all this.But no one is triggering after saving the As01 transaction.
    Exit Name           Description                                                                               
    AAPM0001            Integration of asset accounting and plant maintenance                    
    AFAR0003            External changeover method                                               
    AFAR0004            Determination of proportional values for retirement                      
    AINT0004            Change amount posted for certain areas                                   
    AINT0005            Dummy for extended syntax check. Do not use.                             
    AISA0001            Assign Inventory Number                                                  
    AIST0001            Exchange number range in master data maintenance                         
    AIST0002            Customer fields in asset master                                          
    AMSP0002            Determine relationship type for two company codes                        
    TRAN0001            User exit for asset transfer           
    Please suggest if anybody worked on this.
    regards,
    Imran

    Hi,
    Check out the following posts pertaining to similar topic.
    Change Asset Workflow
    Asset Management WORKFLOW
    Regards
    Sreekanth

Maybe you are looking for

  • No icloud button in Keynote on iMac

    Hi, I have enabled Documents & Data in the iCloud preferences on my iMac. When i try to open an existing document in Keynote (or in Pages, and Numbers), i can't see any button to open from iCloud. The documents appear on the web version on iCloud, bu

  • Adobe Acrobat X Pro - Error Message : "Adobe Acrobat Has Stopped Working"

    I use Windows 7 - 64bit / CS6 Master Collection that has Adobe Acrobat x Pro. When the computer is on for a little while, Acrobat would generate the error message that it has stopped working and then shuts down. Once that error message occurs, I cann

  • Gets so slow that I have to pull the battery every single day!

    I have had this issue from day 1 and is driving me crazy. Have to pull out the battery every single day just to be able to free the memory and so that it can run at a descent speed. After taking out the battery, putting it back again and then switchi

  • What it does

    Q1. getContentPane().setLayout( new BoxLayout( getContentPane(), BoxLayout.Y_AXIS ) );Look , in this code there are 2 times getContentPane() has been called. who refers to whom ? the code extends a JFrame. Q2. what is the job of Glue in BOX class. do

  • Mrp view 2

    Hi guys, I am working with kmat material and while doing material master data in MRP view 2 procurement are showing E grayed one ie in display mode but i don't want that so plz suggest me how to remove that display mode ie grayed one thanks jaiswin.