User exit during project creation

Dear ALL,
I want to know is there any user exit at the time of project Creation  ( CJ20N / CJ01). Actually the requirement is the system should restrict the user if the user selects  the wrong project profile during the  initial screen and not during saving .
Thanks in advance.
Regards
Nitin

Hi Virendra,
I am new to PS , can you please help me to get prepopulated project profiles .
Thanks
Nitin

Similar Messages

  • 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 ??

  • BAdI: or User Exit  for Campaign Creation

    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

    Dear Ganesh,
    As campaign can be created and executed individually also, it will never check for higher level project ID.
    Let me check the system if we can block creation of campaign individually, without having a higher level marketing plan.

  • User exit before TO creation to chage MAKTX field or FM to change it after

    Hi all,
         I need some WM Expertise help.
         When I create a Sales Order from program (with bapicreatefromdata2) , the system automatically create a delivery, and then, a transfer order with no immediate confirmation. The TO is manual confirmed. In bapicreatefromdata2 I completed on each item line the field ARKTX with a description (Example: red - material description ). This field is automatically completed in delivery( same field ARKTX). But I need this description also in transfer order for each line (field MAKTX). The TO is created automatically and  the field MAKTX is completed with the description from the material master.
         So, I need an user exit before TO creation to change the field MAKTX. I have tried user exit: MWMTO001 and is not working I think because the TO is created with no immediate confirmation. Also I putted break-point everywhere in program SAPML03T (standard program for TO creation)  and  I changed the settings in debugger mode. I checked System Debugging and Update Debugging. Nothing happened. I cannot find the place before TO is created.
         An alternative to this is to update LTAP (item table for TO) after TO immediate creation in include MV45AF0B_BELEG_SICHERN but I can't find a function module to update the table before TO manual confirmation. I tried L_TO_UPDATE_PREPARE but this I think is for confirmed TO.
         Any one who worked on this kind of things, Please help.
         Thanks in advice,
         Bogdan

    check these exits....                  
    EXIT_SAPMM06E_012 
    <b>EXIT_SAPMM06E_013</b>
    EXIT_SAPMM06E_014 
    EXIT_SAPMM06E_006 
    EXIT_SAPMM06E_007 
    EXIT_SAPMM06E_018 
    EXIT_SAPMM06E_016 
    EXIT_SAPMM06E_017 
    vijay

  • User Exit for Delivery Creation

    Hi,
    I am looking for an User Exit for Delivery Creation, which should provide a Sales Order Number. This is required before Batch determination. Can any one help.

    Hi,
    I think you can try with MV50AFZ1 user exit.
    In move fields to LIKP and LIPS routine you can get the sales order.
    LIPS-VGBEL gives the sales order.
    Thanks,
    Rohan

  • User exit during planned order to production order conversion

    Hi,
    Let me know if there is any user exit during planned order to production order production.
    Regards,
    Yogesh

    Dear
    You can try the following :
    1.PPCO0001 /PPCO0007 /PPCO0012
    2.BADI workorder_update
    3.Check in SMOD or CMOD and enter PPC* -you will find all the related user exit
    Hope this helps
    Regards
    JH
    Edited by: Jiaul Haque on Oct 21, 2010 10:55 AM

  • User Exit during MB1B transaction

    Our scenario is during MIGO GR we are creating batches with a custom number range based on the unit of entry on the PO.  For example if we are procuring and receiving material A as Pallets with the unit of entry PAL then the batch number to be generated will be PAL0000123.  If for the same material A we are receiving as Drums then the batch number is DR00000123.  Each batch is required as all have a specific characteristic value that must be maintained.
    The next step in our process is to transfer these materials from one storage location to another using batch determination based on FIFO from MB1B.  The batch determination is only at the material level and not the Unit of Entry such as PAL or DR and so the system will transfer whatever material was received first irregardless of the unit of entry in MB1B.
    What we're looking for is a user exit during the MB1B transaction prior to the batch determination that will only select batches according to the value in the Unit of Entry field in MB1B.  This will allow us to apply the FIFO strategy to only PAL or DR batches separately based on the batch number assigned during GR.
    Thank you,
    Jeff Diluzio

    Hello,
    I have checked in my system and I see we do not have the order unit field available to create condition table with it but then we have a option to enahance the field catalog and there if we mention the field . However even in feild catalog I cant locate this filed but I see we have filed dummy.
    Conclusion: First step will be to do enhance field catalog with order unit field. If that is not possible then we need to use dummy field in field catalog to create condition table and then we need to pass order unit from MB1B screen to batch search/selection procedure.
    I know you have already tried for exit and all but I do not see any way possible to pass order unit to your selection /search procedure.

  • 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 during invoice verification (MIRO) and PO creation

    Hi,
        I have a following scenario to be support by ABAP development
    1. During invoice verification (MIRO) system should allow users to manually make any changes in amount and qty proposed by system.
    2. During purchase order creation i need a warning message in case of this po is first creating for that particular article and vendor combination.
       so that user will get alerted in case of wrongly choosen the vendor.Many a times user create wrong po, wrong GR and wrong invoice.
      since the business process activities are decentralized, person who is making GR is differ from the peron who had created po and invoice.
    Ex: material DCF is supplying by vendor VLC international, where there is one more vendor name with VLC traders. due to this name some time users will prepare wrong po, wrong GR and wrong invoice.
       plz suggest how can i suggest my  ABAPER to control this mistakes.

    Hi,
    you can check out the following exits while PO creation:
    EXIT_SAPMM06E_006
    EXIT_SAPMM06E_007
    EXIT_SAPMM06E_008
    EXIT_SAPMM06E_009
    EXIT_SAPMM06E_012
    EXIT_SAPMM06E_013
    EXIT_SAPMM06E_014
    EXIT_SAPMM06E_016
    EXIT_SAPMM06E_017
    EXIT_SAPMM06E_018
    Thanks.

  • 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

  • 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 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

  • MIRO - User Exit during SAVE: Read items & Update header

    Hi there!
    During MIRO after pressing save...
    I search for an user-exit or BAdI, to READ ITEM DATA and UPDATE HEADER DATA (XBLNR) after SAVE but before UPDATE.
    I have searched this forum, but with no luck. Many more then me seem to have the same problem. The most common answer have been to try BAdI INVOICE_UPDATE, but that BAdI only give READ access and NO UPDATE, so no luck there..
    To summarize all my searching here and findings... I list all exits I have tested...
    User-Exits
    LMR1M001 User exits in Logistics Invoice Verification
    LMR1M002 Account grouping for GR/IR account maintenance
    LMR1M003 Number assignment in Logistics Invoice Verification
    LMR1M004 Logistics Invoice Verification: item text for follow-on docs
    LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006 Logistics Invoice Verification: Process XML Invoice
    MRMH0001 Logistics Invoice Verification: ERS procedure
    MRMH0002 Logistics Invoice Verification: EDI inbound
    MRMH0003 Logistics Invoice Verification: Revaluation/RAP
    MRMN0001 Message output and creation: Logistics Invoice Verification
    BADI - When saving in MIRO the following BAdI were passed...
    PPA_CUST_BADI
    /CCIS/FICLRDC_ENH
    INVOICE_UPDATE  << only read no update
    ME_DP_CLEARING
    AC_DOCUMENT
    FI_LIMIT_PROCESS
    AC_QUANTITY_GET
    FMRE_BUS_PROCESS
    EXIT_XFMPRI_001
    CO_DOCUMENT_INFO
    INVOICE_UPDATE (method change_before_update ) << only read no update
    MRM_RANSACT_DEFAULT
    MRM_HEADER_DEFAULT
    Other BAdI's
    MRM_HEADER_CHECK - Bara ingående värden för kontroll
    MRM_HEADER_DEFAULT - Tyvärr sätter bara XBLNR precis när man går in i MIRO...dvs för tidigt.
    MRM_ERS_HDAT_MODIFY  - EJ anropad...
    Would be greatful for any ideas on this matter...
    Best regards
    Henrik

    Hello Henrik,
    In BADI INVOICE_UPDATE there are 3 methods CHANGE_AT_SAVE, CHANGE_BEFORE_UPDATE and CHANGE_IN_UPDATE.
    Of these CHANGE_AT_SAVE is called before INSERT / UPDATE statements are executed. We can use this to update RBKP-XBLNR.
    We can't use CHANGE_BEFORE_UPDATE and CHANGE_IN_UPDATE methods as they are called after INSERT / UPDATE statements are executed and before COMMIT.
    You can update RBKP-XBLNR through INVOICE_UPDATE~CHANGE_AT_SAVE method using call stack technique like below. You can replace 'VALUE' in the below code with the value based on your calculation using other variables like s_rbkp_new, ti_rseg_new etc.
    method IF_EX_INVOICE_UPDATE~CHANGE_AT_SAVE.
      DATA: lv_name_xblnr(30) TYPE c VALUE '(SAPLMRMP)RBKPV'.
      FIELD-SYMBOLS: <fs_rbkpv> TYPE mrm_rbkpv.
      ASSIGN (lv_name_xblnr) TO <fs_rbkpv>.
      IF <fs_rbkpv> IS ASSIGNED.
        <fs_rbkpv>-xblnr = 'VALUE'.
      ENDIF.
    endmethod.
    Best regards,
    Vishnu Tallapragada

  • User exit during VF04 background process

    Hi ,
    I am creating billing through the background run of VF04.
    Before a billing document is created I have to check the following condition.
    If the payment terms of the relevant billing item not equal to 'X' then system shoudl check the billing date and only create billing document if the date is equal to system date.
    If the payment terms is equal to 'X' then billing document should be created.
    I am plannign to use the userexit RV60AFZC and in there
    FORM USEREXIT_FILL_VBRK_VBRP
    I tried to find out of this user exit was called during background processing of VF04 by putting ina breakpoint. It did not give any pop-up.During creation of billing through VF01 it gave me the breakpoint.
    I want to know if for my requirement this is the right place to put the logic.
    Regards
    BGS

    Hi ,
    We had to change the logic and the user exit because it was not possible to pull the item level data into the VF04 screen.
    We are trying to do the following with variant which looks for all billing items due in next 5 working days
    Before system gets data from VKDFS into VKDFIF we are trying to aplly the logic
    If Payment terms <>  direct debit the include in the list VKDFIF
    If Payment terms <> direct debit
    Check  IF Billing date <= system date
    Yes -include in VKDFIF
    No- Remove entry
    When I call the variant in try to display the billing due list It shows the correct value
    But when we run the same variant in backgorund it fails
    BADI used
    Include LV60AA93
    Badi badi_sd_billing methode:vbrk_vbrp_fill
    CALL METHOD l_sd_billing_item_exit->vbrk_vbrp_fill
    Any help wpuld be appreciated

  • User Exit  for Equipment Creation

    Hi all,
    During Equipment creation I want to check whether the equipment for the current licence number or chassis number is already available,if yes i want through an error message as 'Equipment already created for this license number',else i want to proceed for the equipment creation..is there any USER EXIT or BADI to do this...
    Regards
    Sugumar G

    Hi
    cut and paste the code in se38 and execute and give the transaction code for which u need the exit
    *& Report  ZVBUSEREXIT                                                 *
    REPORT  ZVBUSEREXIT .
    TABLES : TSTC, "SAP Transaction Codes
             TADIR, "Directory of Repository Objects
             MODSAPT, "SAP Enhancements - Short Texts
             MODACT, "Modifications
             TRDIR, "System table TRDIR
             TFDIR, "Function Module
             ENLFDIR, "Additional Attributes for Function Modules
             TSTCT. "Transaction Code Texts
    *& Variables
    DATA : JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.
    DATA : FIELD1(30).
    DATA : V_DEVCLASS LIKE TADIR-DEVCLASS.
    *& Selection Screen Parameters
    SELECTION-SCREEN BEGIN OF BLOCK A01 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP.
    PARAMETERS : P_TCODE LIKE TSTC-TCODE OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK A01.
    *& Start of main program
    START-OF-SELECTION.
    * Validate Transaction Code
      SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.
    * Find Repository Objects for transaction code
      IF SY-SUBRC EQ 0.
        SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'
                                     AND OBJECT = 'PROG'
                                     AND OBJ_NAME = TSTC-PGMNA.
        MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
        IF SY-SUBRC NE 0.
          SELECT SINGLE * FROM TRDIR WHERE NAME = TSTC-PGMNA.
          IF TRDIR-SUBC EQ 'F'.
            SELECT SINGLE * FROM TFDIR WHERE PNAME = TSTC-PGMNA.
            SELECT SINGLE * FROM ENLFDIR WHERE FUNCNAME = TFDIR-FUNCNAME.
            SELECT SINGLE * FROM TADIR WHERE PGMID = 'R3TR'
                                         AND OBJECT = 'FUGR'
                                         AND OBJ_NAME = ENLFDIR-AREA.
            MOVE : TADIR-DEVCLASS TO V_DEVCLASS.
          ENDIF.
        ENDIF.
    * Find SAP Modifactions
        SELECT * FROM TADIR INTO TABLE JTAB WHERE PGMID = 'R3TR'
                                              AND OBJECT = 'SMOD'
                                              AND DEVCLASS = V_DEVCLASS.
        SELECT SINGLE * FROM TSTCT WHERE SPRSL EQ SY-LANGU
                                     AND TCODE EQ P_TCODE.
        FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
        WRITE:/(19) 'Transaction Code - ',
        20(20) P_TCODE,
        45(50) TSTCT-TTEXT.
        SKIP.
        IF NOT JTAB[] IS INITIAL.
          WRITE:/(95) SY-ULINE.
          FORMAT COLOR COL_HEADING INTENSIFIED ON.
          WRITE:/1 SY-VLINE,
          2 'Exit Name',
          21 SY-VLINE ,
          22 'Description',
          95 SY-VLINE.
          WRITE:/(95) SY-ULINE.
          LOOP AT JTAB.
            SELECT SINGLE * FROM MODSAPT WHERE SPRSL = SY-LANGU AND
                                               NAME = JTAB-OBJ_NAME.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            WRITE:/1 SY-VLINE,
            2 JTAB-OBJ_NAME HOTSPOT ON,
            21 SY-VLINE ,
            22 MODSAPT-MODTEXT,
            95 SY-VLINE.
          ENDLOOP.
          WRITE:/(95) SY-ULINE.
          DESCRIBE TABLE JTAB.
          SKIP.
          FORMAT COLOR COL_TOTAL INTENSIFIED ON.
          WRITE:/ 'No of Exits:' , SY-TFILL.
        ELSE.
          FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
          WRITE:/(95) 'No User Exit exists'.
        ENDIF.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'Transaction Code Does Not Exist'.
      ENDIF.
    * Take the user to SMOD for the Exit that was selected.
    AT LINE-SELECTION.
      GET CURSOR FIELD FIELD1.
      CHECK FIELD1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
    Regards,
    V.balaji
    Reward if usefull

