Saturday, 11 June 2016

Physical Inventory

Entering the Counting Results

In the following topic, I will show you how you can enter the counting results in the physical inventory document.
The process is fairly easy, but it needs to be accurately executed because the error in entering the counting results in poor stock balances later. So, there is high need that the counting process as well as entering process both be accurate.
Step 1)
  1. Execute the transaction code MI04.
  2. Enter physical document number and fiscal year.
  3. Enter the counting date if it differs from the one suggested.
  4. Enter the variance percentage. This means that if you had 100 pcs on stock before the physical inventory process, and you enter 107 pieces as a counting result, you will be informed with a warning message of the difference between the previous stock quantity and the counted quantity.
    Press ENTER.
Step 2)
  1. Enter the quantity that is counted for this material.
  2. Press ENTER.
You will be informed that there is a quantity difference of 20 pcs, if you haven't made a mistake while entering the quantity, you can bypass the warning by pressing ENTER. If you made a mistake while entering the quantity, you can correct the entry (124 pcs in my case) and hit ENTER again.
If you get the warning message, and you think that there might be a mistake in the counting process, you can recount the item again and correct the results (check out MI05 transaction code, and MI11 if needed).
After I have corrected my entry to 124 pcs, I will save the transaction data.

Posting the Differences

After you have possibly recounted and reentered quantity information for problematic materials, you can post the differences by using the transaction MI07.
Step 1)
  1. Execute the transaction MI07.
  2. Enter your physical inventory and fiscal year.
  3. Enter posting date. Goods posting will be done according to this date. Some companies use 31.12. In the annual physical inventory as the last day of fiscal year.
  4. You can use the threshold value to enter the maximum allowed differences value in local currency. If you don't want a limit leave this field blank. In order for this to work, materials need to have the standard or variable price maintained.
  5. Press ENTER.
Step 2)
  1. You can see the difference quantity. This means that we have found 4 pieces more than it was previously stated in the system.
  2. Value isn't shown as our controlling/accounting department didn't yet release the prices for this material.This needs to be done in a production environment. You cannot post a difference of 4 pieces with the respective value of 0,00 Eur.
We can see that our posting is done by creating the resulting material document 4900547510.
Step 3)
Optional.
We can check the material document in MB03.
  1. We can see a quantity of 4 pcs in the material document.
  2. Movement type used for goods receipt from physical inventory difference posting is 701.
This means that 4 pieces are added to the inventory.
For a reference of standard movement types, used for physical inventory, see the below table.
  • 701 – Goods Receipt for unrestricted stock
  • 702 – Goods Issue for unrestricted stock
  • 703 – Goods Receipt for quality inspection stock
  • 704 – Goods Issue for quality inspection stock
  • 707 – Goods Receipt for blocked stock
  • 708 – Goods Issue for blocked stock
You are done with physical inventory. You can now continue with regular warehouse activities.

Wednesday, 8 June 2016

Transfer Posting Of Goods

Transferring a quantity from one storage location to another can be accomplished by either using MIGO transaction or MB1B.
I will demonstrate the transfer posting process using MB1B as you have already seen MIGO in action.
Step 1)
  1. Execute the transaction MB1B.
  2. Enter movement type (311), source Plant and Storage location. HitENTER.
Step 2)Enter receiving storage location,
  1. material number,
  2. quantity,
  3. unit of measure.
Save the document and the transfer posting will be completed.
The material document number is assigned.
If you need to cancel this posting, you can use either MBST or MIGO transaction.

Tuesday, 7 June 2016

How To Issue Goods


Another important process in inventory management is goods issue posting. Reservations are considered a specific process on their own, but essentially reservation use a goods issue logic. When we created a material document for reservations, we have issued goods from warehouse to the cost center, production order etc.
Now, we can talk about other goods issuing processes. The most important of all is for outbound delivery. The process works as follows -
  1. We have an inbound delivery for our material 10599999 incoming from sales department.
  2. After the goods are loaded in the truck we should do a goods issue posting for the delivery.
  3. We are sent the delivery number 80072673 created for out material 10599999 and we need to process the delivery in inventory management by posting the goods issue.
