Showing posts with label Purchasing SAP MM. Show all posts
Showing posts with label Purchasing SAP MM. Show all posts

Sunday, January 18, 2009

About the Source List Determination

When we create info & Maintain Quotation, by quota we are determining the source. Also in Vendor Evaluation, we are evaluationg vendor. When we are creating PO, from where the vendor will come from? Is it from Quota or Vendor Evaluation?

You define source list requirements at plant level. If a source list requirement exists, you must maintain the source list for each material before you can order it.

The source list serves:

To define a source of supply as "fixed". Such sources count as preferred sources over a certain period of time. For example, the fixed vendor XXXX for material 100XX is ASA Company for the first quarter and BSB Co. for the second quarter of the year.

Select the plants for which you wish to specify a source list requirement

You use the source list to determine the valid source of supply at a certain point in time.
The source list contains all the sources of supply defined for a material and the periods during which procurement from these sources is possible

Following T/Code activities in Material Management module.

Maintain source list - ME01
Display source list - ME03
Display changes to source list - ME04
Analyze source list - ME06
Reorganize source list - ME07
Generate source list - ME05
Display source list for material- ME0M

you make the system settings that are necessary for purchasing operations carried out using source lists.

Source list requirement for materials, It may be necessary to include possible vendors of a material in the source list before the material can be ordered.

The Source list requirement field in the purchasing data of the material master record indicates whether a source list requirement exists for a material.

You can define the Source list requirement at plant level in IMG. Logistics -->Materials management --> Purchasing --> Source list.

Here you can see the plants for which a source list requirement exists.

What are the Types of Inforecords?

You can create purchasing info records for different procurement types as follows:

Standard, Subcontracting, Pipeline, Consignment You use this component if you wish to store information on a vendor and a material as master data at purchasing organization or plant level.

Standard
-------------
A standard info record contains information for standard purchase orders.
The info records can be created for materials and services with and without master records.

Subcontracting
-------------------
A subcontractor info record contains ordering information for subcontract orders.
For example, if you subcontract the assembly of a component, the subcontractor info record would include the vendor's
(subcontractor's) price for assembling the component.

Pipeline
-------------
A pipeline info record contains information on a vendor's commodity that is supplied through a pipeline or pipes
(oil or water) or by similar means (electricity through the mains).
The info record contains the vendor's price for the consumption of such commodities by the buyer
("pipeline withdrawals"). You can store withdrawal/usage prices for different validity periods.

Consignment
-----------------
A consignment info record contains information on a material that vendors keep available at their own cost on the orderer's premises.
The info record contains the vendor's price for withdrawals by the orderer from consignment stock.
As in the case of the pipeline info record, you can store prices for different validity periods.

SAP Alternatinve Release code for PR or PO

I have release strategy for PR and PO, suppose there is 3 levels of Release, at second level I want to set an alternative Release code, if either of the employee releases then it should go to third release.
How to configure for PO (with classifications) and PR (without classifications).

Sharief

To my knowledge you cannot assign two release code for a release level. But you can achieve your requirement that either of the employee releaseas and it goes to third level.
1. In OMGS, under workflow, hope you have assigned S for object and position ID in Agent ID, if not let me
know your assignments

2. In PPOMA, you can assign both employees under the same position.

3. Both employees have authorization to release at this release code.

4. Workflow automatically completes the release and moves to next level if either of the employee releases it.

TC Venkatesan

Workflow is not implemented in our organization. Is there any alternative?

Sharief

In this case, I am assuming employees use ME28 or so directly to release.

As long as any employee has authorization to that release code, they can release using the release code in ME28 or so, right?

Can you explain more about the procedure they try to release?

TC Venkatesan

We are using ME28 to release the POs. But I am trying to minimise the release codes, if there is any possibility let me know.

Sharief

I will set out an example below:-
If the release group is G1 and release code is 03 for the level you wish to add alternative releases to then simply get the user who is in control of authorisations in your organisation to add G1 and 03 to user 1 and the same to user 2.

This will alow any one of them to release, without workflow. If you want this can also be set for a validity period in authorisations. Sometimes if a user is away from work and he is the only one to release, then an alternative user may be assigned these codes for a validity period (during the absence of the other user). The system will automatically invalidate him when it reaches the set date.

SAP Procedure to Define Both Currency USD and EURO

I am new to SAP MM. Pls help me. I have one question regarding vendor in purchasing.
We are purchasing export item, export item currency is USD. Some time same vendor send item with different currency like EURO. I'm facing problem when we pay to vendor.
In my Vendor Master Currency is defined as USD. I can pay in USD.
If I want to pay in EURO, again I have to go vendor master and change USD to Euro vice versa.
Everytime I am changing.
Is there any procedure to define both currency USD and EURO.
According to situation I can select currency.
My local currency is different i.e SAR (Saudi Riyal).

This is a common problem in almost all factories in our group. To simply the matters let me explain the method we use with some numbers.

1) Lets say we raise a PO as follows:
2 items @ $10 = $ 20

