Why This Learning Path?
You're moving from Callidus Commissions (Oracle Database backend) to SAP SuccessFactors Incentive Management (SAP HANA Database backend). It's not just a database swap — the architectures are fundamentally different. Row-based storage, cursor-driven procedural code, hierarchical query syntax — all of it changes.
This learning path is built for your team's specific problem: you know Oracle and PL/SQL inside out, but you need to understand exactly how to translate that knowledge to HANA. No fluff. Side-by-side code comparisons, migration patterns, and gotchas that will trip you up.
What You'll Learn
Architecture
Row vs columnar storage. Why HANA is faster for analytics. What it means for indexing strategy. Callidus to SAP architecture story.
SQL Syntax Translation
ROWNUM → LIMIT, DUAL → DUMMY, NVL → IFNULL, DECODE → CASE. Every Oracle SQL pattern and its HANA equivalent. Gotchas included.
Hierarchical Queries
CONNECT BY PRIOR → recursive CTE. Complete rewrite guide. START WITH, LEVEL, SYS_CONNECT_BY_PATH — all mapped. Fully worked example.
Procedural Code
PL/SQL packages → HANA SQL Script. Cursor loops → table variables. BULK COLLECT → set-based operations. Migration checklist.
Data Types
Complete mapping table. VARCHAR2 → NVARCHAR, DATE → TIMESTAMP gotcha, BOOLEAN workaround. Silent data loss traps and how to avoid them.
How to Use This Path
- Start with lesson 01 (Architecture): Understand why the databases are different before diving into code. 10-minute read.
- Jump to what you need: If you're only translating SQL queries, go straight to lesson 02. If you're migrating procedures, hit lesson 04.
- Use the comparison tables: Each lesson has side-by-side code blocks. Copy them into your IDE and experiment.
- Apply the checklists: At the end of each lesson are migration checklists. Print them or bookmark them for your code reviews.
- Reference as you code: Keep lesson 02 (SQL Syntax) and lesson 05 (Data Types) open in a tab. You'll flip back to them constantly.
Who This Is For
- ICM consultants with Oracle / Callidus Commissions experience, now supporting SAP SuccessFactors IM projects.
- Database architects planning a migration from Oracle to SAP HANA for ICM workloads.
- Developers and DBAs translating existing Callidus Commissions SQL and PL/SQL into HANA equivalents.
- You are NOT the target: if you're new to databases, start with Oracle fundamentals first. This path assumes fluency in Oracle/PL/SQL.
What You Should Know First
- Oracle SQL and PL/SQL syntax. You've written CONNECT BY queries, cursor loops, or packages before.
- Basic SQL concepts: joins, aggregations, subqueries, indexes.
- Callidus Commissions or SAP SuccessFactors IM context is helpful but not required.
The Migration Journey: Callidus → SAP
SAP acquired Callidus Software in 2018. Callidus Commissions (Oracle-based) is being sunset; customers are migrating to SAP SuccessFactors Incentive Management (HANA-based). This creates a specific problem: your Callidus knowledge is deep, but HANA is a different world.
| Aspect | Callidus Commissions (Oracle) | SAP SuccessFactors IM (HANA) |
|---|---|---|
| Database | Oracle Database 11g+ | SAP HANA (in-memory columnar) |
| Primary use case | Transactional (OLTP) | Hybrid (OLTP + analytics) |
| Query language | PL/SQL (Oracle-specific) | HANA SQL Script (SAP-specific) |
| Procedures | Packages + procedures | Procedures only (no packages) |
| Hierarchies | CONNECT BY PRIOR syntax | Recursive CTEs |
| Performance tuning | Index strategy critical | Columnar compression, little indexing needed |
| Batch processing | Row-by-row cursor loops common | Set-based operations preferred |
A Note on Terminology
Throughout this path, I use "SAP HANA Database" to mean the underlying database technology (columnar, in-memory). "SAP SuccessFactors Incentive Management" (SFIM) is the application layer. When talking about SQL and procedural code, I'm focused on the database layer.