It is done in sales transaction VL02N mostly used by the MM users in logistics. Departments that use this transaction can vary depending on the organizational structure in the company.
Step 1)
  1. Open VL02N transaction.
  2. Enter the delivery number you need to process.Hit ENTER.
Step 2)
  1. Enter the Plant and Storage Location.
  2. Enter picked quantity. If full quantity has been picked and loaded, enter 20 PCS but if for some reason loaded quantity is 12 PCS (e.g. truck already full) you will enter 12 in Deliv. Qty field and in the Picked Qty fields.
  3. Post Goods Issue.
You are done
If for some reason you need to reverse/cancel goods issue for outbound delivery, you can use the transaction VL09.
  1. Execute transaction VL09.
  2. Enter the appropriate delivery number.
  3. Press the execute button.As you can see, you can use this function for inbound deliveries too.
Step 2)
  1. Select the line with the delivery you want to process.
Confirm if asked. If you get the message that the goods issue is reversed successfully, you are done.
If not, there's a problem in the processing which has to be identified by superuser or consultant.
Other types of processes where posting a goods issue is needed
You can see the MIGO transaction for reference to more options for posting a goods issue.
Choose A07 - goods issue, and in the next drop-down menu you will find several options. To give you a little "homework", you can explore the options by yourself, here's just a short look on them.
  • R02 - Material Document (post goods issue for a material document)
  • R08 - Order (post goods issue for a production order)
  • R10 - Other (without the reference document)
  • R01 - Purchase Order (PGI for a purchase order)
  • R09 - Reservation (PGI for reservation – I have demonstrated this process by using MB1C transaction)

Monday, 6 June 2016

How To Cancel Goods Receipt

After you have posted the goods receipt in MIGO, you can check stock levels in MMBE transaction code.
  1. Execute the transaction.
  2. For the requested material you will be shown stock levels for plants, storage locations and stock types (unrestricted, quality, blocked).
  3. In the Quality inspection column, you can see that our material is posted there 2 PAL = 24 PCS.We also have unrestricted stock from some of the previous receipts.
Let's say that we have made a mistake, we wanted in this special case, our material to be posted directly to unrestricted stock. Therefore, we need to cancel the posting to reverse the process and do it again properly.
We can use MIGO transaction to cancel a posting.
Step 1)
Choose A03 CancellationR02 Material document, enter the material document that has been created after posting the goods receipt from purchase order. Execute.
Step 2)
  1. Check the indicator that item is OK.
  2. Post.
Step 3)
Check in MMBE if our goods receipt cancellation is in effect. As you can see, the quality inspection column is empty. It means that we have successfully reversed/cancelled our goods receipt posting.
It also means that we can use the purchase order number in MIGO to post the goods receipt again, this time with the correct settings.

Friday, 3 June 2016

Overview of Inventory Management

Inventory management is used to manage the inventory for the goods. It is based on several key processes. Definition of movement types, reservations, goods issue and goods receipt.
We have already done basic goods receipt process in the purchase order topic, referencing it to a PO.
There are a number of functions and transactions used in the Inventory management processes, and we will cover the most important in this tutorial.

Movement types

Movement types are used as indicators of what is the purpose of the goods movement (e.g. from storage location to a storage location, receipt from purchase order, issue for the delivery, receipt from production).
Movement types have its predefined settings in standard SAP system, and they can be customized according to your needs.
Also, you could use the same movement type for different processes if you use movement indicators properly. For example, movement type 101 with movement indicator B is used for goods receipt from purchase order. The same movement type 101 with movement indicator F is used for production order goods receipt.
You can see on the next screen how the movement type maintenance screen looks.
Huge number of options are available to set up the movement type properly, and it's access by the OMJJ transaction code.
  1. Execute OMJJ transaction, and on the initial screen choose Movement type, on the next screen enter the movement type range you wish to edit.You will be presented a screen that looks like the next screen.
  2. You can see a dialog structure on the left. These options are used for setting up our movement types according to our needs.
  3. When you select any of the options the details screen on the right is updated with settings for that node.
