User Exit for VA01 and VA02 transaction codes

Hi,
I am writing a userexit for PO number checking for VA01 and VA02 transaction codes.The PO number should be unique in the table (vbkd-bstkd).Duplicate PO number entries can be checked with Sold-to Party.If anybody written something like this....please advice me...
Thanks in advance.
fractal

Hi Fractel,
Why are you looking for a user exit to do this duplicate PO check?
This can be achieved through configuration of your sales order document type and message control. Follow the path below for configuration of the document type.
Implementation Guide for R/3 Customizing (IMG)
-->Sales and Distribution
   -->Sales
      -->Sales Documents
         -->Sales Document Header
            -->Define Sales Document Types
Once you execute this node, you will see all the available document types. Select the one you are interested in and click the details icon. In the subsequent screen, under "General Control" section, there is a field "Check purch.order no". Pick the value 'A' from the drop-down list.
Once you do this, system will check for duplicate PO numbers whenever you are creating or changing the sales order with that document type. If duplicate, it issues a message.

Similar Messages

  • User Exit for VA01 and VA02: Duplicate PO check

    Hi,
    I am writing a userexit for PO check in VA01 & VA02 trx.The PO number should be unique.If we enters the existing PO number it should go to Incompletion log.I am calling check_po_number form in userexit_save_document in mv45afzz. it is not working....
    what is wrong in my code?
    Thanks in advance,
    fractal.
    FORM CHECK_PO_NUMBER.
    DATA : begin of ivbkd occurs 0,
             vbeln like vbkd-vbeln,
            end of ivbkd.
    Select DISTINCT vbeln into table ivbkd from vbkd
              where bstkd = vbak-bstnk.
    Select * from vbak up to 1 rows
             for all entries in ivbkd
              where vbeln = ivbkd-vbeln and
                    kunnr = vbak-kunnr.
    endselect.
    if sy-subrc = 0.
         perform set_so_incompletion_log using 'PONM'.
    else.
       perform reset_so_incompletion_log using 'PONM'.
    endif.
    ENDFORM.
    FORM set_so_incompletion_log using value(logid) type c.
    case logid.
    when 'PONM'.
         read table xvbuv with key
         vbeln = xvbak-vbeln
         tdid = 'Z026'.
         if sy-subrc <> 0.
          XVBUV-MANDT = SY-MANDT.
          XVBUV-VBELN = XVBAK-VBELN.
          XVBUV-POSNR = '000000'.
          XVBUV-ETENR = '0000'.
          XVBUV-PARVW =  ''.
          XVBUV-TDID  =  'Z026'.
          XVBUV-TBNAM =  'FTEXT'.
          XVBUV-FDNAM =  'LTEXT'.
          XVBUV-FEHGR =  '50'.
          XVBUV-STATG =  '02'.
          XVBUV-UPDKZ =  ''.
          XVBUV-FCODE =  'KTEX_SUB'.
          XVBUV-MSGKZ =   ''.
          XVBUV-SORTF =  '9999'.
          XVBUV-LFDNR =  '0000'.
          APPEND XVBUV.
         endif.
    ENDFORM.
    FORM reset_so_incompletion_log using value(logid) type c.
      case logid.
        WHEN 'PONM'.
           delete xvbuv
           where vbeln = vbak-vbeln
           and   tdid  = 'Z026'.
         WHEN OTHERS.
    endcase.
    ENDFORM.

    Hi Fractel,
    One of the classic mistakes we make when we use the <i>'for all entries in itab'</i> option is that we don't check if there are any entries in the itab or not. As a result of an empty itab, your select will always be true, because it is going to select everything and so the issue.
    Add a sy-subrc check in your code after select from vbkd. If sy-subrc <> 0, you don't have to go any further and if sy-subrc = 0, it means the PO is already used. Why are you even going to VBAK table?
    Remember, you are working with VBAK that is in your work area, and when you do a select from VBAK, you are overwriting your workarea, if the selection is successful. That will be dangerous. Don't do the VBAK select. You don't need that.
    If the VBKD select is successful, then you have a duplicate PO and if not, you don't have a duplicate PO. Isn't that the case?
    Srinivas
    Message was edited by: Srinivas Adavi

  • Average response times for VA01 and VA02 transactions

    Hi,
    we have some users complaining about response times, more specific for VA01 and VA02 transactions. We would like to compare our average response times to those of other companies in order to get an idea of what is acceptable to most companies. If you are willing to contribute, can you please send a few hours of STAD data (only for VA01 and VA02 transactions) of an average working day? Perhaps you can download the data into a spreadsheet and mail the zipped file to my account Many thanks.
    Best regards,
    Guido Van Leuven

    Hi,
    This is not the issue. We are investigating everything possible to improve our response times and we believe that that these are ok as well. We just want to build a case where we can prove that our response times are not worse than those at other companies and that we can do only by comparing those statistics.
    Best regards,
    Guido Van Leuven

  • Urgent: User exit for ME22N and ME32K transactions

    I need to know a user exit(s) for changing Purchase Order and Contract line item fields from EKPO table. Please let me know if you know any. BADIs are also fine if the user exit does not exits. Thanks

    Dear AP,
       I'm enlisting all the exits :-
    Transaction Code - ME22N             Change Purchase Order
    Exit Name
    Description
    AMPL0001
    User subscreen for additional data on AMPL
    LMEDR001
    Enhancements to print program
    LMELA002
    Adopt batch no. from shipping notification when posting a GR
    LMELA010
    Inbound shipping notification: Transfer item data from IDOC
    LMEQR001
    User exit for source determination
    LMEXF001
    Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001
    Customer-Specific Source Determination in Retail
    M06B0001
    Role determination for purchase requisition release
    M06B0002
    Changes to comm. structure for purchase requisition release
    M06B0003
    Number range and document number
    M06B0004
    Number range and document number
    M06B0005
    Changes to comm. structure for overall release of requisn.
    M06E0004
    Changes to communication structure for release purch. doc.
    M06E0005
    Role determination for release of purchasing documents
    ME590001
    Grouping of requsitions for PO split in ME59
    MEETA001
    Define schedule line type (backlog, immed. req., preview)
    MEFLD004
    Determine earliest delivery date f. check w. GR (only PO)
    MELAB001
    Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1
    Enhancement to Document Overview ME21N/ME51N
    MEVME001
    WE default quantity calc. and over/ underdelivery tolerance
    MM06E001
    User exits for EDI inbound and outbound purchasing documents
    MM06E003
    Number range and document number
    MM06E004
    Control import data screens in purchase order
    MM06E005
    Customer fields in purchasing document
    MM06E007
    Change document for requisitions upon conversion into PO
    MM06E008
    Monitoring of contr. target value in case of release orders
    MM06E009
    Relevant texts for "Texts exist" indicator
    MM06E010
    Field selection for vendor address
    MMAL0001
    ALE source list distribution: Outbound processing
    MMAL0002
    ALE source list distribution: Inbound processing
    MMAL0003
    ALE purcasing info record distribution: Outbound processing
    MMAL0004
    ALE purchasing info record distribution: Inbound processing
    MMDA0001
    Default delivery addresses
    MMFAB001
    User exit for generation of release order
    MRFLB001
    Control Items for Contract Release Order
    No of Exits:         35
    Transaction Code - ME32K                   Change Contract
    |Exit Name|Description                                   |
    AMPL0001
    User subscreen for additional data on AMPL
    LMEDR001
    Enhancements to print program
    LMELA002
    Adopt batch no. from shipping notification when posting a GR
    LMELA010
    Inbound shipping notification: Transfer item data from IDOC
    LMEQR001
    User exit for source determination
    LMEXF001
    Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001
    Customer-Specific Source Determination in Retail
    M06B0001
    Role determination for purchase requisition release
    M06B0002
    Changes to comm. structure for purchase requisition release
    M06B0003
    Number range and document number
    M06B0004
    Number range and document number
    M06B0005
    Changes to comm. structure for overall release of requisn.
    M06E0004
    Changes to communication structure for release purch. doc.
    M06E0005
    Role determination for release of purchasing documents
    ME590001
    Grouping of requsitions for PO split in ME59
    MEETA001
    Define schedule line type (backlog, immed. req., preview)
    MEFLD004
    Determine earliest delivery date f. check w. GR (only PO)
    MELAB001
    Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1
    Enhancement to Document Overview ME21N/ME51N
    MEVME001
    WE default quantity calc. and over/ underdelivery tolerance
    MM06E001
    User exits for EDI inbound and outbound purchasing documents
    MM06E003
    Number range and document number
    MM06E004
    Control import data screens in purchase order
    MM06E005
    Customer fields in purchasing document
    MM06E007
    Change document for requisitions upon conversion into PO
    MM06E008
    Monitoring of contr. target value in case of release orders
    MM06E009
    Relevant texts for "Texts exist" indicator
    MM06E010
    Field selection for vendor address
    MMAL0001
    ALE source list distribution: Outbound processing
    MMAL0002
    ALE source list distribution: Inbound processing
    MMAL0003
    ALE purcasing info record distribution: Outbound processing
    MMAL0004
    ALE purchasing info record distribution: Inbound processing
    MMDA0001
    Default delivery addresses
    MMFAB001
    User exit for generation of release order
    MRFLB001
    Control Items for Contract Release Order
    No of Exits:         35
    Regards,
    Deva.

  • User exit for save button in transaction code CBIH82

    HI All.
    i have got an issue with finding of user exit for transaction code cbih82.
    my functional consultant want me to go for exit CBIH_LB39_UE_POST_COMMIT (se37) but i cont find any user exit in this function module as it is triggering when i click on save at cbih82 in debugging.
    but i cont find any user exit in this CBIH_LB39_UE_POST_COMMIT.
    so could any one help me in this issue for finding user exit which should trigger when i click on save at cbih82 tcode.
    will be waiitng for a good answer.
    bye.
    regards.
    seetaram.

    check in smod
    user exits for CBIH82
    Exit Name           -- Description
    EHSIAHM1           --  EH&S: Menu Exit 1 for Incident/Accident Log Header
    EHSIAHM2           ---  EH&S: Menu Exit 2 for Incident/Accident Log Header
    EHSIAPM1           --- EH&S: Menu Exit 1 for Incident/Accident Log Person
    EHSIAPM2           --  EH&S: Menu Exit 2 for Incident/Accident Log Person
    EHSMPHM1        --   EHS: Menu Exit 1 for Measurement Project Header Data
    EHSMPHM2         -- EHS: Menu Exit 2 for Measurement Project Header Data
    EHSMPJM1          --  EHS: Menu Exit 1 for Measurement Project Measurements
    EHSMPJM2          --  EHS: Menu Exit 2 for Measurement Project Measurements
    EHSSARA            --  EHS: Check/Edit Lines in SARA List Before Printout
    Salil...
    Edited by: salil chavan on Nov 19, 2008 8:23 AM
    Edited by: salil chavan on Nov 19, 2008 8:25 AM

  • User exit for va01 and vf01 while saving.

    I need to display a custom message which shows two numbers when i save a record using va01 and vf01.. Is there a user exit I can use? or shud i use enhancement spots? if so where??

    Hi Suzie
    To add; please be clear that using an enhancement point will only save you the need to get an access key.
    Rest ofcourse you will be adding your code in the correct userxit; but without the access key.
    Hope it helps !!
    Neeraj

  • User exit for va01 and xd01

    Hi,
    i need the brief guide for the below query.
    In some companies Delivery block and Billing block are not applicable for Industrial customers (for sales order ). The system should not allow the sales order to be saved if Delivery/Billing block has been selected for such customers (Customer group u201C01u201D).
    Thanks.

    HI,
    it´s an include from SAPMV45A. You can call MV45AFZZ with SE38.
           U S E R - E X I T S
           U S E R - E X I T S
           U S E R - E X I T S
           INCLUDE MV45ATZZ.            " Data definitions in MV45ATOP
             INCLUDE MV45AOZZ.             " User-modules PBO
             INCLUDE MV45AIZZ.             " User-modules PAI
             INCLUDE MV45AFZA.             " User-forms < 3.0
             INCLUDE MV45AFZB.             " User-forms
             INCLUDE MV45AFZC.             " User-forms < 3.0D
             INCLUDE MV45AFZD.             " User-forms   3.0E
             INCLUDE MV45AFZF.             " User-forms   3.0F
           include mv45afzg.             " User-forms   3.1G
             include mv45afzh.             " User-forms   4.6B
             INCLUDE MV45AFZZ.             " User-forms
             INCLUDE MV45AFZ4.             " User-forms   4.0#
    Regards
    Nicole

  • Regarding the User Exit  for Goods Receipt (MIGO) Transaction code

    Hi,
    I have a requirement where I want to capture the Goods Receipt Document number when it’s got saved (Created).
    I have find out Exits available for the MIGO.
    MB_CF001
    MBCF0002
    MBCF0005
    MBCF0006
    MBCF0007
    MBCF0009
    MBCF0010
    MBCF0011
    I want to know which is the right one to serve my purpose (Exit Name).

    Hi Nikhil.
    I'm not sure which one is the best (there are several exits in SAP).
    But what i usually do is:
    - i have a dummy project in DEVELOPMENT SYSTEM, where i include the enhancements i suspect that solve my problems.
    - then i set the project active, break point ... that's it.
    Hope this helped.
    Reward helpfull ideas.
    Best regards.
    Valter Oliveira.

  • User exit for va01/va02 for std program

    Hi ,
    how are u all....
    here is my problem...
    i created a customized screen for va01.
    this screen gets called after user saves the order.
    in this screen i provided 4 options .
    1. accept the order
    2 change the order
    3.reject the order
    4 release unconfirmed.
    i am calling this screen in user exit userexit_refresh_document.
    before this am capturing the order number .
    once user clicks on first radion button i.e on accept.
    then i am passing the order number and removing the block using BAPI_salesorder_change.
    but here bapi is passing the error message as plese enter the order number ....
    my doubt is the userexit whr am calling the screen is correct ?
    can we do the same using BDC ..?
    if anybody working actions on user entry for va01 and va02..
    please let me know whr and how u r writing the code... sooon
    thx in advance...
    regards
    sanjay

    what are u doing ? , u cannt call BAPI in the same user exit.
    if user accepts the order --->then u have to unblock the order ?
    then u have to activate Credit Control User exits ->SPRO->SD->System Modifications>Credit Control User exits.
    regards
    Peram

  • User Exit for VA01 - Delivery Block

    Dear Friends
    I wanted to do a User Exit for VA01 which should set the Delivery Block = Credit Memo as default for a particular user.
    Can anyone give me the solution.
    REg
    S.K.Raj

    Hi Kamaraj,
    First of all u have to find out the perticular exit for make the changes, after that take one field TBTKZ which is flag for decit /credit memo. Based on the condition that flag set as 'X'. If that flag set as 'X' then populate the data.
    Here it ishow to find out the user exit.
    execute the following report and enter the t-code VA01 it will display all the exits. then search them by seeing coments..
    report zuserexit no standard page heading.          
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.          
             tables : tstct.          
    data : jtab like tadir occurs 0 with header line.          
    data : field1(30).          
    data : v_devclass like tadir-devclass.          
    parameters : p_tcode like tstc-tcode obligatory.          
    select single * from tstc where tcode eq p_tcode.          
    if sy-subrc eq 0.          
       select single * from tadir where pgmid = 'R3TR'          
                        and object = 'PROG'     
                        and obj_name = tstc-pgmna.     
       move : tadir-devclass to v_devclass.     
          if sy-subrc ne 0.     
             select single * from trdir where name = tstc-pgmna.     
             if trdir-subc eq 'F'.     
                select single * from tfdir where pname = tstc-pgmna.     
                select single * from enlfdir where funcname =     
                tfdir-funcname.     
                select single * from tadir where pgmid = 'R3TR'     
                                   and object = 'FUGR'     
                                   and obj_name eq enlfdir-area.     
                move : tadir-devclass to v_devclass.     
              endif.     
           endif.     
           select * from tadir into table jtab     
                         where pgmid = 'R3TR'     
                           and object = '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.     
    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.
    Hope this helps you..
    Regards,
    Kumar.

  • Want to find the screen exits in VA01 and VA02

    Hi All,
      I want to find the screen exits in VA01 and VA02.
      How to find these screen exits.
      Actually i wnat to add a new custom field to the Additional data B tab on the header of VA01 transaction code.
    Now intially i want to know whether there are screen exits in VA01 transaction code ?If yes please provide the names?
    Please help me regarding this.

    Please check this
    http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
    The SAPMV45A , 8309 screen is the Additional Data B tab  to add your custom fields . To capture the data from this custon field you can use
    the user exit MV45AFZZ, USEREXIT_SAVE_DOCUMENT_PREPARE OR
    USEREXIT_SAVE_DOCUMENT depening on your functionality.
    Thanks
    Vinod

  • User Exit for Va01[ Return Order ]

    I Have Written User Exit for Va01[ Return Order ] in MV45AFZZ,
    I'm Making tax field VBAK-TAXK1 as 0 when making this field as 0 Pricing Condition Tax calculation should not be exit and tax value must be 0.
    How to do this process...plz give me a solution.

    Hi
    For price calculations or modifications, you may have to write the code in SD routines. Check this T.code VOFM.
    Reward if it helps!
    Krishna

  • User exits for saving in IQ02 transaction.

    Hi All,
    I have the following problem: The end user is unable to save few fields (Stock type, plant, storage location) data in IQ02 transaction.
    1. Enter IQ02 transaction, give the material and serial number.
    2. In SerData tab, give the stock type, plant and storage location
    3. Now when I am trying to save, the following error is prompted: "System status ESTO is active (EQU 30055392)"
    4. After this when I press continue button, the data is not saved.
    I feel that there could be some problem in the user exits for this transaction. Please tell me the user exits for saving in this transaction.
    Thanks,
    Vishal.

    Hi Vishal,
    Please find list of userexit for Tcode IQ02 as below,
    Exit Name           Description
    IEQM0001            Add. checks for equip. installation at functional locations
    IEQM0002            Additional checks for definition of equipment hierarchies
    IEQM0003            Additional checks before equipment update
    IEQM0004            Object is allowed for contract partner (Order->MaintCont.)
    IEQM0005            Object allowed for SD contract (MaintContract->MaintCont.)
    IEQM0006            Object allowed for SD contract (Maintain maintenance cont.)
    IEQM0007            Check/change manufacturer field in equipment master.

  • I am posting data for va01 and va02 using BDC session,what happens if

    Hi,
    I am posting some data for va01 and va02 using BDC session,but what happens  if i try to post same data using call transaction.

    Hi,
    That is just another method. You can post the data using Call Transaction as well.
    Just give it a try and in case you face some problem revert back with your issue.
    We will help you to solve the same.
    Hope this helps!!!
    Regards,
    Lalit

  • User exit for va01 pricing

    Hi experts,
                   while preparing order in va01 user wronly enter value for zvat in condition , for eg : zvat is 12% but user given 4.5% and save order, i won t allow to save this type of order. kindly give any solution for this.
    Regards
    G.Vendhan

    hi
    you can have a look at all the user exits available on this thread
    Re: User Exit for va01
    hope it helps
    regards
    Aakash Banga

Maybe you are looking for

  • No Office 2010 64 bit support and printer driver issues

    I have been using Adobe Acrobat Pro 8 for about 2.5 years. Whenever I upgrade my laptop I usually upgrade most of the software I use including Adobe Acrobat Pro. This time I didn't see a need so I installed Acrobat Pro 8 again. When I did, it no long

  • Saving image in ms sql database.

    Hi all, i have a problem saving image in the database.i used request.getParameter("imagename"), to get the content of the textfield in the html file but the problem is that it omits the filepath and gives me just the image name and that gives me an e

  • Error on ALE/IDOC

    Hi, While doing ALE/IDOC I am getting error. 'Error in ALE service - Entry in outbound table not found'. what it s mean????? Thanks & Regards. Balajee Jeyaraj.

  • Forms Alert

    I have an Oracle generated alert 'Do you want to save the changes you have made?' which correctly gets displayed by the ENTER_QUERY command. However the alert is displayed with a white background and I want to change it to grey to match my own alerts

  • BB pearl 8130 having troble sending and reciving SMS from verizin cell phones

    when I send a SMS to a verizin cell phon somtimes the phone gets it some time it dose not.  I don't have verizin i have alltel.  also i dont recive text from my freinds ether.  someone please help me!!!