Movement Type is very important in SAP MM module.Instead of talking about the detail configuration of movement type,I want to record some movement type we usually used in SAP.
There are three stock types in inventory management.
Unrestricted-use, in quality inspection and blocked.
MIGO,MB1C ,MB1B,MB1A are the tools we usually used .
Goods Receipt
Purchase Goods Receipt
101 ———Goods Receipt according to
501———-Goods Receipt without PO to unrestricted-use stock
503———-Goods Receipt without PO to stock in quality inspection
505———-Goods Receipt without PO to blocked stock
Read more…
Taxcode is a very important parameter in ME22N invoice tab.

It determines how to calculate the tax when you purchase something.It based on condition technique.

Tax code is copied from purchase info record as default.
The procedure is combined with tax procedure.
The code FTXP defines the tax code.
Read more…
Recently,I’m developing a srm system based on JAVA which has to integrate with SAP MM module.In the design of SRM,purchase order status is one of the most important element we should consider about.
In SAP,there is also data exists for purchase order status.We can view it through ME23N status tab.

or view it by list through ME2L

In Program MM06EFST method get_status_header,the system calculates
the data shown above and determines the icon display on ME23N status tab.
If you want to get the data in your own program just refer the function module ME_READ_HISTORY,this function module can help us get the quantity Ordered,Delivered, Still to delv,Invoiced.For more detail,please test
the function module.
If we consider about purchase order item history,we also can calculate the data based on material document related with purchase order,but it’s a little complicated.
Application Area – MM
Overview
In transaction MM03, we notice some fields like product hierarchy doesn’t appear in some material types and only be displayed in materials with type finished goods. This kind of behavior is archived by field selection.
In this section, you carry out the following activities:
- Define whether a field is hidden or displayed, or whether an entry is mandatory or optional in material master maintenance by assigning the field to a field selection group
- Create and maintain field references
- Define industry sectors and industry-sector-specific field selection
- Define plant-specific field selection and screen selection
Read more…
If you create a purchasing document, the system attempts to find a price for the material to be procured. The system always searches from “specific” to “general”. When you create a purchase order, the system searches for an info record for the vendor/material combination at purchasing information level/plant level. If there is no specific data for the purchasing organization/plant combination, it searches at purchasing organization level. If there is no data here either, you must enter the price manually.
Hint: In the purchase order, the valuation price from the material master record is not proposed as the purchase order price.

If a purchasing info record exists, then valid conditions have priority during price determination. If an info record does not contain any conditions or only contains invalid conditions, the system reads the number of the last purchasing document in the info record and then proposes the price from this document. The prices determined in this way are default values that can be changed by the buyer if necessary.
In the default values for buyers (Customizing), you can define how the system handles conditions from the last purchase order. To transfer conditions from the last purchase order, you can specify the following:
- The conditions are always copied
- The conditions are not copied if the price is entered manually
- The conditions are never copied
If using BAPI ‘BAPI_PO_CREATE1‘, import parameter ‘NO_PRICE_FROM_PO‘ can be set with value ‘X’. If the flag is set, no price is coming from last po. The po price is then adopted by manual input price.
Reservation can be created in two ways. One is through MD02 when running the MRP on an specific material, another way is to manually create the reservation using MB21.
The status of reservation varies in above two ways. If it is created using MD02, the status field(RESB-RSSTA) is ‘B‘, otherwise, the value is ‘M’ which stands for it is manually created reservation. If you change the auto created reservation in MD04, the status will be changed to ‘M’.
If after the ATP check, the confirmed quantity(RESB-VMENG) of reservation is larger than 0 and the status is ‘M’, this reservation will aways firmed in MD04. That is to say, the reservation will not be rescheduled by MRP logic.

The purpose of a reservation is to ensure that a material will be available when it is needed. It also serves to simplify and accelerate the goods issue process and prepare the tasks at the point of goods issue.It is also important that reservations are taken into account by Material Requirements Planning (MRP), which means that required materials are procured in time if they are out of stock.
Reservation can be created manually or it can be created by MRP logic. The field [RESB-RSSTA] indicate whether the reservation is created manually or automatically.
We can reate a new reservation using tcode MB21. After the reservation is created, we can see this reservation has been taken as an MRP element. Enter the tcode MD04:
Read more…