Doubt on User Exit in ME22n

Hi Friends,
I want to create an User Exit to create a Change pointer.
When a change is made to TCode ME22N.
The Change pointer is used to Update EKES Table.
It would be helpfull. If any one can suggest an User Exit Specific to this issue.

Hi Sudhir,
I will suggest you check with this badi ME_PO_PROCESS_CUST .
Regards,
Madhu.

Similar Messages

  • Doubt in user exit for transaction MM03

    Hi Friends,
        I have a doubt in user-exits. I have to add a button in MM03 which when clicked should open a particular URL taking material no. as the parameter.I have got the function for opening the URL, I just want to know which user exit should I be calling and in what way?Can anyone please give me step by step procedure as I am new in user exits.Thanks in advance....

    VA01 is a dialog program.  The use of WRITE statements in dialog program is really not done.
    You will need output your values to existing screen fields or create new ones in SE51.
    Sounds like you might want to review dialog prog in general.
    Also - the TABLES statement is for database tables.  It has nothing to do with internal tables.

  • User exit in ME22N

    Hi,
            I am looking for an user-exit in ME22N transaction. My actual requirement is when I change account assignment category ( EKPO-KNTTP), the confirmation control (EKPO-BSTAE) should be defaulted with some value say 002.
    I have  noticed user-exit Function modules EXIT_SAPMM06E_007 and EXIT_SAPMM06E_017. There is a table TEKPO in the tables parmater of this FM's. I can see the values in fields TEKPO-KNTTP and TEKPO-BSTAE  also. But when I change the values, suppose I set TEKPO_BSTAE = 002, It is not getting reflected in the transaction ME22N.
    Can you please guide me, if the user-exits I have chosen are right ones to achieve the functionality or any other values in the user-exits need to be updated. Are there any BADI's for this kind of requirement.
    Thanks in advance.
    Vishnu Priya

    Hi Vishnu Priya,
    Inside the implementation for method 'IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM', use the method im_item->get_header to get the header details, then use method im_item->get_data to get item details. Now, you can pass the new value to the required fields and finally use im_item->set_data to set the values to PO.
    You can see the methods available for the associated type of parameter IM_ITEM by double clicking on IF_PURCHASE_ORDER_ITEM_MM.
    Make use of available methods to get the required details and proceed accordingly.
    Best Regards,
    Kumar.

  • User Exit for ME22N while saving of PO

    Hi all,
    i want a USER EXIT for ME22N while saving. i want EKET data.
    After checking EKET data, i want to chage EKPO data.
    Thanks
    pabi

    Hi,
    Below Exit you can have access to EKET and EKPO data in the tables paramters before the SAVE
    EXIT_SAPMM06E_012
    TEKPO: EKPO data
    TEKET: EKET data
    Enhancement:MM06E005 (Check in SMOD transaction)
    Check for one Paramter: I_TRTYP (This is for Create/Change/Display Modes) or You can check on Sy-Tcode = ME22N
    Hope this helps
    Regards
    Shiva

  • User Exit in ME22N with version management

    Hi Experts,
      I have implemented the userexit MM06E005 with FM - EXIT_SAPMM06E_012 . and in Include program i have given the code.
    CASE sy-tcode.
    when 'ME22N'.
    IF SY-UCOMM = 'MECHECKDOC' or sy-ucomm = 'MESAVE'.
      If i_ekko-PROCSTAT = '01'.
         message 'Please tick the Version Completed in Version Tab' type 'E'.
      endif.
    ENDIF.
    if the user changes in ME22n it will generate the version automatically that time before saving or checking the prog it will show the error message to check the version tab.
    It is working fine using this Exit.But,Some of the fields in Item details tab Material data ,Invoice ,Quantity and all not at all generating the version.Some fields if user  makes change it is generating version and error.but some fields it is not happening.
      If anybody know the userexit to generate the version pl.tell me or tell me the alternate way.
    Thanks in advance,
    Regards,
    Nandha

    Hi Experts,
    I have implemented the userexit MM06E005 with FM - EXIT_SAPMM06E_012 . and in Include program i have given the code.
    CASE sy-tcode.
    when 'ME22N'.
    IF SY-UCOMM = 'MECHECKDOC' or sy-ucomm = 'MESAVE'.
      If i_ekko-PROCSTAT = '01'.
         message 'Please tick the Version Completed in Version Tab' type 'E'.
      endif.
    ENDIF.
    if the user changes in ME22n it will generate the version automatically that time before saving or checking the prog it will show the error message to check the version tab.
    It is working fine using this Exit.But,Some of the fields in Item details tab Material data ,Invoice ,Quantity and all not at all generating the version.Some fields if user makes change it is generating version and error.but some fields it is not happening.
    If anybody know the userexit to generate the version pl.tell me or tell me the alternate way.
    Thanks in advance,
    Regards,
    Nandha

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

  • Hi frnds doubt in user exit..

    Hi frnds..
    i hav to write an exit code as per the req can any pne hlp me regarding this...
    User Exit assigned the number ranges for Purchase order ranges allotted for each business area whenever Purchase Department creates purchase order.
    looking for ur reply.
                                    with regards,
                                        sahakla

    hi rajesh,
    Please check this user exits EXIT_SAPMM06E_017 in enhancement MM06E005 (t/code <b>SMOD</b>).
    List of <b>user exits</b> for
    Transaction Code - <b>ME21</b> Create Purchase Order
    <b>
    Exit Name Description</b>
    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
    LMEKO001 Extend communications structure KOMK for pricing
    LMEKO002 Extend communications structure KOMP for pricing
    MM06E011 Activation of PReq Lock
    No of Exits: 38
    Hope this will help.
    Cheers
    Alfred
    Reward with poinst if it is helpful.

  • Doubt on user exit

    hi experts,
    i had google on this but i didnt get proper answer so m posting this so plz give gun shot answer.
    what is the differece between USEREXIT_SAVE_DOCUMENT_PREPARE  and USEREXIT_SAVE_DOCUMENT.

    Hello balaji,
    The difference is that any check or change to the document can be done in the PREPARE but once you get to the user-exit SAVE should not change anything only record additional information in the process UPDATE.
    I hope you help.

  • User exit for ME22N

    Hi!
    Here's our scenario: we wanted our PO to be non-editable when it comes to price when it has already a goods receipt. But right now, the system allows it and no available system messages can suffice the requirement. Is there an available user exit for this?
    Thank you.

    Hi,
    Do one thing use the BADI ME_PROCESS_PO_CUST .....in this you have one method PROCESS_ITEM use this and try to pass error message depending on your condition(whether goods reciept happend or not)....
    Thanks,
    Shailaja Ainala.

  • Doubts on user exits

    Hi, Could someone help me out with :
    1) Specific user exits in SD and MM?
    2) What mainly should we know for using user exits while working on SD , MM and FICO modules'?
    3)How to find or search for BADI's

    3) Goto SE18 and you will be able to get the available BADI's. or
    You can debug the GET_CLASS_NAME_BY_INTERFACE method of CL_EXITHANDLER class at runtime.
    1) The below program is obtained from some previous posts. You can get the list of exits for a particular transaction.
    *& Report  ZKB_USER_EXIT_LIST
    REPORT  zkb_user_exit_list 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.                    "get_data
    * 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.                    "write_list
    Regards
    Kathirvel

  • Hi doubt regarding user-exits

    hi,
       how will  transfer data in user-exits?
    thanku very much ........
    surya.

    Hi,
    Check this,
    https://forums.sdn.sap.com/click.jspa?searchID=5794703&messageID=3302505
    Thanks.

  • User exit in ME22N to change standard fields

    Dear all,
    I'm trying to change the delivery date from exit EXIT_SAPMM06E_013 but the system doesn't keep my changes. I'm able to change the delivery date in exit EXIT_SAPMM06E_017 but I need to make it from exit 013 because I need know the confirmations from tables XEKES/YEKES.
    I'm on release 4.6C and I don't have the chance to use the BADI ME_PROCESS_PO_CUST.
    Is there a way to make this from exit 013?
    Here is the code I'm trying to use:
      DATA : wa_table(100) TYPE c,
             t_ett         TYPE STANDARD TABLE OF beket,
             wa_ett        TYPE beket.
      FIELD-SYMBOLS: <fs_ett> TYPE ANY TABLE.
      IF sy-tcode = 'ME22N'.
        wa_table = '(SAPLMEPO)ETT[]'.
      ELSEIF sy-tcode = 'ME22'.
        wa_table = '(SAPMM06E)ETT[]'.
      ELSE.
        EXIT.
      ENDIF.
      ASSIGN (wa_table) TO <fs_ett>.
      t_ett[] = <fs_ett>[].
      LOOP AT t_ett INTO wa_ett.
        IF sy-tcode(4) = 'ME21'.
          wa_ett-eindt = sy-datum.
        ELSEIF sy-tcode(4) = 'ME22'.
          wa_ett-eindt = sy-datum.
          wa_ett-updkz  = 'U'.
        ENDIF.
        MODIFY t_ett FROM wa_ett.
      ENDLOOP.
      <fs_ett>[] = t_ett[].
      UNASSIGN <fs_ett>.
    Thanks for your help.
    Elio

    Hi,
    I am facing the same pbm.
    I am trying to change PO Order Qty (Menge) based on a formula.
    I have tried writting the code at the exits :
    EXIT_SAPMM06E_016 and EXIT_SAPMM06E_013
    I am also working on REL 4.6c. facing the same pbm. The value does not stay...!!
    By now, you must have resolved the pbm.
    How did you?
    Regards,
    remi

  • User exit for ME22N in throwing an error message.

    Dear Experts,
    I have a requirement here :
    PO is created, and see it in ME22N ,we see line items. In a line item when we make changes in PO Quantity or value and save it, then Select the line item and Go to -> Environment-> Item changes. It takes to a screen where a new doc no is generated. Whenever we make changes in PO Quantity or value and save and navigate through  Go to -> Environment-> Item changes, it generates a doc number.Similarly,it can generate any no.of doc nos for the changes we make.For each change in line item  ( in PO Quantity or Value ) it generates each doc number.
    My requirement is to restrict the user not to generate more than 3 doc numbers.After 3 doc numbers are generated and user tries to change line item PO or value for another doc no, an error message has to be thrown to stop the user.
    Please guide me in this requirement.
    Thanks in advance.
    Anticipating your early reply.
    Thanks,
    ranisin

    Hi,
    Use change pointers
    Function Modules :
    1) CHANGE_POINTERS_CREATE
    2) CHANGE_POINTERS_READ
    3) CHANGE_POINTERS_STATUS_WRITE
    4) CHANGE_POINTERS_READ_MODE_SET
    5) CHANGE_POINTERS_READ_INFO_GET
    Tables :
    1) BDCP - Change pointer
    2) BDCPS - Change pointer: Status
    3) BDCP2 - Aggregated Change Pointers (BDCP, BDCPS)
    4) CDPOS - Change document items
    5) CDHDR - Change document header
    Tcodes :
    1) BD61 u2013 Activate change pointers.
    2) BD50 u2013 Activate change pointer s for message types.
    Hope this helps you.
    Thanks and Regards,
    Ranjith Nambiar

  • BADI/user exit for me22n - disable/grey out field quantity (MEPO1211-MENGE)

    Dear all SAP gurus,
    When changing PO (ME22N), I need to disable (grey out) the quantity field on item (MEPO1211-MENGE), when all scheduled quantity is already received (EKET-MENGE = EKET-WEMNG).
    Have tried using LMEIGICJI and Handle_event method in CL_SCREEN_VIEW_MM. But still doesn't go to the screen that wants to be disabled.
    Tried using BADI ME_PROCESS_PO_CUST, but couldn't find how to disable the quantity field.
    (IF_EX_ME_PROCESS_PO_CUST~FIELDSELECTION_ITEM only works for custom field).
    Please kindly advise
    thanks in advance

    Hi Ahmad,
    No need of ABAP, follow this IMG Path.
    Material Management -> Purchasing - Purchase Order ->  Define Screen Layout at Document Level
    After Executing it . Choose ME22 from list and then choose display icon.
    than double click Quantity and Price here uncheck opt. Entry and check display.
    save your work.
    Hope this works.
    Regards
    Ahsan

  • Doubt on User Exits!!!

    Hi,
    Suppose if i create a project using CMOD transaction. how can i use that project and where i can use the same.
    For ex: i will create a project with the name "ZTEST1" and select one enhancement name, further will implement some code in the respective area. Now i will activate each and every thing.
    where and how can i use the project "ZTEST1" in our programs?
    Kindly advice...
    Thanks in advance.
    Ramesh.

    Hi Ramesh,
    The enhancement function modules are already called in standard transactions at some points.  You need not and cannot insert them explicitly anywhere in the program.
    If you want to call them in your programs then you can do it.
    As a standard method, create an enhancement project through transaction CMOD.  Select required enhancement.  Select the suitable function and write the code in the specified include.  Activate the include as well as Project.
    Thats it.  Nothing else is required.
    Automatically your code will be executed whereever the function module is called in the standard transactions.
    If your code is not executing at the place you expect, then the identification of exit may be not be correct.  Then you have to find different exit to fulfill your requirement.
    Reward if the answer is useful.
    Regards,
    Hema

