Doubt on Purchase Orders
Hi gurus,
I have one query with me, our client create some Purchase Orders in Development Server. Now we are planning to move Production server.Is it possible to move the Purchase orders in development server to Production server.
If yes please suggest me how to do. Please can any one guide me the best solution for this problem. It's very urgent issue.
Thanks in Advance.
Thanks and Regards
Siri...
You can use the BAPI 'bapi_po_create' for this purpose.
In the system say system1 where the PO exits, you call the bapi in a program and pass the required parameters accssing the database of sasyem1.
Now,
In call function give the destination of system2 ( where you actually wants to create the PO). So the bapi will update the database of system2 and will create the PO there.
You can use the T-Code SM59 to create the remote destination.
Synchronous RFC
1. CALL FUNCTION func DESTINATION dest
parameter_list.
Asynchronous RFC
2. CALL FUNCTION func STARTING NEW TASK task
[DESTINATION {dest|{IN GROUP {group|DEFAULT}}}]
parameter_list
[{PERFORMING subr}|{CALLING meth} ON END OF TASK].
Transactional RFC
3. CALL FUNCTION func IN BACKGROUND TASK
[DESTINATION dest]
parameter_list
[AS SEPARATE UNIT].
4. CALL FUNCTION func IN BACKGROUND UNIT
parameter_list.
Similar Messages
-
Can any one send purchase order flow with detail
hi i have one doubt during purchase order can any one send flow of purchase order
Ravi,
What Is The DataFlow Of MM?
The dataflow as functional process below are the points:
1) Purchasing Requsition -> sent by inventory dept to purcharsing dept
2) Request for Quotation(RFQ)-> Purchasing Dept shall ask the vendors to give the quotation for the requested materials by inventory.
3) Quotation -> Quotation is sent by vendors to the company
4) Purchase order-> Based on all paramers of a quotation sent by vendors. Vendors are selected from whom the material has to be obtained. The company gives purchase order to the vendor.
5) Good's receipt -> vendors sends the goods to the company with goods receipt
6) Invoice verification -> this done based on good's receipt. this means that the ordered goods have reached or not.
7) Payment -> payment is done based on invoice verification. this is (FI/CO) *-- Santosh Kumaar.M
Full MM Transaction Codes Flow:
RFQ to Vendor - ME41
Raising Quotation - ME47
Comparison of Price - ME49
Creation of PO - ME21N
Goods Receipt - MIGO
Invoice (Bill PAssing) - MIRO
Goods Issue - MB1A
Physical Inventory - MI01( Create doc)
MI04 (Enter Count)
MI07 (Post)
The FI - MM integration:
First you define the g/l master records.
1) Inventry raw material a/c
2) GR/IR clearing a/c
3) Raw material consumption a/c
Above like this you define all required g/l accounts then you will go to T.CODE - OBYC
Double click BSX (this is transaction key)
" GBB
" WRX
" PRD
These are transaction keys important.
Then you go to T CODE - OMSY (this is also important) then
Material creation T Code MM01
then
1) Purchase order T.code ME21N
2) Goods received " MIGO
3) Invoice verification " MIRO
The FI - MM integration finished
PO Flow
http://sap-img.com/materials/what-is-the-dataflow-of-mm.htm
http://sap-img.com/materials/what-is-the-dataflow-of-mm.htm
Don't forget to reward if useful... -
Doubt in uploading purchase order data using BDC
Hi friends,
how to upload purchase order data.
1) In both BDC and BAPI which one is preferable?
2) for suppose if it is through BDC, how to use? what are the transactions that we can use(SHDB, ME21N,ME21)?
3) To execute the job in background, is it possible for both call transaction and session method.
Thanks in advance
Sreenivas kIt really depends on the number of records you have. Still for a set of 5,000 records my answer to your questions will be:
1) In both BDC and BAPI which one is preferable? - <b>Go with BDC</b>
2) for suppose if it is through BDC, how to use? what are the transactions that we can use(SHDB, ME21N,ME21)? - <b>Yes, its SHDB for recording, SE38 for abap program and ME21 for PO. Avoid SAP Enjoy transactions for recording as you may end up having problems wiht it.</b>
3) To execute the job in background, is it possible for both call transaction and session method. - <b>If you use call transaction method then you have to schedule the job to run in background or simply run it through F9 instead of F8. In case of session method you can chose to process the session in background. However I would suggest you go with BDC Session method for this.</b>
- Guru
Reward points for helpful answers -
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 -
Basic doubt on sales order and purchase order
Hi,
I would like to know that at the line item level in a sales order is the plant from where we deliver goods/services or is the plant to which the goods/services will be delivered?
Also I would like to know that at the line item level in a purchase order is the plant from where we supply goods/services or is the plant to which the goods/services will be supplied?
I know that it is a basic question but would appreciate your help.
Edited by: Christino Ronaldo on Apr 17, 2009 1:18 PMHi
I would like to know the plant that at the line item level in a sales order is the plant from where we deliver goods/services or is the plant to which the goods/services will be delivered?
Yes correct From this plant deliveries will get generated
This is delivering plant to effect supplies to customer
Also I would like to know the plant that at the line item level in a purchase order is the plant from where we supply goods/services or is the plant to which the goods/services will be supplied?
No Wrong
This is the receiving plant where we receive the materials
In ME21N if you take the document type as UB then immediateley supplying plant will come on the rt side
In ME21N if you take the document type as NB then immediateley vendor will come on the rt side
The plant which appears in the line item row in a PO is the plant which is going to receive this stocks
Regards
Raja -
Purchase order status in MRP run
Hi Gurus,
I have a doubt in MRP run.
While doing the MRP run, can there be any open PO s or is it mandatory to close them.
Can you also please suggest me on how to run the MRP.Hi,
MRP Run
Purpose
The Material Requirements Planning (MRP) function enables you to plan material requirements for complex manufacturing processes. You use the MRP Wizard to create and run MRP scenarios. The MRP Wizard generates recommendations for the production and purchasing orders required to produce the final product on time and in the required quantity. You then use these recommendations to create production and purchase orders in the Order Recommendation Report.
The order recommendation cannot be issued for requirements that happened in the past (before the present day). Since the purchasing or production process cannot be completed in time, the MRP does not mix the real past data with new recommendations for the same period.
Prerequisites
● You have defined the
○ Planning system
○ Procurement method
○ Order mutliple
○ Minimum order
○ Lead time
See also: Item Master Data, Planning Data Tab.
● You have set the time interval between orders. See also: Define Inventory Cycles.
● You have defined the appropriate items as non-production bills of materials (if required). See also: Item Master Data, General Tab.
● You have defined default warehouses. See also: Define Warehouses.
● You have defined forecasts. See also: Forecasts.
● You have selected the Consume Forecast option to make the system exclude existing sales orders from the forecast. If this is not selected, the forecast considers existing sales orders as an additional requirement. See also: Sales Order.
● You have set the planning definitions. If you chose Consume Forecast, you have defined the consumption method, days forward and days backward. See also: General Settings, Inventory Tab.
Process Flow
1. Start the MRP Wizard.
2. Create a new MRP scenario or select an existing one. (See also: MRP Wizard: Select New or Existing Scenario.)
3. Define the parameters for your scenario, such as the planning horizon and item details.
You also choose your display preferences. (See also: MRP Wizard: Scenario Details.)
4. Define the data sources for requirements that you want to include in your MRP scenario.
For example, you define whether you want to consider the existing stock or the minimum stock level. You can also include a predefined forecast. (See also: MRP Wizard: Data Source.)
5. Save the scenario or run it.
After you run the scenario, the system displays the MRP Results.
If there are red figures in the result table, solve the problem and re-run the MRP.
6. Analyze the MRP results. You can display the final stock quantity before the MRP run or after it.
7. Save the recommendations and exit the MRP Wizard.
Result
After completing the MRP Wizard, you still need to create the purchase and production orders in accordance with the MRP recommendations. See also: Order Recommendation Report.
Hope this will help.
Reward Point if helpful
Thanks,
Raja -
Hi all,
i have two doubts related to the purchase order.
1. How to know the Status of the purchase order
ex: Open , Closed
2. How to get the Purchasing Quantity (KOMV-KAWRT)
Please Advice me..
Many thanks for all of your help.
Regards,
Lakshma.Hi
Here is the code to find out the open purchase order.
List of open purchase orders for a given plant/delivery period *
A purchase order is open when the delivery completed indicator = ' '*(field elikz.ekpo = space)
Tables
TABLES: EKKO, "Purchase order - header"
EKPO, "Purchase order - lines"
EKET, "Purchase order - delivery date"
EKBE, "Purchase order - history
LFA1, "Supplier - general info"
STXH, "Text table - header info"
T001W, "Plant description table
MARA, "Material master
MAKT, "Material description table
T163X.
DATA: BEGIN OF TXTF_HEADER. "Purchase order header texts
INCLUDE STRUCTURE THEAD.
DATA: END OF TXTF_HEADER.
DATA: BEGIN OF TXTF_LINES OCCURS 2. "Purchase order header texts
INCLUDE STRUCTURE TLINE.
DATA: END OF TXTF_LINES.
DATA: WNAME(70),
WLPEIN(1),
WEINDT(10),
WMENGE LIKE EKET-MENGE,
WBISMT LIKE MARA-BISMT,
W_HISTORY(1).
SELECT-OPTIONS : S-EINDT FOR EKET-EINDT.
SELECT-OPTIONS : S-WAERS FOR EKKO-WAERS.
FIELD-GROUPS : HEADER, GROUP1.
INSERT EKPO-WERKS
EKET-LPEIN
EKET-EINDT
EKPO-EBELN
EKPO-EBELP
EKPO-MATNR
EKKO-WAERS
EKKO-WKURS
EKKO-KUFIX
EKKO-BEDAT INTO HEADER.
INSERT EKKO-SPRAS
EKKO-EKGRP
T163X-EPSTP
EKPO-TXZ01
EKPO-KONNR
EKPO-KTPNR
EKET-MENGE
EKPO-MEINS
EKPO-LGORT
EKET-WEMNG
EKPO-NETPR
EKPO-PEINH
EKPO-BPRME
EKPO-NETWR
EKKO-LIFNR
W_HISTORY INTO GROUP1.
General data
INITIALIZATION.
EM_SELKB = 'X'.
EM_SELKK = ' '.
EM_SELKL = ' '.
EM_SELKA = ' '.
Start of program
START-OF-SELECTION.
Read purchase order items for this plant with delivery completed
indicator = space
GET EKPO.
SELECT * FROM T163X WHERE SPRAS EQ SY-LANGU
AND PSTYP EQ EKPO-PSTYP.
EXIT.
ENDSELECT.
IF SY-SUBRC NE 0.
T163X-EPSTP = EKPO-PSTYP.
ENDIF.
CHECK S-WAERS.
GET EKET.
CHECK S-EINDT.
IF EKPO-ELIKZ = ' ' AND EKPO-LOEKZ = ' '.
if eket-wemng = 0 and eket-wamng = 0.
CLEAR : W_HISTORY.
SELECT * FROM EKBE WHERE EBELN = EKPO-EBELN
AND EBELP = EKPO-EBELP.
EXIT.
ENDSELECT.
IF SY-SUBRC = 0.
MOVE '*' TO W_HISTORY.
ENDIF.
EXTRACT GROUP1.
endif.
ENDIF.
END-OF-SELECTION.
Sort by plant - delivery date
SORT.
FORMAT INTENSIFIED OFF. "PPL26041995
LOOP.
read vendor
SELECT SINGLE * FROM LFA1
WHERE LIFNR = EKKO-LIFNR.
IF SY-SUBRC <> 0.
MOVE '???' TO LFA1-NAME1.
ENDIF.
search old materialnumber if needed
SELECT SINGLE * FROM MARA
WHERE MATNR = EKPO-MATNR.
IF SY-SUBRC <> 0.
MOVE '???' TO WBISMT.
ELSE.
MOVE MARA-BISMT TO WBISMT.
ENDIF.
read purchase order header text - first 2 lines of delivery text
CLEAR TXTF_LINES.
CLEAR TXTF_HEADER.
REFRESH TXTF_LINES.
MOVE EKPO-EBELN TO WNAME.
MOVE EKPO-EBELP TO WNAME+10.
SELECT SINGLE * FROM STXH
WHERE TDID = 'F04' AND
TDOBJECT = 'EKPO' AND
TDNAME = WNAME AND
TDSPRAS = EKKO-SPRAS.
IF SY-SUBRC = 0.
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = 'F04 '
LANGUAGE = EKKO-SPRAS
OBJECT = 'EKPO '
NAME = WNAME
IMPORTING
HEADER = TXTF_HEADER
TABLES
LINES = TXTF_LINES
EXCEPTIONS
ID = 01
LANGUAGE = 02
NAME = 03
NOT_FOUND = 04
OBJECT = 05
REFERENCE_CHECK = 06.
ENDIF.
READ TABLE TXTF_LINES INDEX 1.
print list
RESERVE 3 LINES.
AT NEW EKPO-WERKS.
SELECT SINGLE * FROM T001W WHERE WERKS = EKPO-WERKS.
IF SY-SUBRC NE 0. CLEAR T001W. ENDIF.
NEW-PAGE.
ENDAT.
CLEAR WEINDT.
CLEAR WLPEIN.
AT NEW EKET-EINDT.
CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_OUTPUT'
EXPORTING
INTERNAL_DATE = EKET-EINDT
INTERNAL_PERIOD = EKET-LPEIN
IMPORTING
EXTERNAL_DATE = WEINDT
EXTERNAL_PERIOD = WLPEIN.
ENDAT.
WRITE: / WLPEIN,
3 WEINDT,
13 SY-VLINE(1),
14 EKPO-EBELN,
25 EKPO-EBELP+3(2),
28 T163X-EPSTP,
31 EKPO-MATNR,
add old material number
52 wbismt,
62 EKET-MENGE,
80 EKPO-MEINS,
85 EKKO-LIFNR,
116 SY-VLINE(1),
127 txtf_lines-tdline(40),
118 EKKO-WAERS,
122 EKPO-NETPR,
142 EKPO-PEINH,
152 EKPO-BPRME,
157 EKPO-NETWR,
177 EKKO-WKURS,
190 EKKO-KUFIX,
193 EKKO-BEDAT,
206 EKKO-EKGRP,
211 SY-VLINE,
216 W_HISTORY.
add storage location
171 sy-vline, ekpo-lgort,
178 sy-vline.
READ TABLE TXTF_LINES INDEX 2.
SELECT SINGLE * FROM MAKT WHERE MATNR = EKPO-MATNR
AND SPRAS = SY-LANGU.
IF SY-SUBRC NE 0.
MOVE EKPO-TXZ01 TO MAKT-MAKTX.
ENDIF.
WMENGE = EKET-MENGE - EKET-WEMNG.
IF EKPO-KONNR = SPACE.
WRITE:/13 SY-VLINE(1),
MAKT-MAKTX(30) UNDER EKPO-MATNR,
WMENGE UNDER EKET-MENGE,
LFA1-NAME1 UNDER EKKO-LIFNR,
126 sy-vline(1),
txtf_lines-tdline(40) under txtf_lines-tdline,
116 SY-VLINE(1),
171 sy-vline(1),
211 SY-VLINE(1).
ELSE.
WRITE:/13 SY-VLINE(1),
ekpo-konnr under ekpo-ebeln,
ekpo-ktpnr+3(2) under ekpo-ebelp,
MAKT-MAKTX(30) UNDER EKPO-MATNR,
WMENGE UNDER EKET-MENGE,
LFA1-NAME1 UNDER EKKO-LIFNR,
126 sy-vline(1),
txtf_lines-tdline(40) under txtf_lines-tdline,
167 sy-vline(1),
116 SY-VLINE(1),
211 SY-VLINE(1).
ENDIF.
ULINE /13(207).
AT END OF EKET-EINDT.
ULINE 1(12).
ENDAT.
ENDLOOP.
print delivery date with first line.
TOP-OF-PAGE.
CALL FUNCTION 'PERIOD_AND_DATE_CONVERT_OUTPUT'
EXPORTING
INTERNAL_DATE = EKET-EINDT
INTERNAL_PERIOD = EKET-LPEIN
IMPORTING
EXTERNAL_DATE = WEINDT
EXTERNAL_PERIOD = WLPEIN.
CALL FUNCTION 'Z_PRINT_TITEL' "PPL24041995
EXPORTING PROGNAME = 'ZMCH0089' "PPL24041995
TEXTTYPE = 'T' "PPL24041995
ORG_PROGNAME = ' '
PARAM_1 = EKPO-WERKS "PPL24041995
PARAM_2 = T001W-NAME2 "PPL24041995
PARAM_3 = ' ' "PPL24041995
PARAM_4 = ' ' "PPL24041995
PARAM_5 = ' '. "PPL24041995
Reward if helpful.
Chandralekha -
Inputs requried to create purchase order report from flat file
inputs requried to create purchase order report from flat file
At a guess, I'd say purchase order data.
If you don't give us a clue what you are actually trying to do we can't really help you too much.
Do you want to call a BAPI? Do a BDC? Use an IDOC? Or just generally muck up the system by doing inserts into the purchasing tables?
No doubt if you tell us, you'll get lots and lots of suggestions.
Gareth. -
Purchase order vs planned order vs process order vs production order
Hi,
Kinldy explain difference between the Purchase order, planned order, process order and production order?
Thanks & Regards
Ravi kumarHi Ravi,
In simple terms:
planned order - A procurement proposal generated by the system to meet a need, this can then be converted to a production / process order (for internal procurement) or into a purchase reqn & in-turn to Purchase order (for external procurement)
Purchase order - A firmed procurement proposal which is sent to your vendor (external procurement) to supply the items as per your order
process order - A firmed procurment proposal which is used for in-house procurement, this is used in process industries eg: chemicals, oil & gas etc
production order - A firmed procurment proposal which is used for in-house procurement, this is used in discrete production industries
Based on the above am quite sure you should be able to figure out the differenced. If any doubts revert.
Regards,
Vivek -
Hi SAP SD GURUS,
this is STO process, Doucment type is UB, delivery type is NLCC, Item catagory is NLC.
When ever to create the delivery enter the qty more than the purchase order qty, system is allow to create the delivery, in this case i want restirct the delivery levle and we cannot enter the delivery qty more than the Purchaswe qty in delivery level, where it is controlled?
Thnaks and Regards,
Murali krishnaDear Sd experts , @ Lakshmipathi G sir
I have one doubt on this plz Tray to solve this .. i know this is not possible in sap stranded To achieve this But some links some Mentors said It will be possible In OMCQ But i didnt get result in OMCQ
Link is this Delivery is happening more than STO quantity
If it is possible in sap stranded only what is the purpose of BADI LE_SHP_GOODSMOVMNT For this scenario to handle
Give me clarity sir .....waiting your valuable replay -
SAP console goods receipt purchase order
Hi all,
I'm new at SAP console, and I need it to make goods reception from a purchase order with a mobile device (PDA).
Is there any way to make it without performing a Warehouse Management customizing in SAP ERP system??? I've seen a goods receipt menu with several reception options which seems to be WM options (transport orders, etc), but I didn't see the option to make a goods reception with reference to a purchase order (like in MIGO transaction)
Thanks in advance
RegardsOK, thanks a lot, that was very helpful. Now I know how to focus the problem I've some doubts.
I'm going to customize a basic WM to work with the SAP console.
My idea is to do a process similar to the next one:
1) The purchase order is created inn SAP R3 with confirmation type 0004 (for inbound deliveries).
2) Create in SAP R3 the inbound deliveries corresponding to the previous purchase orders.
3) Create in SAP R3 the Transport Orders corresponding to the previous inbound deliveries.
4) Confirm de Transport Orders/Inbound deliveries from the SAP console mobile device.
5) Post the goods receipt for the confirmed inbound deliveries in SAP R3.
Is there any way to avoid steps 2 and 3? I mean:
- Can the inbound deliveries be automatically generated when the purchase order is saved?
- Can the TO's be automatically generated when the inbound delivery is created?
Right now, I'm doing these 2 steps with collective transactions, but if it is possible I'd like to do it automatically.
Thanks a lot.
Best regards -
hi,
here r some doubts...
1. How to spilt Purchase orders???
2. which t code we can see open purchase orders and how we close it???
3. what is scheduled jobs & how we do it????
thanks
raj1. Splitting Purchase orders
Is it Quota arrangement you are talking about? clarify
2. Open PO use any of the Reports as mentioned or try ME2N , use selection parameter WE101 & Restrict the dates to get a quick result.
3. Closing the PO,
a) For partially deleivered items in the PO lock the the Line items and use the Delivery tab in the Item level , you will find the Latest GR date enter a date so that you are effectively blocking the GR aftre that date as locking alone will not stop GR.
b) For Completely Open items use the deletion indicator to delete the Item and save.
4. Scheduled Job- Jobs are scheduled because they take time to give output, When the output of a report/program takes considerable time and the output is also huge then we schedule the job in background in odd hours where_in the normal activities does not suffer. Normal it is called Background Scheduling. We can schedule normal perioding reports either on weekly basi/fortnoghtly basis or monthly basis. Use Txn SM36 for this.
Regards -
Hi all,
I want to close all open purchase order . MEMASSPO transaction doesnt allow me to close partial open POS ie PO is of 10 QTY & I received 5 qty .Remaining 5 QTY. there are around 1000 PO's are like that .
Going into me22 & delivery completed tick, I can do it manually .but its very hectic due to large no of PO's. Can I write a BDC for that ? I have a doubt whether that BDC will work properly or not because In each PO line Item Nos are different. which item is received completly & which not this is also to be considered.
Plz reply .
Thanks in Advance.
AtulHi,
you can uses BAPIs instead of BDC. You can get details of PO from BAPI BAPI_PO_GETDETAIL1 and then change it using BAPI_PO_CHANGE. Both BAPIs have table POITEM with field NO_MORE_GR. This field corresponds to your flag. So you can easily see which items has not this flag set and then easily set this flag.
Cheers -
Status Change for Purchase order in Process Purchase order
Hi All,
We have implemented SRM 4.0 with Extended Classic scenario.
SRM does provide standard status for Process Purchase order worklist (such as Ordered, Held, Error in Process etc.). Is there any BADI i can use to overright my own status message for the PO.
To give brief background of the requirement. Client wanted status to be changed to "Cancel" For POs whose all the line items we have deleted or "Close" when Last delivery or Final Invoice check is ticked.
I am aware that i can use BBP_DOC_SAVE_BADI as structure BBP_PDS_ITEM i can get items deletion indicator. But will i able to change the standard Status message?
Presently even though all line items marked delete still shows PO as "Ordered" status.
Kindly let me know if i can acheive with anyway.
Thank you
RiteshHi Masa,
Thank you for your response. I have few doubts about the configuration which you have suggested.
- Define Status schema for User status will create a status Profile in which i have to include my own status. In the document of Define Status Schema it specifies that After creating User profile you have to assign same profile to transaction types. (I.e. BUS2201 or BUS2121 etc).
My concern is will my own status profile over-write the standard status which is coming? such as Ordered, Created, Transmission fail etc.
If so then do i have to create status profile to include all the Standard Status message in it as well?
- Other thing i found that Ordering PO goes through many standard status message (COMP, CRTD, CTRA, DCOM, ORDR) and always the last status in the Hearder will display on ITS level. Is my understanding right?
- I found that there is a standard system status message I1045 (BECN Cancel) Can i use this through BADI?
Kindly let me know.
Thank you once again.
Regards
Ritesh -
How to execute availability check against delivery date in purchase order
Hi all
In MD04, I know that "available date = delivery date in purchase order + GR processing time" & "GR date = delivery date in purchase order". When I execute availability check in production order, I will get material's committed date = available date. But I hope to get material's committed date = GR date in purchase order.
For example. delivery date in purchase order is 2012/02/06 and GR processing time is 2 days. After ATP in production order, I will get committed date 2012/02/08. But I hope it show 2012/02/06. How to customize it.
(The GR processing time must be set 2 days for MRP calculation. it can be changed to 0.) Thanks!!Hi Rita,
One Doubt, If you say that material commited has to be the GR date and you do not wish to wait for GR processing time, then why do you have the GR processing time in first place.
For ex. My client, we get the stock as per GR in Quality inspection and so we have GR processing time considered for available time in MD04. But since the business considers the Inspection stock as avialble, The stock gets reflected in avialibility check the moment GR is done.
So please explain your requirement in detail. There could some way to do so. If not the raise an issue with SAP.
Maybe you are looking for
-
How do I manually synch certain parts of my library to a shuffle?
Hi. I have lots of material in my Itunes Library. I want to put only selected songs/tracks on to a shuffle. How do I do this?
-
How do you tell if ZAM 7.5 is running?
I just need a simple test to see quick if it is installed properly in Windows XP. For example, what's the name of the task (process)? Should there be a taskbar tray icon? etc. I can't seem to find this information (but then again I'm terrible at sear
-
Hi, I am working with IS-retail and I have created a BOM for commercial use. When I enter the material in the item level of the sales order the system triggers the explosion of the BOM. Everything is ok except the number of items created. The BOM has
-
How can I get rid of 'Vidx' adverts on MacBook Air?
Vidx has been everywhere in literally any page whenever I use safari. They popped out annoying ads and direct me to their own webpage when I clicked some other safe links. My internet has been slowed down because of Vidx. I couldn't find any solution
-
HT3702 How can I talk to a customer service agent?
Need to talk to a customer service agent about fraudulent charges.