READ SCALES  IN   PURCHASE ORDER

HELLO.
I WANT TO READ THE    SCALES       DATA FOR A PURCHASE ORDER.
ITS THE DATA WHICH SHOWS DIFFERENT PRICES FROM VENDOR
WHEN YOU PURCHASE DIFFERENT  QUANTITY  OF MATERIAL.
IS THERE ANY ABAP FUNCTION FOR THIS ?
THANKS

Hi Ravikumar thanks for u quick reply.
This is wht is currently coded.
concatenate values to get item text for read text function
   invar3+0(10) = invar1. "PO number
   invar3+10(5) = invar2. "PO line number
   SELECT SINGLE * FROM stxh WHERE tdobject = 'EKPO'
                               AND tdname   = invar3
                               AND tdid     = 'F01'
                               AND tdspras  = sy-langu.
   IF sy-subrc = 0.
     invar4 = invar3.
reading the text for the document items.
     CALL FUNCTION 'READ_TEXT'
       EXPORTING
         id       = 'F01'
         language = sy-langu
         name     = invar4
         object   = 'EKPO'
       TABLES
         lines    = it_itab.
I have seen some PO's which have info rec texts in that, which gets pulled by the above code...first thing is its id is F02 which exist in STXH table also there is other text with F01 id, and hence the table it_itab gets both these text hence no pbm.
but i came across a PO which has only one text which is info rec text with id F05 and is not store in stxh and hence doesnot get pulled by read_text fm. How do i change my cod to get this text which should not hamper other PO's as well.
As mentioned in above msgs, this F05 could be retrieved by providing object name as EINE.
anyhelp will be appreciated and rewarded.
thanks

