brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
sap-pmThis skill handles SAP PM (Plant Maintenance / 설비보전) including Equipment Master (IE01/IE02/IE03), Functional Location (IL01/IL02/IL03), Maintenance Notifications (IW21/IW22/IW23), Maintenance Orders (IW31/IW32/IW33), Preventive Maintenance (IP01/IP10/IP30), Task Lists (IA01/IA05), Maintenance Planning, and Plant Maintenance Reporting (IW28/IW29/IW38/IW39). …
Independent GitHub snapshot · Automated classification · Original documentation governs
Before answering PM questions, collect:
Key T-codes & Menu Path
| Field | Meaning | Mandatory | Notes |
|---|---|---|---|
| EQUNR | Equipment number | Y | Unique 18-char ID; can be internal/external assigned |
| EQKTX | Equipment description | Y | 40 chars; recommend English + Korean |
| EQART | Equipment category | Y | PUMPE (pump), MOTOR (motor), KOMPR (compressor) etc. |
| MATNR | Material master | N | Links to inventory; if serial-tracked material, serializes equipment |
| SERGE | Serial number | N | Hardware serial from nameplate; used in warranty tracking |
| HEQUI | Higher-level equipment | N | Parent equipment (e.g. pump is part of production line) |
| ILOAN | Functional location | Y | Must exist in IFLO before assignment |
| MANDT | Company code | Y | Set at creation; cannot change |
| WERKS | Plant | Y | Maintenance-executing plant |
| KMFID | Manufacturer | N | Free-text; recommend SAP vendor master LIFNR |
| GEWICHT | Weight | N | For spare parts estimation |
| INBDT | Startup date | N | Important for MTBF calculation period |
Table KLAH (classification header) + KLASP (assignment):
Hierarchical structure — represents plant's physical/logical organization
Key T-codes
Production Line A (ZFUNCLOC-PRODLINE-A)
├─ Section 1 (ZFUNCLOC-PRODLINE-A-SEC1)
│ ├─ Equipment: Motor, Pump, Control Panel
└─ Section 2 (ZFUNCLOC-PRODLINE-A-SEC2)
├─ Equipment: Conveyor, Sensor
| Field | Table | Meaning | Notes |
|---|---|---|---|
| TPLNR | IFLO | Functional location ID | 40-char hierarchical, e.g., PROD-001-002 |
| TXTMI | IFLOT | Description (multilingual) | Store in DE, EN, KO |
| FLTYP | IFLO | Functional location type | e.g., PUMPING_STATION, MOTOR_ROOM |
| GEWRK | IFLO | Responsible work center (PM team) | Links to CR01 work center |
| HFLOC | IFLO | Higher-level functional location | Parent node |
| STRNO | IFLO | Building/hall number | Organizational reference |
| MANDT | IFLO | Company code | Assigned at creation |
Entry point for all maintenance requests — whether breakdown or planned
| Notification Type | ID | Trigger | Example Use Case |
|---|---|---|---|
| Malfunction (고장) | M1 | Breakdown reported by operator | "Motor stopped working" |
| Maintenance request | M2 | Preventive or user-initiated task | "Annual pump inspection needed" |
| Activity report (업무보고) | M3 | Post-maintenance completion record | "Replaced bearings on motor" |
| Calibration notification | M4 | Instrument calibration schedule | "Pressure gauge needs recalibration" |
| T-code | Description |
|---|---|
| IW21 | Create notification |
| IW22 | Change notification |
| IW23 | Display notification |
| IW24 | List of notifications (selection) |
| IW28 | Notification listing (reporting) |
| IW29 | Notification analysis (OLAP) |
| Field | Table | Meaning | Max Length |
|---|---|---|---|
| QMNUM | QMEL | Notification number | 12 digits (internal/external assigned) |
| QMTXT | QMEL | Short description | 40 chars |
| LTXT | QMEL | Long text | 2500 chars (ALV memo) |
| EQUNR | QMEL | Equipment or... | 18 chars |
| TPLNR | QMEL | Functional location | 40 chars (either EQUNR or TPLNR required) |
| SCHAD | QMEL | Damage/fault code | 4 chars; must exist in custom table (e.g., ZMAINTCODES) |
| URSACHE | QMIH | Root cause code | 4 chars; ABAP table maintained via SPRO |
| AKTIVITAET | QMIH | Activity code (work type) | 4 chars; e.g., REPAIR, INSPECT, REPLACE |
| ANLDAT | QMEL | Notification creation date | Auto-filled |
| MERDAT | QMEL | Reported date/time | User-entered (when problem was discovered) |
| PRIO | QMEL | Priority (1=urgent, 4=low) | Links to SLA |
| ARBPL | QMEL | Assigned work center | CR01 resource pool |
| AUART | QMIH | Associated order type | e.g., PM01, PM02 (links to maintenance order) |
Damage codes (Schädigungen) → categorize what broke
Root cause codes → categorize why it broke
Activity codes → actions taken
IW21 (Create) → IW22 (Edit, assign to equipment/FL)
→ Create Maintenance Order (IW31) or Assign Existing (IW81)
→ Complete Notification (IW21 → Status = COMPLETED)
→ Archive / History Report (IW28, IW29)
Execution unit — operationalizes a notification into scheduled work with costing
| Order Type | Purpose | Settlement | Workflow |
|---|---|---|---|
| PM01 | Preventive maintenance | Cost center or internal order | Recurring |
| PM02 | Breakdown maintenance | Cost center or internal order | Ad-hoc |
| PM03 | Corrective action / temporary fix | Internal order | One-time |
| PM10 | Maintenance by vendor/contract | Purchase order line | Outsourced |
| ER01 | Emergency order (fast-track) | Cost center | Expedited release |
CRTD (Created) → PLAN (Planning) → RELD (Released)
→ TECO (Technically Complete) → CLSD (Closed)
Key transitions:
| T-code | Description |
|---|---|
| IW31 | Create maintenance order |
| IW32 | Change maintenance order |
| IW33 | Display maintenance order |
| IW38 | Maintenance order list (with statuses) |
| IW39 | Maintenance order analysis (OLAP) |
| COOIS | Production order info system (includes maintenance orders) |
| Field | Table | Meaning | Key Link |
|---|---|---|---|
| AUFNR | AUFK | Maintenance order number | 12 digits |
| AUART | AUFK | Order type (PM01, PM02...) | Defines cost collection rules |
| EQUNR | AUFK | Equipment | Equipment master (EQUI) |
| TPLNR | AUFK | Functional location | FL master (IFLO) |
| QMNUM | AUFK | Notification reference | Notification (QMEL) |
| KOSTL | AUFK | Cost center (account assignment) | GL posting account |
| INAUFNR | AUFK | Internal order (account assignment) | Alternative to cost center |
| ERDAT | AUFK | Creation date | Audit trail |
| GSTDT | AUFK | Scheduled start date | Capacity planning |
| GETDT | AUFK | Scheduled end date | Capacity planning |
| FZDAT | AUFK | Actual start date | Filled by TECO or confirm |
| FZEND | AUFK | Actual end date | Filled by TECO or confirm |
| GGRTXT | AUFK | Order description | 40 chars |
| MGVST | AUFK | Total planned labor hours | Sum of operations (AFIH.LAH) |
| STATUS | JEST | Order status (via object key AUFK + status cat P) | Links to JEST table (status management) |
Operations (AFIH table) — individual tasks within maintenance order
| Field | Meaning | Type |
|---|---|---|
| LTEXT | Operation description | Text, e.g., "Replace pump seal" |
| LAH | Standard labor hours | Decimal, e.g., 4.5 |
| MGH | Standard machine hours | Used for resource capacity planning |
| ARBPL | Work center | CR01 resource (e.g., MAINT_TEAM_A) |
| LTXA | Operation long text | Detail work instructions |
Components (BOM link) — spare parts required
Labor hours collection (CO11N confirmation)
Spare parts cost (MIGO)
Overhead allocation (KO88)
Automated scheduling of recurring maintenance tasks
| T-code | Description |
|---|---|
| IP01 | Create maintenance plan |
| IP02 | Change maintenance plan |
| IP03 | Display maintenance plan |
| IP10 | Call object scheduling (run planner) |
| IP30 | Deadline monitoring |
| Plan Type | Trigger Condition | Interval |
|---|---|---|
| Time-based (Z1) | Calendar days | e.g., every 30 days, every 1 January |
| Counter-based (Z2) | Equipment counter (QMSREC) | e.g., every 10,000 operating hours |
| Multiple-counter (Z3) | Multiple counters (e.g., hours + days) | Whichever comes first |
| Performance-based (Z4) | Equipment performance KPI | e.g., when efficiency drops below 95% |
Strategy = grouping of maintenance tasks → optimize scheduling
Example: Monthly production line maintenance (STRAT_PRODLINE_M)
| Field | Meaning | Example |
|---|---|---|
| BESCHREIBUNG | Strategy name | "MOTOR_BEARING_MAINTENANCE" |
| MPLNR | Maintenance plan number | "MPLAN-MOTOR-001" |
| IPRFL | Task list (group of tasks) | "TASKLIST-BEARING-005" |
| ISCHA | Scheduling parameter | e.g., "EVERY_30_DAYS" |
| LETWZ | Calendar rule | "MON" (Monday), "D" (daily) |
| MAINT_TYPE | Maintenance type | "PREVENTIVE", "PREDICTIVE" |
Reusable checklists & instructions
| T-code | Description |
|---|---|
| IA01 | Create task list (general) |
| IA05 | Create task list (maintenance) |
| IA06 | Maintain task list status |
Task list structure (PLKO + PLPO)
Example: Pump Inspection Task List (TASKLIST-PUMP-INSPECT)
Step 10: Visual inspection (0.5 hrs, work center: MAINT_VISUAL)
Step 20: Vibration check (1.0 hr, equipment: VIBRATION_METER)
Step 30: Temperature measurement (0.5 hrs, sensor: TEMP_PROBE_001)
Step 40: Oil sampling (0.25 hrs, material: OIL_SAMPLE_BOTTLE)
Step 50: Report findings (0.5 hrs, work center: MAINT_ADMIN)
Total: 2.75 hours
Generates notifications/orders based on maintenance plans
Tracks which equipment is overdue for maintenance
| Status | Meaning |
|---|---|
| Green | On schedule |
| Yellow | Within lead time (e.g., due within 5 days) |
| Red | Overdue |
Usage:
Equipment counters — track usage-based maintenance triggers
| Counter Type | Example | Unit |
|---|---|---|
| Operating hours | Production line hours | Hours |
| Cycles | Number of production runs | Cycles |
| Distance | Vehicle mileage (for mobile equipment) | km |
| Quantity | Material processed (e.g., tons in cement plant) | Units |
Recording counter reads:
Operator or manager reports failure:
| Field | Table | Meaning | Impact on KPI |
|---|---|---|---|
| MERDAT | QMEL | Time failure reported | Start of downtime clock |
| BEGDA | QMIH | Planned start of repair | Used in SLA tracking |
| FZDAT | AUFK | Actual repair start | Marks crew dispatch time |
| FZEND | AUFK | Actual repair end | End of downtime |
Downtime calculation:
Formula: Total Equipment Uptime / Number of Failures
Uptime period: INBDT (startup date) to current date or end date
Failure count: Sum of notifications with SCHAD = malfunction codes
SAP tracking:
Example:
Formula: Total Repair Time / Number of Repairs
Repair time sourced:
SAP tracking:
Example:
IW28 — Notification Listing
IW29 — Notification Analysis (OLAP)
Complete overhaul of equipment — treated as major maintenance project
Order type: PM03 or special project order
Process:
Link between equipment and material master (MATNR)
Field: EQUI-SERGE (equipment serial number)
Automatic log in EQUZ table
Example: Motor Refurbishment Event
Posts maintenance costs from AUFK to receiver (cost center or internal order)
Key T-codes:
| Rule ID | From (Order Type) | To (Receiver) | Cost Element |
|---|---|---|---|
| RULE-PM01 | PM01 (preventive) | Cost center + 400100 (PM labor) | 400100 |
| RULE-PM02 | PM02 (breakdown) | Cost center + 400200 (Repair) | 400200 |
| RULE-PM03 | PM03 (refurb) | Internal order + project code | 400300 |
Variance categories:
Best practice:
Annual maintenance budget planning — by equipment category, order type, cost center
Example budget structure:
Tracking:
| Feature | ECC 6.0 | S/4HANA |
|---|---|---|
| Notification tables | QMEL, QMIH, QMSM (separate) | Simplified data model; same QMEL but CDS views (I_MaintenanceNotification) |
| Equipment table | EQUI, EQUZ, EQAO (sparse) | EQUI same, but ZN prefix views for S/4 (C_EquipmentActive) |
| Maintenance order status | JEST (complex, multi-object) | JEST same but MBC (Maintenance Business Config) replaces IMG |
| Fiori apps | Limited (IW21, IW31 desktop) | My Maintenance Notifications (fiori), My Work Orders (fiori), Equipment Health Dashboard (Analytics) |
| Mobile maintenance | Mobile client (add-on) | SAP Asset Manager (native iOS/Android) — real-time counter reads, photo capture |
| Preventive maintenance | IP10 (batch scheduler) | IP10N (HANA-optimized) + Predictive Maintenance (SAP Data Intelligence, PAI) integration |
| Reporting | IW28, IW29 (ALV) | IW28/IW29 same, BUT Analytics Cloud (SAC) dashboards + Predictive MTBF modeling |
| GR/IR for spare parts | Standard MIGO 101/261 | Same, but embedded eWM (optional storage location barcode scanning) |
| External services | PO-based services in order | Same, but integrated procurement (SAP Fieldglass if on Cloud) |
| Serial number | Manual IE02 or GR barcode scan | Automatic scanner integration (IoT) in Asset Manager |
| Integration to PM | MES external interface (IDOC, RFC) | Native REST API for counter pushes from MES / Predictive Maintenance Engine |
| User authorization | PFCG (single-user role) | SAP_BR_PLANT_MAINTENANCE role (Fiori-based) — simplified role model |
| Equipment history | EQUZ log only | Equipment history + Process intelligence (audit trail of all changes) |
설비 가동률 (Equipment Availability) 관리
3교대 근무 환경에서의 설비 관리
안전관리와 PM 법적 연계 (산업안전보건법 제23조)
MES ↔ SAP PM 실시간 연동
BAPI_EQUI_SET_COUNTER → Equipment counter 자동 갱신외주 보전 관리 (Contract Maintenance with Vendors)
설비별 소비자부품 (Consumable Parts) 자동 발주
설비 성능 성과금(Incentive) 관리
설비 감가상각과의 연계 (Asset Management Integration)
Follow sapstack Universal Rules:
Issue → Root Cause → Check (T-code + Table.Field) → Fix (Steps) → Prevention → SAP Note
Issue: Motor MOTOR-001 has 8 failures in 4 months (MTBF = 15 days)
Root Cause Hypotheses:
Check:
IE03 → MOTOR-001 → Equipment History tab (EQUZ)
IW24 → Filter EQUNR=MOTOR-001, date range 4 months
→ Count notifications (QMNUM)
→ Examine QMIH-URSACHE field (root cause codes)
IW28 → Report "Failure Frequency by Equipment & Cause"
→ Identify if URSACHE concentrated (indicates pattern)
IP30 → Search MOTOR-001
→ Check if any preventive tasks overdue (RED status)
Fix (if preventive maintenance overdue):
Fix (if root cause = design defect):
Prevention:
SAP Notes (if applicable):
references/ko/quick-guide.md — Maintenance order creation workflow (fast path)references/ko/SKILL-ko.md — Korean field language guide for PM terms