Material Classification Report in SAP PP (CL30N, Tables and Queries)
material classification report in sap pp
Also searched as
- sap pp reports
- sap pp query examples
- list materials by class and characteristic value sap
- CL30N find objects in classes
Short answer
To report on material classification in SAP PP, use CL30N (Find Objects in Classes) with class type 001, enter the class and characteristic values, and execute. For lists that CL30N cannot produce, join MARA, INOB, KSSK, KLAH and AUSP in SQVI or SQ01 and add the characteristic values you need as columns.
Applies to: SAP ECC 6.0 and S/4HANA (on-premise), class type 001 for materials; class types 200 and 300 follow the same pattern
How to list materials by class and characteristic
- 1Run CL30N, choose class type 001 (Material class) and enter the class name, for example a class for raw materials or machined parts.
- 2On the characteristics tab enter the values you want to filter on, such as a material grade or diameter. Use ranges for numeric characteristics.
- 3Execute. The result lists the materials allocated to the class that match. Use Change layout to add characteristic values as columns.
- 4To see everything about one material, run CL20N, enter the material and class type, and read the characteristic values assigned to it.
- 5To see which classes and characteristics exist, use CL02 for class master data and CT04 for characteristic definitions.
- 6For a recurring list with MRP or PP data next to the classification, build an InfoSet or query in SQ02 and SQ01, or a quick join in SQVI, using the tables below.
How classification data is stored
Classification is generic: the same engine serves materials, equipment, batches and other objects. A class (table KLAH) groups characteristics (table CABN). An object is allocated to a class in KSSK. The actual characteristic values sit in AUSP, keyed by an internal object number.
For materials the link between the material number and that internal number is table INOB, where OBTAB is MARA and OBJEK is the material number. That is why a report that looks simple in the screen needs a four-table join in SQL.
Class type 001 is the standard for materials. Batch classification uses class type 023 and sits on a separate object link, so it needs its own report.
-- Materials in a class with one characteristic value (illustrative) SELECT m.matnr, m.mtart, c.atnam, a.atwrt, a.atflv FROM mara m JOIN inob i ON i.objek = m.matnr AND i.obtab = 'MARA' AND i.klart = '001' JOIN kssk k ON k.objek = i.cuobj AND k.klart = '001' JOIN klah h ON h.clint = k.clint JOIN ausp a ON a.objek = i.cuobj AND a.klart = '001' JOIN cabn c ON c.atinn = a.atinn WHERE h.class = 'RAW_STEEL'
Query examples for PP planners
In SQVI, build a basic view on MARC joined to INOB, KSSK and AUSP so planners can list plant-specific materials by class. Add MARC fields such as MRP controller (DISPO) and procurement type (BESKZ) so the list is usable for planning review.
For a repeatable report, create an InfoSet in SQ02 over a table join, assign it to a user group, and build the query in SQ01. This keeps authorisation, layouts and variants under control, which SQVI does not.
Standard PP lists such as COOIS (production order information system), CO46 (order progress) and MD04 (stock and requirements list) do not show classification. If planners need a class characteristic in the order list, either add it through a layout field from the material master or extend with a custom field, since there is no standard column for it.
S/4HANA considerations
In S/4HANA the classic transactions still work, and classification has Fiori apps such as Manage Classes and Manage Characteristics. Reporting on classification values is also available through released CDS views in the Fiori Apps Reference Library, which is the supported route for new custom reports.
Avoid reading AUSP directly in custom code on S/4HANA when a released view exists. Direct table reads work today but are not covered by upgrade compatibility guarantees.
Try it here, free
SAP PP Database Tables Reference
A lookup of the main SAP PP database tables, what each holds and the key fields to join on.
Common pitfalls
- !CL30N returns nothing if the class type is wrong. Material classes are type 001; a batch class under 023 will not appear.
- !Characteristic values are in AUSP as text (ATWRT) or floating point (ATFLV). Numeric filters must use ATFLV, not ATWRT.
- !A material can sit in several classes. Joining KSSK without a class filter duplicates rows.
- !Classification data is client-wide, but MARC data is plant-specific. Joining MARA only hides plant differences that planners care about.
- !SQVI queries are user-specific and not transported. Use SQ01 or a CDS view for anything shared.
How an ERP-grounded AI assistant handles this
A grounded assistant such as ERPray can answer a request like 'list all raw materials in steel grade X with open production orders' by joining the classification tables, MARC and the order tables itself, show the generated query for review, and return the result read-only. It removes the need for planners to learn the INOB and KSSK join. On-prem deployments keep the query and the results inside your network.
Frequently asked questions
Which transaction lists all materials in a class?
Use CL30N (Find Objects in Classes) with class type 001 and the class name. CL20N works the other way, showing the classes and values for one material.
Which tables hold material classification values?
INOB links the material to an internal object number, KSSK allocates it to a class in KLAH, and AUSP holds the characteristic values. CABN holds characteristic definitions.
Can I add a classification value to COOIS?
Not as a standard column. Options are a custom query joining the order tables to AUSP, a CDS view, or copying the value into a material master field that COOIS can show.
What is the difference between SQVI and SQ01?
SQVI is a quick personal view that is not transported. SQ01 with an InfoSet from SQ02 is the managed route with user groups, transports and shared layouts.
Related
SAP PP Standard Reports: COOIS, CO46, MD04, CM01, CS12 and PPIO_ENTRY
The core standard reports in SAP PP are COOIS (order information system), CO46 (order progress), MD04 (stock and requirements list), CM01 (capacity load by work center), CS12 (multilevel BOM) and COGI (goods movement errors). PPIO_ENTRY is an entry point to the order information system with list-based selection for orders, operations and components.
How-toSAP SE16N vs SQVI: Table Browser vs Ad Hoc Query
SE16N is a single-table browser: fast filtering, formatted display, and export from one table at a time, with an optional edit function for authorized users. SQVI (Quick Viewer) builds ad hoc queries that join multiple tables without writing ABAP, and can be saved as a reusable report. Use SE16N for a quick look at one table; use SQVI when you need data joined across two or more tables.
How-toHow to create a material in SAP MM (MM01) and mass-change it with MM17
Run MM01, enter the material number or let it be assigned, pick the industry sector and material type, select the views and organizational levels, then maintain each view and save. MM17 mass-changes selected material master fields. In S/4HANA the material number can be up to 40 characters.
How-toSAP PP End to End Configuration: Steps, IMG Paths and Process Flow
SAP PP configuration runs in a fixed order: enterprise structure (plant, storage location, planning plant), master data (material, BOM, work center, routing, production version), MRP and planning, production order types and scheduling, confirmation, then costing and settlement. Get the order right because each layer depends on the one before it. The IMG node is Production in SPRO, plus Materials Management for plant and MRP basics.
Error fixSAP M7 021: Deficit of SL Stock Quantity
M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.
Error fixSAP IDoc Status 51: Application Document Not Posted
Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.
AI for ERPAI Agents for SAP Production Planning, MRP, and Exception Triage
AI agents that triage SAP MD04 exceptions, explain predictive MRP shortages, and draft planned-order actions, grounded on your own SAP data, deployed on-prem.
AI for ERPAI for SAP S/4HANA, Running On-Prem or in Your Private Cloud
Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.
Stuck on SAP ERP / S/4HANA?
Talk to engineers who work inside SAP ERP / S/4HANA every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- SAP PP Database Tables ReferenceA lookup of the main SAP PP database tables, what each holds and the key fields to join on.
- SAP Classification Values ABAP GeneratorEnter a material and a class type and get an ABAP snippet that resolves the internal object number and lists every assigned characteristic and value.
- SAP PP Transaction Codes ReferenceA searchable cheat sheet of the SAP PP transaction codes planners and consultants use every day, grouped by area.
ERP fixes and how-tos
- SAP SE16N vs SQVI: Table Browser vs Ad Hoc QuerySE16N shows one table with filters and exports; SQVI joins multiple tables into a reusable ad hoc query. Here is when to use each, with setup steps for a first SQVI query.
- SAP PP End to End Configuration: Steps, IMG Paths and Process FlowSAP PP end to end configuration in order: organizational structure, master data, MRP, order types, confirmation, costing and settlement, with IMG paths and tcodes.
- SAP PP, PM and MM API: Production Orders, Maintenance Orders and Material MasterWhich SAP APIs cover production orders, maintenance orders and material master (MM02)? OData service names, BAPI alternatives and a sample GET call.