MM (Materials Management) - ERP Q&A https://www.erpqna.com/tag/mm-materials-management/ Trending SAP Career News and Guidelines Sat, 21 Dec 2024 06:04:38 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://www.erpqna.com/wp-content/uploads/2021/11/cropped-erpqna-32x32.png MM (Materials Management) - ERP Q&A https://www.erpqna.com/tag/mm-materials-management/ 32 32 Intra-Company STO Process (Two Step Process) in S/4 HANA https://www.erpqna.com/intra-company-sto-process-two-step-process-in-s-4-hana/?utm_source=rss&utm_medium=rss&utm_campaign=intra-company-sto-process-two-step-process-in-s-4-hana Sat, 04 Nov 2023 11:04:02 +0000 https://www.erpqna.com/?p=79220 Intra-Company STO: (With Delivery and W/O Billing) Materials are transported between the plants belonging to the same company code is known as Intra Company STO Where the supplying and receiving plants are under the same company code. Configurations to-do from SD Side: Create Sales organization: Configuration: SPRO –> IMG –> Enterprise Structure –> Definition –> […]

The post Intra-Company STO Process (Two Step Process) in S/4 HANA appeared first on ERP Q&A.

]]>
Intra-Company STO: (With Delivery and W/O Billing)

Materials are transported between the plants belonging to the same company code is known as Intra Company STO Where the supplying and receiving plants are under the same company code.

Configurations to-do from SD Side:

  • Create Sales organization
  • Create Distribution Channel
  • Create Check Division
  • Create Customer Master
  • Assign Sales Organization to Company Code
  • Assign Distribution to Sales organization
  • Assign Division to Sales organization
  • Set up Sales Area
  • Assign Sales organization – Distribution Channel – Plant

Create Sales organization:

Configuration: SPRO –> IMG –> Enterprise Structure –> Definition –> Sales and Distribution –> Define, Copy, delete, check sales organization

T – Code: OVX5

We can create Sales organization by copying from the Standard one or we can enter create manually in New Entries.

Here I Create the Sales organization by copying from the Standard one.

Create Distribution Channel:

Configuration: SPRO –> IMG –> Enterprise Structure –> Definition –> Sales and Distribution –> Define, copy, delete, check distribution channel

Transaction Code: OVXI

We can create the Distribution channel by copying from the Standard one or we can enter create manually in New Entries

Here I Create the Distribution channel by copying from the Standard one.

Create Check Division:

Configuration: SPRO –> IMG –> Enterprise Structure –> Definition –> Logistics General –> Define, Copy, Delete, check division

Transaction Code: OVXB

We can create the Di vision by copying from the Standard one or we can enter create manually in New Entries

Here I Create the Division by copying from the Standard one.

Assign Sales Organization to Company Code:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Sales organization –> Assign Sales organization to Company Code

Transaction Code: OVX3

Assign Distribution to Sales organization:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Sales and Distribution –> Assign distribution channel to sales organization

Transaction Code: OVXK

Check Distribution Channel is assigned to the Sales organization or not. If not assigned, click on new entries to assign.

Assign Division to Sales organization:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Sales and Distribution –> Assign Division to sales organization

Transaction Code: OVXA

Check Division is assigned to Sales organization or not. If not assigned, click on new entries to assign.

Set up Sales Area:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Sales and Distribution –> Setup Sales Area

Transaction Code: OVXG

In Set up Sales Area we assign Sales organization –> Distribution Channel –> Check Division.

Check if they are assigned or not. If they are maintained Click on the new entries to assign.

Assign sales organization – distribution channel – plant:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Sales and Distribution –> Assign sales organization –> Distribution channel –> Plant

Transaction Code: OVX6

Assign Sales organization and Distribution Channel to both Supplying plant and Receiving plant.

These are the Configurations settings maintained from SD Side.

Note: In S/4 Hana we can create both Supplier and Customer in a single Transaction Code BP.

For the Intra Company STO:

  • Creating in intra company STO we can create both supplier and customer in the same company code.

For the Supplier:

  • In FLVN00 create the supplier in supplying Company Code.
  • In FLVN01 create the Supplier in supplying purchasing organization and assign the Supplying plant in the vendor General Data.

For the Customer:

  • Create the Customer in the Supplying Company Code of FLCU00.
  • Create the Customer in Supplying Sales Organization, Distribution Channel and Division in FLCU01.

Now we Maintain the Configurations settings From MM Side

Here I Create the material –> 13000083 and extended to both Plants.

In Basic Data 1 Maintain Sales Division.

In Sales Organization 1 View maintain the Tax Classification

In Sales organization –>2 View Maintain Item category group – NORM.

In Sales: General Data View

Maintain Availability Check – 01

Transportation Group – 0001

Loading Group – 0001

After maintained all required fields click on save.

Extend the Material to Receiving Plant – 9002

Go to MM01 Transaction code.

  • Enter the Material Number, Industry Sector and Material Type.
  • Enter the Receiving Plant and Receiving Storage location.

Check and enter the missing fields in the selected views.

Define Shipping Point:

  • Shipping point is an independent organizational entity and is required to ship the products to a customer.

Shipping point processes and monitors the deliveries as well as goods issue is carried out.

Configuration: SPRO –> IMG –> Enterprise Structure –> Definition – >Logistics Execution –> Define, Copy, Delete, Check shipping point

Transaction Code: OVXD

Here we can Create the Shipping Point by Copying from the Standard one or we can create new one by clicking on the new entries.

Here I create the Shipping Point by Copying from the standard one.

Assign Shipping Point to Plant:

Configuration: SPRO –> IMG –> Enterprise Structure –> Assignment –> Logistics Execution –> Assign shipping point to plant

Transaction code: OVXC

Select the Plant and click on the Assign tab and choose the shipping Point to assign to the Plant.

Shipping Point Determination:

A Shipping Point is an independent organizational entity where the issuance and delivery processing of goods take place.

  • SAP Shipping point determination depends on the following factors: Shipping terms and conditions from the customer master record (shipping screen).

Configuration: SPRO –> IMG –> Logistics Execution –> Shipping –> Basic Shipping Functions –> Shipping Point and Goods Receiving Point Determination –> Assign Shipping Points

Transaction Code: OVL2

Define Shipping Data for Plants:

Configuration: SPRO –> IMG –> Material Management –> Purchasing –> Purchase order –> Set up Stock Transport order –> Define Shipping Data for Plants

For Supplying Plant – 9001

Select the Plant and click on the details button, or double click on the line item.

Maintain the Sales organization – Distribution Chaneel – Check Division

For the Receiving Plant:

  • Enter the Customer Number

Assign Delivery Type and Checking Rule:

Configuration: SPRO –> IMG –> Material Management –> Purchasing –> Purchase order –> Set up Stock Transport order –> Assign Delivery Type and Checking Rule

For Intra Company STO, The Delivery Type should be NL.

Assign Delivery Type and Checking Rule to the Document Type and Suppling Plant.

Assign Document Type, One-Step Procedure, under delivery Tolerance:

Configuration: SPRO –> IMG –> Material Management –> Purchasing –> Purchase order –> Set up Stock Transport order –> Assign Document Type, One-Step Procedure, Under delivery Tolerance

By clicking on New Entries, we can assign Supplying plant and Delivering Plant to Document type (or) else by copying the existing one change the plants and document type.

If we tick the checkbox the system thinks the STO process should be a one-step Procedure.

Create Purchase Order in ME21N

  • Document Type will be “UB” for Intra Company STO Process.
  • If we maintain all the back-end settings correctly then only the shipping tab will appear while creating Purchase order.

Stock Transp. Order created under the number 4500000913.

Here I am creating the Inter Company Code STO in Two-Step process.

Create the Outbound Delivery in (VL01N, VL10B, VL10D)

Here I am creating the Outbound Delivery in VL10D Transaction Code.

  • Enter the Shipping Point and Purchase order Number and click on Execute Button.

Select the PO Number and click on the Background button.

Another line will be generated with Green Mark. Select that line and click on the Delivery log creation Tab.

Place the Cursor and click on the documents button the Outbound Delivery Number will be displayed.

The Outbound Delivery Number is – 80000366.

Next Change the Outbound Delivery Number (i.e., Post Goods Issue in VLO2N)

Enter the Picked Quantity, Storage location and check the Incompleteness data.

If all the data is ok, click on the Post Goods Issue or save button.

Replenishment Dlv. 80000366 has been saved

Now Check the Purchase order History in the Purchase Order in ME23N.

The Supplying Plant has issued the Goods, but the stock will be in Transit until the Receiving the Plant does the Goods Movement.

Accounting Entries:

BSX – (DR)

BSX – (CR)

Check the Stock Transit in MB5T

Now done the Goods Movement in MIGO

Goods Receipt –> Purchase order

Material document 178 posted.

No subsequent document found in accounting.

Now Check the Purchase Order History in the PO.

Goto ME23N (Display of the Purchase Order)

Rating: 5 / 5 (1 votes)