Maybe you are looking for

  • Date Format is not Working in Cross tab Crystal report 2008

    Hi, I have developed an application ASP.Net c# in Framework 3.5 with crystal report 2008 with service pack 5. in my crystal i used cross tab to show the grid records. one of the data having the data type as date time after launching the report, when

  • UCCX 8 DB Not in Sync

    Hi All, We have a customer running UCCX 8 in HA mode. In the recent past we have been receiving the following syslog error once everyday : SYSLOG: %UC_LIB_DATABASE-1-DB_NOT_IN_SYNC: %[AppID=Cisco Unified CCX Cluster View Daemon            We took the

  • Lost functions for excel

    I receive files from my boss and I need to edit them using my computer. The problem is that I use Numbers, and he uses Excel. Formulas and functions get lost and get miscontrued during the process, so it inevitably leaves me sending back the file wit

  • Voucher not found in local voucher store.

    I am testing Flash Access 2.0. I have some error ouccured the falsh player masage is Starts to get video metadata at Mon Oct 25 18:04:44 GMT+0900 2010 DRMContentData received on Mon Oct 25 18:04:44 GMT+0900 2010 authenticationMethod = anonymous Serve

  • "waiting for device"

    I have tried to print from my MacBook to my HP Photosmart 1215 without consistent success. I'm most likely to get the following error message "GenericClass: waiting for device." I downloaded the latest HPPhotosmart_Installer10.2-10.4.dmg, which event