Similar Messages

  • Read text from purchase order.

    I have few queries regarding texts in a document.
    1. How do i identify the id for a text of a line item in any PO document?
    2. Secondly a pgm is using read_text to get this text. before which 'stxh' is queried. But when i debugged i found that for a particular document there is no entry in this table though there is a text in the document and hence doesnot perform a read_text. The text is auto generated through info records. How to retrieve this text?
    Ans wil be appreciated and rewarded

    Hi Ravikumar thanks for u quick reply.
    This is wht is currently coded.
    concatenate values to get item text for read text function
       invar3+0(10) = invar1. "PO number
       invar3+10(5) = invar2. "PO line number
       SELECT SINGLE * FROM stxh WHERE tdobject = 'EKPO'
                                   AND tdname   = invar3
                                   AND tdid     = 'F01'
                                   AND tdspras  = sy-langu.
       IF sy-subrc = 0.
         invar4 = invar3.
    reading the text for the document items.
         CALL FUNCTION 'READ_TEXT'
           EXPORTING
             id       = 'F01'
             language = sy-langu
             name     = invar4
             object   = 'EKPO'
           TABLES
             lines    = it_itab.
    I have seen some PO's which have info rec texts in that, which gets pulled by the above code...first thing is its id is F02 which exist in STXH table also there is other text with F01 id, and hence the table it_itab gets both these text hence no pbm.
    but i came across a PO which has only one text which is info rec text with id F05 and is not store in stxh and hence doesnot get pulled by read_text fm. How do i change my cod to get this text which should not hamper other PO's as well.
    As mentioned in above msgs, this F05 could be retrieved by providing object name as EINE.
    anyhelp will be appreciated and rewarded.
    thanks

  • ME23N - Read Last Purchase Order for Display

    Hi,
    We are upgrading from 4.6C to ECC6 and one of the problems the users have identified is that when displaying the purchase order with transactions ME22N or ME23N the last purchase order that was worked on is not always the one that is displayed.
    This is very evident when creating a PO with ME21N and then switching to view it on ME23N - in ECC6 the PO that was created is never the PO that is displayed on ME23N; whereas in 4.6C creating a PO with ME21N and switching to ME23N the PO that was created is ALWAYS the PO that is displayed on ME23N.
    It this feature (whatever) no longer available with ECC6?  Is it a configuration settings that we haven't properly set in ECC6? 
    Thanks for any help.
    Martha

    I analysed how SAP remembers the previous purchase order number in transaction ME23N in version 4.7 as I do not have access to version ECC6. In version 4.7 transaction ME23N reads table ESDUS (MM: Dynamic User Settings) in the following way
    ESDUS-UNAME = sy-uname
    ESDUS-ACTION = 'MEPO'
    ESDUS-ELEMENT = 'Application         Po_Process'
    The purchase order number is the first 10 characters of ESDUS-ACTIVE (ESDUS-ACTIVE+0(10)).
    When you read a new purchase order SAP writes that order number to table ESDUS using function module ES_SAVE_USER_SETTINGS. When you revisit the transaction SAP uses function module ES_READ_USER_SETTINGS to read the purchase order number stored in table ESDUS.
    Ask an ABAP programmer to investigate this in your system with the information I have provided you. He/She should be able to find out what is going wrong. I am limited because I do not have access to your system. Hope this helps. Please let me know what the ABAP programmer found out.

  • ESYU: Importing Standard Purchase Orders에서 문제 발생시 진단 방법

    Purpose
    Oracle Purchasing - Version: 11.5.10.2 to 12.0.6
    Information in this document applies to any platform.
    ConcurrentProgram:POXPOPDOI - Import Standard Purchase Orders
    이 문서는 reader게 Importing Standard Purchase Orders 실행 중 갑자기 발생하는 issue에 대해 어떻게
    대응하는지에 대한 자세한 정보를 제공한다.
    Instroduction
    Purchase Document Open Interface는 다량의 Standard Purchase Order는 Oracle Purchasing으로 빨리
    import 할 수 있게 한다. Import process는 import 되어야 하는 document information을 PO interface tables에
    넣어주는 작업을 필요로하며, data를 validate 하고 application에 PO를 생성하거나 error message를 return 하는
    Import Standard Purchase Orders concurrent program을 실행한다.
    이 문서의 목적은 Importing Standard Purchase Orders에 관련된 process를 이해하거나 갑자기 발생한 문제의
    원인을 찾는데 도움을 주기 위함이다. PO import 문제는 일반적으로 interface tables에 입력된 불일치하는 data가
    원인이며, 일단 문제가 확인되면 Metalink는 비슷한 문제를 찾아주거나 Oracle Support에 Service Request를 log
    할 수 있다.
    Test case Information
    1. 아래 insert 문장을 이용하여 PO interface tables에 data를 입력:
    INSERT INTO po.po_headers_interface
    (interface_header_id,
    action,
    org_id,
    document_type_code,
    currency_code,
    agent_id,
    vendor_name,
    vendor_site_code,
    ship_to_location,
    bill_to_location,
    reference_num)
    VALUES
    (apps.po_headers_interface_s.NEXTVAL,
    'ORIGINAL',
    207, -- Seattle
    'STANDARD',
    'USD', -- Your currency code
    24, -- Your buyer id stock
    'Advanced Network Devices',
    'FRESNO',
    'V1- New York City', -- Your ship to
    'V1- New York City', -- Your bill to
    'Currency test') -- Any reference num
    INSERT INTO po.po_lines_interface
    (interface_line_id,
    interface_header_id,
    line_num,
    shipment_num,
    line_type,
    item,
    uom_code,
    quantity,
    --unit_price,
    promised_date,
    ship_to_organization_code,
    ship_to_location)
    VALUES
    (po_lines_interface_s.nextval,
    po_headers_interface_s.currval,
    1,
    1,
    'Outside processing',
    'Flooring OSP',
    'Ea',
    1,
    --17.50,
    '10-APR-2009',
    'V1',
    'V1- New York City' )
    INSERT INTO po.po_distributions_interface
    (interface_header_id,
    interface_line_id,
    interface_distribution_id,
    distribution_num,
    quantity_ordered,
    charge_account_id)
    VALUES
    (po_headers_interface_s.currval,
    po.po_lines_interface_s.CURRVAL,
    po.po_distributions_interface_s.NEXTVAL,
    1,
    1,
    12975) -- Your Charge Account Id
    2. Interface tables에 data가 insert 되었다면 import progra을 실행전 정보를 확인하기 위해 아래 query 문을 이용한다.
    a - Select * from PO_HEADERS_INTERFACE where INTERFACE_HEADER_ID=&headerid
    b - Select * from PO_LINES_INTERFACE where INTERFACE_HEADER_ID=&headerid
    c - Select * from PO_DISTRIBUTIONS_INTERFACE where INTERFACE_HEADER_ID=&headerid
    3. Data를 review 했으면 Import Standard Purchase Orders program을 실행한다.
    Parameter >>
    Default Buyer: Null
    Create or Update Items: No
    Approval Status: INCOMPLETE
    Batch Id: Null
    4. 만일 program에 문제가 있어 error가 발생한다면 error의 원인을 제공하기 위해 Purchasing Interface Error Report를
    실행할 수 있다.
    Parameter >>
    Source Program: PO_DOCS_OPEN_INTERFACE
    Purge Data: No
    만일 PO가 import 되지 않았다면 Puchasing Interface Errors Report와 동일한 정보를 보기 위해 Interface Errors table을
    아래 SQL을 이용하여 조회할 수 있다.
    SELECT * FROM PO_INTERFACE_ERRORS WHERE INTERFACE_TRANSACTION_ID ='&recordsinterfacetransid';
    Diagnostics
    Import Standard Purchase ORder process의 troubleshoot 도움을 위해 아래 Diagnostics과 Reports를 이용한다.
    1. Diagnostics Tool : Oracle Purchasing Purchasing Documents Open Interface Data Collection Test
    (please refer to Note 224887.1 for assistance)
    이 Diagnostics는 import program에 의해 import 되는 data를 validate 할 것이며 missing 되거나 맞지않는 정보를 highlight 한다.
    이 Tool은 interface tables에 있는 맞지 않거나 불완전한 data의 자세한 정보를 제공할 수 있다.
    Error는 PO를 import 할 때 발생한 문제 분석을 시도하는데 매우 유익하므로 SR을 log시 이 Diagnostic output을 upload 하는
    것을 권장한다.
    2. Purchasing Interface Errors Report
    이 report는 Oracle Purchasing에서 사용가능하며 Import Standard Purchase Orders program을 실행시 발생하는
    error를 강조한다.
    Tracing
    11.5.10 이상의 version에서 Import Standard Purchase Orders program의 trace를 생성:
    1. Navigate to System Administrator responsibility
    2. Navigate to Profiles->System
    3. Query the Profile Option Concurrent: Allow Debugging and set it to Yes at User level
    4. Navigate to Purchasing responsibility
    5. From the Requests form, choose the Import Standard Purchase Orders program and set the required Parameters
    6. Click the Debug button
    7. Check the SQL Trace checkbox and specify Trace with Binds and Waits
    8. Submit the Concurrent program
    9. Retrieve the trace file created.
    Logging
    Import Standard Purchase Orders program의 FND Deug Log 생성:
    1. Log_seq를 아래 SQL을 이용하여 확인.
    select max(log_sequence) from fnd_log_messages;
    2. Set the following profiles at the user level:
    FND: Debug Log Enabled = YES
    FND: Debug Log Filename = NULL
    FND: Debug Log Level = STATEMENT
    FND: Debug Log Module = %
    3. Run Import Standard Purchase Orders program
    4. Using a SQL client run the following query :
    Select * from fnd_log_messages
    where log_sequence > &log_seq_noted_above
    order by log_sequence;
    이 query의 output은 Import Standard Purchase Orders program이 실행 중 발생한 error를 표시한다.
    Reference
    Note 781351.1

  • Send email when creating a Purchase Order

    Hi,
    I'd like to send an email once a Purchase Order is created. I just need to send basic information to the supplier, such as the number of the Purchase Order.
    I know how transaction NACE works, but I've just used it to Print Forms. I guess I have to use application EF but after that, I'd like to know if I can use an already existing message type and what steps I should follow to send the email properly.
    Thanks in advance,
    Gerard

    Hi,
    Read note 191470 - Purchase order as an e-mail
    Regards
    Sudheer

  • Planning file entry and purchase orders

    Hi all:
    The documentation for MRP planning states that the planning file entry is updated for relevant changes to the material that includes among other things creation of purchase orders for the material.
    In our system, MRP requisition creation does update table MDVM as part of the MRP run. However, purchase order creation does not update the planning file entry, even though the documentation says it should.
    Anyone ever encounter this? Are there controls that need to be set?
    thanks in advance
    weston

    Not sure where you had read that a Purchase order creation updates the PFE. Have a look at this.
    http://forums.sdn.sap.com/thread.jspa?threadID=2129091&messageID=11046363#11046363
    Edited by: UKSAPPP on Feb 16, 2012 6:27 AM

  • Last Purchase order of a material

    Hi All,
    I have a requirement to retrieve the last/latest purchase order for a given material/plant combination. Currently I am using the following logic. Here is the pseudo code I am using.
    Select EKPO records where MATNR = given material
                                                  WERKS = given material
                                                  BSTYP  = 'F'
                                                  LOEKZ  = space.
    select EKKO records where EKKO-EBELN = EKPO-EBELN.( for all EKPO records of unique EBELN)
    sort EKKO record by AEDAT DESCENDING.
    read table EKKO index 1.   "This is the record I need.
    This logic seems to be not good. As I am reading all the purchase orders of the material for entire period which will cause more database hit and memory issue. Say if we have maintained the system for 5 years and I am reading EKPO table for a material there will be more purchase orders for this material.
    Can you please suggest if there is a better logic to handle this?
    Regards,
    Srinivas.

    My approach will be to first speak with functional consultant to find what will be the most probable period in which you will find last PO for given material/plant.
    For example you might get an answer that you will find last PO of given/material within last week (or last month) for most of the combination.
    Once you get the period in which you will find the data, you can then construct logic as below
    date : r_date type range of ekko-aedat .
    fill range with last period (last week for example)
    DO .
    select field
      from ekko inner join ekpo on ekko~ebeln = ekpo~ebeln
    where ekko~BSTYP = 'F'
         and ekko~LOEKZ = space.
         and ekko~aedat in r_date
       and ekpo~werk = given plant
       and ekpo~matnr = given material
    if sy-subrc = 0 .
    * you got your record , sort and pick the right one
    * break the loop.
    else.
    **Check for exceptions
    * fill r_date with last to last period and so on...
    endif.
    ENDDO.
    Now about the exceptions, there might be some NOT SO ACTIVE material/plant for which last PO was create 3 years back (for argument sake). Again here you have to ask you functional consultant if he/she really want to see that old record or NOT SO ACTIVE material. If his/her answer is yes then he/she have to live with long execution time. Otherwise logic will be not to look beyond the time limit given by you functional consultant. For example, if you do not find PO in last 1 year then stop looking.
    Edited by: Pawan Kesari on Dec 11, 2009 10:35 PM
    Edited by: Pawan Kesari on Dec 11, 2009 10:37 PM

  • Purchase Order - Pricing - Quantity scale from inforecord...

    Gurus
    Today we are running purchase order item pricing - where we have prices in inforecord - quantity scale prices...
    We have only one plant - and inforrecords are created for plant AAA.
    Quantity scale prices for plant AAA => material 801020
    Qty 2 => price 100
    Qty 5 => price 90
    Qty 9 => price 80
    So far - so good...
    But then "someone" decided to create two new plants...
    So now we can en up with:
    item 10     Material 801020      Qty = 2     Plant = AAA
    item 20     Material 801020      Qty = 3     Plant = BBB
    item 30     Material 801020      Qty = 4     Plant = CCC
    And - of course - we want to continue to use the quantity scale prices...
    Summarize the qty per material.
    Qty = 9
    But how can we solve this "scale-problem"...???

    I think the word "Group Condition" is the functionality I've been looking for.
    In our PB00 we have the flag set for group cond - and we have no group condition routine specified....but I have not succeeded to group the item qty based on material numbers....
    I created my own VOFM formulas...
    form frm_gruppenkey_095.
       xvakey          = '095'.
       xvakey+3(18) = komp-matnr.
    endform.
    ...and now it works...... !!!!!

  • Purchase order automatic amount determination with scales

    Hi,
    I have a problem with the automatic definition of amount of a purchase order item on the basis of the scales defined for a condition type (only for a material, the others are ok).
    As you can see in the attached images I have scales dedfined from 300 pieces, so, when I put 200 pieces, system should give me an error or set the amount of the more similar scale, but instead the system sets the value 4,21, that I have for 600 pieces! And very strange thing is that if I go in analysis, I can see that value setted was 5,33 and then manually modified, but it's not true: I've not modified. I tried to do all again and always error for that material code.
    Why? What should I check?
    Thank you

    Info record (subcontractor).
    Here the scales of other item (different scales):

  • ESW: Question on the usage of "READ PURCHASE ORDER" service operation

    Hi everyone,
    I plan to consume consume "READ PURCHASE ORDER" in my composite application. When I navigated to SAP Documentation on ES Workplace, I found out the following paragraph in the "Notes on SAP Implementation" section.
    Notes on SAP Implementation
    Prerequisites
    You must implement the application component Purchase Orders (MM-PUR-PO) so that you can use the operation.
    I am not clear about the prerequisite. How do I implement an application component?
    Here are the details to this service operation from ES Workplace:
    Software Component Version:       ESA ECC-SE 604
    First released with:      ESA ECC-SE 600
    Release State:      released
    Technical Name:      PurchaseOrderByIDQueryResponse_In
    Namespace:      http://sap.com/xi/APPL/SE/Global
    Application Area:      MM-PUR
    Webservice Definition:      ECC_PURCHASEORDER002QR
    Direction:      inbound
    Mode:      synchronous
    Idempotency:      not applicable
    Change/Update Behavior:      not applicable
    Could anyone please enlighten me on this issue?
    Thanks,
    Joon Meng

    Hi Michael,
    thanks for the quick reply.
    Now I understand the situation better with your explanation. But how can I check whether the application component is configured, which transaction? And how I can configure the application component?
    Are there any documentations or tutorials concerning this topic? I simply do not have the whole picture / process flow of the matter.
    Thanks in advance.
    Regards,
    Joon Meng

  • Purchase Order Read only/inquiry Responsibility

    HI,
    We are using R12.04, I want to create a new responsibility for purchase order inquiry/view only. User can only view purchase order details and but can't update details.
    I have restricted responsibility to Create New PO but still user can update PO detail. I have excluded all relevant functions from standard responsibility to restrict new responsibility to read only but still i can update PO information.
    I found metalink note for 11i (POXPOEPO - New Responsibility with View Purchase Orders Functionality Allows Users to Make and Save Changes [ID 169131.1]).
    Can anyone explain, how can i achieve this goal, Which function should i exclude to restrict responsibility to read only/inquiry ?
    Regards,
    Fahd

    HI,
    Thanks for the update, there is no standard way achieve this goal, as we have to define custom function, menu, responsibility to restrict PO form in inquiry mode.
    Reference:
    Metalink note id: I found metalink note How To Create a QUERY-ONLY FORM [ID 400380.1]
    Regards,
    Fahd

  • Reading information of Backend - Purchase Order

    Hello,
    We use SRM 5.0 - Clasic escenario
    I have a question regarding Confirmation of Purchase orders in SRM.
    I understand that in table BBP_PDBEI the number of te Purchase order (and its position) is stored wth which SRM goes to the R/3 Backend to retrieve the necesary information.
    With this information, the confirmation can be executed.
    I would like to know what Function, BAPI, IDOC, report etc.. SRM is using to retrieve these Purchase order information form the R/3 Backend!
    Thanks for any help.
    Aart

    Hi Aart,
    - in the standard we read the general data of the PO with the backend BAPI: BAPI_PO_GETDETAIL.
    Backend release:     ->     ...with the SRM Function module:
    R/3_4.70-ERP_2.0   ->    B470_PO_GETDETAIL
    R/3_4.5B-R/3_4.6C  ->    B45A_PO_GETDETAIL
    R/3_3.1  ->    B31I_PO_GETDETAIL
    - You can find more function modules for the backend PO reading if you search in the table BBP_FUNCTION_MAP with the object 'BUS2012'. Here you will find the function modules to the backend PO.
    - For more specific PO data you can use the META_READ_TABLE. With this FM you can access any table of the backend system.
    Kind regards,
    Peter

  • How to read the text from the item text of the purchase order

    i want to extract the text which is maintained in the purchase order item text. i used the function module read_text but it reads only the header text. can anyone help.

    u have to chek the following parameters  
      ID: this textid
      language:language u maintained the text,this also important
       name: The no in which text-id is maintained
             Usually we make mistake here,the no is          combination of purchase order no and item no.
    Example:420000210000010(Puchase orderno:4200002100 item no:00010)
        Object:it change based on the text-id so u can check it the document no.
        CALL FUNCTION 'READ_TEXT'
             EXPORTING
                  id                      = p_var
                  language                = g_f_langu
                  name                    = g_f_tdname
                  object                  = g_f_obj
             TABLES
                  lines                   = g_t_lines
             EXCEPTIONS
                  id                      = 1
                  language                = 2
                  name                    = 3
                  not_found               = 4
                  object                  = 5
                  reference_check         = 6
                  wrong_access_to_archive = 7
                  OTHERS                  = 8.
        IF sy-subrc <> 0.
         MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    Pass the varibles as i have said and let me know if u face any problem.
    Regards

  • Profitability segment for purchase order creation - how to read it

    Hello,
    how to read it profitability segment for purchase order creation at item level ??
    There's a method on ME_PROCESS_PO_CUST ?
    Tks

    Hi,
    Use the below FM from the function group KEAK
    To read: COPA_CALL_PROF_SEGMENT or COPA_INPUT_PSEGMENT_RETURN
    To create: COPA_PROFITABILITY_SEGMENT
    Hope this helps
    Regards
    Shiva

  • Table to read subcontract  Component from Purchase order

    Hi,
      As we create subcontracting PO with ME21N with item category as L  if BOM exist then all compoenet comes in the purchase order and if we want to add some moew componet that we can add  but in which table those component are stored ref. to purchase order.
    regards,
    zafar
    Edited by: Csaba Szommer on Jun 29, 2011 7:56 AM

    Can U explain the flow in detail because when i enter po number in ESSR i am not getting any data.
    should i have to enter some more details ?
    thanks,
    siva

Maybe you are looking for