The post Intra-Company STO Process (Two Step Process) in S/4 HANA appeared first on ERP Q&A.

]]>
S/4HANA Planning for Components to be Provided in Subcontracting Process https://www.erpqna.com/s-4hana-planning-for-components-to-be-provided-in-subcontracting-process/?utm_source=rss&utm_medium=rss&utm_campaign=s-4hana-planning-for-components-to-be-provided-in-subcontracting-process Thu, 12 Oct 2023 09:02:51 +0000 https://www.erpqna.com/?p=78915 Definition In subcontracting process, the subcontractor/vendor will be provided with materials (components), which he consumes to produce the finished product. We have to create MRP area for each subcontractor, If we want to plan provision of components for individual subcontractors separately from the usual requirements. In this blog we will be discussing about the below […]

The post S/4HANA Planning for Components to be Provided in Subcontracting Process appeared first on ERP Q&A.

]]>
Definition

In subcontracting process, the subcontractor/vendor will be provided with materials (components), which he consumes to produce the finished product.

We have to create MRP area for each subcontractor, If we want to plan provision of components for individual subcontractors separately from the usual requirements.

In this blog we will be discussing about the below mentioned scenarios,

  • Stock Transfer of Components to be Provided for subcontracting.
  • Third-Party Order Processing for subcontracting.

Stock Transfer of Components

In this case, We will procure the components that are required for subcontracting from a vendor Z and then transfer the stock from the plant storage location to the MRP area of the subcontractor X.

Third-Party Order Processing

In this case, the components to be provided for a subcontractor is procured externally from the vendor Z and then it is delivered directly to the MRP area of the subcontractor X.

Scenario

We will be issuing the component RM material BW-R1003SC and BW-R1004SC to the subcontractor to produce the SFG material BW-S1001SC.

We will perform the Stock Transfer process for the Component RM BW-R1003SC and will perform the Third-Party Order Processing for the component RM BW-R1004SC.

Prerequisite Master Data Setup

  • Bill Of material

Using Transaction code CS01 – Create Subcontracting Bill Of material for the SFG Material BW-S1001SC.

  • Production version

Using Transaction code MM01 – Assign the Production Version with the Subcontracting BOM to the SFG Material BW-S1001SC

  • Material Master – MRP Area and Special Procurement Key assignment

Maintain the special procurement key Subcontracting 30 for the SFG Material BW-S1001SC

For the component material R1003SC. Assign the Subcontracting MRP Area and maintain the Special procurement as Z4 , If Stock Transfer of Components to be Provided to the subcontractor.

In Customizing – Special procurement key Z4 is created for Stock transfer from plant to MRP area.

  • Procurement type : F for External procurement
  • Special procurement: U for Stock transfer
  • Plant: Number of plant 1710 , to which the MRP area belongs.

For the component material R1004SC, Assign the Subcontracting MRP Area and maintain the Special procurement as 20, If the component material is externally procured with delivery directly to the subcontractor .

  • Purchasing Info Record

For the SFG Material we should have a valid subcontracting purchasing info record with automatic sourcing indicator.

And for the component RM materials, we should have the standard purchasing info record with automatic sourcing indicator.

Process Flow

  • Maintain the Forecast / Demand as Planned Independent requirement.

In Transaction code MD61 maintain the PIR for the SFG material BW-S1001SC at plant level.

In Transaction code MD04 , Stock Requirement List is displayed.

SFG Material

RM Material

  • Material Requirement Planning

In Transaction code MD01N, MRP Live is executed.

In Transaction code MD04, Stock Requirement List is displayed.

For the SFG material BW-S1001SC Subcontracting Purchase Requisition 0010093462 is created.

For the RM material BW-R1003SC

Material Reservation 0000100166 is created for subcontracting (541 Movement type – Goods issue to subcontractor) and a Purchase requisition 0010093464 is created as we don’t have enough stock at Plant MRP Area level.

Transfer requisition 0000100166 (With respect to Material reservation) and subcontractor requirements for the purchase requisition 0010093462 are created at the subcontractor MRP Area level.

For the RM material BW-R1004SC

No MRP element is created at Plant MRP Area level.

Purchase requisition 0010093463 is created as we don’t have enough stock and subcontractor requirements for the purchase requisition 0010093462 are created at the subcontractor MRP Area level.

  • Procurement of Component Raw material

For the RM material BW-R1003SC PR 0010093464 is converted to PO 4500491341 and GR at plant / storage location is posted.

For the RM material BW-R1004SC PR 0010093463 is converted to PO 4500491342 and GR at subcontracting vendor location is posted.

  • Processing of Subcontracting Order

For the SFG material BW-S1001SC , The Subcontracting Purchase Requisition 0010093462 is converted to Subcontracting Purchase order 4500491343 using the transaction code ME21N.

In Transaction code ME2O, the component material are issued to the subcontractor.

For the component RM material BW-R1003SC, the subcontracting stock is Zero.

For the component RM material BW-R1004SC ,We have already received the stock directly in supplier location. So the subcontracting stock is 100.

For the component RM material BW-R1003SC, the required quantity is posted to the subcontracting vendor location after stock transfer.

Both the component RM materials BW-R1003SC and BW-R1004SC has the required stock in the Subcontractor Location.

In the transaction code MIGO, Perform Goods receipt against the subcontracting purchase order is performed.

In the transaction code MD04 – Stock Requirement List, the forecasted quantity is procured by subcontracting process.

Rating: 5 / 5 (1 votes)

The post S/4HANA Planning for Components to be Provided in Subcontracting Process appeared first on ERP Q&A.

]]>
SAP Query https://www.erpqna.com/sap-query/?utm_source=rss&utm_medium=rss&utm_campaign=sap-query Fri, 08 Sep 2023 09:34:59 +0000 https://www.erpqna.com/?p=77244 SAP Query: SAP Query is a tool that allows you to create reports even without programming. SAP queries are based on InfoSets – these are the areas that provide special views of a logical database and define which fields of the database can be used in queries. SAP queries can be shared with any users […]

The post SAP Query appeared first on ERP Q&A.

]]>
SAP Query:

SAP Query is a tool that allows you to create reports even without programming. SAP queries are based on InfoSets – these are the areas that provide special views of a logical database and define which fields of the database can be used in queries. SAP queries can be shared with any users via assigning InfoSets to user groups.

SAP Query – Overview:

  • SAP Query is used to create reports for users who have little knowledge about SAP Table data storage structure. SAP Query allows evaluating data in the SAP system.
  • SAP Query offers users a broad range of ways to define reporting programs and create different types of reports such as basic lists, statistics, and ranked lists.

Following are the major components which are associated with SAP Query:

  • Info Sets – Are based for the Query and it contains one or more database table details.
  • Queries – For the User to create and generate the Query.
  • User Group – To restrict set of Users for a specific Query plus for Authorizations.
  • Quick Viewer – A simple tool for quick report generation.

SAP Query – Creation:

Creation of Query SQ01 
Creation of Infosets   SQO2 
Creation of User Groups   SQ03 
Creation of Quick Viewer (User Specific)   SQVI 

Creation of Quick Viewer: (Transaction code – SQVI)

SQVI is a simple ad-hoc report that can be written directly in the production system, I.e., there is no need for transporting information between systems. Any functional consultant (or even business user) with a good understanding of SAP tables can write a query with SQVI.

Enter the Title for your Report and Enter the Description

Select on the first tab (List Fields) which fields you want to see in your report. For Example, we select from the right column the fields “Country Key”, “Name 1”, “Vendor Account Group” and “Postal Code” and press the “Arrow to the left”, so these fields are available for the report, by being displayed on the left column.

If you want to see the Field Names in Technical click on the above button as highlight in the picture or else press SHIFT+F5.

Select on the second tab the sort order. Mark the fields you want and choose the desired criteria. In our case we will order the vendor by their names.

On the third tab you must define the selection fields. Choose from the right column the fields you need. You may also change the order in which they may appear later with the transaction.

After Maintaining all the data click on the save button.

After clicking on the save button click on the Execute button.

You will see a screen, like one from a standard program, but with your own description and specifically for the fields you have defined. For our example we select a specific country and press the “Execute” button.

Now we can see the result.

Note:

The Difference between the SQVI and SQ01/SQ02 are the Queries which we are written in SQ02/SQ01 are Transportable. Where in SQVI we directly written the Queries in production system.

SAP Query – Area:

SAP Query Area is a set of objects having queries, InfoSets and User Groups which are consistent.

Following Query Areas:

  • Standard Area – They are Client Specific Queries and do not create a Work Bench Request.
  • Global Area – Queries in the Global Area are Client Independent.

SAP databases have several numbers of tables in which the transactions, master data gets stored and it’s practically not feasible to have all such fields for selection when creating a query. Hence before the start of creating a query, InfoSet creation is required.

First create the User Groups in SQ03:

Create a logical set of User Group to which the InfoSet Queries would be assigned.

Enter the Description in the User Group and click on Create button.

Enter the Description and click on the save.

Now Create the Infosets in SQ02 Transaction Code:

The InfoSet creation can be made with the Combination of Tables (Table Join), Direct read from a Single Table or with the help of Logical Database.

