---
name: sap-fiori-tree-table
description: 'Configure hierarchical tree table to SAP Fiori elements application for displaying parent-child recursive hierarchies. Supports CAP and ABAP RAP (OData V4).'
argument-hint: 'Entity name (and ABAP package for RAP projects)'
metadata:
  author: sap-fiori-tools
  version: "0.0.2"
---

# SAP Fiori Tree Table with Recursive Hierarchy

## Purpose
Configure **hierarchical tree table** to display parent-child relationships in a recursive structure (organizational hierarchies, category trees, nested data).

## Environment Requirements

**CAP Projects:**
- ✅ **VS Code or SAP Business Application Studio (BAS)** - Both environments supported
- ✅ **Fiori MCP Server** - Required for Fiori app generation and modification (VS Code only)
- ✅ **CDS MCP Server** - Required for CDS model queries

**ABAP RAP Projects:**
- ✅ **VS Code only** - ABAP Development Tools extension is VS Code-specific
- ✅ **Fiori MCP Server** - Required for Fiori app generation and modification
- ✅ **ABAP Development Tools for VS Code extension** - Required for backend development (includes ADT MCP server for RAP operations)

## MANDATORY: Gather Required Inputs First

**STOP and ASK the user for ALL of these inputs if ANY are missing from the prompt:**

### For ABAP RAP Projects:
1. **Package name** - Where to create or find backend hierarchy objects ($TMP for local, or specific package like Z_MAINT)
2. **Transport Required**: Depends on package type (No for local packages like $TMP, Yes for transportable packages)
3. **Entity name** - The entity to make hierarchical (e.g., "Equipment", "Category", "FunctionalLocation")

### For CAP Projects:
1. **Entity name** - The entity to make hierarchical (e.g., "Travel", "Category", "ProductCategory")

**DO NOT proceed with implementation until all inputs are confirmed.**

---

## CAP Implementation

📖 **[Complete CAP Implementation Guide](./references/cap-implementation.md)**

**Quick Summary:**
- 6-step process: Check entity → Add association → Add @hierarchy → Configure manifest → Create data → Test
- Supports UUID, String, and Integer keys (single key only)
- Requires @sap/cds 9.6.0+ and OData V4
- Use CDS MCP to search model before editing

---

## ABAP RAP Implementation

📖 **[Complete RAP Implementation Guide](./references/rap-implementation.md)**

**Quick Summary:**
- 4-step process: Check existing hierarchy → Implement backend → Configure manifest → Test
- **Decision required:** Read-only (List Report only) vs. Editable (with Object Page)
- For detailed backend implementation:
  - [Read-Only Treeviews Guide](./references/rap-read-only-treeviews.md)
  - [Editable Treeviews Guide](./references/rap-editable-treeviews.md)

---

## Quick Troubleshooting

### CAP Common Issues
- **"@hierarchy not supported"** → Use managed association (no `on` condition)
- **"table has no column"** → Use `parent_ID` (with underscore) in CSV
- **"TreeTable not rendering"** → Check `type: "TreeTable"` and `hierarchyQualifier` in manifest

### ABAP RAP Common Issues
- **"Element must not be search enabled"** → Remove `@Search` annotations from hierarchy projection view
- **"Primary keys do not match"** → Child table needs composite key (child UUID + parent UUID)

📖 **Full error reference in implementation guides**

---

## Key Differences

**CAP:**
- Managed association in entity
- `@hierarchy` annotation on service
- CSV data with `parent_ID` column
- For testing, refer to the **Application Preview Guidelines** section in the `sap-fiori-app-development` skill

**ABAP RAP:**
- CDS view with `@OData.hierarchy.recursiveHierarchy`
- Qualifier in metadata
- Test data in database tables
- For testing, refer to the **Application Preview Guidelines** section in the `sap-fiori-app-development` skill