# Material Classification Report in SAP PP (CL30N, Tables and Queries)

> Source: https://netray.co/erp-help/material-classification-report-in-sap-pp
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## 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.

## Kind

how-to

## System

sap

## Erp

SAP ERP / S/4HANA

## Module

PP / Classification (CL30N, CL20N)

## Query

material classification report in sap pp

## Alternate Queries

- sap pp reports
- sap pp query examples
- list materials by class and characteristic value sap
- CL30N find objects in classes

## 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

## Steps

### How to list materials by class and characteristic

**Items:**

- Run CL30N, choose class type 001 (Material class) and enter the class name, for example a class for raw materials or machined parts.
- On the characteristics tab enter the values you want to filter on, such as a material grade or diameter. Use ranges for numeric characteristics.
- Execute. The result lists the materials allocated to the class that match. Use Change layout to add characteristic values as columns.
- To see everything about one material, run CL20N, enter the material and class type, and read the characteristic values assigned to it.
- To see which classes and characteristics exist, use CL02 for class master data and CT04 for characteristic definitions.
- For 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.

## Sections

### How classification data is stored

**Body:**

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.

**Code:**

-- 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

**Body:**

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

**Body:**

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.

## 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.

## Ai Angle

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.

## Faq

### Which transaction lists all materials in a class?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

material classification report sap, CL30N find objects in classes, sap pp reports, sap pp query examples, sap classification tables KSSK AUSP INOB, CL20N material classification, sap class type 001, SQ01 SQ02 query sap, sap SQVI query materials

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