This is not in a scope of this tutorial, as configuring the movement type requires extremely deep knowledge of the processes in MM module (inventory management component).
You just need to understand for now what does the movement type, and movement indicator represent.
Feel free to take a tour around the OMJJ transaction to get a bit more insight on the actual setting that can be made on movement type, and movement type/movement indicator level.
To summarize the lesson, movement types are used for distinction how the goods will be moved in our inventory.
For example,
  • We will set up our movement type 101 to be used for goods receipt.
  • Movement type 311 to be used for stock transfer from one storage location to another in one step.
  • Movement type 601 for goods issue for outbound delivery..
Another thing to know is that every movement type needs to have a reversal movement type defined (if we need to cancel 311 we have to define 312 as a reversal movement type, 101 => 102601 => 602).Material document Material document is a document in SAP that contains information on processing of goods movements (receipt, issue, transfer).
When you create a material document you are actually moving stock quantity in a certain way as defined by movement type.
If movement type 311 is stated in the material document, material will be transferred from one location to another (transfer process). If it's 101, material document will not have a source storage location but will have a destination (receipt process). If it's movement type 601, material document will only have source storage location but will not have a destination (issue process).

Tuesday, 31 May 2016

Define Schema Determination

Determination of calculation schema is a customizing activity.
You have to assign a pricing procedure to a schema group purchasing organization / schema group vendor combination.
Settings are located in Define schema determination option.
Step 1)
Choose Determination Calculation schema for Standard Purchase Orders.
Step 2)
  • Choose schema group for purchasing organization.
  • Choose schema group for vendor.
  • Choose calculation schema to be assigned to the purch.org/vendor schema group combination.
Let's analyze two records on this screen.
  1. In case 1, we have chosen default schema group for purchasing organization (first field is empty), also, default schema group for vendor (second field is empty), for this combination of both default schema groups, we assigned a RM0000 (Purchasing document - Big) calculation schema.
  2. In case 2, we have chosen schema group for purchasing organization as 0001, and schema group for vendor as 01, and assigned an RM1000 calculation schema to the combination.
How does it work?
Let's say that we have a purchase organization 0001 with blank (default) schema group assigned to it, and a purchase organization 0002 with schema group 0001 assigned to it (not default).
We also have a vendor 1 with assigned schema group as blank (default), and vendor 2 with schema group defined as 01 (not default).
  • In case we are creating a purchase order through purchasing group 0001 for vendor 1, our calculation schema is going to be determined as RM0000.
  • If we are creating a PO for vendor 2 through purchasing organization 0001, calculation schema RM1000 will be determined.
  • If we are creating a PO for any of the two vendors in purchasing organization 0002, in both cases there will be determined calculation schema RM1000.
The below table clarifies the calculation schema determination.
VENDORVENDOR SCH.GRP.   
Vendor 1Default (blank)RM0000RM1000 
Vendor 201RM1000RM1000 
  Default (blank)0001PURCH.ORG.SCH.GRP.
  Purchasing Organization 0001Purchasing Organization 0002PURCHASING ORGANIZATION
You are done. Your pricing procedure is now fully functional.
You can use some advanced features like condition exclusions, copy control, define limits for condition types etc.

Monday, 30 May 2016

How to define Schema Determination

Determination of calculation schema is a customizing activity.
You have to assign a pricing procedure to a schema group purchasing organization / schema group vendor combination.
Settings are located in Define schema determination option.
Step 1)
Choose Determination Calculation schema for Standard Purchase Orders.
Step 2)
  • Choose schema group for purchasing organization.
  • Choose schema group for vendor.
  • Choose calculation schema to be assigned to the purch.org/vendor schema group combination.
Let's analyze two records on this screen.
  1. In case 1, we have chosen default schema group for purchasing organization (first field is empty), also, default schema group for vendor (second field is empty), for this combination of both default schema groups, we assigned a RM0000 (Purchasing document - Big) calculation schema.
  2. In case 2, we have chosen schema group for purchasing organization as 0001, and schema group for vendor as 01, and assigned an RM1000 calculation schema to the combination.
How does it work?
Let's say that we have a purchase organization 0001 with blank (default) schema group assigned to it, and a purchase organization 0002 with schema group 0001 assigned to it (not default).
We also have a vendor 1 with assigned schema group as blank (default), and vendor 2 with schema group defined as 01 (not default).
  • In case we are creating a purchase order through purchasing group 0001 for vendor 1, our calculation schema is going to be determined as RM0000.
  • If we are creating a PO for vendor 2 through purchasing organization 0001, calculation schema RM1000 will be determined.
  • If we are creating a PO for any of the two vendors in purchasing organization 0002, in both cases there will be determined calculation schema RM1000.
