!!!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 reddycheck 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 dont want to maintain anything in the Item information (EKPO) I assume this is because they dont 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
RICK1) 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 users 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_API1Hi,
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 AMHello 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
Sanjeevhi,
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,
Johnif 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.KHi 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,
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. -
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
Gowrishankaryes 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?
VivekStephen & 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,
VivekHi 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?
-
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