Enter the Description in the InfoSet tab and click on the create button.

Here I am using the tables EKKO and EKPO.

Enter the Description in the Report Tab and Enter the Table Name and click on the Enter or else click on the Tick mark as shown below.

Click on the insert table button to add more tables.

Enter the table Names one by one by clicking on the Insert Table Tab.

If you want to join the tables, you can join by clicking on the Join Conditions Tab.

Here I Join

EKKO with EKPO by clicking on the Join Conditions Button.

After joining the tables click on the back button as shown in the below picture.

Select the Include key fields tab and click on the Enter button or else on Tick mark which is shown below.

Next, we’ll create field groups and add data fields per the requirement.

For our use case, we are not doing an alias table or extras. So, we can just hit the generate option,

In the Next step we can assign the Infoset to the Role/User Group Assignment in SQ02 Transaction code.

Select the User Group which we are created in the SQ03 Transaction Code. By selecting the User group click on the save Button.

We can assign Z_POREPORT to Z_PODATA.

Click on the Generate Button

In SQ03 We can Assign Users to InfoSets

Click on the Assign Infoset tab as shown in the picture.

Select the Infoset checkbox and click on the save button.

Next go to the Transaction Code SQ01, Enter the title in the Query Tab. Here I have entered My user Group as Title Description.

We should have to enter Either Infoset Title or User Group Title as Description in the while creating the Query in the SQ01 then only the system Accepting or else the system throws error User Group does not Exit.

By Entering the Title click on the create button. Select the Infoset that we created and click on the Green Tick mark as shown in the below picture.

Enter the Title Description and click on the Basic list Tab.

Click on the Enter Button or the Tick mark as shown in the picture.

In the data fields section, choose fields for selection and list (output).

List Fields are the output fields which have to be displayed in the Reporting.

Selection fields are the input fields.

Before clicking on the saving button. We can check whether the scenario is working properly or not by clicking on the Test button.

Here I am running the Testing scenario, Here I am clicking on the Execute button by entering the Company code.

The scenario is working properly.

Click on the save button.

Click on the Execute button.

By Entering the company Code click on the Execute Button.

Comparison between and SQ01 and SQVI:

  1. SQ01 is a saved query that can be accessed by other people, SQVI can only be accessed by the user who wrote the query.
  2. SQ01 allows for additional fields to be defined and populated, SQVI only allows for the use of fields already defined in the tables.
  3. SQ01 will automatically bring in text descriptions (such as item description or customer name) when using fields that would have a text field associated, SQVI did not.

Process to Customize the Transaction Code:

For the report we just created, you shouldn’t give end users access to T-codes SQ02 and SQ01. It is not a good user experience to have your business folks play around with these technical transactions.

So, for a complete end-user experience, you should create a report in SQ02/SQ01 and then associate a Z transaction code (custom code) with it. SAP allows you to create these Z transaction codes, which can be used like any other standard transaction code.

To do this, first go to T-code SQ01 and follow this path:

Query > More Functions > Generate Program

Query > More Functions > Display Report Name

Copy the program name.

Next, go to T-code SE93.

Enter a unique transaction code starting with Z, Enter a name in the short text field, select the radio button for “program and selection screen (report transaction).”

Click on the Enter button or the Green Tick Mark after Entering the short text and by selecting the start object.

Enter the programming Name in the Program tab and click on the check button to check whether it contains any Inconsistent or not.

By checking the data, click on the Save Button.

Click on the Local Object.

The customized Transaction code was created successfully.

Enter the Customized Transaction code in Command Bar.

We can get the initial screen directly after Executing the Transaction code.

By Entering the Company Code Click on the Execute Button.

To control the User Authorization, we have to follow the below steps:

  • First you have to create the use group in transaction SQ03 and assign the infoset to this user group with transaction SQ02.
  • Use the standard authorization object S_Query with transaction SU21 and assign the authorization groups. Now you need to assign to the user profiles or Roles directly so that we can the restrict the users to access the queries and infoset.
Rating: 0 / 5 (0 votes)

The post SAP Query appeared first on ERP Q&A.

]]>
Planning Calendar Driven Purchase Requisitions Delivery Date https://www.erpqna.com/planning-calendar-driven-purchase-requisitions-delivery-date/?utm_source=rss&utm_medium=rss&utm_campaign=planning-calendar-driven-purchase-requisitions-delivery-date Mon, 07 Aug 2023 10:07:19 +0000 https://www.erpqna.com/?p=76589 Introduction: In certain business scenarios, the need arises for purchase requisitions generated by Material Requirements Planning (MRP) to have delivery dates aligned with specific dates based on a planning calendar. This requirement becomes especially crucial when dealing with MRP-generated stock transfer purchase requisitions, where materials will be shipped from one plant to another based on […]

The post Planning Calendar Driven Purchase Requisitions Delivery Date appeared first on ERP Q&A.

]]>
Introduction:

In certain business scenarios, the need arises for purchase requisitions generated by Material Requirements Planning (MRP) to have delivery dates aligned with specific dates based on a planning calendar. This requirement becomes especially crucial when dealing with MRP-generated stock transfer purchase requisitions, where materials will be shipped from one plant to another based on a predefined calendar and delivery schedule.

This article will delve into achieving this functionality using standard SAP configuration. By implementing the following steps, businesses can ensure that MRP-generated purchase requisitions are scheduled to be delivered on specific dates, as per the requirements dictated by their planning calendar.

Below are the high-level steps:

  1. Understanding the Business Need: First and foremost, it is essential to comprehend the specific business requirements that necessitate the alignment of delivery dates. This could include stock transfer purchase requisitions generated by MRP. Sometimes, business requires a certain ship schedule for the replenishment outbound delivery created for stock transfer orders. As SAP works on delivery schedules, fixing the delivery date and configuring the route properly is important to achieve the shipping schedule.
  2. Configure the Lot Sizing Procedure: The lot sizing procedure is the key and brain for the whole process. The lot sizing procedure must be configured based on the delivery date.
  3. Creating the Planning Calendar: In SAP, a planning calendar can be created or utilized to map out specific dates when deliveries are expected to occur. This is the heart of the whole process. This calendar should consider factors like weekends, holidays, and other company-specific non-working days that might impact the delivery schedule.
  4. Linking Planning Calendar and Lot Sizing Procedure to Material Master: Lot sizing procedure and planning calendar need to be assigned to the material master at the respective plant where you want MRP-generated purchase requisitions to follow the delivery date as per the planning calendar. This linkage will enable the system to calculate the appropriate delivery date based on the predefined schedule.
  5. Create a demand: Demand can be based on planned independent requirements or customer orders or reservation or consumption-based planning (i.e., reorder point or forecast based)
  6. MRP Run and Purchase Requisition Generation: Once the configuration is in place, perform the MRP run to trigger the generation of purchase requisitions. During this process, the system will consider the planning calendar and lot sizing procedure to compute the delivery dates according to the established rules.
  7. Review and Adjustment: After MRP generates the purchase requisitions, reviewing the results and verifying that the delivery dates align correctly with the planning calendar is crucial. Adjustments can be made to the planning calendar or other configuration settings to fine-tune the process.

Configuration Activities:

Step 1: Understanding the Business Need: Let’s say that the business requirement is to have purchase requisitions delivery date every Wednesday.

Step 2: Configure the Lot Sizing Procedure

SPRO IMG Path: SPRO -> Materials Management -> Consumption-Based Planning -> Planning -> Lot-Size Calculation -> Define Lot-Sizing Procedure -> MRP Lot Size (T-code: OMI4)

Create a New Lot Size (for Example, ZK) by coping Standard SAP Lot Size: PK and change Date Interpretation = 1 – Delivery Date.

MM (Materials Management), MAN Material Requirements Planning
1. MRP Lot Sizing Procedures

Step 3: Creating the Planning Calendar (T-code: MD25)

MM (Materials Management), MAN Material Requirements Planning
2. Planning Calendar
MM (Materials Management), MAN Material Requirements Planning
3. Display Planning Calendar

Step 4: Linking Planning Calendar and Lot Sizing Procedure to Material Master (T-code: MM02)

MM (Materials Management), MAN Material Requirements Planning
4. Display Material
MM (Materials Management), MAN Material Requirements Planning
5. Display Material

Step 5: Create a demand (t-code: MD61)

I am loading the forecast/planned independent requirement using MD61 in this example.

MM (Materials Management), MAN Material Requirements Planning
6. Create Planned Independent Requirements

Step 6: MRP Run and Purchase Requisition Generation (T-code: MD01N)

MM (Materials Management), MAN Material Requirements Planning
7. Run MRP
MM (Materials Management), MAN Material Requirements Planning
8. MRP Run

Step 7: Review and Adjustment (T-code: MD04)

MM (Materials Management), MAN Material Requirements Planning
9. Stock_Requirements List

Note: 1st purchase requisition was created on 8/9/2023 because of 7 days of purchasing department processing time.

Rating: 0 / 5 (0 votes)