The below table clarifies the calculation schema determination.

VENDORVENDOR SCH.GRP.   
Vendor 1Default (blank)RM0000RM1000 
Vendor 201RM1000RM1000 
  Default (blank)0001PURCH.ORG.SCH.GRP.
  Purchasing Organization 0001Purchasing Organization 0002PURCHASING ORGANIZATION
You are done. Your pricing procedure is now fully functional.
You can use some advanced features like condition exclusions, copy control, define limits for condition types etc.

Sunday, 29 May 2016

How to Define Schema Group

We can create schema groups for purchase organization or vendor.
Schema groups are then assigned to purchase organizations in customizing and to vendors in vendor master record. They are used to map the pricing determination process based on the vendor or purchase organization.
Step 1)
  1. Choose Define Schema Group from SPRO IMG path like in the previous topics.
  2. From the menu below, choose Schema Groups: Vendor.
Step 2)
On the next screen, you can define schema group for use in vendor master & maintain a description of your vendor schema groups.
You define only schema group number and description. There are no settings as this is used to be assigned to the vendor master record.
For example, we might need to create a new group 02 – Schema vendor 02.
Step 3)
Next, choose schema groups for purchasing organizations from main schema group menu.
Define your schema groups per your requirement. You define only schema group number and description. No settings either, just an indicator assigned to a purchasing organization.
Step 4)
Choose Assignment of Schema Group to Purchasing Organization from schema group menu.
Assign desired schema group to purchasing organization. As you can see on the below screen, the field on the right is left blank, that is because if you leave it blank, it means that the default purchase organization schema should be used.
If you want to use a standard schema for group organization, leave the field in the previous screen blank, and if you want to choose the Schema 0001 enter 0001 in the field marked in the upper screen. Screen with the available schemas for assignment to purchasing organization is available in the previous step (same as on below screen).
Step 5)
Assigning a schema group in the vendor master.
Go to the purchasing data view. You will see Schema group, Vendor field. You can choose whichever schema group is suitable for this vendor, default is left blank for standard schema vendor.
You can see that this field is maintained at purchasing organization organizational level (0001), so in combination with schema group for that purchasing organization, if we check tables, the selected calculation schema will be RM0000 – Purchasing Document (Big), as you can see in the next topic.

Saturday, 28 May 2016

How to Define Calculation Schema


As you saw in the previous topic, a condition type is assigned a calculation schema. It is defined in customizing.
Step 1)
In IMG, Choose Define Calculation Schema option.
Step 2)
  1. You can see that the initial screen contains a dialog structure with Schemas as the top level.Additionally, you can drop down to Control data.
  2. Right portion of the screen shows Usage and Application data.We can see that usage is to A – Pricing, and application is set to M – Purchasing.
  3. Contains a list of schemas and its short description
Step 3)
  1. Click on the schema you want to change
  2. Double click the Control data node.
Step 4)
The following table of condition types (reference steps) is used in this calculation schema. There are a number of options for condition types that can be set for this calculation schema (different settings could be set for the same condition type in the other calculation schema). List of possible options with a short description:
  1. Step (indicates the sequence of the procedure)
  2. Counter (counts the number of conditions in a step)
  3. Condition type (one of the already defined condition types - previous topic)
  4. From (reference step to be used as a base for calculating percentage conditions)
  5. To (up to which step the conditions should be used as a base for calculating percentage conditions)
  6. Manual (allowed to be entered manually)
  7. Required (required condition)
  8. Statistics (only statistical condition)
  9. Print (printing control for condition)
  10. Subtotal (how to calculate the subtotal)
  11. Requirement (custom routine for the requirement)
  12. CalType (calculating routine - if custom routine is needed)
  13. BasType (custom routine for base condition value)
  14. AccKey (G/L account key)
  15. AccrualAccKey (G/L account key for accruals or provisions)
After the right settings are applied to all of the conditions in a procedure you can save the transaction data.

