{
  "solution_id": "025",
  "brief_code": "VNA-SB-025",
  "slug": "crystal-reports-bo-to-apex",
  "standalone_host": "crystal-reports-bo-to-apex.web.app",
  "category_code": "APP_STACK_CONVERSION",
  "category_name": "Application Stack X to Application Stack Y",
  "subcategory": "Legacy BI & Reporting Replacement",
  "short_title": "Crystal Reports, BusinessObjects & OBIEE to APEX & AOP",
  "title": "Crystal Reports (.rpt), SAP BusinessObjects & OBIEE 12c Migration to Oracle APEX 24.2 & AOP",
  "seo_title": "Crystal Reports, BusinessObjects & OBIEE to Oracle APEX Migration",
  "meta_description": "Retire SAP Crystal Reports (.rpt), BusinessObjects universes (.unv/.unx), Oracle Discoverer (.eex), and OBIEE 12c. Rationalize SQL query fan-out into core Oracle 23ai views with runtime/inference filtering in Oracle APEX 24.2 & AOP.",
  "source_stack": "SAP Crystal Reports (.rpt), BusinessObjects (.unv/.unx), Oracle Discoverer (.eex), OBIEE 12c",
  "target_stack": "Oracle APEX 24.2 Interactive Reports/Grids, Runtime/AI Inference Filters, APEX Office Print (AOP) & OAC",
  "hero_eyebrow": "Search Intent: Crystal Reports, BusinessObjects & OBIEE Replacement \u00b7 Query Fan-Out Rationalization to APEX + AOP",
  "hero_headline": "Rationalize Query Fan-Out: Retire Crystal Reports (.rpt), BusinessObjects & OBIEE with Oracle APEX 24.2.",
  "hero_lead": "Enterprise reporting estates often accumulate 500 to 3,000+ Crystal Reports (.rpt), BusinessObjects documents, or Discoverer workbooks that are 80% query fan-out: cloned copies of the same base SQL with slightly different WHERE clauses, date ranges, or group-bys. Our AST SQL clustering engine identifies your canonical core SQL queries and builds governed Oracle 23ai views only for those core datasets, while parameter filters, dynamic WHERE predicates, pivots, and ad-hoc report variations are generated dynamically at runtime and via AI inference (APEX 24.2 & Select AI).",
  "search_keywords": [
    "migrate Crystal Reports RPT to Oracle APEX",
    "rationalize legacy report query fan-out to core SQL views",
    "replace SAP BusinessObjects Universe with Oracle APEX",
    "OBIEE 12c to Oracle Analytics Cloud OAC and APEX migration",
    "Oracle Discoverer EEX to APEX Interactive Report conversion",
    "dynamic WHERE clause and Select AI runtime reporting in Oracle APEX"
  ],
  "metrics": [
    {
      "label": "Query Fan-Out Reduction",
      "value": "75% - 90% Fewer Reports"
    },
    {
      "label": "Core SQL AST Clustering",
      "value": "100% Automated Discovery"
    },
    {
      "label": "Filters & Ad-Hoc Variants",
      "value": "Built at Runtime / Inference"
    },
    {
      "label": "Pixel-Perfect Templates",
      "value": "Native Word/Excel via AOP"
    }
  ],
  "problem_space": [
    "Query Fan-Out Explosion: Over 15+ years, developers clone existing Crystal Reports (.rpt), Oracle Reports (.rdf), or BusinessObjects documents every time a department asks for a new WHERE clause, sort order, or column subset, turning 60 core datasets into 1,200+ redundant report files.",
    "Maintaining 1,000+ duplicated SQL queries means a single schema change or KPI formula update requires touching hundreds of separate report binaries.",
    "Oracle OBIEE 12c, SAP BusinessObjects (.unv/.unx), and legacy Oracle Discoverer (.eex) charge steep annual maintenance while trapping users in static exports instead of dynamic runtime filtering."
  ],
  "solution_architecture": [
    "AST Query Fan-Out Rationalization: We parse all legacy .rpt, .rdf, .unv/.unx, .eex, and RPD files into SQL Abstract Syntax Trees (ASTs), stripping literal predicates and clustering queries by their core FROM/JOIN graph and aggregation grain.",
    "Build Only the Core Canonical SQL Views: Instead of migrating 1,000 cloned reports 1-for-1, we engineer governed, indexed Oracle Database 23ai views, Analytic Views, and PL/SQL pipelined functions strictly for the canonical core queries (typically reducing report artifact count by 75% to 90%).",
    "Runtime & Inference Filter Generation: Dynamic WHERE clauses, faceted search, saved user views, control breaks, and natural-language AI prompts (Oracle APEX 24.2 Smart Filters + Autonomous Database Select AI) are evaluated at runtime/inference rather than hard-coded into separate files.",
    "Pixel-Perfect Output via AOP: Regulatory PDFs, statements, and multi-tab Excel workbooks bind to the same rationalized core SQL cursors via APEX Office Print (AOP) or BI Publisher."
  ],
  "conversion_matrix": [
    {
      "legacy_artifact": "10-30 Cloned Reports Differing Only by WHERE Clause / Sort / Group-By (Query Fan-Out)",
      "oracle_target": "1 Canonical Oracle 23ai Core View + APEX 24.2 Runtime / Inference Filters",
      "method": "AST Join-Graph Clustering; build once for the core SQL, resolve predicates at runtime/inference"
    },
    {
      "legacy_artifact": "SAP Crystal Reports (.rpt) + Nested Subreports",
      "oracle_target": "APEX Office Print (AOP) Template + Single Hierarchical CURSOR() Query",
      "method": "Extract SQL & formula fields; bind canonical core query to DOCX/XLSX/PDF template"
    },
    {
      "legacy_artifact": "BusinessObjects Universe (.unv / .unx) Joins & Measures",
      "oracle_target": "Oracle 23ai Semantic Views + Analytic Views + Select AI Metadata",
      "method": "Compile universe classes into governed SQL views supporting runtime NL2SQL inference"
    },
    {
      "legacy_artifact": "Oracle Discoverer Workbooks (.eex) & EUL Folders",
      "oracle_target": "Oracle APEX 24.2 Interactive Reports, Smart Filters & Saved Views",
      "method": "Deduplicate EUL folders into core views; users save custom runtime views without IT tickets"
    },
    {
      "legacy_artifact": "OBIEE 12c RPD & Answers Dashboards",
      "oracle_target": "Oracle Analytics Cloud (OAC) or Native APEX 24.2 Dashboards",
      "method": "Lift executive KPIs to OAC or consolidate operational drill-downs into zero-license APEX pages"
    },
    {
      "legacy_artifact": "Crystal Server / BO InfoView Bursting Schedules",
      "oracle_target": "APEX_AUTOMATION + DBMS_SCHEDULER + Dynamic VPD Predicates",
      "method": "Single scheduled job bursts personalized outputs by injecting runtime security context"
    }
  ],
  "ancillary_tools": [
    "Viscosity AST SQL Fingerprint & Query Fan-Out Rationalization Engine",
    "Oracle APEX 24.2 (Interactive Reports, Smart Filters, Interactive Grids, Saved Runtime Views)",
    "Oracle Database 23ai Select AI & Dynamic PL/SQL Contexts (Runtime / Inference Query Generation)",
    "APEX Office Print (AOP) for Pixel-Perfect PDF, Word, and Excel Output",
    "Viscosity AMP (Report Access Governance, VPD Row-Level Security & Execution Auditing)"
  ],
  "anonymized_case_proof": "By running AST query fan-out rationalization across 640 legacy Crystal Reports and SAP BusinessObjects schedules, we proved that all 640 reports derived from just 58 canonical SQL join graphs. We built 58 governed Oracle 23ai core views with runtime APEX 24.2 Smart Filters, AI inference prompts, and 28 AOP templates - eliminating 91% of report maintenance overhead and saving $240K/year in BI licensing.",
  "brief_title": "Technical Solution Brief: Query Fan-Out Rationalization - Migrating Crystal Reports, BusinessObjects & OBIEE to Oracle APEX 24.2",
  "faqs": [
    {
      "q": "How does Query Fan-Out Rationalization reduce our report count by 75% to 90%?",
      "a": "When we parse legacy Crystal (.rpt), Oracle Reports (.rdf), or BusinessObjects repositories into SQL Abstract Syntax Trees, we consistently find that 5 to 15 separate reports query the exact same tables and joins, differing only in hard-coded WHERE clauses, date buckets, or sort orders. We build and govern only the canonical core SQL query in Oracle 23ai, while all filter combinations, groupings, and ad-hoc views are generated dynamically at runtime or via AI inference in Oracle APEX 24.2."
    },
    {
      "q": "How do runtime and inference-based filters work for business users?",
      "a": "Each core SQL view powers an Oracle APEX 24.2 Interactive Report or Smart Filter page alongside Oracle 23ai Select AI natural-language inference. Users can toggle faceted filters, save private or public runtime report views, schedule email subscriptions, or type natural-language questions that synthesize safe WHERE predicates against the governed core view at runtime."
    },
    {
      "q": "Can Oracle APEX still produce pixel-perfect multi-page invoices, checks, and statements like Crystal Reports?",
      "a": "Yes. By pairing the rationalized core SQL cursors with APEX Office Print (AOP) or Oracle BI Publisher, business analysts maintain Word or Excel templates while Oracle 23ai supplies nested JSON cursor data at runtime."
    }
  ],
  "theme_flavor": "sedona-copper",
  "theme_flavor_label": "Sedona Copper",
  "calculator": {
    "calc_title": "APEX Reports Query Fan-Out Rationalization & Crystal / BO / OBIEE Sizer",
    "slider_1": {
      "label": "Legacy Crystal (.rpt) / BusinessObjects / Discoverer / OBIEE Reports",
      "min": 25,
      "max": 3000,
      "step": 25,
      "default": 420,
      "unit": "legacy reports"
    },
    "slider_2": {
      "label": "Query Fan-Out Rationalization Lever (Collapse Cloned SQL -> Core Views + Runtime/Inference Filters)",
      "min": 50,
      "max": 94,
      "step": 2,
      "default": 84,
      "unit": "% fan-out reduction"
    },
    "slider_3": {
      "label": "Pixel-Perfect PDF / Word / Excel AOP Templates",
      "min": 5,
      "max": 400,
      "step": 5,
      "default": 45,
      "unit": "AOP templates"
    },
    "complexity_options": [
      {
        "label": "APEX 24.2 Interactive Reports + Runtime Smart Filters (1.0x)",
        "mult": 1.0
      },
      {
        "label": "Core SQL Views + Oracle 23ai Select AI Runtime Inference + AOP (1.2x)",
        "mult": 1.2
      },
      {
        "label": "OBIEE 12c / BO Universe -> Semantic Views + VPD + OAC (1.4x)",
        "mult": 1.4
      }
    ],
    "formula_type": "report_fanout",
    "auto_pct": 88,
    "savings_per_unit": 340,
    "base_savings": 85000,
    "out_1_label": "Canonical Core SQL Views Built (After Fan-Out Collapse)",
    "out_2_label": "Reports Eliminated via Runtime WHERE / AI Inference",
    "out_3_label": "Estimated BI Rationalization & Cutover Timeline",
    "out_4_label": "Annual BI License & Report Maintenance Savings"
  },
  "buyer_personas": {
    "cluster_code": "CLUSTER_A_BI_QUERY_FANOUT",
    "cluster_name": "Cluster A: BI & Query Fan-Out Rationalization",
    "practitioner_titles": [
      "Director / Manager of Business Intelligence & Reporting",
      "Crystal Reports / SAP BusinessObjects / OBIEE Lead",
      "Oracle Discoverer / APEX Reporting Architect"
    ],
    "practitioner_hook": "Use AST SQL clustering to collapse 500-3,000+ cloned `.rpt`/`.unv`/`.eex` reports by 75-90% into canonical Oracle 23ai core views with runtime Smart Filters, Select AI, and AOP.",
    "validator_titles": [
      "VP of Data & Analytics",
      "Chief Enterprise Architect",
      "Director of Application Development"
    ],
    "validator_hook": "Stop migrating cloned reports 1-for-1: build governed core SQL join graphs once and resolve dynamic `WHERE` predicates and pivots at runtime/inference.",
    "economic_titles": [
      "CIO / VP of IT",
      "CFO / VP of Finance",
      "Director of IT Vendor Management"
    ],
    "economic_hook": "Retire SAP BusinessObjects, Crystal Server, Discoverer, and OBIEE 12c annual maintenance renewals while cutting report maintenance headcount by 85%."
  }
}
