Purchase requisition number Range in MRP Run (MD02)
Hi Experts ,
When I run the MRP through T-Code MD02 even in test mode the Purchase requisition number getting consumed with out saving the entries.
for eg:- number range = 100 to 200.
when I execute the MD02 by selecting the indicator "Display results before they are saved " system showed a Purchase requisition number 100 and exit with out saving the entries.Next time when I execute the same MD02 system is displaying the purchase requisation number as 101, where as i have not used PR number 100 at all.
Please guide me....
Regards,
Sri.
Sri,
Nothing is missing. This is standard behavior. It appears to me that SAP makes no effort to ensure that all Purchase request numbers are contiguous.
You can try turning off number range buffering. This will reduce the number of gaps in your purchase req number sequences. However, I don't know if it will eliminate all gaps. Be aware that there is a performance tradeoff when you deactivate buffering. Making this change is considered to be a system modification, and is not supported by SAP.
https://service.sap.com/sap/support/notes/62077
Rgds,
DB49
Similar Messages
-
User Exit for Purchase Requisition Number Range
Dear Experts,
I searched on sdn, i got M06B0003 &M06B0004 this 2 user exit for PR Number range.
I have activated both User exits but while creating PR is not getting effect of that user exit.
I have checked by putting Break-point in respective user exit but while saving the PR it should go to that break-point but it not going there aslo.
And also i have checked user exit MM06E003 but it is for Purchase Order number range.And for PO it is working.
Please help me to solve this issue.Solution will be appreciated.
Regards,
Sanket.Hi,
Sorry that badi will not help try this one ...EXIT_SAPLMEREQ_009 in MEREQ001 where the export parameters is purchase requisition number....
Thanks,
Shailaja Ainala. -
Problem in Purchase Requisition Number Range (Skipping)
Hi,
While creating the Purchase Requisition, the PR Number is skipping by 10, for example, first PR is 10000000, send is 10000010 and so on.. on the Quality Server
The same is OK in Development Server. Pls. note that I have used the Standard Number Range.
Pls. guide.
Regards,Hi,
To add on Arun's answer. The setting in trs SNRO is client independent. You should press the "display" button there (the glasses) and check the field "No. of numbers in buffer". The standard SAP setting is 10 and changing this setting is a modification to standard.
The scenario is as follows. Each time your application server needs to allocate new number to a PReq it contacts the database server, which keeps track of the number range. Even if your system (Q) is a single server system, the principle is still the same.
The point is that the application server doesn't take one next number from the database server, but 10 numbers. Next time it needs to allocate new number to a PReq, it doesn't have to call the DB server again - it merely takes the next number from the "bundle" it already got. The reason is to save time.
This works fine as long as the application server is up and running all the time - no "holes" are generated. It can however happen that the application server "forgets" the buffer, e.g. when the server is taken down (this is however not the only way). In this case, all the numbers it got from the DB server get lost and the application server takes out new ten.
As I mentioned above, this function is impossible to change without modification to SAP standard. Please consider well your business need to have the consequent numbers. Most of the companies manage with this setting.
BR
Raf -
Issue on Number Range for MRP Purchase Requisition
Hi Gurus,
Please help me on the issue explained below.
We are already using SAP ECC 6.0 and SRM 5.0 and now we are implementing Plant Maintenance Module.As a result of this implementation ,we have created number of PR document types and assigned to unique number ranges in ECC. One of these document types has been maintained for MRP group for a material type in order to identify the MRP purchase requisitions created on the shortage of the materials for these material types.
This functionality is working fine. MRP run for the materials is picking the appropriate PR document but number range of the document is not the same what was assigned to the linked document type.Some other number series is getting picked by system .
There is setting under SPRO Consumption Based PlanningNumber RangesPurchase Requisitions
Here, number range assignment is against plant. This is the same number range which is being taken by system on running MRP. But the desired number range is the one which has been linked to PR document type.
If I change the number range above then number range for MRP PR in present system will get affected..
Can you please advise me on above so that PR generated on MRP run should have appropriate number range?
Thanks & Regards,
NitiHi,
As per my understanding, what you have mentioned above is exactly the way SAP is designed. Its SAP Standard behaviour.
But if you check your PR document type - no:range & the CBP no:range both will be same only since both refers to the same object.
Please check the PR document type that you have assigned in the CBP & its no:ranges.
Thanks & Regards,
Ram -
No Purchase Requisition Generated after MRP Run MD02
Hi All,
After runing MRP Run MD02 for finish product with MRP Control parameters for create purchase requisition as 1 (Create Purchase Requisitions) . System is not generating any purchase requisitions for raw materials required for assembly.
If we select 3 create planned order system is able to generate planned orders for raw materials required for assembly.
Plz guide why am not able to generate purchase requisition directly.
Regards,
SipraSipra,
Couple of checks,
1. Check whether the Material is defined for "F" - External Procurement in MRP2 view of the material master.
2. Check whether the material type used for the material is enabled for "External Purchase orders". Transaction OMS2.
Regards,
Prasobh -
PR number range after MRP is not triggered
Dear gurus,
My MM consultant needs a seperate number range for Purchase Requsition during the MRP Run.I have configured in Plant Parameters number range for PR and also since we are using the MRP Group.I have configured the purchasing doccument type in MRP group.But after MRP run system generates the different number for purchase requistion other than the configured.If i create manual purchase requsition it is creating in my number range(correct number range).ie)My requirement is sytem should generate seperate(correct) number range which i configured in Plant parameters.Can any body suggest what are the configuration missing in my end.
For your information.The Raw materials are extened to new plant
please give your valuable comments and suggestion
-gunaDear Prabosh,
we are doing the rollout implementation.
My problem is i am not getting the correct number range for MRP generated Purchase Requistion.The PR number which is generated by the MRP system is 11194121(which is the no range configured for another existing plant.the same material is extended for new plant).(In mrp generated PR,doccument type is correct only the pr number is wrong.)But I have configured the different number range(range 2800000000) for Doccument type.Please see my configuartion.If i create manually with docc type vad it is picking the correct number range280000000.but after mrp also the number range for pr should be in 280000000 series.this is my problem.Mr.Pradeep told that "pr number range which is is generated by MPR syststem should always be different.if we create manual pr against the same material the number range will be different.".
we are doing rollout implemenation.i checked in existing plant with existing material.first i create the manual Purchase requstion.the number is 11193212.The PR number which is generated by the MRP system is 11193215.I checked the PR no 11193213/11193214.But it is not exists.whether any configuration is left in my end? any user exits will be used by this? Please go through my configuartion and suggest.
Please help me.since we are in Testing phase.It is very urgent issue.please help me
i have already send the screenshots to yur id also
guna -
dear all,
i still confuse for using scheduling in MRP run MD02,
what is the use of using both scheduling type "1" and type "2"?
because if i run the MRP using scheduling type 2, after i generate the planned order, then i can see the capacity planning evaluation,
but not if i run scheduling type 1
if i run the scheduling type 1, how can i analyze the capacity planning?
until now, i always run the scheduling type 2, because i think it is more useful to run scheduling type 2,
so what is the plus and the minus using scheduling type 1 or type 2?
best regards,
MARUFATHi,
In simple words:
The main difference between scheduling type 1 (Basic date scheduling) & Scheduling type 2 (Lead time scheduling & Capacity requirements) is from which records MRP reads the values.
Basic dates is more like a rough scheduling where the values are read from the material master & the exact operation times are not considered or capacity requirements generated.
Lead time scheduling is more precise meaning for each in-house produced material it reads the routing & checks the time maintained for each operation, it then calculates the exact times for each operation based on the working days, shift timings, breaks & also generates capacity requirements.
Now what is the criteria to select... it depends on the business requirement. But the data maintenance for Scheduling type 2 is higher as compared to Scheduling type 1.
What is the benefit for going for Scheduling type 2.... well it gives you a clear picture on your production planning process & how much capacity is required, whether you have the requisite capacity etc etc.
Basic date scheduling is preferred when you do not want such fine control on your production planning process.
For more info refer to SAP help, it should make it more clear.
Regards,
Vivek -
Purchase Requisition number (current number) not seen correctly in OMI2
Hi All,
I see purchase requisition number created for the last number in the number range defined for Purchase Req., but i do not see the last number in the "current number" area. What are the possible reason for this ?
Regards,
PSS
Edited by: PSS on May 26, 2011 7:47 PMPSS,
This is not usually considered to be a problem. Are you using number range buffering?
https://service.sap.com/sap/support/notes/141497
Best Regards,
DB49 -
Fetch Sales Order number VBELN from Purchase requisition number BANFN
Hi,
I'm not able to find a suitable method to fetch the sales order number(VBELN) from the purchase requisition number(BANFN).
I tried using VBEP table to fetch the data, but it is giving serious performance issues, as in for fetching one record it is taking approx 20 seconds!!!
Kindly suggest a suitable method for this.
I've used the query as folllows:
select single vbeln banfn
from vbep
into (wa_vbep-vbeln, wa_vbep-banfn)
where banfn eq wa_eban_zdd1_x-banfn.
where: wa_vbep is the workarea having two fields vbeln and banfn, and wa_eban_zdd1_x-banfn is the reference preq number.
Scenario in brief described below:
Whenever a direct delivery sales order is created on a supply chain plant, a dummy purchase requisition without source of supply is created automatically at preferred supplying plant for the customer in the sales order. Direct Delivery Sales Orders which are still in Open status and for the associated dummy purchase requisitions with these sales order, the deletion flag set has to be unchecked.
in this case, only one sales order is created corresponding to a preq..
BAPI: BAPI_PR_GETDETAIL is not giving entries for the table as this is a special case of direct delivery from the production plant directly to the customer, bypassing the warehouse / distribution center...
selection screen has input fields preq, matnr(product) and plant. we fetch entries depending on the data filled in selection screen and also they should be of document type(BSART in EBAN table) ZDD1 and deletion indicator is set(LOEKZ in EBAN).
then we check if the sales order corresponding to the preq is in open status...
for this i need to programmatically fetch the sales order number corresponding to the preq...
this is causing a performance issue as i could find only one way -- fetching sales order number from VBEP table corresponding to BANFN... indexing for easier also didnt work...
no other way i could find to fetch sales order number corresponding to the preq number....
there is a bapi: BAPI_PR_GETDETAIL, but this is not fetching entries to the changing tables related to sales order...
also EBKN table doesnt have any entries as this is a special case of direct delivery preq..
Guess i couldnt find anyother way...
Thanks.I'm not sure as to why the select query was still throwing performance issues. I could see that the index had been created on only BANFN in the DB. Prior to creating the index, it was taking approx 20 seconds per entry, but after creating the index, it took 13seconds approx.
I used the select query as follows:
select single vbeln banfn
from vbep
into (wa_vbep-vbeln, wa_vbep-banfn)
where banfn eq wa_eban_zdd1_x-banfn.
where: wa_vbep is the workarea having two fields vbeln and banfn, and wa_eban_zdd1_x-banfn is the reference preq number.
I tried a few other combinations also, but those also didnt work effectively:
select vbeln banfn
from vbep
into (wa_vbep-vbeln, wa_vbep-banfn)
where banfn eq wa_eban_zdd1_x-banfn.
without using SINGLE in the select query as the select query would implicitly pickup only a single record,
select vbeln banfn
from vbep
into wa_vbep
where banfn eq wa_eban_zdd1_x-banfn.
and another query where the INTO statement was directed directly to a workarea.
But unfortunately, nothing seemed to be working.
The index i had created was on BANFN alone in the VBEP table. -
How to add a new line item to a Purchase Requisition number
Hello All,
Can anyone please provide me with some FM or BAPI to add a new line item to an existing Purchase Requisition number.
Can it be done using BAPI_REQUISITION_CHANGE; if yes, then how do I pass the parameters into the BAPI tables..?
Useful pointers would be appreciated...!!
Thanks & Regards,
Tarun Gambhir@Gautham,
Thanks for the quick reply.
I want to update the table EBAN, so should I use the parameter table XEBAN to put in the new line item and then execute..
Also to fill up this table I need to pass certain value, so can I use BAPI_REQUISITON_GETDETAIL and pass the same details as found from the same BAPI and create a new line item...
Regards,
Tarun Gambhir -
Number of PO with Purchase requisition number not null
Hi Experts,
I need to number of PO with Purchase requisition number not null in ECC
T-CODE nse16n and table name =EKPO
But when I make EKPO-BANFN not equal NULL it doesnt work ? how can do that ?
I custom my data source 2LIS_02_SCL with EKET.BANFN I want to check my DS with ECC data .
Thanks and best regards
IlyaebiIF you need to check the number of PO's with Purchase requisition number not null then simply open the table EKPO in SE12, click on Contents and against the field BANFN right click on the empty box where you enter values and click on Options. From the pop up window selecte Not Equal to and check the Number of Entries in the table. You will get the desired result even though the volume of data might be large.
Regards,
Arminder -
BAPI_PO_CHANGE me22n add profit center for purchase requisition number
Hello all,
I have to add an item line for a specific sales order( p_vbeln ).
for that i use BAPI_SALESORDER_CHANGE and it works and the item is inserted.
( p_posnr = sales order item and ln_etnr = schedule_line = 1 )
Now I have to maintain the specific po item line and to insert the Profit Center related to the Purchase Requisition Number that was assigned to the above sales order item like using transaction ME22N.
when i use the transaction all i have to do is to ADD the Purchase requisition number to the PO Order Number and to add the PROFIT CENTER.
for this i use BAPI_PO_CHANGE.
i colect the folowing data:
from table VBFA( vbelv = sales order number vbeln = l_ebeln)
PO Number = p_ebeln.
from table VBEP ( vbeln = sales order number, posnr = the previously inserted sales order item )
Purchase Requisition Number = l_banfn
Purchase Requisition Item = l_bnfpo
from table VBAP (vbeln = sales order number, posnr = the previously inserted sales order item )
Profit Center = l_prctr
from table EKKN
select max( ebelp )
from ekkn
into l_ebelp
where ebeln = l_ebeln.
add 10 to l_ebelp
Purchase Order Item = l_ebelp .
and i move the data:
i_t_poitem-po_item = l_ebelp.
i_t_poitem-preq_no = l_banfn.
i_t_poitem-preq_item = l_bnfpo.
i_t_poitem-acctasscat = cc_x.
APPEND i_t_poitem.
i_t_poitemx-po_item = l_ebelp.
i_t_poitemx-po_itemx = cc_x.
i_t_poitemx-preq_no = cc_x.
i_t_poitemx-preq_item = cc_x.
i_t_poitemx-acctasscat = cc_x.
APPEND i_t_poitemx.
i_t_poaccount-po_item = l_ebelp.
i_t_poaccount-itm_number = p_posnr.
i_t_poaccount-SCHED_LINE = ln_etnr.
i_t_poaccount-profit_ctr = l_prctr.
APPEND i_t_poaccount.
i_t_poaccountx-po_item = l_ebelp.
i_t_poaccountx-profit_ctr = cc_x.
APPEND i_t_poaccountx.
then i use the function BAPI_PO_CHANGE:
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = p_ebeln
testrun = l_test
TABLES
return = i_t_return_po
poitem = i_t_poitem
poitemx = i_t_poitemx
poaccount = i_t_poaccount
poaccountx = i_t_poaccountx.
BUT i get the folowing result ( messages in return table)
Insert item for PO-order
Message: Changing of PO using Enjoy BAPI unsuccessful ;
Message: Purchase order item 00120 still contains faulty account assignments ;
Message: Enter Profit Center ;
what should i do?
best regards,
emiliahello,
i debugged the function.
first the data from poaccount is copied in lt_account.
then this happens:
PERFORM get_current_data
TABLES poitem poschedule poaccount
pocondheader pocond
extensionout
poexpimpitem allversions popartner
potextheader potextitem return
USING
l_po lf_header_currency
CHANGING
expheader exppoexpimpheader.
exppoexpimpheader = poexpimpheader. "foreign trade export workaround
after this form is executed poaccount-profit_ctr is empty.
lt_account-profit_ctr in not empty but then it is not anymore.
in the form this happens:
item data
CALL METHOD im_po->get_items
IMPORTING
ex_items = lt_items.
LOOP AT lt_items INTO an_item.
l_item ?= an_item-model.
CALL METHOD l_item->get_data
IMPORTING
ex_data = ls_mepoitem.
ls_mepoitem-ebeln = ls_header-ebeln.
APPEND ls_mepoitem TO lt_item.
schedules
accountings*
CALL METHOD l_item->get_po_accountings
IMPORTING
ex_accountings = lt_accountings.
LOOP AT lt_accountings INTO an_item.
l_accounting ?= an_item-model.
CALL METHOD l_accounting->get_data
IMPORTING
ex_data = ls_mepoaccounting.
ls_mepoaccounting-ebeln = ls_header-ebeln.
APPEND ls_mepoaccounting TO lt_account.
ENDLOOP.
item conditions
foreign trade (item data; EIPO)
ENDLOOP.
so it acctualy copies every item from purchase number ebeln in lt_item.
for each one of them it copies the account data into lt_account.
so the last loop is for the item that i want to enhance.
here it copies all the necessary data in lt_account except of course the profit center because that's the one that i need to insert.
after this loop there is a form:
PERFORM move_account_out TABLES lt_account
ext_poaccount
USING header_currency.
where the ext_poaccount is the poaccount parameter.
this form:
clears ext_poaccount.
copies the data from lt_account into ext_poaccount.
and returns the ext_poaccount with the empty Profit center field
and so after performing get_current_data my parameter is deleted.
then it's almost the end of the function and nothing else related to the poaccount parameter.
so it's no use for me to insert the field Profit_Center?
is there another FM that i should use to be able to insert the profit center?
what should i do?
Best regards,
Emilia -
Demerger Purchase order number range.
Hi Friends,
We have demerger of 1 of hte business of the company & new entity will be using same client which we are using.
We will be Creating new Purcharse orders with open amounts for new legal entities.
Here requirement for purchase order number range is as belows. How can we achieve this.
Our advice for number range is to use a prefix + old PO number, to ensure the incoming invoices can be easily assigned.
Thanks,
KiranHI,
You may define external number range as shown below, for example:
Assign the same as external number range for the PO Doc type:
While creating the PO, maintain the number range externally with the required prefix + old PO number.
Test the same and revert back.
Regards,
AKPT -
Restriction for purchase Requisition Number in ME21N
Hi All,
I want to raise an error message in ME21N, if the user creating PO without perchase rechase requisition number. For this i choosed one BADI.
Definition Name: ME_PROCESS_PO_CUST
Interface Name : IF_EX_ME_PROCESS_PO_CUST
i have implemented the BADI ZCHECK_PR
Method : IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM
I have written code like this in PROCESS_ITEM method
DATA: ls_mepoitem TYPE mepoitem,
ls_customer TYPE mepo_badi_exampl,
ls_tbsg TYPE tbsg.
INCLUDE mm_messages_mac. "useful macros for message handling
* here we check customers data
ls_mepoitem = im_item->get_data( ).
BREAK-POINT.
if ls_mepoitem-bstyp = 'ZV01'.
if ls_mepoitem-banfn is INITIAL.
message 'Enter Purchase Requisition Number' type 'E'.
endif.
endif.
Saved & Activated this.
But while testing this in ME21N, it is not at all going to debug mode( I have created PO for ZV01 order type only).
Is there any thing not finished for BADI?
Can any one help me.
Thank You.Vishnu,
Very strange, just try deactivating and deleting your implementation and create a fresh one in the same client where you are testing and assign it to a transport request and check.
Actually this BADI is already migrated to an Enhance spot in ECC 6 with same name 'ME_PROCESS_PO_CUST' but I still believe that SIMPLE badi implementation is still supported. OR Better do it with the latest way.
Create an enhancement implementation of Enh spot ME_PROCESS_PO_CUST in SE19 and then for that Enh implementation, create a BADI implementation and an implementing class. Code the required thing in the implementing class methods and then check if it works. It's actually almost same way as implementing a simple BADI. If you need any help, search Forums or get back here.
Pls note that Enh framework implementations are much faster than conventional BADIs and should always be used.
BR,
Diwakar -
Purchase Requisition number not changing when sales order item is rejected
Hi all,
I have a requirement to change the sales order status to 'TECO' when ever some reason for rejection is selected in the status tab at the item level.The status should change from 'TECO' when i remove the reason for rejection.
The status change is happening correctly.I have achieved it using user exit.
CASE 1 : Initially, when a new item is added in the Sales order the purchase requisition number appears in the schedule lines tab of the item level. This is as expected.
CASE 2 :When the same item is blocked (by entering a reason for rejection in status tab of VA02 ) then the purchase requisition number is not present in the schedule lines tab.This is as expected.
But i face the following issue.
CASE3 : Again if the blocked item is unblocked (By removing the reason for rejection in status tab of VA02 ) then the purchase requisition number does not appear again in the schedule lines tab.The purchase requisition number is expected to appear again.
This happens in case of DROP SHIPMENT scenario. I understand that in case of dropshipment scenario the purchase requisition number is triggered by item category and schedule lines only.
I tried to make the changes(to change the status ) in user exits 'MV45AFZZ' and also 'MV45AFZB'.But i face the issue in both the exits.Please let me know if there are any means to solve this issue(as mentioned in case 3).
Regards,
S.SubaMany thanks for your answer. It help me to solve the issue.
So applying note 738171, with transaction OVB5 (or VOFM, requirements->subsequent functions->Purch.requisitions) we create one new requirement, ie RV07A900, and then we apply the rule that if we have delivery or billing block, that is, VBAK-LIFSK or VBAK-FAKSK not empty, then we set an error with a code similar to this:
da_sy-msgid = 'Z1'. (message class)
da_sy-msgno = '001'. (message number)
error_exception = true.
and then the PR is not created.
Regards.
Maybe you are looking for
-
Itunes iphoto imovie all "quit unexpectedly"
Hi new MacBook Pro user so if any advice can be given in layman's terms please! Recently found that large number of applications inc itunes, iphoto & imovie have all started to receive the following message - xxxxxx Quits Unexpectedly I have copied t
-
Need Help using WRT54GL as Wireless Bridge for Xbox
Hi. I need help configuring my WRT54GL as a wireless bridge for my xbox. I have a Billion BiPAC 7404VGO currently in service as my main router/modem. i.e. I have my ADSL connection and PC connected to this. I also connect to this with a laptop. I hav
-
How can I jailbreak my iphone which I did update for it on ios 5
How can I jailbreak my iphone which I did update for it on ios 5
-
Lost 9100EM admin name and password
I stupidly lost my admin name and password on my Westell 9100EM. Is there any way to reset the password? I believe that the name is still 'admin". If not, how do I reset the 9100EM to factory defaults and does that change anything other than the c
-
When I opened Firefox, I found it automatically updating and trying to see if my add-ons could be updated. After I cancelled this because I didn't want this to happen, nothing is loading. It is not an internet connection issue because I am using Inte