The post Planning Calendar Driven Purchase Requisitions Delivery Date appeared first on ERP Q&A.

]]>
Optimization of Rejected Material Process after Inspection https://www.erpqna.com/optimization-of-rejected-material-process-after-inspection/?utm_source=rss&utm_medium=rss&utm_campaign=optimization-of-rejected-material-process-after-inspection Tue, 27 Jun 2023 12:20:45 +0000 https://www.erpqna.com/?p=75796 Introduction I had the idea of posting this blog so that organizations or companies who perform inspections on their material can effectively analyses the process of their rejection process and make subsequent improvements in ensuring the rejection, lifting of material from storage locations and its visibility in the system. In specific industry cases, Once the […]

The post Optimization of Rejected Material Process after Inspection appeared first on ERP Q&A.

]]>
Introduction

I had the idea of posting this blog so that organizations or companies who perform inspections on their material can effectively analyses the process of their rejection process and make subsequent improvements in ensuring the rejection, lifting of material from storage locations and its visibility in the system.

In specific industry cases, Once the material is rejected and posted out of the system it is physically not lifted by the vendor due to certain reasons which means the tracking is not maintained and the physical location of the rejected material is not traceable in the system. (Location is only visible at plant level not Storage Location level when Mvt.103 (MIGO) is performed)

Organizations typically want to improve the TAT of their processes and the visibility of all the aspects are needed to make informed decisions on how TAT can be improved once date and time of certain actions are known.

After rejection material is stock out from plant level but in some cases, vendor is not lifting the rejected material at the time of MIGO-124 and rejected material physically place in warehouse and after that there is no visibility in SAP that where material is stored/kept and since how long.

Here we discuss goods receipt with movement type 103, receipt of goods in GR blocked stock. As we all know the use of such movement type will only give visibility at plant level and the stock is not yet made the company stock/company asset and it is still not valuated at that moment.

This causes a problem since in certain cases the rejected material is not lifted by the vendor and material is to be posted out through Mvt. type 124 (Return to vendor), but it is still physically present in the storage location or in the warehouse. Visibility of the location of the material is also not present in the system.

The main objective is to manage this process in a way that the detail tracking of material is conducted through SAP Quality Management and allow visibility of the material in the storage location so that when the vendor arrives to lift the material, we are aware of the location, date and time of the lifting in SAP.

Background of the process

With the suggested SAP Quality Management process below, we shall be able to accurately define each step of the rejection process with its subsequent placement of the rejected material and its corresponding date and time to its respective storage location and its intimations to the vendors via emails/rejection letters. Customized reports (Create Query reports) shall provide deeper analysis and statuses of the rejected material for better business decisions.

We shall discuss these steps in detail but first let’s lay down the basic steps that need to be performed to achieve what we want-

  • Posting of material in GR Blocked stock through Mvt. type 103.
  • Perform its Result Recording and record the defects in the case of rejection of the Inspection Lot with entry of storage location in additional info field.
  • Perform UD against result recording with UD Codes R1 and R2 (Will discuss this further)
  • Send Rejection Email/Rejection letter to Vendor through QM Notifications once for intimation of rejection and second time once the vendor arrives for lifting of material.
  • Posting the rejected material (Return to Vendor) in SAP through QM-UD (if non serialized material) or MIGO-124 (Serialized Material)

Step by Step Guide:

Posting of Material through MIGO 103:

We shall first post the material which has an inspection plan and the relevant inspection type assigned in material master assigned to it in the SAP system so that its inspection lot is created, and the material is put into GR Blocked Stock for further processing.

After posting of the material the inspection lot of the material is generated created as shown below:

Result Recording of the Inspection Lot:

The result recording of the material is added in the system which will showcase any defects observed in the inspection lot. Since the material received during Mvt. 103 does not reflect any storage location.

A standard text field (Additional Info Field) is used here to record the storage location which will record the physical location of the material at the time of RR. As showcased below where storage location entry is made. This can be made visible in our reports later on.

Defects are to be entered in the RR by adding the defects as showcased below.

Entries of the Code group are added, and the defects are recorded to be used in RR. Notification can be activated through this window which will allow us to send the rejection remarks to the vendor once UD is performed.

Performing UD with code R1 to inform the vendor of decision.

Once the Result Recording has been performed, we shall now perform the Usage Decision of the Inspection Lot. For this step we need to have two more codes configured in the system for usage decision. R1 (Material Rejected but return pending) and R2 (Rejected Material Returned to vendor).

R1 is going to be used incase we reject the material, and we will send the notification to the vendor informing about the decision. This will keep the material in GR Blocked Stock and date and time of the decision will be recorded which can be viewed in copy of ZABAP report which will showcase the location and the UD result of the material thus giving us its visibility.

We shall first choose R1 in our UD code and head on over to the Inspection Lot stock where we shall propose to keep the material in the GR Blocked Stock state.

After all this is done, we shall send an email to the vendor informing them about the usage decision for this. Click on the “Go To” menu tab and select “Defect Structure” from the drop down.

A window will open that will showcase the defect overview window as showcased below.

Appropriate Defects are to be selected which will open a new notification window as shown below. After selecting the appropriate line item click on the notification button in the bottom right. Notification window will open which will house our option to send the intimation to the vendor about the results.

Fill out all the entries required to process the notification such as the reference number and the quantity that is being rejected as shown below.

An enhancement has been made in the action box window in the right which will trigger the functionality to send email to the vendor.

A popup will open which will allow to either preview the rejection email/letter or send it to vendor. The typical layout of the email intimation being sent to the vendor is shown below.

You can save the UD doc. without any entry in to be posted field (stock remains same in GR blocked stock).

After posting of UD system status will be change to UD ICCO SPRQ.

Performing UD with R2 once vendor arrives to pick rejected material.

At the time of vendor arrival to pick the material up. We change the UD code using T.code QA12 (Change with History) from R1 to R2 (Rejected Material Returned to Vendor). When you change a usage decision with history, the system creates a change document that contains the relevant fields of the inspection lot with the values before and after the change.

Once this is done. We follow the same steps for email intimation (As done for R1 UD code) as showcased above and then choose the send email to the vendor intimating them about the material being lifted from the storage site.

An email message of the following format will be sent to the vendor intimating them that the material has been lifted.

After the second email intimation has been sent to the vendor. We now have to return the material back to the vendor through UD. For this, System will allow to post the return delivery to vendor from UD transaction (If material is non serialized), but the system status will remain same as UD ICCO SPRQ.

A material document has been generated with movement type 124. (Returned to vendor)

Case for Serialized Material.

The procedure that has been showcased is for non- serialized material only since SAP QM does not allow to post material document of serialized material with movement type 124 through UD with companies using movement type 103 and 105 for good receipts (Refer to screenshot below)

To post return to vendor of serialized material we shall use MIGO transaction with movement type 124 to achieve the desired result.

Rating: 0 / 5 (0 votes)

The post Optimization of Rejected Material Process after Inspection appeared first on ERP Q&A.

]]>
Mass Purchase Order Reprice with S/4 HANA https://www.erpqna.com/mass-purchase-order-reprice-with-s-4-hana/?utm_source=rss&utm_medium=rss&utm_campaign=mass-purchase-order-reprice-with-s-4-hana Sat, 04 Feb 2023 11:22:18 +0000 https://www.erpqna.com/?p=72020 Introduction: In this blog, I will try to demonstrate the functionality of mass purchase order reprice in SAP S/4 HANA. The pandemic lead to a massive shutdown followed by a slowdown and cause supply chain disruption. Disruption in the supply chain, raising fuel and freight costs often leads to frequent price changes from the vendors […]

The post Mass Purchase Order Reprice with S/4 HANA appeared first on ERP Q&A.

]]>
Introduction:

In this blog, I will try to demonstrate the functionality of mass purchase order reprice in SAP S/4 HANA.

The pandemic lead to a massive shutdown followed by a slowdown and cause supply chain disruption. Disruption in the supply chain, raising fuel and freight costs often leads to frequent price changes from the vendors (especially oversees long lead time items). As a buyer, it’s important to catch up with frequent and fast changes to make sure the landed cost of the product is correct and 3-way match happens as accurately as possible. This blog will help on how to achieve the solution.

Prerequisites:

  • Price update from the vendor will be updated on Purchasing Info Record as a new valid condition record.

Standard SAP options:

Below is the standard SAP option that was explored:

  • Standard SAP has t-code: MEI1 which allows updating PO based on condition changes, but standard SAP looks at the PO creation date and condition validity period date and updates the price.
  • It was also found that once we process records using MEI1, it is deleting the Table: WIND entries for that vendor of all the items. That means as a buyer, if you want to work on certain items on the PO the next day, you lost visibility of price updates.

Both of the above challenges force me to think of a custom solution.

Solution Approach/Design:

  • Create a Fiori tile as per the below layout
