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 rewardedHi 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.
MarthaI 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,
GerardHi,
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
westonNot 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 youInfo 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 MengHi 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,
FahdHI,
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.
AartHi 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 ?
TksHi,
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 AMCan 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
-
I use an iPad 2 at work that has a different apple id for iCloud than my own personal new iPad. How can I change the company's id for iCloud to synchronize with my own personal iPad?
-
Error after installing BI Scheduler Schema
Hi, I followed the instructions given in the below URL to install the BI scheduler schema. http://download.oracle.com/docs/cd/E12844_01/doc/bip.1013/e12690/T434820T487784.htm After installing the Scheduler Schema the following error is encountered wh
-
Just bought an AirPort Extreme which requires a Airport Ulitity update. The update needed is not supported on my HD. It requires OSxV10.7.5 which I do not have. What can I do??
-
Change content in adobe forms of Print Preview in Appointment screen
Hi , I have a requirement in which I have to change content of adobe forms which comes after clicking on Print Preview in Appointment screen, I am new to Smart forms and Adobe forms , request expert suggestion onto this. Thanks.
-
How invalidate a session managed bean
I have a faces-config. xml file with the following content: <managed-bean> <managed-bean-name>pc_mybean</managed-bean-name> <managed-bean-class>mybean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> For some reas