Thursday, 26 May 2016

Define condition tables

Now, when we know what is a condition table, what it is used for, we can see where a condition table can be defined, and what option we have while creating it.

As you have seen in the previous topic, we have used table 18 – Material Info Record in our example.
Let's see where and how it is defined.
Step 1)
  1. Execute the transaction code V/05 and on the initial screen enter our table number - 18.
  2. In the section 2, you can see our table definition, table number, description, and two options that can be selected. First means use of the validity period (always recommended) and the other is a check for release status of the record. If checked, only released info records will be taken into account while searching for the condition.
  3. Here is the list of fields you have already seen in the Define access sequence topic.
You can see how is the table defined for later use in customizing the access sequence.
V/05 transaction is used for displaying a condition table.
V/04 transaction is used for changing a condition table.
V/03 transaction is used for creating a condition table.
Now you can define a new condition table if it is required, in order to use it in the access sequence definition. Most of the times new access tables aren't required since a vast number of predefined tables.
Step 1)
  1. Enter t-code M/03 and execute it.
  2. Choose your new table number (must be unused, e.g. 818).
  3. If you want to copy an existing table into your new table, you can select the source table here. This is useful if your table is similar to another existing table, and needs only a simple change to fulfill the requirements.
Step 2) On the next screen, you can do all of the settings for a condition table, and generate it.
  1. Click this button if you want to edit the description.
  2. Choose if your table should check validity periods and release statuses.
  3. List of current fields. You can select any field you want to remove (by single clicking it) and choose the remove icon (List icon with a red minus sign).
  4. You can add fields from field catalog by double clicking them.
  5. You need to generate the table in order for it to be used by pricing functions.
You can also use right click to delete or add a field to your table, as well as to navigate the Field catalog on the right side of the screen. Not all of the fields can be shown in a single page of field catalog.
After successful creation, you will be prompted to create a change request and afterwards, you will be presented a log screen like you can see on the following screen.
You have successfully generated a condition table let's see if we can see it in the access sequence maintenance screens.
It's there, so now we can create an access using this table. We will not cover this in detail as it is extremely straight forward process.
On the accesses node of our access sequence, choose New entries button. You can create access like in the below screen for testing purposes.
Fields should also be assigned to our access PB01 – 96 in order for it to work properly

Tuesday, 24 May 2016

Define Access Sequence

Define Access Sequence
To define and maintain access sequences, you need to follow a few simple steps.
Step 1) Go to SPRO > Materials management > Purchasing> Conditions> Define price determination process> Define access sequences.
As shown below , you will find a dialog structure of Access sequencesAccesses and Fields.
  1. Choose the Access sequence you want to maintain (PB01 gross price).
  2. Double click the Accesses folder in the dialog structure.
Step 2) In the next step you define access methods for the access sequence. You can see that several access methods are present for one sequence.
Every one of them is exclusive. It means that if a record is found in first access (Contract item), meaning that if the system finds a condition available from the Contract item, it will not search further, and that value will be used. If not, system will follow the other accesses in order to find appropriate entry.
You can also set a requirement for an access method to be used. For example, there is a requirement 35 assigned to access 10, which uses condition table 17 - Material Info Record (Plant-Specific).
A requirement for access number 10 is 35 - Plant info record. If there is no plant info record for the combination of the values in table 17, access 10 will not be used at all.
Step 3)
  1. Select the access you want to modify.
  2. Choose the lowest level folder in dialog structureFields.
Step 4)
  1. You can see we are located on the details screen for access sequence PB01, access 20 and table 18.
  2. The key fields of a condition table used in the condition access are showed here.
Condition table consists of condition fields which have certain attributes assigned to them. When the system tries to access a condition record it uses these attributes.
  • Special value source – this field contains a value to be used as default while accessing (e.g. using a fixed info record category for the access sequence)
  • Init – if this box is checked system will allow initial value for this field while accessing the condition table. If not system will not process the condition table lookup.
  • Atyp – processing type in access. You can specify if the field is relevant for condition access if it is part of a free or fixed key type. Default is left blank (fixed key type).
  • Priority – priority of a field (characteristic), it can be set from 01 to 99. Most of the time this field is left blank.