Selection Layout
  • No of Day in the Past*: Mandatory; This is for performance. From day of execution, how many days back do we want to go for the document date; by default 180 days.
  • Purchasing Group: Mandatory; Multiple selection drop-down; Validation: T024- T024; E: Purchasing Group Required or E: Invalid Purchasing Group.
  • Purchasing Document Type: Optional; Multiple selection drop-down; Validation: T161- BSART; E: Invalid Document type.
  • Supplier: Optional; Multiple selection drop-down; Validation: LFA1- LIFNR; E: Invalid Supplier.
  • Supplier Subrange: Optional; Multiple selection drop-down; Validation: WYT1- LTSNR; E: Invalid Supplier Subrange.
  • Plant#: Optional; Multiple selection drop-down; Validation: T001W-WERKS; E: Invalid Plant.
  • Material Group#: Optional; Multiple selection drop-down; Validation: T023-MATKL; E: Invalid material group.
  • Material#: Optional; Multiple selection drop-down; Validation: MARC-MATNR; E: Invalid material.
  • Next Period Price/Currency: Optional;
  • Price Over-Ride: Optional
  • Future Cost Match: Optional; drop-down; values are Yes Or No
  • Fiori tile validates the data keyed in by the user and captures the appropriate error message in case of errors as stated above.
  • After validating input screen data, once the user clicks on go, the program does the following:
    • Based on the input, fetch the only open PO(s) undelete and without Free of Charge. Open PO(s) can be found where EKPO-ELIKZ not equal to X and undeleted PO(s) can be found where EKPO-LOEKZ is not equal to L and EKPO- REPOS = X (Excluding Free PO(s) as well).
    • Only fetch the PO(s) where item category EKPO-PSTYP not equal to 2 – Consignment and 7 – Stock Transfer (Basically, we don’t want consignment and stock transfer PO(s) as it doesn’t have net price).
  • Below are the fields and logic:
Field(s) Logic 
Purchase Order  From EKPO-EBELN 
Vendor  From EKKO-LIFNR 
Vendor Name  Pass Vendor from EKKO to LFA1 and get LFA1-NAME1 
Supplier Subrange  From EKPO-LTSNR 
Supplier Subrange Description  Pass Vendor and Subrange to WYT1 and get WYT1-LTSBZ 
Purchasing Group  From EKKO-EKGRP 
Purchasing Group Name  Pass the purchasing group code to T024 and get T024 – EKNAM. 
Document Type  From EKKO-BSART 
Item No  EKPO-EBELP 
Item Category  EKPO-PSTYP 
Material  EKPO-MATNR 
Material Group  EKPO-MATKL 
Material Group Description  Pass material group to T023 and get T023- WGBEZ 
Plant  EKPO-WERKS 
Material Description  MARA-MAKTX 
PO Creation Date  EKKO-AEDAT 
PO Quantity  EKPO-MENGE 
Ordering Unit  EKPO-MEINS 
Conf. Control  EKPO-BSTAE 
Inbound Delivery  Pass PO number, item number, Confirm. Cat.: LA to EKES and get the inbound delivery number. If multiple found, then sort in descending order and get the latest one. 
PO History  Pass PO and item to EKBE and see entries found. If entry is there, then show the graph. Note: T-code: ME2N is prime example on how to show the graph. If developer can find, then we should leverage that. 
PO Item Delivery Date  Pass PO and item number to EKET and get EKET-EINDT 
Price Overwrite  Pass PO to Table: EKKO and get the Doc. Condition No. (EKKO- KNUMV). Pass Condition No. To table: PRCD_ELEMENTS with PO item number and Inactive condition (KINAK) as blank and see if we have PBXX. If yes then show PBXX else blank 
PO Net Price/Currency  EKPO-NETPR/EKKO-WAERS (for example $2800/USD) 
PO Price Unit/Ordering Price Unit  EKPO-PEINH/EKPO-BPRME (for example 100/EA) 
Current Period Validity Date (From – to) 

Note: Within PB00 pricing team is loading price in tables: A017 and A018. If the A017 record then gets trigger else it will go to A018.

*****************************************************

Logic: (Developer can explore functional module. I have tried using ME_GET_INFORECORD_CONDITIONS which works fine for PB00 and PB01)

Pass Application – KAPPL = M, Condition Type – KSCHL = PB00, Vendor – LIFNR, Material – MATNR, Purchasing Org – EKORG, Plant – WERKS, Info Type – from PO line to Table: A017 and get the condition record number where Valid From < = System Date and Valid To > = System Date. Pass all the records to KONP, sort by ascending order and select 1st non-delete record. If no record is found then go to next.

Pass Application – KAPPL = M, Condition Type – KSCHL = PB00, Vendor – LIFNR, Material – MATNR, Purchasing Org – EKORG, Plant – WERKS, Info Type – from PO line to Table : A018 and get the condition record number where Valid From < = System Date and Valid To > = System Date. Pass all the records to KONP, sort by ascending order and select 1st non-delete record. If no record found, then go to next.

Also get A017-DATAB to A017-DATBI or A018-DATAB to A018-DATBI for valid record 

Current Period Price/Currency  For the valid condition record get the KONP-KBETR/KONP-KONWA (For example $284/USD) 
Current Period Price Unit/UoM  Also get the KONP-KPEIN/KONP-KMEIN (For example 100/LB) 
Scale Exist? (Flag Yes or No)  If KONP- KZBZG has value, then Scale Exist = Yes else No 
Apply Updated Cost  Checkbox 
Yes or No value for PO Price Vs. Next Period Price  Compare PO Net Price/Current, PO Price Unit/Ordering Price Unit with Next Period Price/Currency and Next Period Price Unit/UoM. If it’s matching, then show Yes else No. 
Previous Period Validity Date (From – to) 

Pass Application – KAPPL = M, Condition Type – KSCHL = PB00, Vendor – LIFNR, Material – MATNR, Purchasing Org – EKORG, Plant – WERKS, Info Type – from PO line to Table : A017 and get the condition record number where Valid From < System Date. Pass all the records to KONP, sort by descending order and select 1st non-delete record. If no record found then go to next. 

Pass Application – KAPPL = M, Condition Type – KSCHL = PB00, Vendor – LIFNR, Material – MATNR, Purchasing Org – EKORG, Plant – WERKS, Info Type -from PO line to Table: A018 and get the condition record number where Valid From < System Date. Pass all the records to KONP, sort by descending order and select 1st non-delete record. If no record found, then go to next.

Also, get A017-DATAB to A017-DATBI or A018-DATAB to A018-DATBI for valid record

Previous Period Price/Currency  For the valid condition record get the KONP-KBETR/KONP-KONWA (For example $284/USD) 
Previous Period Price Unit/UoM  Also get the KONP-KPEIN/KONP-KMEIN (For example 100/LB) 
Yes or No value for PO Price Vs. Previous Period Price  Compare PO Net Price/Current, PO Price Unit/Ordering Price Unit with Previous Period Price/Currency and Previous Period Price Unit/UoM. If it’s matching, then Yes else No. 
Purchasing Info Record 

Pass PO number and line item to EKPO and get the EKPO- INFNR. Show that as Hyperlink and when user clicks on it, it should call T-code:ME13 (Fiori tile:

Display Purchasing Info Record). Pass the PIR Number, Purchase Organization and Plant to display the record. 

Status Log  Successful/Failed message 
  • After displaying output and sorting output user will select checkbox for “apply updated cost”. Program should do following:
    • For selected PO & line items, it should say “Ready to update the price”? If user click YES, then go to next. If user click NO, then cancel the update.
    • Upon yes, update the price on PO for that item.
    • Developer can use functional module: BAPI_PO_CHANGE to update the price on PO.
    • For PO change, enter the condition type: PBXX to suggest price change.

Results after Implementing solution:

Selection Screen

Buyers click on go after entering single or multiple purchasing groups

Output
More fields in the Output
More Fields In the Output

As shown below, buyer can select one purchase order or multiple purchase orders and click on “Apply PO Cost”

Apply PO Cost
Confirmation for Update
Update Message
Rating: 0 / 5 (0 votes)

The post Mass Purchase Order Reprice with S/4 HANA appeared first on ERP Q&A.

]]>
RISE WITH SAP S/4 HANA PUBLIC CLOUD Manage and Classification of Commodity code for a Product. https://www.erpqna.com/rise-with-sap-s-4-hana-public-cloud-manage-and-classification-of-commodity-code-for-a-product/?utm_source=rss&utm_medium=rss&utm_campaign=rise-with-sap-s-4-hana-public-cloud-manage-and-classification-of-commodity-code-for-a-product Sat, 19 Nov 2022 10:51:15 +0000 https://www.erpqna.com/?p=70300 In this blog post, I will share how to add a commodity code and assign it to a product in RISE With SAP Public Cloud 2208. Overview: Introduction to Commodity code: Commodity codes are internationally recognized reference numbers. A code describes a specific product when importing or exporting goods. You will use this code on […]

The post RISE WITH SAP S/4 HANA PUBLIC CLOUD Manage and Classification of Commodity code for a Product. appeared first on ERP Q&A.

]]>
In this blog post, I will share how to add a commodity code and assign it to a product in RISE With SAP Public Cloud 2208.

Overview:

Introduction to Commodity code: Commodity codes are internationally recognized reference numbers. A code describes a specific product when importing or exporting goods. You will use this code on any import declaration and can find them in the Trade Tariff tool.

