Overdelivery tolerance Screen selection for Purchasing order

Hi all,
Currently we have a scenario over here, where we need to change the over delivery tolerance for purchasing order.
Overview:
We have received plastic packing screw ( PO 3480000011 , PO qty 98,000 pcs ) in 3 GR's
1st GR.   21,000 pcs
2nd GR. 29,000 pcs
3rd GR.  50,000 pcs
total   = 100,000 pcs
===================
For 1st & 2nd del. we have input into SAP, but for the last del. we can't input because qty over 2,000 pcs than PO
Because of this, we have reversed the 1st and 2nd GR, but we still cant enable the over/under delivery tolerance field selection.
Other than that i have make the changes thru the
OLME -> purchasing order -> Define screen layout at document level -> select Me22 and click on details ->GR/IR Control -> overdelivery tolerance with "X" at Reqd. entry.
But this doesnt seem to work.
have anyone encounter this issue kindly provide me some hint on this.
Point will be rewarded for useful answer.
Thank you.
Kah Fei

Hi,
I think Under/Over delivery tolerance are a part of 'purchasing value key' of the purchasing view in the material master record.
Try changing that for your material so that you get a overdelivery tolerance of more than 2% in the material master record.
Otherwise in your PO , under the delivery tab in the item details mark the chkbox 'unlimited' overdelivery and check out....
Revert back for further help...
Regards,
Prithviraj
Edited by: Prithviraj Talekar on Jan 19, 2009 10:49 AM

