Unable to cancel - open purchase order where all items are removed
Hi all,
When We try to cancel/close open purchase order where all items are removed from item master ?
It showing error message,
"No matching records found 'Items' (OITM) "
Purcahse order was created on may-2007.
As purchase order showing in open item list.
Any solution for this problem ?
Jeyakanthan
SAP does allow items to be removed from the item master with open documents, but only if the documents have not created journals.
It does create headaches though, and this situation is one of them.
If there are not many items, I suggest you recreate the items, close the PO and just cancel the items rather than remove them.
The other workaround is to change the items on the PO to something different that is in the item master, then close it.
Similar Messages
-
Open Purchase Order Separation from item Order Qty
Hi All,
Kindly suggest me how to separate open Purchase order from Item Order Qty.if i have 2 WH with different Order qty.in report it will be shown total order qty of both WH's.like
Item WH Order Qty
A 01 100
A 02 50
or
A 01 0
i need like this A--150 OR A--50(order qty).
plz look into my query and suggest me how to do this.
select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
sum(t1.openqty)
as OrderQty,
t2.MaxLevel as 'Max Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II' from OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode where t2.validFor='y' and t2.[U_pperson]='p1' or t2.[U_pperson]='p2' or t2.[U_pperson]='p3' group by t3.CardName,T4.[OnHand],t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel,t1.OpenQty
Thanks&Regards,
P.PratapHi,
Try this:
select distinct t3.CardName as SuplierName,t2.[ItemCode], t2.itemname,t2.[U_pperson]as PP,((SELECT sum(T4.[OnHand])FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH')) as Stock,t2.MinLevel as 'Min Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH'))-t2.MinLevel) as balance,
sum(t1.openqty)
as OrderQty,
t2.MaxLevel as 'Max Bin',(((SELECT sum(T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = '01')
+(SELECT sum( T4.[OnHand]) FROM OITW T4 WHERE T2.[ItemCode] = T4.[ItemCode] AND T4.[WhsCode] = 'EWH'))-t2.MaxLevel)as 'Balance II'
from
OPOR t0 inner join POR1 t1 on t0.DocEntry=t1.DocEntry inner join OITM t2 on t2.ItemCode=t1.ItemCode inner join ocrd t3 on t3.CardCode=t2.CardCode inner join OITW t4 on t4.ItemCode=t1.ItemCode and t4.WhsCode=t1.WhsCode where t2.validFor='y' and t2.[U_pperson]='p1' or t2.[U_pperson]='p2' or t2.[U_pperson]='p3'
group by t3.CardName,t2.[ItemCode], t2.itemname,t2.[U_pperson],t2.MinLevel,t2.MaxLevel
Thanks & Regards,
Nagarajan -
Unable to post the Purchase Order inbound idocs which are in status 64
Hi
While Processing the inbound idocs which are in status 64 for message type: PORDCR i am getting the
idoc into error status 51 saying the error as "Missing authorization: Purchase Order Create Purchasing Grou V10"
We are getting the inbound idocs from third party and we need to post these idocs in production.
Can any one help me out how to proceed further on this.
Thanks in Advance
Regards,
Phani Miriyala.Hi
Thank you very much for your quick response.
As the same user is able to process the idocs of message type PORDCR which are in status 64 successfully previously.
Regards,
Phani Miriyala. -
Hello All,
Anyone know how I can get the list of Open Purchase orders?
Currently we are pulling all those POs with the following characteristics:
PO item where
all schedules have received qty zero.
Open Schedules (EKET) - Dont want fully or partially received
Received Quantity (wemng) = zero
The performance is not the greatest.
Just curious to know how others are arriving at the list of Open Purchase Orders.
Ideas / Thoughts???
Thanks for any input.Why not checking for Final Invoice indicator EKPO-EREKZ = 'X'
or/and Delivery Completed Indicator EKPO-ELIKZ = 'X'.
select *
from ekpo
into table it_ekpo
where delkz ne space and (erekz = 'X'
or elikz = 'X').
Regards,
ravi -
BADI or function module for updating open purchase orders
Hi all,
Does anyone know of a BADI or function module which can be used for updating item prices in open purchase orders?
All helpful answers are highly appreciated!
Regards,
MV1 ) execute this program in se38 .enter the input as transaction code for which you want list of User
Exit.
REPORT z_find_userexit NO STANDARD PAGE HEADING.
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP® User Exits exists.
*& Tables
TABLES : tstc, "SAP® Transaction Codes
tadir, "Directory of Repository Objects
modsapt, "SAP® Enhancements - Short Texts
modact, "Modifications
trdir, "System table TRDIR
tfdir, "Function Module
enlfdir, "Additional Attributes for Function Modules
tstct. "Transaction Code Texts
*& Variables
DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.
*& Selection Screen Parameters
SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK a01.
*& Start of main program
START-OF-SELECTION.
Validate Transaction Code
SELECT SINGLE * FROM tstc
WHERE tcode EQ p_tcode.
Find Repository Objects for transaction code
IF sy-subrc EQ 0.
SELECT SINGLE * FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'PROG'
AND obj_name = tstc-pgmna.
MOVE : tadir-devclass TO v_devclass.
IF sy-subrc NE 0.
SELECT SINGLE * FROM trdir
WHERE name = tstc-pgmna.
IF trdir-subc EQ 'F'.
SELECT SINGLE * FROM tfdir
WHERE pname = tstc-pgmna.
SELECT SINGLE * FROM enlfdir
WHERE funcname = tfdir-funcname.
SELECT SINGLE * FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'FUGR'
AND obj_name = enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.
Find SAP® Modifications
SELECT * FROM tadir
INTO TABLE jtab
WHERE pgmid = 'R3TR'
AND object = 'SMOD'
AND devclass = v_devclass.
SELECT SINGLE * FROM tstct
WHERE sprsl EQ sy-langu
AND tcode EQ p_tcode.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
SKIP.
IF NOT jtab[] IS INITIAL.
WRITE:/(95) sy-uline.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
WRITE:/(95) sy-uline.
LOOP AT jtab.
SELECT SINGLE * FROM modsapt
WHERE sprsl = sy-langu AND
name = jtab-obj_name.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
WRITE:/1 sy-vline,
2 jtab-obj_name HOTSPOT ON,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
ENDLOOP.
WRITE:/(95) sy-uline.
DESCRIBE TABLE jtab.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ 'No of Exits:' , sy-tfill.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'No User Exit exists'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) 'Transaction Code Does Not Exist'.
ENDIF.
Take the user to SMOD for the Exit that was selected.
AT LINE-SELECTION.
GET CURSOR FIELD field1.
CHECK field1(4) EQ 'JTAB'.
SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.
2) Second way is to go to transaction code SE93 .enter transaction code click on display.
There you will see the package. Copy that package name.
Go to transaction code se84
Enhancements -customer exits-enhancementsu2014enter package there and execute.
You will get list of exits.
3) BAPI for PO change is
BAPI_PO_CHANGE -
DRQ: Check open purchase orders in Stock Data.
It´s a pray if you can click on a arrow in the Item Master Data under Stock Data in the Colum Ordered to see all open purchase orders for this Item. and the same for Commited to see the open seals orders.
Hi
If your query below is still unresolved, then I request you to
- pls be more clear on what your question is? this will help in providing a suitable solution.
Thanks,
Srikanth -
hi mates
When i try to cancel the purchase order the following errors are thrown by Sap System.
1 purchase order data still faulty
2 Enter reason for change for versiuon
3 Enter short text for version
4 Enter requester for version
plz do give your valuable suggestions
subbuhi
if this is an service it will come on say 1.7.9
now if u want to cncel it on 25.7.9 it is not possible as the SERVICE will get finished up on 1.7.9 only so u have to reverse it on same day i.e. 1.7.9
so system will automatically takle the date of 1.7.9
regars
kunal
Edited by: SAP Learner on Aug 3, 2009 10:41 AM -
Using the DI API, how can I query the PO documents that have neither followup "Goods Receipt" nor "A/P Invoice" documents? That is, I'm looking for the open Purchase Orders.
Thank you,
MiklosYou can use the recordset object to query for open PO's.
This can be a simple query, or it can get more complex, depending on your needs.
Something like this...
SELECT * FROM OPOR WHERE DOCSTATUS = 'O' AND CANCELED <> 'Y'
... will get you a list of all of the currently open PO headers. However, an open PO may have been partially paid, or partially received. The PO header remains open until all line items have been closed.
If you're looking for a way to find PO's that have not had any partial receipts, invoices, or rtv's against them then the solution will need to consider the LineStatus field on the POR1 table as well.
Regards,
Demetree -
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 -
Idea/Suggestion for Report on Open Purchase Orders
Note: coding is not necesary
give me an idea /suggestions how to develop a report which lists all open purchase orders not acknowledged for different vendors plz if u give me step by step procedure it will help me in developing
Title edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:23 AMHi kumar,
DEFINITION :A standing/open order is a Purchase order which has been issued to a vendor, against which specified purchases may be made for a specified period of time. When repeated purchases of the same type of supply items are expected, multiple purchase requisitions may be eliminated by submitting one purchase requisition to establish a standing/open order. This request must be accompanied by a justification memorandum. Standing purchase orders are issued for supply type items and services only.
JUSTIFICATION : Request for standing/open orders are approved by the Director of Purchasing, provided they are sufficiently justified. Purchases made by the standing/open order method are often more expensive, and should be considered carefully.
LOGIC: Open purchase orders meanse,the purchase order not realse due to some reasons.
The purchase order table EKPO (or) EKKO.
You find the both tables
fields: LOEKZ = Deletion Indicator.
ELIKZ = Delivery completion.
You checks above fields NOTEQUAl to SPACE
example: LOEKZ NE ' '
ELIKZ NE ' '
above fields equal to space that orders realsed.
example: select * from ekpo
into itab
where ebeln = pametervalue
and loekz ne ' '
and elikz ne ' '.
Above statment excutes dipalys the open purchase orders.
Thaks,
sreddy. -
Report for Open Purchase Orders
how to develop a report which lists all open purchase orders for given period & plant ? plz idoint want coding .. but give me guidlines & suggestions to develop my own plz tell where could i nstart & end for this report help me sdn
Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AMEither you can use ME2N with selection parameter WE101 & Scope of list BEST
or
Go to SE16
Use Table EKPO
Use Filed name ELIKZ
If you give X list of all the delivery completed items.
If you leave blank list of all Open PO items will display.
Report showing the open Purchase orders
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Jun 5, 2008 11:32 AM -
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,
JohnHi 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. -
List of opened purchase order.
Hi,
what is the trx for a list of opened purchase order?
Best regardsHi
Looks like you are looking for PO's where there are open (pending) quanities exist.
There are standard reports like ME2M, ME2L. In selection parameter, you select WE101. This will give all open PO's
Other method is through accessing table level data i.e,. through SE16 which I think is not needed for your simple requirement.
Cheers
Jags -
DEAR ALL,
WHETHER WE HAVE A STANDARD REPORT IN SAP TO GET QUANTITY AND VALUE DATA OF BACK DATED OPEN PURCHASE ORDER?
PURCHASE ORDER HAS BEEN PREPARED IN JANUARY, DOWN PAYMENT IS MADE IN THE MONTH OF MARCH, MATERIAL IS RECEIVED (GRN MADE) IN AUGUST
IN ABOVE CASE WHEN I GENERATE A OPEN PURCHASE ORDER REPORT AS ON 31.03.2008 IT IS NOT SHOWING ME THE QUANTITY & VALUE DETAILS OF OPEN PURCHASE ORDERS.
PLEASE LET ME KNOW THE WORK AROUND.
WAITING
AMITDear,
Enter ME2N, Select WE101 in selection parameter field.
Then enter other required detail and click on execute button.
So system give you list of open purchase order.
Then click on change layout button.
Transfer Still to be invoiced (qty) field Column Set to Display column set mode.
And click on continua button.
Duse to this field you can track for how many quantity good receipt is created of purchase order.
Regards,
Mahesh Wagh -
Open Qty and Received Qty for Open Purchase Order.
How to Fetch the open qty and received Qty of every Open purchase orders in EKPO table where ELIKZ = SPACE OR LOEKZ = SPACE. What are the table and field used? Kindly help me.
Hello Senthilramkumar,
Use ME2L/ME2N/ME2M with selection parameter WE101.
Hope this will help.
Maybe you are looking for
-
J2EE shutdown, reboot - rfc, r2startup problem
Hi, I have install J2EE Engine 6.20 on a R/3 Enterprise 4.70 extension set 2.00 central instance. I tried to start, restart and stop j2ee from smicm. "End process - with restart": works fine, after that "End process - without restart": ok. "Restart -
-
BAPI call via UDF in mapping - error handling/stopping processing
Hi, We are calling a BAPI in an ECC system from a UDF in message mapping. The BAPI then calls other BAPIs to perform translations and validations on the message data. An error could occur during a translation (for example), and an error flag would
-
Related tables to fetch from PTMW
Hi Gurus Can you tell me what tables are envolved in PTMW transaction . We have an issue with the accuracy of data that has been keyed into SAP from timesheets. As a result the staff have to audit the timesheets entered for some drivers in the the pe
-
DME - Reference field for document more than 1
Dear all, I'd created DME structure for generate TXT file and it works good except for 1 field : payment detail. I map this attribute to structure FPAYP field XBLNR, it should appear 2 line item in TXT file because I have 2 document for 1 vendor / p
-
Very weak wifi signal after i change the battery
i recently change my playbook battery. everything seems perfectly okay except that i have a very weak wifi signal reception. i need to be very near the router just to have the signal. i dont know what went wrong during the changing of battery proces