Order user exit..

I have to set an user status directly when creating an order(production order). Cannot use IWO10009 since while creating the order has got no instance in database tables. I need any function module to update the status internally or any exit that is invoked when we open the order for viewing(Since it cannot be set during creation, it can be set on opening and the user would have the same feel!!). Please Help.
Thanks in advance for your responses.

Thank you for the reply.
But the orders don't have a same status number as different orders lie in different status profiles.( A configuration used here). SO with the temporary object number i cant hit databse tables for the status profiles.
The status number is the input for the function module you stated.
Is there any method by which I can update the user status internally while remaining in that exit?
Waiting for responses.
Thanks in advance.

Similar Messages

  • Change Confirmed Qty in Sales Order User exit/ATP User exit

    HI
    We have a requirement to change the ATP Qty for certain meterials & Order Types  duing sales Order User exit(FORM USEREXIT_MOVE_FIELD_TO_VBEP.? ) or ATP User exit.( ATP...OUT?).
    Is this ok to update the XVBEP in FORM USEREXIT_MOVE_FIELD_TO_VBEP of MV45AFZZ ?
    Our requirement will be like this, for one order type ZSAL( and for certain Materials)  we need to reserve 4 qty, if any order comes with 10 qty and the confimed qty is only 6( total available stock at present) , then we should only confirm  2 qty for the other order type( For Non ZSAL Order Type), and reserve the 4 QTY for ZSAL Order Type.
    If there are multiple schedule lines for an Item, we need to reduce the qty equally( as possible) from all schdule lines.
    i.e. date1 qty 4
         date2 qty 6,
    in  this case we should confirm  Date1 QTY 2, date2 qty 4, so that the remaining 4 will be reserved for ZSAL Order type.
    Whats the Best way to achieve this ?
    Edited by: agrud agrud on Sep 8, 2011 4:01 AM

    Hi Agrud,
    Did you check the possibilities with configuration.If it is not possible with configuration then you can use that exit.Before i used this but only to display not to change any thing.
    Regards,
    Madhu.

  • PO Creation from Sales Order User Exit

    Hi,
    I have a business requirement where I need to  create a Stock Transport Order (STO) for a particular kind of sales order. I outlined different options for achieving this functionality.
    1. Trigger a workflow for creating STO.
    2. Configure it an EDI output for sales orders. Using the EDI document, create STO in the same system.
    3. Create STO using BAPI from the sales order exit 'USEREXIT_SAVE_DOCUMENT'.
    I am trying to understand the issues if I go with option of creating STO from sales order user-exit. I tested it and it is working fine. But what concerns is me transaction integrity. In other words I am trying to  execute another transaction within a transaction. Both Transactions (VA01 and ME21N/BAPI) may be trying to access same tables. Anyways I havent see any potential overlap.
    I would like to know anybody implemented such a solution?
    What could be the potential issues? Does it really affect transaction integrity?
    Thanks A Lot
    Anil

    I would also be concerned with the possibility of the order failing to update AFTER you call the BAPI.  You could create a custom output type that processes on order create for that order type.  You could add your BAPI call to the processing routine of the output type.

  • Name of the structure needed for sales order user exit

    Hi,
    I am planning to write a user exit which will insert the data into my ztable the moment the new sales order is created and is saved.
    I have identified FORM USEREXIT_SAVE_DOCUMENT as the necessary user exit. But the problem is that while inserting the data into the ztable I cannot insert the data from vbak as the data will be inserted into this table after the SO is saved.
    Thus I need to identify a structure which is used to populate the vbak table so that it simultaneously inserts the data in the ztable as well. Can anyone help me with the name of the structure so that these fields i.e. vbeln, vkorg, vtweg, spart are inserted into my ztable?
    Also need to know how to convert the net value i.e. vbak-netwr in Indian Rupees as it gets stored as Dollars ....
    Thanks,
    Vinod.

    Hi,
    One of the structure being used is RV45A, there are several other str's being used as well for various calculations,
    check out program SAPMV45A for the same.
    & in order to convert vbak-netwr to rupees use the below statemetnt,
    WRITE vbak-netwr TO zvbak-netwr CURRENCY INR.
    Regards,
    Raghavendra
    Message was edited by:
            raghavendra ay

  • Sales Order - user exit at item level

    I am new in writing user-exits. Pls do share your exp !
    When creating a sales order I encounter error, system says "Enter batch number".
    We basically create batch when doing GoodsReceive for Production Orders. At this time the Material Revision is copied as Batch into MCHB table.
    For example:
    Material ABC has the below,
    Rev    Batch
    A        A
    B        B
    C        blank
    If I create a SO for part ABC for Rev C, it does not allow me becos batch does not exists. But my SO should be allowed to be copy C into the batch field in VBAP.
    Pls let me know if we must create custom user-exit rather than modifying std.SAP user-exit for Sales Order processing (MV45AFZZ).
    Is there any contraints using the batch field in SO? As I came to know that the problem is when creating a Purchase Order  it allows to enter free text in batch field but SO doesn’t allow. Is't?
    Is there any standard way to config the system such that SO will bypass the existence checking of the batch
    Pls share !
    Pri

    Hi, but inplace of Batch we only enter the Revision of the material. Becos rev-batch relationship is 1-1, meaning is rev is A, the batch will be A too.
    We just use the batch field to represent the revision
    Rev    Batch
    A        A
    B        B
    C        blank
    I  can enter A in SO item batch field because system check that batch A exists
    I can enter B in SO item batch field because system check that batch B exists
    But I can’t enter C in SO item batch field because system check that batch C doesn’t exist
    Wondering how the system might know the batch is actually my revision. Not sure if I use User  EXIT to move “C” into VBAP-CHARG, will it give me error message because it will find out that there is no C batch
    Your views !

  • Ztable not updating in sales order user exit

    Hi Genius Abapers.
    We want to take text ID data of sales order into Ztable. For taking the data we have used user exit in sales order. Now the problem is if we go through debug mode then the Ztable is updating but if we remove the break point Ztable is not getting updated.
    Please give solution for this problem
    Regards
    Narayana

    Hi Gurus,
            I am basically from SD and we used commit statements in the programme and this is the code we used
    Include name --- MV45AF0B_BELEG_INITIALISIEREN
    **********************************Code Addd by paresh 8.10.2007 starts *******************************
      DATA : BEGIN OF itab_so OCCURS 0,
             vbeln LIKE vbap-vbeln,
             posnr LIKE vbap-posnr,
             spras LIKE t002t-spras,
             END OF itab_so.
      DATA : BEGIN OF itab_so1 OCCURS 0,
             vbeln LIKE vbap-vbeln,
             posnr LIKE vbap-posnr,
             spras LIKE t002t-spras,
             END OF itab_so1.
      DATA : BEGIN OF it_tabid OCCURS 0,
             tdid LIKE stxh-tdid,
             tdspras like stxh-tdspras,
             END OF it_tabid.
      DATA : is_stxh TYPE stxh.
      DATA g_header TYPE string .
      DATA wa_plain_text TYPE zplain_text.
      DATA t_lines LIKE tline OCCURS 0 WITH HEADER LINE.
      DATA g_item(16)." type i.
      data :it_ztable type table of  ZPLAIN_TEXT .
      data wa_ztable type zplain_text.
      data flag.
    *****************************Read Header text***************************************
    *loop at vbak.
       itab_so1-vbeln = vbak-vbeln.
       itab_so1-posnr = vbak-posnr.
       itab_so1-spras = vbak-wklnd.
       APPEND itab_so1.
       CLEAR itab_so1.
    ENDLOOP.
    refresh it_tabid.
    clear it_tabid.
    refresh it_ztable.
    clear it_ztable.
      LOOP AT xvbap.
        itab_so-vbeln = vbak-vbeln.
        itab_so-posnr = xvbap-posnr.
        itab_so-spras = xvbap-wklnd.
        APPEND itab_so.
        CLEAR itab_so.
      ENDLOOP.
    LOOP AT itab_so.
        SELECT tdid tdspras FROM stxh INTO TABLE it_tabid WHERE tdobject = 'VBBK' AND tdname = vbak-vbeln  .
    ENDLOOP.
    *loop at it_ztable into wa_ztable.
      LOOP AT itab_so.
        LOOP AT it_tabid.
          is_stxh-tdobject = 'VBBK'.
          is_stxh-tdname   = vbak-vbeln.
          is_stxh-tdid     = it_tabid-tdid.
          is_stxh-tdspras  = it_tabid-tdspras.
          CALL FUNCTION 'READ_TEXT'
            EXPORTING
              id                      = is_stxh-tdid
              language                = is_stxh-tdspras
              name                    = is_stxh-tdname
              object                  = is_stxh-tdobject
            TABLES
              lines                   = t_lines
            EXCEPTIONS
              id                      = 1
              language                = 2
              name                    = 3
              not_found               = 4
              object                  = 5
              reference_check         = 6
              wrong_access_to_archive = 7
              OTHERS                  = 8.
          IF sy-subrc = 0.
            LOOP AT t_lines.
              CONCATENATE g_header t_lines-tdline INTO g_header SEPARATED BY space.
            ENDLOOP.
            wa_plain_text-application = 'SO'.
          wa_plain_text-key1 = itab_so-vbeln.
            wa_plain_text-key1 = vbak-vbeln.
            wa_plain_text-key2 = 'HDR'.
            wa_plain_text-sub_application = it_tabid-tdid.
            wa_plain_text-text = g_header.
            wa_plain_text-last_date = sy-datum.
            MODIFY zplain_text FROM wa_plain_text .
       wait up  to  60 seconds.
             commit work.
            CLEAR: wa_plain_text.
            CLEAR : g_header,t_lines.
            refresh t_lines.
          ENDIF.
      if sy-subrc <> 0.
       delete from zplain_text where key1  = vbak-vbeln    and
                                  key2  = itab_so-posnr    and
                                  SUB_APPLICATION = it_tabid-tdid.
                                   commit work.
       endif.
        ENDLOOP.
      ENDLOOP.
    *endloop.
    Please do me the needfull
    Regards
    Manam.Narayana

  • Purchase Order User Exit (ME21N)

    Hello experts,
    I have a request to enhance SAP for authorization when a user creates a PO (ME21N)that all of the line items have the same purchasing group as the what is in the header, or it cannot be created.
    Anybody have any idea what exit this would be in?
    Thanks.

    Hi Tom,
    Here are the user exits available for ME21N.
    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
    For your case, please check <b>MM06E005</b> or you can try BADI <b>ME_PROCESS_PO_CUST</b>.
    Hope this will help.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

  • Create Purchase Order : User Exit

    Hi,
    When creating a Purchase Order, before saving it, I want to check the line items for certain conditions and want to check or uncheck the Goods Receipt indicator based on the condition.
    Could someone please let me know the user exit for this. I would really appreciate your help.
    Thank You,
    Rekha

    Here is a program which shows you user exits by transaction code.  Implement the program, run it, and enter the transaction code, hit F8.  This will give you a listing of exits.  Look thru them, look at the function modules tied to them and look at the FM signature to see if your data is available.  I don't know for sure if any will actually update a value.
    report z_find_user_exit no standard page heading.
    tables: tstc, tadir, modsapt, modact,
            trdir, tfdir, enlfdir, tstct.
    data : jtab like tadir occurs 0 with header line.
    data : hotspot(30).
    parameters : p_tcode like tstc-tcode obligatory.
    at line-selection.
      get cursor field hotspot.
      check hotspot(4) eq 'JTAB'.
      set parameter id 'MON' field sy-lisel+1(10).
      call transaction 'SMOD' and skip first screen.
    start-of-selection.
      perform get_data.
      perform write_list.
    *       FORM get_data                                                 *
    form get_data.
      select single * from tstc
                  where tcode eq p_tcode.
      check sy-subrc eq 0.
      select single * from tadir
                where pgmid = 'R3TR'
                  and object = 'PROG'
                  and obj_name = tstc-pgmna.
      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.
        endif.
      endif.
      select * from tadir into table jtab
                 where pgmid = 'R3TR'
                   and object = 'SMOD'
                   and devclass = tadir-devclass.
      select single * from tstct
              where sprsl eq sy-langu
                and tcode eq p_tcode.
    endform.
    *       FORM write_list                                               *
    form write_list.
      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.
    endform.
    Regards,
    Rich Heilman

  • Regarding Purchase order User-exit

    Hello friends,
    Here is the situation.
    when we create purchase order ... I need to modify the planned delivery field value under delivery tab at item level.
    For this I found user exit. 'EXIT_SAPMM06E_016' and I have written the logic in the include program.
    when I tested in debbugmode... the cursor is not at all comming to that point. It was failing always at the function module 'MODX_FUNCTION_ACTIVE_CHECK'.
    I don't know alwys active field showing blank. I think we need to activate the user exit some where. how to do and where to do?
    plese help me ..
    extract the code --from include program MM06EF0C_CUSTSCR1_ITEM_SET_D03
    User-Exit für Positionsfelder versorgen (PBO)
    FORM custscr1_item_set_data_pbo USING im_no_screen LIKE fc_call.
      DATA: l_enj_call TYPE c.
      STATICS: first_call(1) TYPE c VALUE 'X',
               active        LIKE sy-calld.
      IF NOT first_call IS INITIAL.
        CLEAR first_call.
        CALL FUNCTION 'MODX_FUNCTION_ACTIVE_CHECK'
          EXPORTING
            cprogname  = 'SAPMM06E'
            funcnumber = '016'
          IMPORTING
            active     = active
          EXCEPTIONS
            not_found  = 1
            OTHERS     = 2.
        IF NOT sy-subrc IS INITIAL.
          CLEAR active.
        ENDIF.
      ENDIF.
      CHECK NOT active IS INITIAL.         ==========================> always active sowing blank
      IF fc_vorga EQ cva_en.
        l_enj_call = 'X'.
      ELSE.
        l_enj_call = space.
      ENDIF.
    *-Define Fields:
      DATA: l_ci_ekpo LIKE ekpo_ci,
            lt_usr_tekpo LIKE bekpo OCCURS 0,
            lt_usr_teket LIKE beket OCCURS 0,
            lt_usr_tekkn LIKE ekknu OCCURS 0,
            lt_usr_tkomv LIKE tkomv OCCURS 0.
    *-Copy Tables:
      MOVE-CORRESPONDING ekpo TO l_ci_ekpo.
      lt_usr_tekpo[] = pot[].
      lt_usr_teket[] = ett[].
      lt_usr_tekkn[] = knt[].
      lt_usr_tkomv[] = tkomv[].
    *-User Exit
      CALL FUNCTION 'EXIT_SAPMM06E_016'
        EXPORTING
          i_ekpo      = ekpo
    ===============
    thanks in advance
    Regards
    Raghu

    Hi Raghunath
    I hope you have included your enhancement in a project and activated the project.
    1-Needed help
    2-SMOD and CMOD
    Hope it is helpful.
    Regards
    Neha

  • Sales Order User Exits - configurable materials !?

    I have been tasked with investigating the following issue and if it can be solved via ABAP/User Exits. Users in an already live system are entering Sales Orders ( VA01 )with multiple Configurable Material line items and have to repeatedly enter the same characteristic values in each line item ( by entering Item Details >> Configuration ). They want to enter a set of characteristic values in the first line item and then have them defaulted into any further items. I have looked at the standard user exits in particular USEREXIT_MOVE_WORKAREA_TO_SDWA. Has anybody attempted anything similar to this !? Any ideas ?
    Possible issues are:
    1. How do I find the characterictic values from the 1st line item. ie. they haven't been saved yet, are they in a temp area similar to XVBAP for normal sales order line items !?
    2. Are there are any suitable user exits in the Configuration side of things ( Function Group CEI0 !? ) to effect any changes the defaults. There are some BADIs in the code but they are not yet in use !?

    Hi Jonathan!
    I had a different requirement with sales orders and configuration, but this forced me into long debugging of behavior of all these exits.
    1) Characteristics can't be read.
    ad 1) in configuration it's possible to call function modules. Here (inside the configuration) values of characteristics are available and can be saved in global data of a Z-function module. This is later (in same transaction) available (like import/export).
    2) I would propose to use functions of characteristics (as mentioned, it's possible to execute own function modules in configuration). It's possible to default values (meaning: output of your function is only done, if characteristic is not set) based on global data of Z-function module.
    As long as a global memory is used, no interaction with other transactions has to be feared.
    You don't need user exits (but a lot of coding).
    You need to change the customizing of configuration - probably a huge task, because I guess you have a huge configuration (otherwise users wouldn't ask for maintenance help).
    Regards,
    Christian

  • Outbound Purchase order user exit EXIT_SAPLEINM_002 help

    Hi,
    Can somebody tell me how to stop the IDOC processing if the conditions are not met? My detail question is
    I am modifying the data in the outbound IDOC (IDOC_OUTPUT_ORDERS) for purchase order. I am using the user exit EXIT_SAPLEINM_002 to modify the segment data.
    But I would like to know how to stop for creating the IDOC if one of the condition will not met (for example if there is no data in Ztable while fetching then IDOC should not be created )?
    If the condition will fail I don't want to create the IDOC but Purchase order has to create in R/3.
    Any suggestions on my above query is highly appreciable.
    Regards,
    Noorul

    Hi
    The purchase order should always be created because it's created before creating the IDOC, I suppose it will be created by a particular message.
    Have you tried to raise the exception DATA_NOT_RELEVANT_FOR_SENDING?
    Max

  • Sales Orders User Exits

    Dear colleagues,
    Are there any user exits that I can invoke at the time of deleting a line item from a sales order?
    Ideally, I would like the user exit to check the status of production order and prompt the user if the associated production order can be deleted.  If the user chooses to retain the production, system should retain the production order although the associated sales order / lineitem is deleted.
    Regards,
    Pavan

    I could Figure it out.
    Thanks,
    Kannan

  • LT09 - Transfer Order User Exit is not getting trigerred though its active

    Hi,
    I am trying to assign the enhancement : MWMTO001
    ( Enhancements for end of transfer order generation )
    which contains the user exit component : EXIT_SAPLL03T_001
    I have created a project in CMOD and assigned the enhancement.
    When I execute the TCode LT09 for transfer order, I noticed that this exit is not getting trigerred ...
    I need to call a smartform whenever we save the data in the T-code LT09.
    Am i using a wrong Exit ? Please help me to find out why this exit is not getting triggered though its activated ....
    Thanking you in advance..
    Nagasubramanyam.

    Hi
    Thank you for reply.
    According to 1st scenario prgm is activated & also activated enhancement in CMOD.
    According to 2nd scenario, can u suggest how to find out the correct exit...
    Actually I written a print prgm in include of EXIT_SAPLL03T_001 & designed SMARTFORM for that...
    if I do process thru LT09 transaction & save that SMARTFORM should be triggered which is not happening...I put  break points & tried but the exit is not triggering.
    pls suggest how to find out the correct exit of LT09 .
    Thanks&Regards
    NagaSubramanyam.

  • Work Order User Exit

    Hello All,
    I need an user exit to get the order number when the order is saved via IW31. I am looking at the exit 'IWO10009', but I don't get the order no yet in this exit. The order no in structure <b>CAUFVD_IMP-AUFNR</b> has temp value like '%00000000001'. I need to get THE order no ( looking for an user exit which triggers <b>after 'SAVE' and before 'COMMIT'</b>.)
    Anybody can help me?
    Any kind of help is highly appreciated.
    Thanks,
    Chandra

    user exit : IWO10012
    Function exit : EXIT_SAPLCOIH_012

  • Cancel transfer order user exit

    Hello,
    Is there any user exit in transaction LT01 (create transfer orders)  for check data fields entry and trigger an error message if the data is not ok.
    Thank.

    Hello Carlos,
    When you do the transaction LT01 at that time the system will automatically check the input data and if find any inconsistancy it will throw error / warning message. This is std functionality.
    Where you want to use user-exit i.e. which data you want to check during TO creation.
    Hope this helps.
    Regards
    Arif Mansuri

  • Planned order user exit

    Does anyone know of a user exit to update planned order component quantity after super BOM is exploded?

    Hi Julius,
    I used an implicit enhancement in include LCOSDF36 under the form TRANSFER_DATA_PLANNED_ORDER. The enhancement builder allows you to change standard SAP code without creating a project via CMOD.
    If you are on ECC versions of SAP you could use it. Go to include LCOSDF36 and switch 'on' the builder via the menu path.
    If you are on older versions of SAP, you will have to locate a user-exit for PP. There are several of them available. You could also search right here on SDN.
    Let me know if you have any other questions.
    Kindly,
    Salil

Maybe you are looking for