Similar Messages

  • Screen Layout for Purchase Orders

    Hello,
    Using the screen layout settings in config, I want to set a particular field to display only in change mode in ME22N.
    But enjoy PO's are all controlled by entry ME21N only in config, So this means if I set AKTV (change) to display in ME21N transaction the field is display also, something I don't want to happen.
    Using ME22 etc it is no issue.
    Any thoughts on how to set change mode for enjoy PO's?
    Thanks.

    screen layout for purchase orders are done for document type wise.
    go to document type and check the field selecton. now you can change field selection for that document type
    spro > mm > purchasing > purchase order > define screen layout for document type.
    find the fileld selection key at  purchase order > difine document type

  • User Exit for Purchase Order Release Strategy

    Hi,
    I am a little new to this, how do I search for a user exit for purchase order release strategy (TCode ME29N).
    Thanks in advance.
    Mick

    Hi
    Check the following Exits and BADI for Pur Requisition
    Enhancement
    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
    MM06E011 Activate PReq Block
    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
    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
    MEQUERY1 Enhancement to Document Overview ME21N/ME51N
    MELAB001 Gen. forecast delivery schedules: Transfer schedule implem.
    MEFLD004 Determine earliest delivery date f. check w. GR (only PO)
    MEETA001 Define schedule line type (backlog, immed. req., preview)
    ME590001 Grouping of requsitions for PO split in ME59
    M06E0005 Role determination for release of purchasing documents
    M06E0004 Changes to communication structure for release purch. doc.
    M06B0005 Changes to comm. structure for overall release of requisn.
    M06B0004 Number range and document number
    Business Add-in
    ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
    ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
    ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
    ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
    ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Custome
    ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
    ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
    ME_PO_PRICING Enhancements to Price Determination: Internal
    ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
    ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
    ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
    ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
    ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
    ME_PURCHDOC_POSTED Purchasing Document Posted
    SMOD_MRFLB001 Control Items for Contract Release Order
    EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
    ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
    ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
    MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
    MM_DELIVERY_ADDR_SAP Determination of Delivery Address
    ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
    ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
    ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
    ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
    ME_REQ_POSTED Purchase Requisition Posted
    ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
    ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
    ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
    ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
    ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
    ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
    ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
    ME_BSART_DET Change document type for automatically generated POs
    ME_BAPI_PR_CREATE_02
    ME_BAPI_PR_CREATE_01
    ME_BAPI_PO_CREATE_02
    ME_BAPI_PO_CREATE_01
    ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
    ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level
    MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
    ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO
    ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
    ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
    ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
    ME_COMMITMENT_RETURN Commitment for return item
    ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
    ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
    ME_CIN_MM06EFKO Copy PO data for use by Country version India
    ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
    ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
    ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
    ME_CHECK_OA Check BAdI for Contracts
    Reward points if useful
    Rgds,
    Naren

  • Problem in creating a SyncBo for Purchase Order BAPIs

    Hello Everybody,
    I am trying to create a smart sync application for Purchase Orders.
    I have used standard bapis like BAPI_PO_GETDETAIL AND BAPI_PO_CREATE1.
    I have developed my own wrapper functions using these std bapis. For the PO creation i only plan to insert the necessary and mandatory data. The problem i face is that some of the tables in the create bapi which are mandatory for a PO creation are freezed in the SyncBo.
    Tables like POITEMX, POADDRDELIVERY, POSCHEDULE and structure POHEADERX are all required for the creation of a PO. Without this minimum data a PO cannot be created.
    After i have created the syncBo, on the mapping screen i can only see these tables under the create BAPI. But i am not able to perform the mapping of their fields. These are non-editable or i must say that they are freezed.
    And if i cannot map them then i cannot pass data for them from the client. Although i can do the mapping for the table PO_ITEM and the structure PO_HEADER.
    I hope i am able to expplain my problem. Kindly get back to me if i am not clear. Any sort of help is welcome.
    Thanking in advance,
    Saurabh.

    Hi Saurabh,
    Hope you are aware of the prerequisites for creating the BAPI Wrappers.
    If you want to insert some data into the Business Object, then you have to include
    GETLIST, GETDETAIL and CREATE Bapi Wrappers.
    I think in your case,
    You might not have mapped those fields in your GETLIST Bapi Wrapper.Just check whether you have mapped those fields that are necessary for PO creation in your GETLIST and GETDETAIL BApi wrapper mapping screen.
    Those fields you have mapped in the GETLIST and GETDETAIL BAPI wrappers will be visible (for selection - checkboxes will be editable) in the mapping screen for CREATE BAPI Wrapper.
    So first of all, you have to map fields there in the mapping screens for GETLIST and GETDETAIL Bapi Wrappers...
    check this thing...
    refer these links..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/mobile/mobile%20infrastructure/mobile%20development%20kit%202.5/content/appdev/smartsync/introduction.html
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/com.sap.km.cm.docs/library/mobile/mobile%20infrastructure/mobile%20development%20kit%202.5/content/appdev/smartsync/bapi_wrapper_types.html
    In the second link, you can see one figure, which is explaining the things that are to be satisfied by the BAPI Wrappers for SyncBO creation...
    Let me know If you have doubts in the prerequisite section itself...
    Regards,
    Kishor Gopinathan

  • Getting errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation

    Hi sap Gurus,
      I am getting Errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation that Material (144) does not exist but it is alreardy maintained in MM01.
    I dont get how it is coming.and what are the mandatory fields in bapi BAPI_PO_CREATE1 in item level .that is too material only.
    pls let me know .
    thanks in advance.

    Hi,
    Check the sample code..
    report  zpo_test             .
    *DATA DECLARATION
    constants : c_x value 'X'.
    *Structures to hold PO header data
    data : header like bapimepoheader ,
    headerx like bapimepoheaderx .
    *Structures to hold PO account data
    data : account like bapimepoaccount occurs 0 with header line ,
    accountx like bapimepoaccountx occurs 0 with header line .
    *Internal Tables to hold PO ITEM DATA
    data : item like bapimepoitem occurs 0 with header line,
    itemx like bapimepoitemx occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    return like bapiret2 occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    pocontractlimits like bapiesucc occurs 0 with header line.
    data : w_header(40) value 'PO Header',
    purchaseorder like bapimepoheader-po_number,
    delivery_date like bapimeposchedule-delivery_date.
    data : ws_langu like sy-langu.
    *text-001 = 'PO Header' - define as text element
    selection-screen begin of block b1 with frame title text-001.
    parameters : company like header-comp_code default '122' ,
    doctyp like header-doc_type default 'NB' ,
    cdate like header-creat_date default sy-datum ,
    vendor like header-vendor default '2000000012' ,
    pur_org like header-purch_org default 'PU01' ,
    pur_grp like header-pur_group default '005' .
    *sociedad like HEADER-COMP_CODE default '122' ,
    *vendedor like HEADER-SALES_PERS default 'sale person'.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-002.
    parameters : item_num like item-po_item default '00010',
    material like item-material default '12000000' ,
    tipo_imp like item-acctasscat default 'K' ,
    *pos_doc like ITEM-ITEM_CAT default 'F' ,
    shorttxt like item-short_text default 'PRUEBA BAPI' ,
    grup_art like item-matl_group default '817230000' ,
    plant like item-plant default '3001' ,
    mpe like item-trackingno default '9999' ,
    *contrato like ITEM-AGREEMENT default '4904000003' ,
    *quantity like ITEM-QUANTITY default 1 .
    po_unit like item-po_unit default 'EA'.
    selection-screen end of block b2.
    Par?mnetros de imputaci?n
    selection-screen begin of block b3 with frame title text-004.
    parameters : centro like account-costcenter default '1220813150',
    cuenta like account-gl_account default '6631400' ,
    num_pos like account-po_item default '10' ,
    serial like account-serial_no default '01' ,
    ind_imp like account-tax_code default 'I2' .
    selection-screen end of block b3.
    start-of-selection.
    *DATA POPULATION
      ws_langu = sy-langu. "Language variable
    *POPULATE HEADER DATA FOR PO
    *HEADER-COMP_CODE = sociedad .
      header-doc_type = doctyp .
      header-vendor = vendor .
      header-creat_date = cdate .
      header-created_by = 'TD17191' .
      header-purch_org = pur_org .
      header-pur_group = pur_grp .
      header-comp_code = company .
      header-langu = ws_langu .
    *HEADER-SALES_PERS = vendedor .
    *HEADER-CURRENCY = 'DOP' .
    *HEADER-ITEM_INTVL = 10 .
    *HEADER-PMNTTRMS = 'N30' .
    *HEADER-EXCH_RATE = 1 .
    *POPULATE HEADER FLAG.
      headerx-comp_code = c_x.
      headerx-doc_type = c_x.
      headerx-vendor = c_x.
      headerx-creat_date = c_x.
      headerx-created_by = c_x.
      headerx-purch_org = c_x.
      headerx-pur_group = c_x.
      headerx-langu = c_x.
    *HEADERX-sales_pers = c_x.
    *HEADERX-CURRENCY = c_x.
    *HEADER-ITEM_INTVL = c_x.
    *HEADER-PMNTTRMS = c_x.
    *HEADER-EXCH_RATE = c_x.
    *HEADER-EXCH_RATE = c_x.
    *POPULATE ITEM DATA.
      item-po_item = item_num.
      item-quantity = '1'.
    *ITEM-MATERIAL = material .
      item-short_text = 'prueba bapi_po_create1'.
    *ITEM-TAX_CODE = ''.
      item-acctasscat = 'K' .
    *ITEM-ITEM_CAT = 'D' .
      item-matl_group = '817230000' .
      item-plant = '3001' .
      item-trackingno = '99999'.
      item-preq_name = 'test'.
    *ITEM-AGREEMENT = '' .
    *ITEM-AGMT_ITEM = ''.
      item-quantity = '1' .
      item-po_unit = 'EA'.
    *ITEM-ORDERPR_UN = 'EA'.
      item-conv_num1 = '1'.
      item-conv_den1 = '1'.
      item-net_price = '1000000' .
      item-price_unit = '1'.
      item-gr_pr_time = '0'.
      item-prnt_price = 'X'.
      item-unlimited_dlv = 'X'.
      item-gr_ind = 'X' .
      item-ir_ind = 'X' .
      item-gr_basediv = 'X'.
    *ITEM-PCKG_NO = '' .
      append item. clear item.
    *POPULATE ITEM FLAG TABLE
      itemx-po_item = item_num.
      itemx-po_itemx = c_x.
    *ITEMX-MATERIAL = C_X.
      itemx-short_text = c_x.
      itemx-quantity = c_x.
    *ITEMX-TAX_CODE = C_X.
      itemx-acctasscat = c_x.
    *ITEMX-ITEM_CAT = c_x.
      itemx-matl_group = c_x.
      itemx-plant = c_x.
      itemx-trackingno = c_x.
      itemx-preq_name = c_x.
    *ITEMX-AGREEMENT = C_X.
    *ITEMX-AGMT_ITEM = c_x.
      itemx-stge_loc = c_x.
      itemx-quantity = c_x.
      itemx-po_unit = c_x.
    *ITEMX-ORDERPR_UN = C_X.
      itemx-conv_num1 = c_x.
      itemx-conv_den1 = c_x.
      itemx-net_price = c_x.
      itemx-price_unit = c_x.
      itemx-gr_pr_time = c_x.
      itemx-prnt_price = c_x.
      itemx-unlimited_dlv = c_x.
      itemx-gr_ind = c_x .
      itemx-ir_ind = c_x .
      itemx-gr_basediv = c_x .
      append itemx. clear itemx.
    *POPULATE ACCOUNT DATA.
      account-po_item = item_num.
      account-serial_no = serial .
      account-creat_date = sy-datum .
      account-costcenter = centro .
      account-gl_account = cuenta .
      account-gr_rcpt = 'tester'.
      append account. clear account.
    *POPULATE ACCOUNT FLAG TABLE.
      accountx-po_item = item_num .
      accountx-po_itemx = c_x .
      accountx-serial_no = serial .
      accountx-serial_nox = c_x .
      accountx-creat_date = c_x .
      accountx-costcenter = c_x .
      accountx-gl_account = c_x .
      account-gr_rcpt = c_x.
      append accountx. clear accountx.
    *BAPI CALL
      call function 'DIALOG_SET_NO_DIALOG'.
      call function 'BAPI_PO_CREATE1'
        exporting
          poheader         = header
          poheaderx        = headerx
        importing
          exppurchaseorder = purchaseorder
        tables
          return           = return
          poitem           = item
          poitemx          = itemx
          poaccount        = account
          poaccountx       = accountx.
    *Confirm the document creation by calling database COMMIT
      call function 'BAPI_TRANSACTION_COMMIT'
      exporting
      wait = 'X'
    IMPORTING
    RETURN =
    end-of-selection.
    *Output the messages returned from BAPI call
      loop at return.
        write / return-message.
      endloop.
    Regards
    Sudheer

  • Problem in using output type for purchase order

    Hi experts,
         I am using output type for first time so may be i have done wrong configuration for po output type.The steps i have done are :-
    1) Going to  tcode NACE->Selected  the row u201CEF Purchase Orderu201D and clicked on u201CProcedures".
    2) In procedures there are 2 procedures for the application EF (Purchase Order). To proceed further, we would need to find out the procedure that is currently active.Gone to transaction SPRO. In this, navigate as Materials management -> Purchasing ->Messages -> Output control -> Message Determination Schemas ->Define Message Schema for Purchase Order
    3) Clicking on u201CAssign Schema to Purchase Orderu201D. So, the procedure RMBEF1 is active for EF (Purchase Order) . 
    4) Go back to transaction NACE. Select u2018EFu2019 and click on u201COutput typesu201D.
    5)  Let us use the output type u201CNEU name purchase orderu201D for this purpose. Double-click on NEU.
    6) Ensured  that the checkboxes u201CAccess to conditionsu201D and u201Cmultiple issuingu201D are checked and the access sequence is 0001(DocType/PurchOrg/Vendor).Only 0001 and 0002 is available in f4 help for this.
    7) Now clicked on u201CProcessing Routinesu201D on the left hand side. Ensured that there is an entry for Medium u2018Au2019 (Distribution ALE).
    8) After that going back to the main screen of NACE. Select EF (Purchase Order) and clicked on u201CCondition Recordsu201D.
    Select NEU and clicked on u201CCondition recordsu201D. The pop-up box appears that gives three radio button option :-
      1) Purchasing output determination :purchasing org / vendor for EDI
      2) Purchasing output determination :doc. type / purchasing org /vendor
      3) Purchasing output determination :document type
          but it is not having option only for purchasing organisation through which we can send idoc for changes or creation of PO in that particular pur.org now if i choose 2) i have to give doc type and purchasing org both bcoz they are mandatory fields and value for vendor.
    9)  Also i  have done the necessary ALE configuration (not covered in this document). In the partner profiles, use the message type u201CORDERSu201D and the IDOC type u201CORDERS05u201D.In the tab u201CMessage Controlu201D, used the process codes u201CME10u201D and u201CME11u201D for u201CPO Createu201D and u201CPO Changeu201D respectively.
    but the idoc is not generated many times when po is changed and when once it is generated it is giving error
    Please suggest solution.
    Thanks in advance
    nehavt

    In me22n in messages tab after looking into  processing log it is giving->No recipient found for message type ORDCHG in the
    ALE model ,next time giving error as no idoc items belonging to purchasing document found,when i changed message type to ORDCHG the  status is green in messages tab it is giving-> error occured while idoc xyz is sent and in WE02 status is red 02
    error passing data to port(could not find code page for receiving system)

  • For Purchase order,  is any Smartform available

    Hi,
    for Purhcase order Medruck Script is available but I want a smart form for purchase
    is there smart form available for purchase order if exists plz. give me the name.
    it is very urgent.
    Ganesh

    Hi Ganesh,
    There is standard smartform for PO (pre-configured forms) but you have to import package :/SMB40
    PO Form: /SMB40/MMPO_L
    Print Program: /SMB40/FM06P
    See the note 595812: it explain how to download the preconfigured smartforms.
    Anyway this is an extract of that note:
    Detailed information can be accessed at the site:
    http://service.sap.com/preconfiguredforms OR
    http://service.sap.com/smb/development/preconfiguredforms.
    To download preconfigured smartform package, please:
    1. Go to http://service.sap.com/installations, select tab "download".
    2. On the right hand side screen, locate navigation tree node
    SAP Software Distribution Center->Download->Installations and Upgrades->
    Entry by Application Group.
    3. In the main window (right hand side), follow the path
    SAP Best Practices->Best Practices for mySAP All-in-One-> PRECONFIGURED
    SMART FORMS, you can find available preconfigured smartform versions.
    Here you can also download the PO smartform.
    Hope this will help.
    Regards,
    Ferry Lianto

  • User Exit/BADI for Purchase Order and Purchase Requisitions

    HI,
    I have a requireent where i have to check the the user does not enter both Subitems and Over a Limit for a Service Purchase Requisition.
    Is there a User Exit or Badi that i can use where this information is availaible.
    also i have to check that release strategy is assigned to every purchase order where the version has been completed.
    Is there a User Exit or Badi where Information of EREV table is availaible.
    Regards,
    Tarun Bahal

    For Purchachase requisition , the BADIs and USER EXITS are
    ME_COMMITMNT_PARKING BAdI for Redefining Commitment Interface When Parking
    ME_MEREQ_PARKING BAdI Purchase Requisition: "Hold"
    ME_REQ_HEADER_TEXT Copy Header Text: Enjoy Purchase Requisition
    try with the above BADI's
    MEREQ001 Customers' Own Data in Purchase Requisition
    for Purchase order , the BADIs and USER EXITS are
    ARC_MM_EKKO_CHECK BAdI: Enhancement of Archivability Check (MM_EKKO)
    ARC_MM_EKKO_WRITE BAdI: Enhancement of Scope of Archiving (MM_EKKO)
    EXTENSION_US_TAXES Extended Tax Calculation with Additional Data
    MEGUI_LAYOUT BAdI for Enjoy Purchasing GUI
    ME_ACTV_CANCEL_PO BAdI for Activating the Cancel Function at Header Level
    ME_BADI_DISPLAY_DOC BAdI for Internal Control of Transaction to be Invoked
    ME_BAPI_PO_CREATE_01
    ME_BAPI_PO_CREATE_02
    ME_BAPI_PR_CREATE_01
    ME_BAPI_PR_CREATE_02
    ME_BSART_DET Change document type for automatically generated POs
    ME_CCP_ACTIVE_CHECK BAdI to check whether CCP process is active
    ME_CCP_BESWK_AUTH_CH BAdI for authorization checks for procuring plant
    ME_CCP_DEL_DURATION Calc. of Delivery Duration in CCP Process (Not in Standard)
    ME_CHANGE_CHARACTER Customer-Specific Characteristics for Product Allocation
    ME_CHANGE_OUTTAB Enrich ALV Output Table in Purchasing
    ME_CHECK_ALL_ITEMS Run Through Items Again in the Event of Changes in EKKO
    ME_CHECK_OA Check BAdI for Contracts
    ME_CHECK_SOURCES Additional Checks in Source Determination/Checking
    ME_CIN_LEINRF2R BADI for CIN India - Delivery charges
    ME_CIN_LEINRF2V BADI for LEINRF03 excise_invoice_details
    ME_CIN_MM06EFKO Copy PO data for use by Country version India
    ME_CIP_ALLOW_CHANGE Configuration in Purchasing: Changeability Control
    ME_CIP_REF_CHAR Enables Reference Characteristics in Purchasing
    ME_COMMITMENT_RETURN Commitment for return item
    ME_COMMITMENT_STO_CH BadI for checking if commitments for STOs are active
    ME_COMMTMNT_PO_RELEV Check for Commitment-Relevance of Purchase Orders
    ME_COMMTMNT_PO_REL_C Check for Commitment-Relevance of Purchase Orders
    ME_COMMTMNT_REQ_RELE Check of Commitment Relevance of Purchase Requisitions
    ME_COMMTMNT_REQ_RE_C Check of Commitment Relevance of Purchase Requisitions
    ME_DEFINE_CALCTYPE Control of Pricing Type: Additional Fields
    ME_DP_CLEARING Clearing (Offsetting) of Down Payments and Payment Requests
    ME_FIELDSTATUS_STOCK FM Account Assignment Behavior for Stock PR/PO
    ME_GUI_PO_CUST Customer's Own Screens in Enjoy Purchase Order
    ME_HOLD_PO Hold Enjoy Purchase Orders: Activation/Deactivation
    ME_INFOREC_SEND Capture/Send Purchase Info Record Changes - Internal Use
    ME_PO_PRICING Enhancements to Price Determination: Internal
    ME_PO_PRICING_CUST Enhancements to Price Determination: Customer
    ME_PO_SC_SRV BAdI: Service Tab Page for Subcontracting
    ME_PROCESS_COMP Processing of Component Default Data at Time of GR: Customer
    ME_PROCESS_PO Enhancements for Processing Enjoy Purchase Order: Intern.
    ME_PROCESS_PO_CUST Enhancements for Processing Enjoy Purchase Order: Customer
    ME_PROCESS_REQ Enhancements for Processing Enjoy PReqs: Internal
    ME_PROCESS_REQ_CUST Enhancements for Processing Enjoy PReqs: Customer
    ME_PURCHDOC_POSTED Purchasing Document Posted
    ME_RELEASE_CREATE BAdI: Release Creation for Sched.Agrmts with Release Docu.
    ME_REQ_OI_EXT Commitment Update in the Case of External Requisitions
    ME_REQ_POSTED Purchase Requisition Posted
    ME_TAX_FROM_ADDRESS Tax jurisdiction code taken from address
    ME_TRF_RULE_CUST_OFF BADI for Deactivation of Field T161V-REVFE
    ME_TRIGGER_ATP Triggers New ATP for Changes in EKKO, EKPO, EKPV
    ME_WRF_STD_DNG PO Controlling Reminder: Extension to Standard Reminder
    MM_DELIVERY_ADDR_SAP Determination of Delivery Address
    MM_EDI_DESADV_IN Supplementation of Delivery Interface from Purchase Order
    SMOD_MRFLB001 Control Items for Contract Release Order
    AMPL0001  User subscreen for additional data on AMPL             
    LMEDR001  Enhancements to print program                          
    LMELA002  Adopt batch no. from shipping notification when posting
    LMELA010  Inbound shipping notification: Transfer item data from 
    LMEQR001  User exit for source determination                     
    LMEXF001  Conditions in Purchasing Documents Without Invoice Rece
    LWSUS001  Customer-Specific Source Determination in Retail       
    M06B0001  Role determination for purchase requisition release    
    M06B0002  Changes to comm. structure for purchase requisition rel
    M06B0003  Number range and document number                       
    M06B0004  Number range and document number                       
    M06B0005  Changes to comm. structure for overall release of requi
    M06E0004  Changes to communication structure for release purch. d
    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., previe
    MEFLD004  Determine earliest delivery date f. check w. GR (only P
    MELAB001  Gen. forecast delivery schedules: Transfer schedule imp
    MEQUERY1  Enhancement to Document Overview ME21N/ME51N           
    MEVME001  WE default quantity calc. and over/ underdelivery toler
    MM06E001  User exits for EDI inbound and outbound purchasing docu
    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 P
    MM06E008  Monitoring of contr. target value in case of release or
    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 proces
    MMAL0004  ALE purchasing info record distribution: Inbound proces
    MMDA0001  Default delivery addresses                             
    MMFAB001  User exit for generation of release order              
    MRFLB001
    Regards,
    Anirban

  • SMART FORM FOR PURCHASE ORDER

    Hii Experts,
    I am developing a smart form for purchase order. I am customizing the existing PO smart form according to the clients requirements. The customer needs fields Discount percentage, Excise duty and VAT/CST%... all these fields when i explored in transaction me23n come from a structure so the values come only at run time.. can anyone tell me the exact table and fields from where these comes so that i can retrieve it from there and display it in my smart form. The fields i need are discount percentage, excise duty and VAT/CST%. its urgent.

    REPORT  ZMR_PURCHASE_ORDER.
    types: BEGIN OF ty_lfa1,
              LIFNR TYPE lfa1-LIFNR,
              MCOD1 TYPE lfa1-MCOD1,
              STRAS TYPE lfa1-STRAS,
              MCOD3 TYPE lfa1-mcod3,
          END OF ty_lfa1.
    TYPES: BEGIN OF ty_ekpo,
              ebeln TYPE ekpo-ebeln,
              ebelp TYPE ekpo-ebelp,
              txz01 TYPE ekpo-txz01,
              menge TYPE ekpo-menge,
              peinh TYPE ekpo-peinh,
              brtwr TYPE ekpo-brtwr,
          END OF ty_ekpo.
    TYPES: BEGIN OF ty_ekko,
            ebeln TYPE ekko-ebeln, "purchase doc
            LIFNR TYPE ekko-LIFNR, "vendor
            MCOD1 TYPE lfa1-MCOD1, "vendor name
            STRAS TYPE lfa1-STRAS, "vendor add
            MCOD3 TYPE lfa1-MCOD3, "vendor city
            bedat TYPE ekko-bedat, "doc date
            unsez TYPE ekko-unsez, "contact person
            verkf TYPE ekko-verkf, "attn
            telf1 TYPE ekko-telf1, "tele
            ihrez TYPE ekko-ihrez, "ref
            KNUMV TYPE ekko-KNUMV, "doc condition
           ebelp TYPE ekpo-ebelp, "item
           txz01 TYPE ekpo-txz01, "message desc
           menge TYPE ekpo-menge, "qty
           peinh TYPE ekpo-peinh, "rate
           brtwr TYPE ekpo-brtwr, "gross
        END OF ty_ekko.
    TYPES: BEGIN OF ty_t685t,
            kschl TYPE t685t-KSCHL,
            vtext TYPE t685t-vtext,
          END OF ty_t685t.
    TYPES: BEGIN OF ty_line_item,
            KNUMV TYPE konv-KNUMV, "condition number
            STUNR TYPE konv-STUNR, "step
            kposn TYPE konv-kposn, "item
            KSCHL TYPE konv-KSCHL, "condition type
            vtext TYPE t685t-vtext, "condition name
            KAWRT TYPE konv-KAWRT,  "base amt
            KRECH TYPE konv-KSCHL,  "calculation type
            qty(13) TYPE n,         "qty
            kbetr TYPE konv-kbetr, "condition rate
            kwert TYPE konv-kwert, "condition value
        END OF ty_line_item.
    data: wa_ekko TYPE zms_ekko,
          wa_item TYPE zms_konv,
          wa_lfa1 TYPE ty_lfa1,
          wa_t685t TYPE ty_t685t,
          wa_ekpo TYPE ty_ekpo.
    data: it_ekko TYPE TABLE OF zms_ekko,
          it_item TYPE TABLE OF zms_konv,
          it_lfa1 type TABLE OF ty_lfa1,
          it_t685t TYPE TABLE OF ty_t685t,
          it_ekpo TYPE TABLE OF ty_ekpo.
    SELECTION-SCREEN : BEGIN OF BLOCK ss_block WITH FRAME TITLE text-001.
       PARAMETERS: pa_ver(2) TYPE c DEFAULT '0'.
        SELECT-OPTIONS: pa_pord FOR wa_ekko-ebeln,
                        pa_date for wa_ekko-bedat.
    SELECTION-SCREEN : END OF BLOCK ss_block.
    SELECT EBELN LIFNR bedat unsez verkf telf1 ihrez knumv from ekko
        into CORRESPONDING FIELDS OF TABLE it_ekko.
      if pa_pord is not INITIAL.
        DELETE it_ekko WHERE ebeln not in pa_pord.
      endif.
      if pa_date is not INITIAL.
        DELETE it_ekko WHERE bedat not IN pa_date.
      endif.
    if it_ekko is not INITIAL.
      SELECT lifnr MCOD1 STRAS MCOD3 from lfa1
        INTO CORRESPONDING FIELDS OF TABLE it_lfa1
        FOR ALL ENTRIES IN it_ekko
        WHERE LIFNR = it_ekko-LIFNR.
      SELECT ebeln ebelp txz01 menge peinh brtwr from ekpo
        INTO CORRESPONDING FIELDS OF TABLE it_ekpo
        FOR ALL ENTRIES IN it_ekko
        WHERE EBELN = it_ekko-ebeln.
      loop at it_ekko into wa_ekko.
        READ TABLE it_lfa1 into wa_lfa1 WITH KEY lifnr = wa_ekko-LIFNR.
        wa_ekko-MCOD1 = wa_lfa1-MCOD1.
        wa_ekko-stras = wa_lfa1-stras.
        wa_ekko-MCOD3 = wa_lfa1-MCOD3.
        MODIFY it_ekko FROM wa_ekko TRANSPORTING MCOD1 STRAS MCOD3 WHERE ebeln = wa_ekko-ebeln.
      ENDLOOP.
      SELECT KNUMV STUNR KPOSN KSCHL KRECH kbetr kwert KAWRT from konv
        into CORRESPONDING FIELDS OF TABLE it_item
        FOR ALL ENTRIES IN it_ekko
        WHERE KNUMV = it_ekko-KNUMV.
      SELECT kschl vtext from t685t
        INTO CORRESPONDING FIELDS OF TABLE it_t685t
        FOR ALL ENTRIES IN it_item
        WHERE spras = 'EN' and KSCHL = it_item-KSCHL.
      LOOP AT  it_item into wa_item.
        READ TABLE it_t685t into wa_t685t with key KSCHL = wa_item-KSCHL.
        wa_item-vtext = wa_t685t-vtext.
        if wa_item-kschl = 'ZBP1'.
          wa_item-qty = wa_item-KAWRT / wa_item-kbetr.
        endif.
        if wa_item-KRECH = 'A'.
         wa_item-kbetr = wa_item-kbetr / 10.
        endif.
        if wa_item-kschl = 'NAVS'.
          wa_item-vtext = 'Sales Tax'.
        endif.
        MODIFY it_item from wa_item TRANSPORTING vtext kbetr kschl qty
          WHERE stunr = wa_item-STUNR and
                kposn = wa_item-kposn.
      ENDLOOP.
      DELETE it_item WHERE kposn = '000000'.
      DELETE it_item WHERE kschl <> 'ZBP1' and kschl <> 'ZD01' and kschl <> 'ZE01'
          and kschl <> 'NAVS' and kschl <> 'ZSRV'.
      sort it_item by kposn STUNR.
    CALL FUNCTION '/1BCDWB/SF00000025'
      EXPORTING
        ARCHIVE_INDEX              =
        ARCHIVE_INDEX_TAB          =
        ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         =
        MAIL_APPL_OBJ              =
        MAIL_RECIPIENT             =
        MAIL_SENDER                =
        OUTPUT_OPTIONS             =
        USER_SETTINGS              = 'X'
      IMPORTING
        DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            =
        JOB_OUTPUT_OPTIONS         =
        TABLES
          it_ekko                    = it_ekko
          it_item                    = it_item
      EXCEPTIONS
        FORMATTING_ERROR           = 1
        INTERNAL_ERROR             = 2
        SEND_ERROR                 = 3
        USER_CANCELED              = 4
        OTHERS                     = 5
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    endif.

  • DRiver program for Purchase order smartform

    Hi,
    I am trying to use "smartform" for purchase order printout.
    But not getting any driver program to attach in NACE for this output type(NEU). Is there at all any standard SAP delivered program for this purpose ?
    If Yes, then what is it ?
    Thanks for your response..
    TS

    HI,
    Try this ..  
    goto the program  RS_ABAP_SOURCE_SCAN
    in the selection screen  give the form name in the search string  it will display the all driver programs .
    let me know any help....

  • I found a exit CIFPUR02 for purchase order inbound process.is it suitable?

    I found a exit CIFPUR02 for purchase order inbound process.is it suitable?
    my idoc is PORDCR102 AND message type is PORDCR1. my requirement is this is EXIT should trigger before saving the data in me21n.
    Edited by: rk.kolisetty on Jun 24, 2010 4:59 PM

    Hi,
    Following are the user exit relevant to T Code ME21n.
    AMPL0001  User subscreen for additional data on AMPL
    LMEDR001  Enhancements to print program
    LMEKO001  Extend communications structure KOMK for pricing
    LMEKO002  Extend communications structure KOMP for pricing
    LMELA002  Adopt batch no. from shipping notification when posting
    LMELA010  Inbound shipping notification: Transfer item data from
    LMEQR001  User exit for source determination
    LMEXF001  Conditions in Purchasing Documents Without Invoice Rece
    LWSUS001  Customer-Specific Source Determination in Retail
    M06B0001  Role determination for purchase requisition release
    M06B0002  Changes to comm. structure for purchase requisition rel
    M06B0003  Number range and document number
    M06B0004  Number range and document number
    M06B0005  Changes to comm. structure for overall release of requi
    M06E0004  Changes to communication structure for release purch. d
    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., previe
    MEFLD004  Determine earliest delivery date f. check w. GR (only P
    MELAB001  Gen. forecast delivery schedules: Transfer schedule imp
    MEQUERY1  Enhancement to Document Overview ME21N/ME51N
    MEVME001  WE default quantity calc. and over/ underdelivery toler
    MM06E001  User exits for EDI inbound and outbound purchasing docu
    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 P
    MM06E008  Monitoring of contr. target value in case of release or
    MM06E009  Relevant texts for "Texts exist" indicator
    MM06E010  Field selection for vendor address
    MM06E011  Activate PReq Block
    MMAL0001  ALE source list distribution: Outbound processing
    MMAL0002  ALE source list distribution: Inbound processing
    MMAL0003  ALE purcasing info record distribution: Outbound proces
    MMAL0004  ALE purchasing info record distribution: Inbound proces
    MMDA0001  Default delivery addresses
    MMFAB001  User exit for generation of release order
    MRFLB001
    Rgd,
    Chetan

  • User Exits for Purchase order & requistion to control Material description

    Dear Experts,
    I am creating a Purchasing requisition & Purchase order for certain Material Type. Currently user can change material description at item level without anu check. Now I have different material type like PACKING(ZPAC), Raw material(ZROH) Etc.
    My requirement is like such that i want to allow change of material description of packing material(ZPAC) but system should not allow for Raw material type(ZROH). so from where i can control this?
    Can any one give me EXIT name or enhancement point for Purchase order & requisition.
    Thanks in advance.
    Regards,
    Piyush

    Dear,
    You can achieve this by Field selection in SPRO > MM > Purchasing > Purchase Requisition > Define Document Types > Here get the Field Selection Key for PR Doc Type
    SPRO > MM > Purchasing > Purchase Requisition > Define Screen Layout at Document Level > Here for that Field Selection Key, for Selection group "Basic data, item", make field "Short text" as display.
    Similarly do for PO also SPRO > MM > Purchasing > Purchase Order > Define Document Types > Here get the Field Selection Key for PO Doc Type
    SPRO > MM > Purchasing > Purchase Order > Define Screen Layout at Document Level > Here for that Field Selection Key, for Selection group "Basic data, item", make field "Short text" as display.
    Note: - But in case of text Purchases, you need to create a new PR and PO Document Type. So that this config. will not have any impact on Text Purchases.
    Regards,
    R.Brahmankar

  • Tcode for Purchase Order Cancellation?

    Tell me the tcode for purchase order cancellation and in which tcode to view the cancelled POs.?

    hi vinaya,
    Use T-Code Me 22N for Cancellation of PO
    =>  Select the document to be cancelled by clicking the icon ‘other PO’.
    =>  Select the item to be cancelled in the item overview.
    =>  Click the cancel icon on the screen(dustbin icon) .
    =>  Save the PO again. The item will continue to appear in the screen but with a    dustbin icon attached. No document can be posted referring this PO / line item.
    Regards,
    Naveen

  • The long text for purchase order text  field in mm03

    Hi,
         Please provide me long text for purchase order field.in mm03 the view purchase order text having the long text for purchase order.this is enter when ever your creating the material.but we have table and field name for that and also how to handle this long text.please provide me urgently.
    Thanks & Regards,
    Radhakrishna.

    Hi,
    A sample code for ur requirement.
    TABLES : ekko,   "Purchasing Document Header
             ekpo,   "Purchasing Document Item
             thead.  "SAPscript: Text Header
    DATA: t_theads LIKE stxh  OCCURS 0 WITH HEADER LINE.
    DATA: t_tlines LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA: v_ebeln_ebelp(15) TYPE c.
    TYPES: BEGIN OF t_download,
           ebeln LIKE ekko-ebeln,
           ebelp LIKE ekpo-ebelp,
           tdobject LIKE stxh-tdobject,
           tdid LIKE stxh-tdid,
           tdspras LIKE stxh-tdspras,
           count(4) TYPE c,
           tdformat LIKE tline-tdformat,
           tdline LIKE tline-tdline,
         END OF t_download.
    TYPES: BEGIN OF t_header,
          line1(20) TYPE c,
          line2(20) TYPE c,
          line3(20) TYPE c,
          line4(10) TYPE c,
          line5(10) TYPE c,
          line6(10) TYPE c,
          line7(10) TYPE c,
          line8(10) TYPE c,
          END OF t_header.
    DATA: g_filename TYPE string.
    DATA: gt_header TYPE STANDARD TABLE OF t_header.
    DATA: gs_header TYPE t_header.
    DATA: gt_download TYPE STANDARD TABLE OF t_download.
    DATA: gs_download TYPE t_download,
        gt_tlines   LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA: v_subrc TYPE subrc.
    DATA: v_nb_lines TYPE i.
    DATA: v_ok TYPE i.
    DATA: v_ko TYPE i.
    DATA: v_ow TYPE i.
    DATA:  p_fname TYPE string.
    DATA: g_append.
                              SELECTION SCREEN                          *
    SELECT-OPTIONS : s_ebeln  FOR ekko-ebeln.
    PARAMETERS:
       p_filedn(132) TYPE c OBLIGATORY,
       p_file(132) TYPE c OBLIGATORY.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_filedn.
      PERFORM file_f4_get CHANGING p_filedn.
    START-OF-SELECTION.
    *Select all the purchase order corresponding to select criteria
      CLEAR t_theads. REFRESH t_theads.
      SELECT *
      FROM ekko
      WHERE ebeln IN s_ebeln.
    *Select all the text for P.O. header
        SELECT * FROM stxh
              APPENDING TABLE t_theads
              WHERE tdobject = 'EKKO'
              AND tdname      = ekko-ebeln.
    *Select Item of each P.O.
        SELECT *
        FROM ekpo
        WHERE ebeln = ekko-ebeln.
          CONCATENATE ekpo-ebeln ekpo-ebelp
          INTO v_ebeln_ebelp.
    *Select the text for P.O. item.
          SELECT * FROM stxh
                APPENDING TABLE t_theads
                WHERE tdobject = 'EKPO'
                  AND tdname   = v_ebeln_ebelp.
        ENDSELECT.              "select ekpo
      ENDSELECT.             "select ekko
      DESCRIBE TABLE t_theads LINES v_nb_lines.
      LOOP AT t_theads.
    Read the text from pool
        CLEAR thead.
        REFRESH t_tlines.
        CALL FUNCTION 'READ_TEXT'                               "#EC *
             EXPORTING
                  id                      = t_theads-tdid
                  language                = t_theads-tdspras
                  name                    = t_theads-tdname
                  object                  = t_theads-tdobject
             IMPORTING
                  header                  = thead
             TABLES
                  lines                   = t_tlines
             EXCEPTIONS
                  id                      = 1
                  language                = 2
                  name                    = 3
                  not_found               = 4
                  object                  = 5
                  reference_check         = 6
                  wrong_access_to_archive = 7
                  OTHERS                  = 8.
        MOVE-CORRESPONDING thead TO gs_download.
        gs_download-ebeln = thead-tdname+0(10).
        IF thead-tdobject = 'EKPO'.
          gs_download-ebelp = thead-tdname+10(5).
        ENDIF.
        gs_download-count = 0.
        LOOP AT gt_tlines.
          gs_download-tdformat = gt_tlines-tdformat.
          gs_download-tdline = gt_tlines-tdline.
          gs_download-count = gs_download-count + 1.
          APPEND gs_download TO gt_download.
        ENDLOOP.
        CLEAR gs_download.
      ENDLOOP.
    END-OF-SELECTION.
    Hope this helps.
    please reward points if  useful.
    Regards
    rose

  • Open items for purchase order its very urgent

    hi
    my requirement is to write extract program for purchase order(me21) to extract only open items.
    please provide sample code its very urgent.
    thanks in advance.
    points will be rewarded.
    thanks
    hari prasad reddy

    check the below report :
    REPORT ZMM_OPEN_PO_REPORT no standard page heading
                              line-size 255
                              message-id zwave.
    ======================================================================
    Program Name : ZMM_OPEN_PO_REPORT                                    *
    Description  : This report displays all Open PO Items and output     *
                   would be PO Number,Material number and so on          *
    Author       : Seshu                                                 *
    Date         : 01/24/2007                                            *
    MODIFICATION HISTORY                                                 *
    DATE    | AUTHOR   | CHANGE #   | DESCRIPTION OF MODIFICATION        *
    --|||--
    01/24/07| Seshu    | DEVK921979 | Initial                            *
    D A T A  D E C L A R A T I O N   P A R T                         ***
    type-pools
    type-pools : slis.
    Tables
    tables : ekko, " Purchase order Header
             ekpo, " Purchase order Item
             marc. " Material with Plant data
    Internal table for output.
    data : begin of i_output occurs 0,
           ebeln like ekko-ebeln,
           matnr like ekpo-matnr,
           end of i_output.
    ALV Data declaration.
    data : v_repid like sy-repid.
      ALV Function Module Variables
    DATA: gs_layout type slis_layout_alv,
          g_exit_caused_by_caller,
          gs_exit_caused_by_user type slis_exit_by_user.
    DATA: gt_fieldcat    type slis_t_fieldcat_alv,
          gs_print       type slis_print_alv,
          gt_events      type slis_t_event,
          gt_list_top_of_page type slis_t_listheader,
          g_status_set   type slis_formname value 'PF_STATUS_SET',
          g_user_command type slis_formname value 'USER_COMMAND',
          g_top_of_page  type slis_formname value 'TOP_OF_PAGE',
          g_top_of_list  type slis_formname value 'TOP_OF_LIST',
          g_end_of_list  type slis_formname value 'END_OF_LIST',
          g_variant LIKE disvariant,
          g_save(1) TYPE c,
          g_tabname_header TYPE slis_tabname,
          g_tabname_item   TYPE slis_tabname,
          g_exit(1) TYPE c,
          gx_variant LIKE disvariant.
    data : gr_layout_bck type slis_layout_alv.
    Ranges
    ranges r_eindt for eket-eindt.
    initialization.
    v_repid = sy-repid.
    start-of-selection.
    Get the data from EKKO ,EKPO and MARC Table
    perform get_data_tables.
    end-of-selection.
    display the data in the form of ALV
    perform display_data.
    *&      Form  get_data_tables
          Get the data from EKKO,EKPO and MARC Table
    FORM get_data_tables.
    clear : i_output.
    refresh : i_output.
    fill the dates in ranges
    r_eindt-low = sy-datum - 7.
    r_eindt-high = sy-datum + 14.
    r_eindt-option = 'BT'.
    r_eindt-sign = 'I'.
    append r_eindt.
    Get the data from EKKO,EKPO and EKET Tables
    select aebeln bmatnr into table i_output
                           from ekko as a inner join
                                ekpo as b on aebeln = bebeln
                                inner join marc as c on cmatnr = bmatnr
                                inner join mara as d on dmatnr = bmatnr
                                inner join eket as e on eebeln = aebeln
                                               and   eebelp = bebelp
                                where c~beskz = 'E'
                                and   c~werks = '1000'
                                and   d~mtart = 'FERT'
                                and   b~loekz = space
                                and   b~elikz = space
                                and   e~eindt in r_eindt.
    if sy-subrc ne 0.
    message e000(zwave) with 'No open purchase order found'.
    endif.
    ENDFORM.                    " get_data_tables
    *&      Form  display_data
          text
    FORM display_data.
    Fill the Fiedlcat
      PERFORM fieldcat_init  using gt_fieldcat[].
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
       I_INTERFACE_CHECK                 = ' '
       I_BYPASSING_BUFFER                =
       I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                = v_repid
       I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = g_user_command
       I_CALLBACK_TOP_OF_PAGE            = ' '
       I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
       I_CALLBACK_HTML_END_OF_LIST       = ' '
       I_STRUCTURE_NAME                  =
       I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      =
       I_GRID_SETTINGS                   =
       IS_LAYOUT                         = gr_layout_bck
          IT_FIELDCAT                       = gt_fieldcat[]
       IT_EXCLUDING                      =
       IT_SPECIAL_GROUPS                 =
       IT_SORT                           =
       IT_FILTER                         =
       IS_SEL_HIDE                       =
       I_DEFAULT                         = 'X'
        I_SAVE                            = g_save
        IS_VARIANT                        =
       IT_EVENTS                         =
       IT_EVENT_EXIT                     =
       IS_PRINT                          =
       IS_REPREP_ID                      =
       I_SCREEN_START_COLUMN             = 0
       I_SCREEN_START_LINE               = 0
       I_SCREEN_END_COLUMN               = 0
       I_SCREEN_END_LINE                 = 0
       IT_ALV_GRAPHICS                   =
       IT_ADD_FIELDCAT                   =
       IT_HYPERLINK                      =
       I_HTML_HEIGHT_TOP                 =
       I_HTML_HEIGHT_END                 =
       IT_EXCEPT_QINFO                   =
    IMPORTING
       E_EXIT_CAUSED_BY_CALLER           =
       ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = i_output
       EXCEPTIONS
         PROGRAM_ERROR                     = 1
         OTHERS                            = 2
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  fieldcat_init
          text
         -->P_GT_FIELDCAT[]  text
    FORM fieldcat_init USING  e01_lt_fieldcat type slis_t_fieldcat_alv.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    Purchase order number
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'EBELN'.
      LS_FIELDCAT-ref_fieldname = 'EBELN'.
      LS_FIELDCAT-ref_tabname = 'EKKO'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      ls_fieldcat-seltext_L = 'Purchase Order'.
      ls_fieldcat-seltext_M = 'Purchase Order'.
      ls_fieldcat-seltext_S = 'Purchase Order'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    Material #
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'MATNR'.
      LS_FIELDCAT-ref_fieldname = 'MATNR'.
      LS_FIELDCAT-ref_tabname = 'EKPO'.
      LS_FIELDCAT-TABNAME    = 'I_OUTPUT'.
      ls_fieldcat-seltext_L = 'Material'.
      ls_fieldcat-seltext_M = 'Material'.
      ls_fieldcat-seltext_S = 'Material'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.                    " fieldcat_init

Maybe you are looking for