2) GRN is raised as per PO

3) Invoice comes from the vendor as
2 items @ Euro 0.80 = Euro 1.60

4) What we do is that we check with our purchasing people whether the Euro to $ convertion from the supplier is beneficial to us, if not it is within our tolerance levels.
Then we process the payment for $ but mention the correct EURO amount in narration. Bank instructions goes for EURO and there will be a Exchange diff entry to the bank rec at the month end.

5) As far as I know you can't maintain multi currency in the vendor master.

6) Another effective method we are adopting is to have two vendor accounts for different currencies.

SAP Language Error when creating Purchase Order

This happens when the language in Material Master (MM02 - Purchase Order Text) and Vendor Master (XD02 - Address - Communication - Language) does not matched.

In the Purchase Order, you can see the language in PO Header - Communications data - Language.

If the Purchase Order have been saved before you change the Vendor Master Language, the PO need to be closed as the language in the PO Header cannot be changed.

This is the SAP Language Error that will appear when creating PO with language mis-matched:

No short text maintained in language CS (please re-maintain material ABCDEFGHIJK)
Message no. ME 095

Diagnosis
No material short text (short description) has been maintained in language CS.

System Response
No short text can be adopted from the material master record.

Procedure
If a material is to be procured from a vendor in a different language, the material short text must first be maintained in this language.

Maintain the short texts in the material master record in those languages in which procurement is normally carried out. In this case, you should at least maintain the short text in language CS.

SAP Handling differences in Purchase Order, Goods Receipts and Vendor Invoice Prices

What is the procedure to adopt in case of the following situations when they arise? (FOR SAP 4.6C version)

First situation
1)
a) PO LINE ITEM NET PRICE = US$100

b) The item is goods receipted with a price of US$110. Assume the difference of US$10 is because of tax caluculated by the system (for example)

c) Vendors sends an Invoice for this item at the price of US$85 (US$80 PO line item price + US$5 tax).

So in this case, the Invoice price is lower than the PO net price which is US$100.
So for this type of situation what is the procedure to adopt to post the invoice in the system.
Is it that the first the goods receipt needs to be reversed and then change or update the PO line item net price with US$80(for example) and then do the goods receipts and then do the invoice receipt?

If this procedure is correct and what happens if vendors invoice price is lower than the origianl PO line item net price (as described in this case), whether the system blocks the invoice in this case or not?

Or is it that the goods receipt need not be reversed and just post the invoice with the new price and change the PO price with the new vendor invocied price?

When is that the price in the info record needs to be changed?

Second situation
2) What is the procedure to adopt when the vendor's invoice price is greater than PO line item price?

Basically, I am just looking for the correct procedures to adopt in both of these cases like in what sequences,(like what is the first step and what is the second step) with what steps to follow.

What to do procedurally - how to post an invoice with differing value than PO and/or GR and what to do if an invoice blocks, etc in both the cases like when the vendor invoice price is less than the PO price (line item net price plus tax) and one more, I need to know is in this case will the invoice gets blocked upon invoice posting when the vendor price is low.

Similarly in the second case what to do procedurally when the invoice price is more than the PO price (Line item net price +tax)?

Whatever tolerances you have set for over or under invoice will determine if any blocks occur (this covers both your first and second examples). (Transaction code: OMR6)

When the clerk enters the invoice the system will note that the invoice is going to block but will not stop it from being posted. (Transaction: MIRO)

Procedurally, the buyer checks blocked invoices and resolves the block be either:

1. Changing the PO price to match the invoice and then the invoice should unblock (either automatically if you have it set up that way, or the buyer can release the block) or