Maybe you are looking for

  • How to make my Macbook Pro 13" Retina a long term laptop?

    I just bought a Macbook Pro 13" with Retina Display and I need to use this laptop until I finish college  (still in 3rd year highschool) I have 3 questions concerning my mac 1. Up to how long will this computer function? (years) 2. What are the thing

  • I reformatted drive with Time Machine Backups, can I recover them ?

    I had an iMac and an External Firewire drive used for Time Machine Backups, All my Personal Files and Music were backed up to the External Drive using Time Machine. The external Drive is a LaCie 500GB Triple Interface Drive. After a few days of upgra

  • IFRAME Page being redirected to iFrame SRC url instead.

    I am having a problem in getting iFRAME code to work in iWeb 08. I have a link on page A which takes me to page B where I have pasted following code within a Html Snippet : +<IFRAME SRC="http://www. google.com" WIDTH=1000 HEIGHT=500>+ +Not working bu

  • Nokia c7 pr 1.2 hard reset

    Greetings all. My C7 has been giving me alot of problems so I am planning on installing pr 1.2 via ovi suite and doing a hard reset. *#7370# hasn't worked so this is whats left. Does anyone know if this will delete Maps, Social and Store and the Qt s

  • LIKE Operator with Clobs

    Hi, Having Problems using the LIKE Operator with the Clob Datatype. Does any one know if its possible. Thanks Emer