!!!Urgent!!! purchase order

when i am checking po is existing its getting correct value then i need to check if the po exists and its item doesnt exit it should show me an error as an list how cani do it

Hi ,
u mean to say the po is existing fine and now the items under that po is existing or not ???
am i missing something here or
are u looking for the items which are deleted under that po number in ekko ..
if so in ekpo(item level) u have po with items
check the field loekz --Deletion indicator in purchasing document
or in the entries put loekz =  x ,
this will fetch u the items deleted under that po ..
hope this helps ,
regards,
VIjay

Similar Messages

  • Is it Possible in Purchase Order that putting the BOM, all the components ?

    Is it Possible in Purchase Order that putting the BOM, all the components of that particular ges populated in the Rowt ? This is necessary to select single - single items is PO..
    We are also using MRP and Forecast. We want to use this method in case of placing URGENT Purchase Order without considering WH stock + PO ordered + ....................
    What kind of Query we would write , that  putting the BOM in the UDF, the componenets get populated in Purchase Order...
    Please give complete query.................

    The query I have provided earlier needs to be set in the ItemCode field at the row level and not on your User field at the header.
    The query below (same as earlier with the addition of the user field name - please verify) will show the Child Items of the BOM item who code you have entered at the Header level in your UDF.
    SELECT T0.Code FROM [dbo\].[ITT1\] T0 WHERE T0.Father = $\[OPOR.U_BOMNAME]
    This will not automatically fire but the user has to first enter the Vendor Code and then enter the U_BOMName and then in the Item code field press Shift+F2 which will fire the above query FMS displaying the child Items for this BOM.
    Suda

  • 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

  • URGENT u0096 MM Purchase Order (Implementation Query)

    **URGENT HELP REQUIRED**
    Dear All,
    I need some Information/help URGENTLY for a presentation/meeting I will be attending later this week.
    If a service based company, wants to start implementing Purchase Order Processing (ME21N), however they only want to implement the actual MM Module to a (Very Minimum) what/how would they make this happen??
    Currently this company has an Invoice Management System Called “Ebydos/Readsoft and all Vendors Invoices are managed & paid via this transaction”. They do not want to scrap this system (So we will NOT be using T-Code - MIRO). In addition, this Company does NOT want to Goods Receipt so basically “No” MIGO or ML81N – We have 2 Way as opposed the the usual 3 Way matching.
    This company wants to Implement a VERY MINIMAL – MM System, where its users Can Raise Purchase Orders, without maintaining the Item lines. So basically they want Purchase orders with the Header Information Only (EKKO), and they don’t want to maintain anything in the Item information (EKPO) – I assume this is because they don’t want to maintain material etc...
    Also if this company absolutely has to use the Item Level in ME21N (Creating Purchase Orders), then they would ideally like to code the item Direct to a GL Account Code (Table – BSEG), rather than a particular item & purchase groups / material group – (Table EKPO).
    I hope the above makes sense, basically the Information I need is the following:
    (1) Is it possible to Create purchase orders WITHOUT implementing MM (EG – Can some form of Purchase Ordering System, be created/configured in FI/CO) – Which we currently have, which would give us control on what we procure??
    (2) If we must implement MM what is the Minimum Implementation/Configuration we need?
    (3) Can you Create Header Only (EKKO) Purchase Orders, without maintaining Materials or Doing Item Lines. If we MUST do Item lines, can they be coded DIRECT to a GL Code (BSEG) rather than a particular Item & Material / Purchasing Group (EKPO)??
    (4) Finally Can SAP handle the demands we require (as detailed above). Or are we talking about some form of a Be-Spoke system, linked or within SAP??
    Thanks for your help in advance. Please email or post DOCUMENTATION / LINK to support /back-up your information/theories…
    Kind Regards
    RICK

    1) Is it possible to Create purchase orders WITHOUT implementing MM (EG – Can some form of Purchase Ordering System, be created/configured in FI/CO) – Which we currently have, which would give us control on what we procure??
    What is the use of purchasing system when you don;t even have the mateiral created or any other org structure for purchaisng
    rather then use just existing system in this case
    (2) If we must implement MM what is the Minimum Implementation/Configuration we need?
    The minimum config you need is org structure of MM like purcahse org
    purchase group, plant, storage location etc. to start purchasing process
    (3) Can you Create Header Only (EKKO) Purchase Orders, without maintaining Materials or Doing Item Lines. If we MUST do Item lines, can they be coded DIRECT to a GL Code (BSEG) rather than a particular Item & Material / Purchasing Group (EKPO)??
    No it is not possible wihtou item line but in item line you can enter just text of mateirl but in this case you need cost center or any cost object
    you can create cost center and attcahe GL to that
    (4) Finally Can SAP handle the demands we require (as detailed above). Or are we talking about some form of a Be-Spoke system, linked or within SAP??
    SAP can handle but it is useless in my point of view
    that's the reason first time i didn;t reply but i see your request agian..so i replied.

  • Hi All requirement on Purchase Order.Its Urgent

    Hi All,
            Pls provide me the soure code for the following requirement ASAP. Its urgent.
    Program: Z_PO_PRINT_MAIL
    Transaction: ZPOP
    Purchase order number: (should be a parameter not a select option) (Code the lookup using search help MEKK)
    Radio button for:     1. Print Preview
                   2. Print
                   3. E-mail
    Additional parameters based on above selection:
    1.     No additional parameters needed
    2.     Printer (code the F4 to search printers)(default user’s default printer)
    3.     E-mail address, cc (should also have same validations as e-mail address)
    Description:
    On pressing enter, use the Purchase order number to look up vendor number and name and display either to the right or below the purchase order number.
    Vendor Number: EKPO-LIFNR
    Vendor Name:    LFA1-NAME1
    1.     Print Preview: Use function ME_DISPLAY_PURCHASE_DOCUMENT with 2 parameters only:
    I_EBELN = PO Number
    I_PREVIEW = ‘X’
    2.     Print:  For this we have to do a BDC.Use transaction ME9F. Enter the purchase order number, blank out the rest. Select the first message, hit ‘Message details’. Enter a new message via Edit>new Entries. For new entries, you will need to enter ‘NEU’ for Output type with Medium 1 (Print output). Hit enter. Select the message and click on further data. Set dispatch time to 4. Green arrow back. Select the message and click on “Communication” method. Enter the ‘Logical destination’ as the printer, select ‘Print Immediately’ and ‘Release after output’. Green arrow back and save.
    3.     E-mail: Use the following function modules:
    ECP_PO_OTF_CREATE
    CONVERT_OTF_2_PDF
    SO_NEW_DOCUMENT_ATT_SEND_API1

    Hi,
    You can explore following link for more details;
    http://www.sap-basis-abap.com/sapmo017.htm
    http://www.erpgenie.com/sap/sapfunc/purchasing.htm
    Bye,
    Muralidhara

  • Maximize Purchase Order -- Error -- Its Urgent!!!!

    Hai To All,
                  Iam customizing Purchase Order Form. There iam adding one button near cancel button. If i maximum purchase order form i got the following error and SAP Application is closed.
    The instruction at "0x77fcb333" referenced memory at "0x000c0101". The memeory could not be "written".
    Click on OK to terminate the program
    Click on CANCEL to debug the program
    OK           CANCEL
    Can anyone help me........... Its Urgent
    Regards,
    Anitha
    Edited by: ani nazir on Mar 27, 2008 11:43 AM

    Hello Petr,
             S where i change place also its showing error.
    The following code i used to place the button
    oItem = PO_Frm.Items.Add("rm", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
                oItem.Left = PO_Frm.Items.Item("2").Left + 75 '150 '
                oItem.Width = PO_Frm.Items.Item("2").Width  '65 'PO_Frm.Items.Item("51").Width
                oItem.Height = PO_Frm.Items.Item("2").Height '20 '
                oItem.Top = PO_Frm.Items.Item("2").Top + 10 '505 '
                oItem.Visible = True
                oItem.Enabled = True
                Dim d As SAPbouiCOM.Button = oItem.Specific
                d.Caption = "RateMaster"
    Regards,
    Anitha

  • Urgent:: regarding purchase order group address

    hi all.
    i need to know in which table can i find the Purchase Order Group address details...
    waiting for ur reply asap..
    thank u.

    hi this is me again ...
    please let me know the tables that r required to fetch the address details for PO.Group
    it's very urgent..
    i have the tables adrc,t024,etc..
    but they r not related to it....
    waiting for ur reply...
    bye.

  • LOGIC FOR CREATING Purchase Order FOR repective Purchase Requisiton URGENT

    hi all,
    guys i have got all the purchase requisition for the materials  from EBAN table.
    now i have to create the PURCHASE ORDER  for these PURCHASE REQUISITIONS.
    so how should i proceed.
    what logic i should use to create the PO for These PR.
    if anyone of u have any code regd this requirement then plz share it with me.
    its very urgent, i have to deliver it by today evening.
    plz help me .
    i will award ur efforts.
    Thanks
    Sanjeev

    hi,
    Automatic Conversion of PR to PO
    You created purchase requisition for various material. During creation of purchase order you used the following path:
    Purchase Requisition
    .......Follow on function 
    .........Create Purchase Order
    ............automatic via purReq. 
    When you mentioned required purchase requisition number and execute, system give error that purchase requisition does not contain any suitable item. 
    Is there any setting in customization where you can monitor and use that function.
    In an effort for you to successfully use the Transaction Code ME59 to automatically convert the current PR into PO, then the following criteria should be met: 
    1) In the Purchasing View of the material master data, the "Autom. PO" field must be clicked; 
    2) In the Purchasing View of the Vendor Master Data, the "Automatic Purchase Order" field must be clicked; 
    3) The Outline Agreement or Purchasing Info Record shall be maintained which will allow the automatic copying of unit price and other conditions into PO; 
    4) The Source List shall be maintained for the nominated vendor which was shown in either the Outline Agreement or Purchasing Info Record. 
    or 
    it might be PR subject to release strategy and not yet released
    or 
    If you're not using a source list or automatic creation of PO, you may need to assign the requisition to a purchase information record using transaction ME56. Then it should appear in ME58. 
    reward points to helpful answers.
    rgds

  • Retrieving the Change Texts per Line Item (Purchase Order) - Very urgent

    Hi,
    How do you retrieve the Change Texts per Line Item (Purchase Order).
    Table T166T does not list these values per line item.
    Please help. This is very urgent & important.
    Best Regards,
    John

    if you are lookin out for change of item texts ...
    then use the function module ... READ_TEXT.
    and 2 tables r used ... STXH and TLINE ....
    double click on item data ...
    goto PO TEXT tab ....
    double click on text ...
    from menu ...
    goto header ... u'll get 4 fields that u need to consider ...
    TDID
    TDOBJECT
    TDHEAD
    TDNAME
    ALL THESE U'LL FIND IN  STXH
    ITEM TEXT is stored in TLINE
    Edited by: anjali rana on Mar 5, 2008 4:55 AM

  • Open Purchase order - urgent please

    Hi Friends,
    How to find an open purchase order, in which table i
    need to check that.
    Please let me know.
    Thanks in advance.
    Regards,
    Roberts.K

    Hi Roberts,
    You have to consider the movement type along with the debit/credit indicator. A 101 movement type is for a Goods receipt for a PO and 102 is a reversal movement of the same. So to get all the GR quantity against a particular PO item, I would sum up all the 101(SHKZG = H) and subtract all the 102(SHKZG = S). The result is my total GR quantity. Line item quantity minus this GR quantity is my open quantity. The only exception to this is when the 'delivery complete' indicator is set, which means even though my GR quantity does not match my item ordered quantity, there are no more deliveries expected against this line item.
    You can get these kind of reports from standard SAP reports. There is some configuration required, but you should be able to get open POs easily.
    Hope this helps,
    Srinivas

  • Urgent :Doubt on open Purchase orders

    Hi friends,
    i will be more help full if anybody can help me on below issue how to find open PO and partially open PO.
    Only “open” purchase orders will be extracted for conversion into Destination Server. An “open” purchase order is defined as any unshipped, non-cancelled with “open quantities”. In regards to, partially “open” purchase orders, we will only convert “open” units (i.e. Original ordered qty was 300; 70 have shipped, 230 remain open…Target Server sales order will have an original order qty of 230).
    also where to find that Sub Contracting orders and Sample orders.
    • Orders not considered for migration because they will have either shipped in full or deleted prior to data migration as a part of data clean-up: ALL subcontracting orders; sample orders
    please help me on the above two issues.
    thanks and Regards,
    Gokul.

    Hi
    First take the ALL Po's from EKKO and EKPO tables and check for the different GR's and GI's qty's from MKPF and MSEG tables and you have to compare the PO qty with the total GR/GI qty's and to find the OPEN po's
    see the sample report
    *& Report  ZMM_PO_REPORT
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Urgent - How to change Item category for Open Purchase Order

    Hi Team,
    Lil bit tricky issue.
    My client has asked us to change the existing Item Category values, Combinations, Category Set etc. Its been changed and uploaded successfully.
    The question here is how we need to handle the category for Open Purchase Order. How to update the same.
    Do we need to do manually or any other way ?
    Please advice
    Regarads,
    John

    Hi John,
    This is reallly a tricky issue!
    I guess you cannot change the category of an existing PO's.
    This field will be greyed out once we save the form...there were no profiles/other setups to enable this field.
    For all new PO's since you have changed the new category value that should not be a issue.
    Lets wait for some of our colleuges opinion.
    I guess PO cancel should be the final option if we dont hear any new work arounds.
    Thanks
    -Arif.

  • Purchase order release workflow - urgent

    Hi friends
    When iam creating purchase order it trigger the workflow WS20000075 for releasing purchase order in that purpose what can i do..
    How can i set the Agents
    How can i trigger the events - i think in that purpose using pftc we trigger the workflow.. so i need clear steps from beginning onwards..
    my exact requirement
    once i create purchase order, the workflow will be triggered..
    after that the mail goes to the approver.. if he/she click that mail purchase order release statement want to be open.. after that he/she release purchase order it will goes to the next level..anyone give the step by step procedure..for that
    Thanks
    Gowrishankar

    yes prabakar.. but iam confused..
    You can get step by step workflow for PO using standard workflow
    Release of Purchase Order :WS20000075
    And for two levels of approvals you have to configure in SPRO the path is
    Purchase Order:
    SPRO> Material Management->Purchasing->/Purchase order-->Release procedure ---> Procedure with classification ---> set up procedure with classification ---> double click on Release strategies and Workflow.
    If you don't know about this configuration, you have to confirm with your MM consultant.
    after finish this iam triggering events using pftc
    in that pftc iam choosing business object bus 2012 for po release..
    i think thats enuf..
    After that it is possible to trigger workflow.. when iam create purchase order..
    Thanks
    Gowrishankar

  • Problem with Purchase Order receipt - Urgent

    Hi all,
    Scenario - A purchase order with a six items has been released, four items have been recieved, fifth item was deleted & sixth item is packing & forwarding charges.
    Problem - A change was done in the Mtl master for the packing & forwarding charges to ensure that a GR is not required for this item, but the same is not being reflected, as a query of Open PO's still shows this PO as open with the item packing & forwarding not received. How to resolve this?
    Vivek

    Stephen & Seema,
       From your inputs i did get some picture, but here is more details about the problem am facing, maybe you can help me out with this,
    The item packing & forwarding chgs has been declared as a material & in the BD-1 view of the Mtl Master, the General Item Category Grp has been set as 'Service w/o Dlvy' & this is causing the GR not to be ticked in the PO & hence it still says item yet to receive. I subsequently changed the status of Gen Itm Category to 'Service w/o Dlvy Confimration' & this ticks the GR. But the issue is, since the change in Material Master is done after the PO release, it is not changing the status in that PO.
    And the query i am runing to check the open PO's is a customised query developed using SQ01.
       Hope you are clear of my problem now & let me know what i can do

  • URGENT:Approval of purchase order

    At present approval of purchase order is done based on order value.. but how to approve PO based on ITEM CATEGORY?

    Go in Purchasing Super User responsibility and follow the path Setup: Approvals: Approval Groups. In the Approval Groups form you choose "Item Category Range" as value, put an amount limit and indicate low and high values for purchasing category. You put all this in either an existing or a new approval group and then assign this group to some HR position in Approval Assignments.
    Hope this helps
    Regards
    Riccardo

  • Purchase Order - Header (How to change language - Urgent)

    Dear All,
    In purchase order header, communication data tab i find a field called Language, which is basically defaulted from the vendor master when the PO is created. I would like to know how i can change the value in this field after the PO has been created. I need to change this for a few PO's for a specific reason, but notice that the field is greyed.
    I tried MEMASSPO, but it is not having any effect on the PO.
    Hope my problem is clear, await inputs.
    Regards,
    Vivek

    Hi Subha,
    Thanks for your posting, but i guess you dint read my initial question completely, the field is greyed, meaning i cant make any modifications using ME22n.
    I checked in customizing for the screen layout, but not much help either.
    If anyone has faced this issue earlier & managed to resolve, please share your views.
    I want to know if there is any alternative other than deleting the PO & creating a new one.
    Vivek