2. Buyer can dump the block without changing the PO price (info record price history is not updated in this case because PO price wasn't changed).

In either case, if you have your materials being valuated at GR and then at IR, the invoice will revalue the material so there is not really a need to reverse the GR to change the PO price and then reenter the GR.

The transaction code for viewing blocked invoices (and releasing them) is MRBR.

SAP Steps for MM Pricing Procedures

Can anyone please help me on the Pricing Procedures?
I have read it many times but fail to understand.

Pricing Procedure :

In MM module, pricing procedure is used during RFQ and PO creation. Total value of material based on all addition and subtraction like discount, surcharge, tax, freight, etc. In this we are defining pricing procedure and linking to vendor and purchase department through the virtual schemas.

Following steps for pricing procedure as,
1. Define conditions.
2. Define pricing procedure.
3. Define virtual purchase organization and vendor.
4. Info Record.

Customization for Pricing Procedure :
1. Definition of Conditions :
/NMEK0---condition type…condition types--- definition (define for basic price, net price, discount, surcharge, tax etc.)

2. Defining pricing procedure :
/NMEK0--- calculation schema---calculation schemas—New entries (Define procedure and put the conditions like formula so that final price will be net price / total value as per company requirement)

3. Linking pricing procedure to independent condition types.
/NMEK0---condition type…condition types--- definition for position for defined conditions (Enter the defined pricing procedure in the each independent conditions “Pricing Procedure” box)

4. Defining Schema group for Vendor :
/NMEK0--- calculation schema---schema groups—vendor—New Entries.

5. Defining Schema group for Purchase Organization--- New entries.
/NMEK0--- calculation schema--- schema groups---- purchasing organization--- new entries.

6. Linking Virtual Purchase Organization to actual Purchase Organization.
/NMEK0--- calculation schema--- schema groups----- Assign P.Org. (in actual P.Org, enter virtual P.Org)

7. Linking Pricing procedure to virtual P.Org and virtual vendor :
/NMEK0--- calculation schema--- Determine Schema--- -Standard --- New entries (Enter virtual schema and P.Org. along with pricing procedure)

8. Linking virtual vendor to actual vendor-- /NXK02 then enter schema group vendor in Purchasing Data )

9. Info Records (/NME11)---- click on “Purch. Org. data1” and enter condition types and pricing procedure

Anand

What are the steps in pricing determination in MM? Condition, Access sequence and schema.

In the SAP MM Pricing is more important. Just yesterday I have completed the Pricing as I am doing the SAPMM now. I can give some light on this Topic, not 100%. After 2 days definitely some more I can share.

The Basic thing is Condition Technique. In which there are
1. Access Sequence 2. Condition Record 3. Condition Type 4. Condition Table.

A Access Sequence access a Condition Record of a Condition Type in a Condition Table is a Condition Technique.This is a simple logic

Here the Condition Type is very important like PB00, PBXX,RA01 etc.

In the background every Condition Type has its own defition means the purpose of the Condition Type like, is it for Pricing or Percentage, Quntity base, Accrual Feilds etc is to be defined to work this functions.

Normally we use the existing ones without any risk. But some cases, we have to Create a New Condition Types as per the organisation requirement.

The Pricing Schema is useful to minimise condition types while mention prices for Vendor on the basis of Pricing Schema which we defined according to organisation requirement.

The Pricing Schema means the calculations procedure of Condition Type.

Ex. RA01 - Discoount % is caclulated on PB00 - Gross Price means
RA01 is based on PB00 like that we have to define in the Pricing Schema
which makes easy to use in realtime.
Here PB00 has the Access Sequence - 0002.
But RA01 does not have the Access Sequence.Why because it is a dependent on PB00. But both are Condition Types.

In the system, by default some standard Scheme will be there at Vendor Schema Group in the Vendor Master Screen means the standard one is assigned which is very lengthy which may fullfil our requirement. But some cases which may not fullfil our requirement, in such we have to define.

For the configuration, I may not able to explain properly through here but will give some Idea.

Configuration: SPRO-IMG-Material Management- Purchasing- Conditions-Define Price Deternmination Process
1. Define Access Sequence
2. Define Condition Type
3. Defince Calculation Schema:- Here you have to define the Schema
Define Schema group
1. Define Schema Group vendor
2. Define Pricing Schema group
3. Schema group for Purchase Organisation
4. Assign Schema group to Purchase Organisation