We will be looking here at Commodity Code addition and Classification.

STEP 1: Fiori App Name: Manage commodity code (App ID F2516)

  • With this tile we can add the commodity code in the system followed by the process the products must be classified with the commodity code by using Classify commodity code tile or by data migration (Product classification – Commodity code).
  • Select the “Scheme Content” as shown below and then click on “Go”.
  • Click on “add” to enter the Commodity code as shown below.
  • Enter the commodity code with the Description and the valid from-to dates and click on “save”.
  • To enter more than one Commodity code click on the Add button and to remove click on delete.
  • The Commodity code will be Displayed here.

STEP 2: Classification of product by Fiori App.

  • To classify the product with commodity Code we can use this fiori app.
  • Products must be classified with the commodity code by using Classify commodity code fiori app or by data migration (Product classification – Commodity code).

A. Classify Products Commodity codes. (App ID F2151)

  • Select the “Numbering Scheme” first as shown below.
  • Now enter the Product if known or Filter the Product by using the Product type and click on “Go”.
  • Select the Products and click on Classify.
  • Now enter or select the Commodity Code as shown below. Even single and multiple products can be chosen for a single commodity code Classification.
  • To classify multiple products with commodity codes. Data Migration is preferred.
  • Select the Commodity Code.
  • Enter the Classification from and to date and then Click on “Save”.

B. By Data Migration.

Fiori App name: Migrate Your Data. (App ID: F3473)

NOTE:

In this migration object Classification of Commodity code for a new product is not possible, In addition of new commodity code is also not possible in data migration.
Existing products in the system with existing Commodity code which is created in the Manage commodity code can be classified in data migration.

Step 1: Project Creation.

Click on create to create a migration project.

  • Enter the name and select the Local SAP S/4HANA Database Schema.
  • Click on Enter and click Step 2 as shown.
  • Select the object as Product classification – Commodity Code.
  • Select the line and click on the Right icon as Shown below.
  • Click on “Review”.
  • Click on “Do not Add”.
  • Click on “Create Project”.
  • Now select the project and download template as shown below.
  • Select the XML file and click on “OK”.

Step 2: Data Migration for Product classification – Commodity Code.

  • In the Product trade classification sheet fill the mandatory fields such as Product number, Plant and commodity code as shown below and save the document.
  • Enter into the Migration Cockpit Tile and Select the project created and Upload file to upload the file.
  • After Upload process click on back button and click on “Prepare” button.
  • Click on “Prepare staging tables”. This takes few minutes to complete the prepare Process.
  • After the Preparation process Click on “Mapping tasks”.
  • Select all the line Item and click on “Confirm”.
  • After completing the Mapping tasks. Click on “Simulate” and “Start Simulation” as Shown below (This takes a few minutes to complete the process).
  • After the Simulation is completed Click on “migrate” and Start “migration” to migrate the data (This takes few minutes to migrate the data).
  • The migration process status is shown.

STEP 3: Fiori App name: Reclassify Products Commodity Codes. (App ID: F2152)

  • Using this tile the user can change the commodity code for a product once when a Product is already assigned with a commodity code.
  • Select the Valid on date and the numbering Scheme Primarily.
  • Use the filters to filter the required Product.
  • After selecting the filters click on “Go”.
  • Now select the products and click the “Reclassify” icon as shown below.
  • Enter the commodity code which has to be changed and then click on “save” as shown below.
  • Now the Changed commodity codes for those products are displayed.
Rating: 0 / 5 (0 votes)

The post RISE WITH SAP S/4 HANA PUBLIC CLOUD Manage and Classification of Commodity code for a Product. appeared first on ERP Q&A.

]]>
Material Characteristics Batch View Report https://www.erpqna.com/material-characteristics-batch-view-report/?utm_source=rss&utm_medium=rss&utm_campaign=material-characteristics-batch-view-report Sun, 23 Oct 2022 04:30:21 +0000 https://www.erpqna.com/?p=69183 I’m starting the SAP blog page with a report. In this report, we will try to show the characteristic values entered under the material class in the material master data to the user in the form of a report. I am working as an ABAP developer in a company that uses SAP. The reason why […]

The post Material Characteristics Batch View Report appeared first on ERP Q&A.

]]>
I’m starting the SAP blog page with a report. In this report, we will try to show the characteristic values entered under the material class in the material master data to the user in the form of a report.

I am working as an ABAP developer in a company that uses SAP. The reason why we need this report is that our production planning department wants to see the characteristics they defined for the materials collectively. Material characteristics can be obtained with the CLAF_CLASSIFICATION_OF_OBJECTS function. Since we will query the materials collectively, we will read directly from the tables to gain performance.

In our report, we will query the characteristics in the “Material Class” class.

The values we will query are the values in the “General” tab of the screen below.

As seen in the screens above, it is a problem to go around the materials in order to see the characteristics entered in the material master data. As a solution to this problem, taking the following entry;

As a result, we will write the report that outputs as follows.

As a first step, let’s make the variables and definitions that we will use in our report.

TYPE-POOLS: SLIS.
TABLES: MARA, MAKT, CABNT, CABN, T006A, AUSP.

DATA: BEGIN OF GT_METADATAS OCCURS 0,
  MATNR LIKE MARA-MATNR, " material no.
  MAKTX LIKE MAKT-MAKTX, " Material description
  atinn LIKE AUSP-ATINN, " characteristic
  ATBEZ LIKE CABNT-ATBEZ, " Characteristic description
  MSEHI LIKE CABN-MSEHI, " Measurement unit
  ATWRT LIKE AUSP-ATWRT, " Character characteristic value
  ATFLV LIKE AUSP-ATFLV, " Numeric Lower value
  ATFLB LIKE AUSP-ATFLB, " numeric upper value
  MSEH6 LIKE T006A-MSEH6, " Unit of measure technical definition
  SPRAS LIKE T006A-SPRAS, " language
  ATFOR LIKE CABN-ATFOR, " data type
  ANZST LIKE CABN-ANZST, " character length
  ANZDZ LIKE CABN-ANZDZ, " number of decimal characters
  VAL1 TYPE C LENGTH 10, " numeric value sub
  VAL2 TYPE C LENGTH 10, " numerical value upper
  END OF GT_METADATAS.

DATA: FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: VARYANT TYPE DISVARIANT.
VARYANT-REPORT = SY-REPID.
VARYANT-USERNAME = SY-UNAME.

After making the definitions, let’s make the parameter definitions that we will get from the user.

SELECTION-SCREEN BEGIN OF BLOCK PARAMETERS WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
P_MATNR FOR MARA-MATNR,
  P_MATKL FOR MARA-MATKL.
SELECTION-SCREEN END OF BLOCK PARAMETERS.

START-OF-SELECTION.
  IF P_MATNR[] IS INITIAL AND P_MATKL[] IS INITIAL.
    MESSAGE 'Material number or one of the Goods Group must be entered'
    TYPE 'S' DISPLAY LIKE 'E'.
    CHECK 1 EQ 2.
  ENDIF.

Here, in the START-OF-SELECTION section, we are questioning the condition of filling in the material number or one of the goods groups. If both are empty, the transaction is canceled with CHECK. If both parameters are empty, the report will query all the parameters registered in the system and will cause it to work with a very low performance. Therefore, it is very important to enter parameters.

Then, with the following query, the necessary data is queried and transferred to the GT_METADATAS table.

SELECT
    MR~MATNR MT~MAKTX AP~ATWRT
    AP~ATFLV AP~ATFLB AP~ATINN
    CN~ATFOR CN~ANZST CN~ANZDZ
    CN~MSEHI CT~ATBEZ TA~MSEH6
    TA~SPRAS
    FROM MARA AS MR
    JOIN MAKT AS MT ON MR~MATNR EQ MT~MATNR
    JOIN AUSP AS AP ON MR~MATNR EQ AP~OBJEK
  JOIN CABN AS CN ON AP~ATINN EQ CN~ATINN
    JOIN CABNT AS CT ON CN~ATINN EQ CT~ATINN
  LEFT JOIN T006A AS TA ON CN~MSEHI EQ TA~MSEHI
  INTO CORRESPONDING FIELDS OF TABLE GT_METADATAS
  WHERE AP~OBJEK IN P_MATNR
  AND MR~MATKL IN P_MATKL.

  DELETE GT_METADATAS WHERE SPRAS IS NOT INITIAL AND SPRAS NE SY-LANGU.

As a result of the query, T006A table is used to get the measurement unit definition of the characteristic value. However, since all characteristic values are not units of measurement, they must be connected with LEFT JOIN. As per the LEFT JOIN rule, only the definition of a language cannot be specified, so we delete the definitions other than the language in which the user has entered from the GT_METADATAS table in line 17, whose language definition is not empty.

Since the numerical value is in scientific notation as 1.2000000000000000E+00 after receiving the data, these values must first be converted to values such as 12.,00 that the user can read. We use the FLTP_CHAR_CONVERSION function for this process. The DECIM parameter in the function specifies the number of characters after the comma.

