User exit  to change material availability date

Hi Gurus,
   my requirement is like I need to change the material availability date based on some conditions.
Is there any User Exit to change the availability date so that I can dump my code in the user exit .
If not is there any alternative process to get the solution.
Thanks,
Sudhaa.............

Hi Sudha,
Can you tell me your requirement clearly please.
Regards,
Dhanunjaya Reddy

Similar Messages

  • User exit to change item level data in purchase order

    Hi,
    Can anyone let me know the user exit to change item level data in purchase order . there is a badi ME_PROCESS_PO_CUST for this but the issue is its method process_item gets triggered only when the item is changed. My requirment is
    For purchase order document types u201CZSOu201D and u201CZCOu201D, where the purchase order is a u201CLimits Orderu201D only i.e. no materials or services on the purchase order, the print price indicator field should be set to u201Cblanku201D (unchecked).   now i cant use ME_PROCESS_PO_CUST  because process_item wont get triggered if there is no change in itemlevel data.
    Regards,
    Rahul

    Hi Rahul,
    Probably EXIT_SAPLMEKO_002.
    hope it helps,
    Edgar

  • Help - User exit to change item level data in Purchase Order

    Hi,
    Can anyone let me know the user exit to change item level data in purchase order . there is a badi ME_PROCESS_PO_CUST for this but the issue is its method process_item gets triggered only when the item is changed. My requirement is For purchase order document types u201CZSOu201D and u201CZCOu201D, where the purchase order is a u201CLimits Orderu201D only i.e. no materials or services on the purchase order, the print price indicator field should be set to u201Cblanku201D (unchecked).   now i cant use ME_PROCESS_PO_CUST  because process_item wont get triggered if there is no change in item level data.
    Thanks,
    Rahul

    Hi Rahul,
    Probably EXIT_SAPLMEKO_002.
    hope it helps,
    Edgar

  • User Exit for Changing Payment Due date for Invoices

    HI Gurus,
    Could anyone suggest a User Exit which cane be used for Due Date calculation an all Invoice Entries like MIRO, FB60 etc.
    This is required for overwriting the Due Date determined via payment terms by a Particular day in a week. (Eg: Friday)

    Hi
    User exit
    Re: user exits in MM
    Regards
    Ram

  • Material availability Date - User Exit

    Dear All,
    Can any one help me in finding out User Exit to change Material Availability date in VA01, which system propose automatically.
    The Problem is I need to assign Mat aval. date as say SY_DATUM + 60. Then system should take this date for ATP calculation(for eg: Loading date,Goods issue date,Transport.plan.date) and finally it should propose Delivery date.
    It would be great helpfull for me if any one help me in this issue ASAP.
    Advance Thanks for your help
    With Regards
    K.Babu

    Hi,
    Try using USEREXIT_AVAILABILITY_IN(RV03VFZZ) or USEREXIT_ADD_FIELD_TO_LINE(FV45VFZZ) exits in SD. Due to various combinations possible (for example if you use route-scheduling it may behave differently than otherwise), it may not be possible to apply a common logic.
    I would suggest using USEREXIT_ADD_FIELD_TO_LINE to modify the date fields in the structure MVERF (field EDATU : Delivery date, MBDAT : Material avail. date and so on). At this point, system has already calculated the first set of dates based on customer requested delivery date, so you will need to do adjustments in all fields accordingly.
    Eg in this exit:
    w_date = sy-datum + 60.
    offset = w_date - mverf-mbdat.
    mverf-mbdat = mverf-mbdat + offset.
    mverf-lddat = mverf-lddat + offset.
    mverf-edatu = mverf-edatu + offset.
    Please note it will need some adjustments if you have a shipping calendar (eg sundays off..) in which case the offset may be a little different for EDATU.
    cheers,

  • USER EXIT FOR CHANGING POSTING DATE IN THE MATERIAL DOCUMENT

    Hi,
    Pls advise any USER EXIT FOR CHANGING POSTING DATE IN THE MATERIAL DOCUMENT.
    Regards,

    Hi,
    There is another user exit for updating material document data Upon posting  is MB_CF001
    I hope this will fullfill you.
    Prem

  • Inbound IDOC User Exit ZXVEDU04 change IDoc Data

    Hi all,
    We have to develop an user exit for changing the Plant, Shipping Point and Storage location
    We have identified the exit ZXVEDU04 . Is there some other exit for this ??
    But which internal table we are supposed to change this to change the data .
    If possible send me a sample code
    Thanks in Advance .
    Vivek K ..

    Hi all,
    I have done this for a single line item IDoc .
    How do i go for IDocs with more than one line item ???
    I have hardcoded VBAP-WERKS(1) etc for Plant, Strg Loc and shp pt .
    How to identify how many line items are there in the IDocs ??
    Thanks in Advance .
    Vivek K ..

  • Is there any user exit to change the UOM of a material while creating sales

    Hi experts,
    I have a requirement to change the UOM of the item material in sales order while creating.  Could anybody help me in finding the correct user-exit to change the UOM.
    Thanks,
    srinivas.

    Hi Ravish,
    I am already changing the UOM in the same include and in the subroutine "USEREXIT_MOVE_FIELD_TO_VBAP".  But it is again over writing in the standard program.  What I need to do, to remain same UOM.
    Thanks,
    srinivas.

  • For Dynamic Credit Check replacing Material Availability date with Delivery date

    Hi All,
    Our client has this requirement, where they want to change the standard SAP functionality which Checks whether a schedule line item in a sales order is with in horizon or not based on "Material Availability Date" VBEP-MBDAT. They want in place of this Delivery date of schedule line should be used i.e. VBEP-EDATU. I did some research and found out that this could be done technically by updating the BADI "BADI_SD_CM".
    Now we are stuck as to what needs to be changed? has anybody worked on this kind of requirement before?
    Please share your past experience.
    Thanks and Regards,
    Prateek Maheshwari.

    As you know, VBELN-Currency-POSNR-ETENR-MBDAT is standard exposure key of sales order but my ex-colleague changed it into VBELN-Currency-POSNR to compress exposure data for certain CCA.
    In this case, of course, that CCA should meet some biz requirements(User-exit. etc) like no partial delivery. etc.... for integrity of exposures..
    This case is different because you want to change value of key....and it's Date!!!!
    Anyway I think it's techinically possible but it's very risky in live system because existing exposures would be not removed even if delivered, changed, deleted or blocked.
    So you have to delete all exposures and rebuild after program changed.
    I'm writing it's possible now but I refused when my customer want to change it because I don't have any way to rebuild huge data in live system.

  • Material Availability Date and Corresponding Basic finish date

    Hi experts,
    I have one requirement from my Business for updating Basic Finish date based on the Material availability date
    Requirement goes like this, When we enter a Component of 100 qty  in the service order , if stock is not available we get system status as MSPT and IWBK we can see how much quantity confirmed
    But i dont see any table or report which shows when this material can be available for further delivery. Based on the next available material date i have to change the basic finish date in the service Order
    Please let me know if you any report available for this or any standard approach. I want to know if any exist to leverage this functionality and logic how to get this accomplished
    thanks
    sarvan

    Sarvan,
    You would need to perform this check when saving the work order as there could be multiple components all with differing ATP dates.
    But a development could do something like:
    Read all active/open components/materials on the work order
    Determine the availability data for each component/material
    Determine the latest of the above dates
    Apply this date to the order Basic Finish Date
    You would need to ensure your scheduling parameters do not set this date back to its original value (OPU7).
    You could achiev the above through user-exit IWO10009 (SMOD) or BADI WORKORDER_UPDATE (SE18).
    PeteA

  • User exit for changing Sales order lines.

    Hello experts ,
    I want to delete the field "ROUTE" from all of the orders lines in sales orders, I have been using "USEREXIT_SAVE_DOCUMENT_PREPARE"  but it does not seems to do the job.
    What is the name of  user exit that i have to use for this task and which structure should be used,  is it xvbap ? is it vbap ?
    Thanks for the help.
    Avi.

    Hi,
    find the user exit u required.
    This IMG step describes additional installation-specific processing in sales document processing. In particular, the required INCLUDES and user exits are described.
    Involved program components
    System modifications for sales document processing affect different areas. Depending on the modification, you make the changes in the program components provided:
    MV45ATZZ
    For entering metadata for sales document processing. User-specific metadata must start with "ZZ".
    MV45AOZZ
    For entering additional installation-specific modules for sales document processing which are called up by the screen and run under PBO (Process Before Output) prior to output of the screen. The modules must start with "ZZ".
    MV45AIZZ
    For entering additional installation-specific modules for sales document processing. These are called up by the screen and run under PAI (Process After Input) after data input (for example, data validation). The modules must start with "ZZ".
    MV45AFZZ and MV45EFZ1
    For entering installation-specific FORM routines and for using user exits, which may be required and can be used if necessary. These program components are called up by the modules in MV45AOZZ or MV45AIZZ.
    User exits in the program MV45AFZZ
    The user exits which you can use for modifications in sales document processing are listed below.
    USEREXIT_DELETE_DOCUMENT
    This user exit can be used for deleting data which was stored in a separate table during sales document creation, for example, if the sales document is deleted.
    For example, if an additional table is filled with the name of the person in charge (ERNAM) during order entry, this data can also be deleted after the sales order has been deleted.
    The user exit is called up at the end of the FORM routine BELEG_LOESCHEN shortly before the routine BELEG_SICHERN.
    USEREXIT_FIELD_MODIFICATION
    This user exit can be used to modify the attributes of the screen fields.
    To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can be edited together during a modification in ABAP. If a field has no field name, it cannot be allocated to a group.
    The usage of the field groups (modification group 1-4) is as follows:
    Modification group 1: Automatic modification with transaction MFAW
    Modification group 2: It contains 'LOO' for step loop fields
    Modification group 3: For modifications which depend on check tables or on other fixed information
    Modification group 4: is not used
    The FORM routine is called up for every field of a screen. If you require changes to be made, you must make them in this user exit.
    This FORM routine is called up by the module FELDAUSWAHL.
    See the Screen Painter manual for further information on structuring the interface.
    USEREXIT_MOVE_FIELD_TO_VBAK
    Use this user exit to assign values to new fields at sales document header level. It is described in the section "Transfer of the customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAK_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBAP
    Use this user exit to assign values to new fields at sales document item level. It is described in the section "Copy customer master fields into the sales document".
    The user exit is called up at the end of the FORM routine VBAP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBEP
    Use this user exit to assign values to new fields at the level of the sales document schedule lines.
    The user exit is called up at the end of the FORM routine VBEP_FUELLEN.
    USEREXIT_MOVE_FIELD_TO_VBKD
    Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer master fields into sales document".
    The user exit is called up at the end of the FORM routine VBKD_FUELLEN.
    USEREXIT_NUMBER_RANGE
    Use this user exit to define the number ranges for internal document number assignment depending on the required fields. For example, if you want to define the number range depending on the sales organization (VKORG) or on the selling company (VKBUR), use this user exit.
    The user exit is called up in the FORM routine BELEG_SICHERN.
    USEREXIT_PRICING_PREPARE_TKOMK
    Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.
    USEREXIT_PRICING_PREPARE_TKOMP
    Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.
    USEREXIT_READ_DOCUMENT
    You use this user exit if further additional tables are to be read when importing TA01 or TA02.
    The user exit is called up at the end of the FORM routine BELEG_LESEN.
    USEREXIT_SAVE_DOCUMENT
    Use this user exit to fill user-specific statistics update tables.
    The user exit is called up by the FORM routine BELEG-SICHERN before the COMMIT command.
    Note
    If a standard field is changed, the field r185d-dataloss is set to X. The system queries this indicator at the beginning of the safety routine. This is why this indicator must also be set during the maintenance of user-specific tables that are also to be saved.
    USEREXIT_SAVE_DOCUMENT_PREPARE
    Use this user exit to make certain changes or checks immediately before saving a document. It is the last possibility for changing or checking a document before posting.
    The user exit is carried out at the beginning of the FORM routine BELEG_SICHERN.
    User exits in the program MV45AFZA
    USEREXIT_MOVE_FIELD_TO_KOMKD
    Use this user exit to include or assign values to additional header fields in the communication structure KOMKD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMPD
    Use this user exit to include or assign values to additional item fields in the communication structure KOMPD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".
    USEREXIT_MOVE_FIELD_TO_KOMKG
    Use this user exit to include or assign values to additional fields in the communication structure KOMKG taken as a basis for material determination and material listing. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_MOVE_FIELD_TO_KOMPG
    Use this user exit to include or assign values to additional fields in the communication structure KOMPG taken as a basis for material determination and material listung. This is described in detail in the section "New fields for listing/exclusion".
    USEREXIT_REFRESH_DOCUMENT
    With this user exit, you can reset certain customer-specific fields as soon as processing of a sales document is finished and before the following document is edited.
    For example, if the credit limit of the sold-to party is read during document processing, in each case it must be reset again before processing the next document so that the credit limit is not used for the sold-to party of the following document.
    The user exit is executed when a document is saved if you leave the processing of a document with F3 or F15.
    The user exit is called up at the end of the FORM routine BELEG_INITIALISIEREN.
    User-Exits in program MV45AFZB
    USEREXIT_CHECK_XVBAP_FOR_DELET
    In this user exit, you can enter additional data for deletion of an item. If the criteria are met, the item is not deleted (unlike in the standard system).
    USEREXIT_CHECK_XVBEP_FOR_DELET
    In this user exit, you can enter additional data for deletion of a schedule line. If the criteria are met, the schedule line is not deleted (unlike in the standard system).
    USEREXIT_CHECK_VBAK
    This user exit can be used to carry out additional checks (e.g. for completion) in the document header. The system could, for example, check whether certain shipping conditions are allowed for a particular customer group.
    USEREXIT_CHECK_VBAP
    This user exit can be used to carry out additional checks (e.g. for completion) at item level.
    USEREXIT_CHECK_VBKD
    The user exit can be used to carry out additional checks (e.g. for completion) on the business data in the order.
    USEREXIT_CHECK_VBEP
    This user exit can be use to carry out additional checks (e.g. for completion) on the schedule line. During BOM explosion, for example, you may want certain fields to be copied from the main item to the sub-items (as for billing block in the standard system).
    USEREXIT_CHECK_VBSN
    You can use this user exit to carry out additional checks (e.g. for completion) on the serial number.
    USEREXIT_CHECK_XVBSN_FOR_DELET In this user exit, you can enter additional criteria for deletion of the serial number. If the criteria are met, the serial number is not deleted (unlike in the standard system).
    USEREXIT_FILL_VBAP_FROM_HVBAP
    You can use this user exit to fill additional fields in the sub-item with data from the main item.
    USEREXIT_MOVE_FIELD_TO_TVCOM_H
    You can use this user exit to influence text determination for header texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    USEREXIT_MOVE_FIELD_TO_TVCOM_I
    You can use this user exit to influence text determination for item texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.
    User-Exits for product allocation:
    The following user exits all apply to structure COBL, in which the data for account determination is copied to item level.
    USEREXIT_MOVE_FIELD_TO_COBL
    Option to include new fields in structure COBL.
    USEREXIT_COBL_RECEIVE_VBAK
    Option to assign values from the document header to the new fields.
    USEREXIT_COBL_RECEIVE_VBAP
    Option to supply values from the item to the new fields.
    USEREXIT_COBL_SEND_ITEM
    A changed field can be copied from the structure into the item. You could use the user exit to display a certain field in the account assignment block (see also MV45AFZB).
    USEREXIT_COBL_SEND_HEADER
    A changed field can be copied from the structure to the header (see source text MV45AFZB)
    USEREXIT_SOURCE_DETERMINATION
    You can use this user exit to determine which plant will be used for the delivery. In the standard system, the delivering plant is copied from the customer master or the customer-material info record. If you want to use a different rule, then you must enter it in this user exit.
    USEREXIT_MOVE_FIELD_TO_ME_REQ
    With this user exit you can include additional fields for the following fields:
    EBAN (purchase requisition)
    EBKN (purchase requisition-account assignment)
    USEREXIT_GET_FIELD_FROM_SDCOM
    Option to include new fields for the variant configuration. Fields that are included in structure SDCOM can be processed and then returned to the order.
    USEREXIT_MOVE_WORKAREA_TO_SDWA
    You can use this user exit to format additional work areas for the variant configuration. You will find notes on the user exit in MV45AFZB.
    User-Exits for first data transfer:
    The following user exits can only be used for the first data transfer.
    Note
    Only use the user exits if the names/fields do NOT have the same name.
    USEREXIT_MOVE_FIELD_TO_VBAKKOM
    Option to include additional fields in structure VBAKKOM (communiction fields for maintaining the sales document header)
    USEREXIT_MOVE_FIELD_TO_VBAPKOM
    Option to include additional fields in structure VBAPKOM (communication fields for maintaining a sales item)
    USEREXIT_MOVE_FIELD_TO_VBEPKOM
    Option to include additional fields in structure VBEPKOM (communication fields for maintaining a sales document schedule line)
    USEREXIT_MOVE_FIELD_TO_VBSN
    You can use this user exit to include fields in structure VBSN (scheduling agreement-related change status).
    USEREXIT_MOVE_FIELD_TO_KOMKH
    You can use this user exit to include new fields for batch determination (document header).
    USEREXIT_MOVE_FIELD_TO_KOMPH
    You can use this user exit to include new fields for batch determination (document item).
    USEREXIT_CUST_MATERIAL_READ
    You can use this user exit to set another customer number in the customer material info record (e.g. with a customer hierarchy)
    USEREXIT_NEW_PRICING_VBAP
    Option for entry of preconditions for carrying out pricing again (e.g. changes made to a certain item field could be used as the precondition for pricing to be carried out again). Further information in MV45AFZB.
    USEREXIT_NEW_PRICING_VBKD
    Option for entry of preconditions for carrying out pricing again (e.g. changes to the customer group or price group could be set as the preconditions for the system to carry out pricing again). Further information in MV45AFZB.
    User-Exits in Program MV45AFZD
    USEREXIT_CONFIG_DATE_EXPLOSION
    The BOM is exploded in the order with the entry date. You can use this user exit to determine which data should be used to explode the BOM (explosion with required delivery date, for example).
    User exits in the program FV45EFZ1
    USEREXIT_CHANGE_SALES_ORDER
    In the standard SAP R/3 System, the quantity and confirmed date of the sales document schedule line is changed automatically if a purchase requisition is allocated, and it or the sales document is changed (for example, quantity, date).
    If you want to change this configuration in the standard system, you can define certain requirements in order to protect your sales orders from being changed automatically. Use this user exit for this purpose. Decide at this point whether the schedule lines are to be changed.
    User-Exits in Program RV45PFZA
    USEREXIT_SET_STATUS_VBUK
    In this user exit you can you can store a specification for the reserve fields in VBUK (header status). Reserve field UVK01 could, for example, be used for an additional order status (as for rejections status, etc.).
    The following workareas are available for this user exit:
    VBUK (header status)
    FXVBUP (item status)
    FXVBUV (Incompletion)
    USEREXIT_SET_STATUS_VBUP
    In this user exit you can you can store a specification for the reserve fields for VBUP (item status).
    The following workareas are available for this user exit:
    FXVBAP (Item data)
    FXVBAPF (Dynamic part of order item flow)
    FXVBUV (Incompletion)
    USEREXIT_STATUS_VBUK_INVOICE
    You can use this user exit to influence billing status at header level.
    User exits in the screens
    Additional header data is on screen SAPMV45A 0309, additional item data on screen SAPMV45A 0459. These screens contain the Include screens SAPMV45A 8309 or SAPMV45A 8459 as user exits.
    Fields which are also to be included in the sales document for a specific installation should be included on the Include screens for maintaining. If an application-specific check module is needed for the fields, this can be included in the Include MV45AIZZ. The module is called up in the processing logic of the Include screens.
    For field transports, you do not have to make changes or adjustments.
    Example
    A new field, VBAK-ZZKUN, should be included in table VBAK.
    If the check is defined via the Dictionary (fixed values or check table) the field must be included with the fullscreen editor in the Include screen SAPMV45A 8309. In this case, no change has to be made to the processing logic.
    User Exits in Program MV45AFZ4
    USEREXIT_MOVE_FIELD_TO_KOMK
    You can use this user exit to add or edit additional header fields in the communication structure - KOMK- for free goods determination. For more information, see the New Fields for Free Goods Determination IMG activity.
    USEREXIT_MOVE_FIELD_TO_KOMP
    You can use this user exit to add or edit additional item fields in the communication structure KOMP for free goods determination. For more information see the New Fields for Free Goods Determination IMG activity.
    User Exits in the SAPFV45PF0E and SAPFV45PF0C Programs
    EXIT_SAPFV45P_001
    Best regards,
    venkatawamy.y

  • Update Material Availability dates during order creation

    Hi,
    We have a requirement to update the material availability in the schedule lines of the order when the order is being created.
    We want the update to happen after the sales order is in the Data base. We tried calling a Function module in Update task. The function module is written in the EXIT_SAVE_DOCUMENT form of sales order user exit.
    The FM is getting called on the commit work , but not updating the sales order. We are getting an error " Material availability date should be less than load date". On debugging we noted that the SD_SALES_SCHEDULE_MAINTAIN is called with a load date of 00/00/0000 since the sales order is not in DB.
    Is there a way to call the FM after the sales order is in the database.
    Regards,
    Prabaharan G

    Worked using the enhancement framework development

  • Update Material Availability Date for Sales Order having a Delivery

    Dear Gurus,
    We have a bit out of the way scenario. There is a o/b delivery already added to a shipment. And then we receive a IDOC from external MES System (i.e. Production) with new material availability date. This new material availability date is updated on Sales Order. In short the order is delayed.
    Current Solution:
    In this case the user has to remove the delivery from the shipment manually. then the IDOC deletes the  delivery and the updates the sales order with new date followed by creation of new delivery.
    The business expects to updated the Sales Order material availability date without changing Shipment / delivery. Any solution?
    Current solution has to be changed as for Shipment purpose changes are made to delivery which are lost when the delivery is deleted.
    Edited by: abhishek singh on Feb 3, 2012 10:21 AM

    hi
    in this case you have to adopt the business process change.
    you have to update the EDI first and then you create delivery.

  • User-Exit for changing Sales Document Number - Urgent

    Hi Experts ,
                     Please suggest me the <b>User Exit for changing Sales Document Number.</b>
    thanks,
    Jayesh<b></b>

    hi jayesh,
    chech this exit-----EXIT_SAPFV45S_002.
    this exit's description says " Change Sales Document Using Configuration".
    Other available exits are
    SDAPO001            Activating Sourcing Subitem Quantity Propagation
    SDTRM001            Reschedule schedule lines without a new ATP check
    V45A0001            Determine alternative materials for product selection
    V45A0002            Predefine sold-to party in sales document
    V45A0003            Collector for customer function modulpool MV45A
    V45A0004            Copy packing proposal
    V45E0001            Update the purchase order from the sales order
    V45E0002            Data transfer in procurement elements (PRreq., assembly)
    V45L0001            SD component supplier processing (customer enhancements)
    V45P0001            SD customer function for cross-company code sales
    V45S0001            Update sales document from configuration
    V45S0003            MRP-relevance for incomplete configuration
    V45S0004            Effectivity type in sales order
    V45W0001            SD Service Management: Forward Contract Data to Item
    V46H0001            SD Customer functions for resource-related billing
    V60F0001            SD Billing plan (customer enhancement) diff. to billing plan
    Enter these exits name in SMOD transaction and select components. u can find all the user exits available for this exit name.
    Reward me if useful..........
    Harimanjesh AN

  • Need to know the user exit to change unlimited check box in delivery tag

    Need to know the user exit,
    To change the <b>unlimited check box(</b>EKPO-UEBTK) in <b>delivery tag</b> of <b>item details</b> for tcode <b>ME21N/ME22N</b> on <b>SAVE</b>. 
    Thanks in Advance.
    Baburaj

    HI Baburaj,
    Use the BADI ME_PROCESS_PO_CUST to change the unlimited check box(EKPO-UEBTK)
    Implement the BADI and insert the code in the method PROCESS_ITEM
    Example code :
    *Data Declarations
    DATA: ls_mepoitem TYPE mepoitem,
          ls_mepoitemx type mepoitemx,
            ls_customer TYPE mepo_badi_exampl,
            ls_tbsg     TYPE tbsg.
      INCLUDE mm_messages_mac. "useful macros for message handling
    *here we  get item data
      ls_mepoitem = im_item->get_data( ).
    *work area for price value
    data : begin of it_eban,
      banfn type  mepoitem-banfn,
      bnfpo type  mepoitem-BNFPO,
      pries type mepoitem-NETPR,
    end of it_eban.
    *Get the Purchase requisition price from EBAN table
    select single banfn bnfpo preis from eban into it_eban
                                            where
                                              banfn = ls_mepoitem-banfn
                                          and bnfpo = ls_mepoitem-bnfpo.
    *if entry is available.
    if sy-subrc eq 0.
    *check if price is zero
        if it_eban-pries EQ 0.
    *if zero, set FREE field of PO to 'X'.
          ls_mepoitem-uebtk = 'X'.
        endif.
        endif.
    *Set updated fields
    CALL METHOD im_item->set_data
    EXPORTING
    im_data = ls_mepoitem
    Reward if Helpful*****

Maybe you are looking for