Define Schema determination
1.define calculation schema for Standard purchase organisation

After completion of the Schema Group, we have to assign it to Vendors.
Then whenever we use any transaction with this Vendor, the concerned Schema will work as configured by us.

I think this will help you. Actually the Pricing is a vast. Becuase each Condition have its own importance and each Access Sequence have its own importance. So you need not bother about this. First you learn how to define the Calculation Schema through the above.

Here we can create many Calculation Schemas which can assign one schema to Local vendors
another schema to out side vendor one more schema to foreign vendors like that we can classify.

Definitely it will help you something. Because I have to do R & D on this Topic. Due to lack of time I am not able to do the Practice Properly as I am doing non-related SAPMM job.

SAP Goods Receipts for PO does not contain any items

When you try to post a GR against any PO it says that the PO does not contain any items.
But when you display the PO it shows the items in it.

There have been several reasons which can be attributable to this problem -

1) This PO is subject to release strategy and since the final release was not made, this PO is considered as 'blocked'.

2) You have been using the confirmation control category where in respect of the last confirmation category key, the GR assignment checkbox is flagged. In this particular case, GR is only be posted if the confirmation is not maintained.

3) Early delivery date ie. the GR date is coming earlier than the PO delivery date.

One other nasty thing might have happened (mostly in MIGO):

You have accidently changed your default movement type from 101 to 102 during your last movement.
You will experienced this in some cases before installing hotpackage which shows the movement type on the MIGO screen.

SAP MM Purchase Order Account Assignment For Service Items

Can someone please explain on how the account assignment is done for service items which are "texts" unlike materials?

The concept of account assignment remains same whether for materials with Mat. No. Or only text.

If you are purchasing a particular service for a cost center. then you can assign the PO item to Cost Center & so on.....

Use the following Customizing Path:

Material Management
-> Purchasing
-> Material Master
-> Entry Aids For Items Without a Material Master.

Create the Material Groups and the Valuation Classes you are going to assign to the 'text services'. In the moment of a Purchase order, put the text services and assign them the material groups which you created for them. In that moment, the account assignment that you customized will appear into the purchase order.

How to make systematic service purchase order?

1. First you need to create a PO with Item category as 'D' -- T Code: ME21N

2. You need to create the Service Master Record T Code: AC03

3. In the PO, Services tab, you need to mention the Services you are expecting from the vendor, quantity, price.

4. Need to mention the Validity start and end period in the PO Header.

5. Once after accepting ther services from the vendor, based on the Vendor invoice you need to enter the service entry sheet aganist the PO. T code: ML81N

6. Invoice Verification based on the PO. (this will pick information from the Service entry sheet)

7. Payment Processing

SAP MM Purchase Order Fields Relevant to Printouts of Changes

You can define whether and in which purchasing documents a field is relevant to printouts of changes or which texts are included in change notices.

The text output can be controlled via a text number (direct assignment) or a routine (indirect assignment).

This is done in transaction SM30 - T166C

Text number define in transaction OMF6

If you wish to define further fields as relevant to change notices, you must carry out the following activities:

1. Enter the table and field names

2. Select the document categories for which the field is to be relevant to change notices.

3. Assign a text number or routine

If you have specified your own routine, you can evaluate it in the user exit
EXIT_SAPLMEDRUCK_001.

No output on PO changes

----Original Message-----
Subject: No output on PO changes
From: Norman Chan

Hi,

Anyone can advise how to make no output after changing PO. On SAP standard, whenever we change the PO, the change output will be created. However, we don't need that changes output, and we cannot find out how to customize it in IMG. Any suggestion? Thanks.

Thanks.

-----Reply Message-----
Subject: Re: No output on PO changes - Reply
From: Norman Chan

Yes, but the consequent problem is the system will give you the warning message that there is message come out ' No message record could be found for output of message.' The condition table is 'order type/purchasing org.'.

Thanks.

Norman

-----Reply Message-----
Subject: No output on PO changes - Reply
From: Ron Greenfield

Transaction OMQN, "Fine-Tuned Message Control, Purchasing". Delete the entry for operation "2" (Change) for your purchase order condition type.