LOOP AT GT_METADATAS WHERE ATFOR EQ 'NUM'.

    CALL FUNCTION 'FLTP_CHAR_CONVERSION'
      EXPORTING
      DECIM = GT_METADATAS-ANZDZ
        EXPON = 0
        INPUT = GT_METADATAS-ATFLV
        IVALU = 'X'
*       MASKN = ' '
      IMPORTING
        FLSTR = GT_METADATAS-VAL1.

    " Assigned to see values in a single column
    GT_METADATAS-ATWRT = GT_METADATAS-VAL1.

    CALL FUNCTION 'FLTP_CHAR_CONVERSION'
      EXPORTING
        DECIM = GT_METADATAS-ANZDZ
        EXPON = 0
        INPUT = GT_METADATAS-ATFLB
        IVALU = 'X'
*       MASKN = ' '
      IMPORTING
        FLSTR = GT_METADATAS-VAL2.

    MODIFY GT_METADATAS.

  ENDLOOP.

After these operations, we show the data to the screen. We use the following code for this process.

FORM SHOWDATA .
  DATA: I_SORT TYPE SLIS_SORTINFO_ALV,
        IT_SORT TYPE  SLIS_T_SORTINFO_ALV.
  I_SORT-SPOS  = 1.
  I_SORT-FIELDNAME = 'MATNR'.
  APPEND I_SORT TO IT_SORT.

  I_SORT-SPOS  = 2.
  I_SORT-FIELDNAME = 'MAKTX'.
  APPEND I_SORT TO IT_SORT.

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      I_PROGRAM_NAME     = SY-REPID
      I_INTERNAL_TABNAME = 'GT_METADATAS'
      I_INCLNAME         = SY-REPID
    CHANGING
      CT_FIELDCAT        = FCAT[].

  PERFORM SET_FCAT.

  LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      IS_LAYOUT          = LAYOUT
      IT_FIELDCAT        = FCAT[]
      I_SAVE             = 'A'
      IS_VARIANT         = VARYANT
      IT_SORT            = IT_SORT
    TABLES
      T_OUTTAB           = GT_METADATAS.

ENDFORM.                    " SHOWDATA


*&---------------------------------------------------------------------*
*&      Form  SET_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SET_FCAT .
  DATA: FCATROW LIKE LINE OF FCAT.

  LOOP AT FCAT INTO FCATROW.
    CASE FCATROW-FIELDNAME.
      WHEN 'MSEHI'.
        FCATROW-TECH = 'X'.
      WHEN 'SPRAS'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFOR'.
        FCATROW-TECH = 'X'.
      WHEN 'ANZST'.
        FCATROW-TECH = 'X'.
      WHEN 'ANZDZ'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFLB'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFLV'.
        FCATROW-TECH = 'X'.
      WHEN 'VAL1'.
        FCATROW-SELTEXT_S = 'Lower Value'.
        FCATROW-SELTEXT_M = 'Lower Value'.
        FCATROW-SELTEXT_L = 'Lower Value'.
        FCATROW-REPTEXT_DDIC = 'Lower Value'.
        FCATROW-TECH = 'X'.

      WHEN 'VAL2'.
        FCATROW-SELTEXT_S = 'Upper Value'.
        FCATROW-SELTEXT_M = 'Upper Value'.
        FCATROW-SELTEXT_L = 'Upper Value'.
        FCATROW-REPTEXT_DDIC = 'Upper Value'.
        FCATROW-TECH = 'X'.
    ENDCASE.

    MODIFY FCAT FROM FCATROW.

  ENDLOOP.

ENDFORM.                    " SET_FCAT

With the fields added to the IT_SORT table, we are telling you how to sort by default in the ALV to be displayed.

FCATROW-TECH = ‘X’ that we use in the SET_FCAT function. We say that the field related to the line will not be displayed.

Here is the whole code for the report.

*&---------------------------------------------------------------------*
*& Report  ZMaterialCharacteristic
*&
*&---------------------------------------------------------------------*
*& Note for Turkish speakers:
*& You can visit the link below to access my ABAP 
*& and other courses at a discount.
*& https://saitorhan.com/udemy-kurslarim/
*&---------------------------------------------------------------------*

REPORT ZMaterialCharacteristic.
TYPE-POOLS: SLIS.
TABLES: MARA, MAKT, CABNT, CABN, T006A, AUSP.

DATA: BEGIN OF GT_METADATAS OCCURS 0,
  MATNR LIKE MARA-MATNR, " material no.
  MAKTX LIKE MAKT-MAKTX, " Material description
  atinn LIKE AUSP-ATINN, " characteristic
  ATBEZ LIKE CABNT-ATBEZ, " Characteristic description
  MSEHI LIKE CABN-MSEHI, " Measurement unit
  ATWRT LIKE AUSP-ATWRT, " Character characteristic value
  ATFLV LIKE AUSP-ATFLV, " Numeric Lower value
  ATFLB LIKE AUSP-ATFLB, " numeric upper value
  MSEH6 LIKE T006A-MSEH6, " Unit of measure technical definition
  SPRAS LIKE T006A-SPRAS, " language
  ATFOR LIKE CABN-ATFOR, " data type
  ANZST LIKE CABN-ANZST, " character length
  ANZDZ LIKE CABN-ANZDZ, " number of decimal characters
  VAL1 TYPE C LENGTH 10, " numeric value sub
  VAL2 TYPE C LENGTH 10, " numerical value upper
  END OF GT_METADATAS.

DATA: FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: VARYANT TYPE DISVARIANT.
VARYANT-REPORT = SY-REPID.
VARYANT-USERNAME = SY-UNAME.


SELECTION-SCREEN BEGIN OF BLOCK PARAMETERS WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
P_MATNR FOR MARA-MATNR,
  P_MATKL FOR MARA-MATKL.
SELECTION-SCREEN END OF BLOCK PARAMETERS.

START-OF-SELECTION.
  IF P_MATNR[] IS INITIAL AND P_MATKL[] IS INITIAL.
    MESSAGE 'Material number or one of the Goods Group must be entered'
    TYPE 'S' DISPLAY LIKE 'E'.
    CHECK 1 EQ 2.
  ENDIF.

  PERFORM GETDATA.
  PERFORM SHOWDATA.



*&---------------------------------------------------------------------*
*&      Form  GETDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM GETDATA .
  SELECT
    MR~MATNR
    MT~MAKTX
    AP~ATWRT
    AP~ATFLV
    AP~ATFLB
    AP~ATINN
    CN~ATFOR
    CN~ANZST
    CN~ANZDZ
    CN~MSEHI
    CT~ATBEZ
    TA~MSEH6
    TA~SPRAS
    FROM MARA AS MR
    JOIN MAKT AS MT ON MR~MATNR EQ MT~MATNR
    JOIN AUSP AS AP ON MR~MATNR EQ AP~OBJEK
  JOIN CABN AS CN ON AP~ATINN EQ CN~ATINN
    JOIN CABNT AS CT ON CN~ATINN EQ CT~ATINN
  LEFT JOIN T006A AS TA ON CN~MSEHI EQ TA~MSEHI
  INTO CORRESPONDING FIELDS OF TABLE GT_METADATAS
  WHERE AP~OBJEK IN P_MATNR
  AND MR~MATKL IN P_MATKL.

  DELETE GT_METADATAS WHERE SPRAS IS NOT INITIAL AND SPRAS NE SY-LANGU.

  LOOP AT GT_METADATAS WHERE ATFOR EQ 'NUM'.

    CALL FUNCTION 'FLTP_CHAR_CONVERSION'
      EXPORTING
      DECIM = GT_METADATAS-ANZDZ
        EXPON = 0
        INPUT = GT_METADATAS-ATFLV
        IVALU = 'X'
*       MASKN = ' '
      IMPORTING
        FLSTR = GT_METADATAS-VAL1.

    " Assigned to see values in a single column
    GT_METADATAS-ATWRT = GT_METADATAS-VAL1.

    CALL FUNCTION 'FLTP_CHAR_CONVERSION'
      EXPORTING
        DECIM = GT_METADATAS-ANZDZ
        EXPON = 0
        INPUT = GT_METADATAS-ATFLB
        IVALU = 'X'
*       MASKN = ' '
      IMPORTING
        FLSTR = GT_METADATAS-VAL2.

    MODIFY GT_METADATAS.

  ENDLOOP.

ENDFORM.                    " GETDATA


*&---------------------------------------------------------------------*
*&      Form  SHOWDATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SHOWDATA .
  DATA: I_SORT TYPE SLIS_SORTINFO_ALV,
        IT_SORT TYPE  SLIS_T_SORTINFO_ALV.
  I_SORT-SPOS  = 1.
  I_SORT-FIELDNAME = 'MATNR'.
  APPEND I_SORT TO IT_SORT.

  I_SORT-SPOS  = 2.
  I_SORT-FIELDNAME = 'MAKTX'.
  APPEND I_SORT TO IT_SORT.

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      I_PROGRAM_NAME     = SY-REPID
      I_INTERNAL_TABNAME = 'GT_METADATAS'
      I_INCLNAME         = SY-REPID
    CHANGING
      CT_FIELDCAT        = FCAT[].

  PERFORM SET_FCAT.

  LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      IS_LAYOUT          = LAYOUT
      IT_FIELDCAT        = FCAT[]
      I_SAVE             = 'A'
      IS_VARIANT         = VARYANT
      IT_SORT            = IT_SORT
    TABLES
      T_OUTTAB           = GT_METADATAS.