Maybe you are looking for

  • Creating a contractor custom form and workflow associated with it OIM11g

    we are using OIM 11.1.1.5 we need to implement a scenario where, A Manager or user in admin role creates the contractor using customized form and manager gets the contractor gets the creadentials of contractor and then contractor logs in OIM self-ser

  • Connecting my iPod to the XBOX 360

    I have been trying to connect and share music from my iPod with my XBOX 360 and when i plug my iPod into the USB port it reads the music but it won't let me play the music. I was looking in the manual for the XBOX 360 and it said that I needed to con

  • Giving START WITH dynamically in a query

    Hi, How do you specify the value in START WITH dynamically during runtime. For example please consider the bewlo scenario: CREATE TABLE ISCT ITEM_NO VARCHAR2(15 CHAR) NOT NULL, ITEM_TYPE VARCHAR2(3 CHAR) NOT NULL, ITEM_TYPE_SCO VARCHAR2(3 CHAR) NOT N

  • Log scaling intesity chart y-axis

    is it possible to change the scaling of the y-axis on an intesity chart to log scaling?

  • 8i Apache on NT 4.0

    I have a bean. It's name is loginBean. It's class (loginBean.class) is located in \%Oracle_Home%\Apache\Apache\htdocs\csidb\Web-inf\classes (this is the Web-inf directory for the application). It is also located in \%Oracle_Home%\Apache\Apache\htdocs