rsg

-----End of Reply Message-----

Tuesday, January 13, 2009

Type of Changes Generally After Release of PO

What is an Amendment in PO and how it is done?

What type of changes generally comes after release of a PO?

Once a purchase order is released, the vendor is required to execute the order as per terms of order as defined in it.

However at times it is seen that there could be changes which might have taken place after the PO was released. This could be both from from Vendor side as well as the buyer side. Some typical changes could be :

Buyer side :

1. The qty ordered need to be increased.
2. The buyer need the material earlier than the delivery date specified.
3. The payment term need changes as buyer is not able to provide certain documents.
4. Buyer would like to add some more conditions.
5. The description need some additional information etc.

Vendor side :

1. The price no more valid as the order was released after the quotation validity expired.
2. The vendor is facing shortage of raw material and he wants the delivery schedule to be changed.
3. Vendor is offering some alternate materials or different make.
4. The payment term is no more acceptable as the prices have been revised. etc, etc...

In all such cases fresh communications are exchanged between the two parties and changes are made as per mutually agreed terms. In SAP the changes like qty, price, delivery date, payment term, pricing conditions etc can be tracked as changes in the document.

SAP does not have PO amendment but some companies are developing different layout for their orders based on above changes.

Steps to take in order to force-close PO

There are two ways to force close a PO:

1. You can set Delivery Completed Indicator in Purchase Order or at time of doing goods receipt. That simply means you cannot do further GR for that item. You can still process Open Invoices .

2. You can block material at purchase order level which means, you will not be able to do any GR , Invoice against that specific item in PO.

The recommended is the first option though.

Second option is used in case of : -

1. to cancel an item
2. An item is closed and can be archived

SAP Get Last PO Price / Default PR Price

Prompt the last Purchase Order Price for the Material

If you want the system to take the price from the last Purchase Order, then do not maintain the conditions in the info record because it has precedence over the last PO. This means that the netprice field in the info record should be left blank.

In the case when you have already maintained the conditions in the info record (or netprice), try to delete them or make them invalid by changing the validity date.

Even though no price was maintained, the info record will still keep track of the Order price history.

To check the Order price history, go into the material info record and click Environment -> Order price history

Problem printing your Purchase Order

If you got this printing log message :-

No print-relevant changes to document 9912345678 exist

Message no. ME 140

Execute this program RSNAST0F in SA38 to do the printing.

Object key : Your Purchase Order Number

Output type : NEU

Transmission medium : 1

Output application : EF

SAP - What is Purchasing Value Key

What is the function of PURCHASING VALUVE KEY in PURCHASE ORDER?

Purchasing Value Key is useful for setting reminder for the material you can find in material master in Purchasing view.

Purchasing value key determines the following things:

1) Reminders keys- There are 3 keys which determine in how many days before or after the vendor has to be reminded or urging letters for the material procurement.

2) Over and under deliveries tolerances.

3) Order acknowlegdement requirements in PO.

It gives all the conditons in which the procurement is made. You can have different purchasing value keys which has to be customized in IMG - MM - Purchasing - MM - Define Purchasing Value Keys.

To make it much more clear, Purchasing value key decides the following fields:

Control Sender Address when Sending PO

PO by e-mail: how to control sender address
My PO's are now being send by e-mail. Unfortuntely, it seems impossible to control the sender of the e-mail; When the timing is on '4', the sender will be the employee who did the final release, when on '1', the sender will be the user who schedules the RSNASTOO job. I want the user who created the PO to be the sender of the PO.

The following may help you solve your problem.

I am using the following in my PO Sapscript

/: DEFINE &W_USER_EMAIL& = ' '
/: PERFORM GET_USER_EMAIL IN PROGRAM ZVENDOR_FAX_EMAIL
/: USING &EKKO-ERNAM&
/: CHANGING &W_USER_EMAIL&
/: ENDPERFORM
= ,,,, &'Created by: 'W_USER_EMAIL&

and the following in PROGRAM ZVENDOR_FAX_EMAIL

FORM GET_USER_EMAIL TABLES IN_TAB STRUCTURE ITCSY
out_tab structure itcsy.

data: L_user like USR21-BNAME.
data: L_persno like usr21-persnumber.
data: L_user_email like ADR6-SMTP_ADDR.