ENDFORM.                    " SHOWDATA


*&---------------------------------------------------------------------*
*&      Form  SET_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SET_FCAT .
  DATA: FCATROW LIKE LINE OF FCAT.

  LOOP AT FCAT INTO FCATROW.
    CASE FCATROW-FIELDNAME.
      WHEN 'MSEHI'.
        FCATROW-TECH = 'X'.
      WHEN 'SPRAS'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFOR'.
        FCATROW-TECH = 'X'.
      WHEN 'ANZST'.
        FCATROW-TECH = 'X'.
      WHEN 'ANZDZ'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFLB'.
        FCATROW-TECH = 'X'.
      WHEN 'ATFLV'.
        FCATROW-TECH = 'X'.
      WHEN 'VAL1'.
        FCATROW-SELTEXT_S = 'Lower Value'.
        FCATROW-SELTEXT_M = 'Lower Value'.
        FCATROW-SELTEXT_L = 'Lower Value'.
        FCATROW-REPTEXT_DDIC = 'Lower Value'.
        FCATROW-TECH = 'X'.

      WHEN 'VAL2'.
        FCATROW-SELTEXT_S = 'Upper Value'.
        FCATROW-SELTEXT_M = 'Upper Value'.
        FCATROW-SELTEXT_L = 'Upper Value'.
        FCATROW-REPTEXT_DDIC = 'Upper Value'.
        FCATROW-TECH = 'X'.
    ENDCASE.

    MODIFY FCAT FROM FCATROW.

  ENDLOOP.

ENDFORM.                    " SET_FCAT

After we start using the report in our system, we aim to increase the analysis ability by seeing the material characteristics collectively, especially in the production planning department.

Rating: 0 / 5 (0 votes)

The post Material Characteristics Batch View Report appeared first on ERP Q&A.

]]>
Convert Repetitive Manufacturing into Discrete Manufacturing Process https://www.erpqna.com/convert-repetitive-manufacturing-into-discrete-manufacturing-process/?utm_source=rss&utm_medium=rss&utm_campaign=convert-repetitive-manufacturing-into-discrete-manufacturing-process Sun, 17 Apr 2022 09:31:11 +0000 https://www.erpqna.com/?p=62029 Below are the important steps to convert repetitive manufacturing processes into discrete manufacturing processes: Steps: 1. C223– Not able to delete the production version. 2. MF47– Clear the COGI/ Post processing error. 3. MF45– Clear reprocessing components: Rep.Manuf.(Cross checking) Order settlement process 4. KKAS– WIP Calculation Maintain below input data and click execute. 5. KKS6– […]

The post Convert Repetitive Manufacturing into Discrete Manufacturing Process appeared first on ERP Q&A.

]]>
Below are the important steps to convert repetitive manufacturing processes into discrete manufacturing processes:

  1. Delete all the unnecessary demand and run MRP. So that all the open planned orders will be deleted from the system.
  2. Finish all the production bookings in MFBF, so that there’s no more cancellation. Ensure all the reprocessing records are processed successfully that are lying in MF47(if any).
  3. Coordinate with costing team to process Overhead calculation/ WIP calculation/ Variance calculation & Settlement of the product cost collectors.
  4. Set the deletion flag for the product cost collector in KKF6N once the cost balance is zero.
  5. Uncheck the ‘REM Allowed’ indicator in the production version and Save the production version.
  6. Select the required production version and delete.
  7. Remove the REM profile, REM allowed indicator, and Action control from the material master for which REM to Discrete conversion is required.

Steps:

1. C223– Not able to delete the production version.

2. MF47– Clear the COGI/ Post processing error.

3. MF45– Clear reprocessing components: Rep.Manuf.(Cross checking)

Order settlement process

4. KKAS– WIP Calculation

Maintain below input data and click execute.

5. KKS6– Variance calculation.

Maintain below input data and click execute.

6. KK87– Actual settlement- product cost collector.

Maintain below input data and click execute.

Master data changes

7. KKF6N change – Product cost collector.

Edit> Deletion flag> Set and Save.

MAN Production Planning (PP), MM (Materials Management), PLM Quality Management (QM), SAP S/4HANA, MAN Material Requirements Planning

8. C223 or MM02- MRP4 Production version.

Uncheck Rem allowed, remove production line, click continue and save.

9. Select the relevant production version, click the delete button, and save.

10. MM02– MRP4 View

Uncheck Rep mfg, remove rem profile, remove action control, and save.

Rating: 0 / 5 (0 votes)

The post Convert Repetitive Manufacturing into Discrete Manufacturing Process appeared first on ERP Q&A.

]]>
Sub-Contracting where components Issue from one plant and Finished product received by another Plant https://www.erpqna.com/sub-contracting-where-components-issue-from-one-plant-and-finished-product-received-by-another-plant/?utm_source=rss&utm_medium=rss&utm_campaign=sub-contracting-where-components-issue-from-one-plant-and-finished-product-received-by-another-plant Sun, 20 Mar 2022 09:12:09 +0000 https://www.erpqna.com/?p=61054 Subcontracting process In this blog-post, SAP Sourcing and Procurement consultant will be able to learn the concept and mapping procedure of Subcontracting Process with two different plants i.e one plant creating the PO and other plant is issuing the components to the Subcontracting vendor in SAP system. Subcontracting process is generally used in most of […]

The post Sub-Contracting where components Issue from one plant and Finished product received by another Plant appeared first on ERP Q&A.

]]>
Subcontracting process

In this blog-post, SAP Sourcing and Procurement consultant will be able to learn the concept and mapping procedure of Subcontracting Process with two different plants i.e one plant creating the PO and other plant is issuing the components to the Subcontracting vendor in SAP system.

Subcontracting process is generally used in most of the industries. In subcontracting process, raw materials are provided to subcontracting vendor. It’s being processed by subcontracting vendor, convert it to semi-finish material and deliver back.

Sometimes, components may not be available with the plant where the subcontracting PO was created but components will be available at the another plant which is under the same company code to provide the components to the subcontractor.

There are two plants under the same company code – say Plant (S001) and Plant (US99).

Plant (S001) will issue the Raw materials to subcontractor (Ranemadras pvt ltd (4000020)) and the vendor (Ranemadras pvt ltd (4000020)) will send the processed goods to the Plant (US99), against the subcontract PO.

Here, My Sub-contract Vendor is Ranemadras pvt ltd (4000020)

Please follow the Configuration steps

  • Create a Customized special procurement type I.e., Sub-Contracting.

IMG->Material Management->Consumption Based -Planning -> Master Data-> Define Special Procurement Types

Create a special procurement Type, say S1 for plant (US99) by copying the special

procurement type 30.

Check the tick mark withdrawal alternate plant as well as the issuing plant (S001) as shown above:

Look at the above, I have highlighted in red

Note: Material Master should be existing for both plants i.e., sending and receiving plant

  • Create a Raw material for Plant (US99) via MM01

For plant S001

Material 20039 created

Same Material should be extended for the plant US99

Go to MRP2 view and maintain the special procurement Type “S1” for Plant US99 Material 20039

  • Creating Finished Product for both plants S001& US99 via MM01

Material 7 created

  • Create BOM for plant US99 materials

Creating BOM for material 7

Note: In S/4HANA Production Version is the mandatory, why because without Production Version components will not explore at PO.

  • Create a Production Version Via SE38, or C223

Program: CS_BOM_PROVDER_MIGRATION

Select the line, and then click on Approve all

  • Create Sub-Contracting PO for Plant (US99)

Here, must enter the receiving plant (US99),

Click on Components

Here, we can see the issuing plant S001

Standard PO created under the number 4500000347

  • Post Goods Issues ME2O

See the issuing plant S001

  • Check the Stock using MMBE
  • Components Receipt via MIGO

Please observe, receiving plant US99 & supplying plant S001

i.e., issuing the Raw material to the sub-contracting vendor from plant S001, and finished goods receiving to the Plant US99

please find, Sub-Contracting Vendor

Material document 6000000011 posted,

Check the accounting entries

Result: The Main material is received in plant US99 from subcontractor (Ranemadras pvt ltd (4000020)) and the components are consumed from alternate plant S001

  • Check the Stock via MMBE

create Invoice via MIRO for sub-contracting service charge with ref. PO.

Conclusion: This article explained the process scenario of Subcontracting where issuing the components from another plant in SAP Procurement also it shows how the production version can be used to explore the BOM at PO in S4 HANA. I believe, It will be helpful and will provide sufficient information to the readers.

Rating: 0 / 5 (0 votes)

The post Sub-Contracting where components Issue from one plant and Finished product received by another Plant appeared first on ERP Q&A.

]]>