SAP Bit
Home
Get Started
  • Overview
  • Transaction Codes
  • Tables
  • Function Modules
  • Data Elements
  • Domains
  • IMG Activities
  • Overview
  • Standard RFCs
  • Custom RFCs
  • Overview
  • OData URLs
  • OData Services
GitHub
Home
Get Started
  • Overview
  • Transaction Codes
  • Tables
  • Function Modules
  • Data Elements
  • Domains
  • IMG Activities
  • Overview
  • Standard RFCs
  • Custom RFCs
  • Overview
  • OData URLs
  • OData Services
GitHub
  • SAP Objects

    • SAP Objects
    • Transaction Codes (T-Codes)
    • SAP Tables
    • Function Modules
    • Data Elements
    • Domains
    • IMG Activities

Table Clusters and Pools

Table clusters and pools are special types of tables in SAP that group related data together for performance optimization.

Understanding Table Clusters and Pools

Table clusters and pools are database objects that:

  • Group related data together
  • Optimize storage and access performance
  • Reduce database overhead
  • Store multiple logical tables in a single physical table
  • Are managed by the SAP system

Table Clusters vs. Table Pools

While both table clusters and pools store multiple logical tables in a single physical table, they serve different purposes:

AspectTable ClustersTable Pools
PurposeGroup related data with similar access patternsGroup small tables with similar structures
StorageData is stored in a compressed formatData is stored in a standard format
AccessAccessed as a unitIndividual tables can be accessed independently
UsagePrimarily for application dataPrimarily for customizing data
ExamplePCL1 (Personnel Calendar)CDPOS (Change Document Items)

Table Cluster Structure

A table cluster consists of:

Cluster Header

  • Contains metadata about the cluster
  • Manages the overall structure
  • Defines the clustering criteria

Cluster Tables

  • Individual logical tables within the cluster
  • Share common key fields
  • Are accessed together

Cluster Keys

  • Fields used to identify and access data within the cluster
  • Typically include business object identifiers
  • Determine how data is organized within the cluster

Table Pool Structure

A table pool consists of:

Pool Header

  • Contains metadata about the pool
  • Manages the overall structure
  • Defines the pooling criteria

Pool Tables

  • Individual logical tables within the pool
  • Share similar structures
  • Can be accessed independently

Pool Area

  • Physical storage area for the pool
  • Contains data from all pool tables
  • Optimized for storage efficiency

Common Table Clusters in SAP

Human Resources (HR)

ClusterDescriptionKey TablesUsed For
PCL1Personnel CalendarPA0007, PA2001, PA2002Time management data
PCL2Personnel Calendar TextT559L, T559PCalendar text data
BHR Master DataPA0000-PA9999Employee infotype data
RHHR Time EventsPTEX2Time recording data

Logistics

ClusterDescriptionKey TablesUsed For
MCL1Material ClusterMARA, MARC, MARDMaterial master data
KCL1Customer ClusterKNA1, KNVV, KNVPCustomer master data
VCL1Sales Document ClusterVBAK, VBAP, VBEPSales document data
LCL1Delivery ClusterLIKP, LIPSDelivery document data

Finance

ClusterDescriptionKey TablesUsed For
FCL1Financial Document ClusterBKPF, BSEGAccounting document data
ACL1Asset ClusterANLA, ANLZAsset accounting data
CCL1Controlling ClusterCOEP, COSSControlling data
GCL1General Ledger ClusterGLT0, GLPCAG/L account data

Common Table Pools in SAP

System Tables

PoolDescriptionKey TablesUsed For
APPLApplication LogBALHDR, BALM, BALWApplication logging
TRTYTransport SystemE070, E071, E07TTransport management
RSAUAudit Information SystemRSAUFILES, RSAUTOKENAudit logging
RSRDReportingRSRREPDIR, RSRREPRTReport directory

Customizing Tables

PoolDescriptionKey TablesUsed For
CDCLSChange DocumentsCDHDR, CDPOSChange document management
DDFTXData DictionaryDD01T, DD04TDictionary text tables
TPTYTable TypesDD17S, DD17VTable type definitions
VFTYField TypesDD03VT, DD03VVField type definitions

Accessing Cluster and Pool Tables

Direct Access

Cluster and pool tables can be accessed directly using:

  • SE16/SE16N: Data Browser
  • SE11: ABAP Dictionary Maintenance
  • SE14: Database Utility

Programmatic Access

In ABAP programs, cluster and pool tables are accessed using:

SELECT * FROM <table_name> INTO TABLE <internal_table>
  WHERE <key_field> = <value>.

The SAP system automatically handles the cluster or pool access.

Performance Considerations

Advantages

  • Reduced I/O Operations: Data is read in larger blocks
  • Improved Cache Utilization: Related data is stored together
  • Reduced Database Overhead: Fewer table entries in the database catalog
  • Optimized Storage: Compressed format reduces storage requirements

Disadvantages

  • All-or-Nothing Access: For clusters, all data is read even if only part is needed
  • Complex Maintenance: More difficult to maintain than transparent tables
  • Limited Direct Access: Some database operations are restricted
  • Migration Challenges: More complex to migrate to new database technologies

Technical Details

Physical Storage

Cluster and pool tables are stored in the database as:

  • Cluster Tables: Single table with a key column and a long binary object (LOB) column
  • Pool Tables: Single table with a key column and data columns for all pool tables

Internal Structure

The internal structure is managed by the SAP system:

  • Cluster Manager: Handles compression, decompression, and access
  • Pool Manager: Manages table allocation within the pool
  • Dictionary Objects: Define the logical structure of tables

Best Practices

When to Use Clusters and Pools

  • Use clusters for related data that is always accessed together
  • Use pools for small tables with similar structures
  • Consider performance implications before creating custom clusters or pools
  • Follow SAP recommendations for specific business scenarios

Monitoring and Optimization

  • Monitor access patterns to cluster and pool tables
  • Analyze performance using transaction ST05 (Performance Trace)
  • Consider splitting large clusters if only parts are frequently accessed
  • Regularly reorganize clusters and pools for optimal performance

Finding Cluster and Pool Tables

Several methods exist to identify cluster and pool tables:

  • Transaction SE11: View table attributes
  • Transaction SE14: Database statistics
  • Table DD02L: Check TABCLASS column (C = Cluster, P = Pool)
  • SQL Query:
    SELECT * FROM DD02L WHERE TABCLASS = 'C' OR TABCLASS = 'P'
    

SAP HANA Considerations

With SAP HANA, the role of clusters and pools has changed:

  • Column Store: HANA's column-oriented storage reduces the need for clusters
  • In-Memory Processing: Reduces I/O bottlenecks that clusters were designed to address
  • Code to Data: HANA's architecture favors bringing code to data rather than grouping data
  • Migration Path: SAP provides tools to migrate cluster and pool tables to transparent tables

Custom Clusters and Pools

Organizations can create custom clusters and pools, but this is generally not recommended:

  • Requires deep technical knowledge of SAP architecture
  • May cause compatibility issues with future SAP upgrades
  • Often better to use transparent tables with appropriate indexing
  • Consider using table partitioning in modern databases instead

If custom clusters or pools are necessary, follow these guidelines:

  • Work with experienced SAP database administrators
  • Document the design thoroughly
  • Test performance under various load conditions
  • Plan for future migration to transparent tables
Edit this page
Last Updated:: 4/12/25, 1:49 AM
Contributors: Taylor Brazelton