* gets User name
READ TABLE IN_TAB WITH KEY 'EKKO-ERNAM'.
IF SY-SUBRC EQ 0.
CLEAR: L_USER, L_USER_EMAIL, L_persno.
L_user = IN_TAB-value.

* read user master
Select single PERSNUMBER from usr21 into L_persno
where bname EQ L_user.
*e-mail found
if sy-subrc eq 0 and L_persno ne space.
select smtp_addr from adr6 into L_user_email
up to 1 rows
where persnumber eq L_persno
and date_from le sy-datum.
endselect.
if sy-subrc eq 0 and L_user_email ne space.

read table out_tab with key 'W_USER_EMAIL'.
if sy-subrc eq 0.
move L_user_email to out_tab-value.
modify out_tab index sy-tabix.
endif.
endif.
endif.
endif.
endform. "GET_USER_EMAIL

External Send - Sending PO by email

In order to send PO, your Basis team must configure the system first so that external email can be send out from SAP. If it is not configured, no settings you do on MM will work.

1. You must maintain email address in vendor master data.

2. The same applies to your user master data. For the output type for default values, a communication strategy needs
to be maintained in the Customizing that supports the e-mail. You can find the definition of the communication strategy in the
Customizing via the following path:

(SPRO -> IMG -> SAP Web Application Server -> Basic Services -> Message Control -> Define Communication Strategy).

As a default, communication strategy CS01 is delivered. This already contains the necessary entry for the external communication. Bear in mind that without a suitable communication strategy it is not possible to communicate with a partner via Medium 5 (external sending).

3. Use the standard SAP environment (program 'SAPFM06P', FORM routine 'ENTRY_NEU' and form 'MEDRUCK') as the processing routines.

4. In the condition records for the output type (for example, Transaction MN04), use medium '5' (External send).

5. You can use Transaction SCOT to trigger the output manually. The prerequisite for a correct sending is that the node is set correctly. This is not described here, but it must have already been carried out.

6. To be able to display, for example, the e-mail in Outlook, enter PDF as the format in the node.

GR-Non Valuated Indicator for SAP Purchasing

If this indicator is ticked in the Purchase Order, then no financial posting is made at the time of posting a Goods
Receipt.

The only posting would occur on Invoice Receipt.

It is commonly used for purchasing of fixed assets, because in most countries you do not post
the acquisition until you have the legal back-up in the form of the supplier's invoice.

Also, it is not desirable to post an estimated value (based on the GR) plus a correction
(based on the IR).

Whether should you used non-valuated Goods Receipts or not would certainly depends on your
company's financial policies.

Restrict GR before Delivery Date

I want to restrict that vendor supplies goods before the delivery date written on PO .i.e. system should give some error if goods are supplied before the scheduled delivery date mentioned in PO.

One way is to check data at your MIGO entry, is through SAP enhancments (Tcode : cmod).
I have implemented numerous checks for my end users (posting dates, movement types vs material types, mandatory fields under specific conditions, posting date deviation from today, total consumption per order etc).

Try enhancment MBCF0002 and component EXIT_SAPMM07M_001.

Through tcode SMOD you can find the available enhancments and function modules, go through the documentation and choose one. For MM inventory management the package is MB.

My system (4.7) returns the following list:

Exit name Short text
MB_CF001 Customer Function Exit in the Case of Updating a Mat. D
MBCF0002 Customer function exit: Segment text in material doc. i
MBCF0005 Material document item for goods receipt/issue slip
MBCF0006 Customer function for WBS element
MBCF0007 Customer function exit: Updating a reservation
MBCF0009 Filling the storage location field
MBCF0010 Customer exit: Create reservation BAPI_RESERVATION_CREA
MBCF0011 Read from RESB and RKPF for print list in MB26

With tcode CMOD create a project "Zxxx" and insert the choosen enhancement. Automatically its components will be added to your project.

Press the "Compoents" button and double click the function exit that you will change.

Now you should be looking at the source code of the function (abap editor). Take a look of the available internal tables that are imported.

Double click on the include ZX....... which does not exist and it will be created by you.

Add the source code needed to cover your validations.

Save and activate your project

Execute MIGO and check your enhancement.

Note: one problem I still haven't solved. I can use only ERROR messages not WARNINGS.

Archive