0% found this document useful (0 votes)
288 views39 pages

ASUG84475 - Callidus Contract Lifecycle Management Migration To SAP HANA in Record Time

The document discusses the migration of the CallidusCloud Commissions application, now called SAP Commissions, from its original database to SAP HANA. The application processes complex sales compensation plans and calculations. Migrating the 200,000+ lines of SQL code that power the application was initially estimated to take 18-24 months. The challenges of migrating such a large and complex application to a new database platform are also discussed.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
288 views39 pages

ASUG84475 - Callidus Contract Lifecycle Management Migration To SAP HANA in Record Time

The document discusses the migration of the CallidusCloud Commissions application, now called SAP Commissions, from its original database to SAP HANA. The application processes complex sales compensation plans and calculations. Migrating the 200,000+ lines of SQL code that power the application was initially estimated to take 18-24 months. The challenges of migrating such a large and complex application to a new database platform are also discussed.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

CallidusCloud Commissions:

Migration to SAP HANA in Record Time


Carina Kern, SAP & Rob Verschoor, SAP
Session ID: 84475

May 7 – 9, 2019
About the Speakers
Rob Verschoor Carina Kern
• SAP • Product & Solution Marketing
• Vice President & Global Database Manager, SAP
Migration Lead • Products included e.g. SAP Big
• Arrived at SAP via Sybase Data, SAP HANA, SAP HANA
• Global SAP Advanced SQL Migration tool Blockchain Service, SAP ASE, and
program SAP Database Migration Program
Agenda
• What is the CallidusCloud Commissions application?

• Challenges for migration to SAP HANA

• How migration to SAP HANA was achieved

• SAP Resources for DBMS Migration


CallidusCloud - an SAP Company
• Founded in 1996; public in 2003; based in Dublin, CA
• Cloud-based solutions for sales effectiveness & sales
performance management
• Acquired by SAP in January 2018
• Main application: Commissions – now named SAP
Commissions
SAP Commissions
Intelligent sales performance management

Sales Alignment Sales Planning Sales Incentives

• Territory balancing • Quota harmonizing • Compensation modeling


• Market optimization • Financial planning • Incentive optimization
• Resource mapping • Goal assignment • Plan allocation
Benefits of SAP Commissions

ü Saves time and money by automating the


complete sales comp process
ü Design and adjust effective incentive plans to
increase revenue, boost targeted products
ü Achieve corporate goals by aligning individual
incentives throughout the organization
ü Manage and measure multiple, complex plans
ü Reduces errors and overpayments
ü Decrease disputes, and speed plan acceptance.
ü Provides visibility into quota attainment, and
commissions payouts. Ends “shadow accounting”
ü Grow channel and partner revenue
What does SAP Commissions do?

• Cleans data properly


We support:
• Reduce manual errors • Bonuses, SPIFs, rewards
• Pay the right people for every sale • Splits
• Accelerators
• Balances territories
• Draws - recoverable & non-recoverable
• Establishes fair quotas
• Draw-downs
• Reduces payment errors
• Multi-dimensional rates
• Process complex splits correctly • Step-rate and tiered-rate tables
• Process repayments accurately • Any territory configuration
Largest Yearly Average Gartner Magic
Customer: transactions: calculation runtime Quadrant Leader

>1M
Payees
278+
Trillion
13
Minutes
X6
Consecutive years
Lenovo utilizes [SAP] Commissions and gains better
service delivery to its customers

REDUCED REDUCED 60 countries Scott Ottman


multiple platforms to 1 commissions cycle from 10K transactions per month VP Sales Operations,
for 4 global groups months to once per week 3,000 sales people North America

CHALLENGE:
Because Lenovo is a global company, they were
challenged to find a consistent and common platform for
SOLUTION:
Lenovo turned to [SAP] and the Commissions solution
to deliver one sales performance system globally that
“ SAP gives us a much
more robust solution and
helps our business run
faster and better.”
managing sales plans, attainment, and payments across all works across business units. With the Commissions
geographies. component of the quote-to-cash solution, Lenovo can
process commissions once a week, not just in one
central office, but in several countries.
PRODUCT:
SAP Commissions
Our customers range from startups to Fortune 500 companies
SAP Commissions Structure
Plan Communicator Commissions UI
Sales Compensation Plan Program Maintenance and
Creation And Distribution Control

Dashboards
Commissions Pipeline
Transactions
Allocate
(i.e. from CRM or
(Crediting Reward Pay
ERP)
Measurement
Attainment)

Reporting
SQL interface to DBMS And Analytics

Server-side SQL in DBMS


(stored procedures, packages)

Database
Database complexity largely determined by SQL: SQL Metrics of
the SAP Commissions application
Technically, database complexity is largely determined by SQL aspects

From a server-side SQL perspective, the SAP Commissions application looks like this:
• 1016 tables, 37 views; 13262 columns
• 397 indexes, 1538 constraints(905 CHECK, 391 PRIMARY KEY, 103 REFERENCES, 139 UNIQUE)
• 1 datatype definition, 4 sequences
• Procedural objects:
• 105 PL/SQL packages
• 1 PL/SQL function
• 5 PL/SQL stored procedures
• 2 triggers
• Total >200,000 lines of PL/SQL code in procedural objects
The challenge: migrate SAP Commissions to SAP HANA
• Objective: SAP Commissions application to run on the SAP HANA database

• Why migrate: Benefit from SAP HANA capabilities

• Generally, migrating complex SQL applications to a different DBMS is a complex, non-trivial activity

• Complexity is primarily in conversion of existing SQL code to the SQL dialect of SAP HANA

• Especially procedural server-side SQL code (stored procedures, packages, triggers)

• Arbitrary complexity, arbitrary length (e.g. 1000's of lines of SQL code)

• Differences between SQL dialects: syntax, but also semantics

• …but plenty of other challenges too (data migration, HA/DR, operational procedures, connectivity, tools…)

• Converting 200,000 lines of SQL code is a huge challenge, by any standard


The challenge: migrate SAP Commissions to SAP HANA

• 200,000+ lines of SQL code was reduced to 187,000 lines by


eliminating non-required parts
• Still huge!

• Initial estimate for migrating the application to SAP HANA was 18-
24 months
• So, is this really feasible?
Migration of custom (non-SAP) DBMS apps to SAP HANA
DBMS migration of custom apps involves many aspects Target
Current Same custom non-SAP app on
Custom non-SAP app running SAP database (cloud / on-prem)
on non-SAP database

COMPLEXITY!

Aspects to consider:
• Schema conversion • Client app migration
• SQL conversion • HA/DR
• Data migration • Operational readiness
• Client/server connectivity • Project Management
• Functional testing • Tech-skilled staff
MSSQL / Oracle / DB2 • Performance testing • Cost, Risk, Duration SAP
/ HANA
Teradata / Netezza
Migration of Custom (non-SAP) DBMS Apps to SAP HANA
Success factors for DBMS migration
Target
Current Same custom non-SAP app on
SAP database (cloud / on-prem)
Custom non-SAP app running
on non-SAP database Success factors for DBMS migration:
ü Highly automated conversion of schema and SQL
code
ü Deep technical SQL skills (source & target SQL
dialect)
ü Detailed application knowledge ("why was it done that
way?")
ü Migration project experience
ü Availability of application test environment
ü Customer commitment
ü Executive sponsorship
ü Project management skills
ü Consulting services at acceptable price point

SAP
MSSQL / Oracle / DB2 HANA
/
Teradata / Netezza
SAP Advanced SQL Migration tool Target
A highly automated SQL conversion to SAP HANA
Same custom non-SAP app on
Current SAP database (cloud/on-prem)
Custom non-SAP app running
on non-SAP database

SQL CONVERSION

• Available to • Pre-migration Complexity


SAP Partner Edge Assessment
Partners and • Schema conversion
SAP employees • SQL code analysis/conversion
• Gap analysis source vs.
MSSQL / Oracle / DB2 target DBMS SAP
/ HANA
Teradata / Netezza SAP Advanced SQL Migration tool
The results: migrated SAP Commissions to SAP HANA
• With the SAP Advanced SQL Migration tool, SAP Commissions migration was completed in 6
months

• 93% of all SQL code converted automatically by SAP Advanced SQL Migration tool

• Migration project staffed by CallidusCloud team with support from the SAP HANA team

• CallidusCloud Commissions is now SAP Commissions, part of SAP Sales Cloud

• New SAP Commissions customers will run on SAP HANA platform


• Existing SAP Commissions customers to be migrated gradually to SAP HANA platform

• Benefits: cost reduction, performance, additional functionality


SAP Commissions
Runs Faster on SAP HANA

SAP Commissions on SAP HANA has been


optimized to process transactions and analytics
faster, for increased agility and real-time
insights

Sales Territory Pipeline Calculation


Identification Run Time

4X Faster 14% Faster

Upload & Data Validation


13X
Faster
How it was done: migrating SAP Commissions to SAP HANA
SAP Advanced SQL Migration tool

• Key technology enabler: SAP Advanced SQL Migration


• The SAP Advanced SQL Migration tool for Hana is new: released in July 2018
• Requires Hana 2 Rev31 as minimum version
• Supports migration from: MS SQL Server, Oracle, Teradata, DB2 UDB(LUW); under construction: Netezza

• The SAP Advanced SQL Migration tool is exclusively aimed at "custom non-SAP" applications
• As opposed to traditional SAP applications based on ABAP/Netweaver -- migration practices already exist for
those
• No other feasible custom-app migration tools for Hana available
• Custom applications often used server-side SQL (stored procedures etc.) - most complex aspect of
SQL migration
How it was done: migrating SAP Commissions to SAP HANA
Complexity Assessment

§ Step 1: pre-migration complexity assessment of original SQL application


ü Analyze schema and SQL code
ü Result: detailed report of all SQL features used in the application
ü Identify which features cannot be migrated automatically to the target DBMS, and require
manual intervention
ü Migration challenges categorized by impact level:
• "may require redesign" : biggest impact
• "may require rewrite" : less impact, can be resolved locally
• "needs manual verification or correction" : smaller things, least impact
Example: Identifying all SQL features/constructs used
(actual migration tool output)
[…]
Effort estimate
Nested procedure/function declaration : 1 -to be determined-
Verify identifiers, parameters, declarations after de-nesting
Overloaded procedure/function : 520 -to be determined-
Verify renamed procedure/function declarations/calls
Procedure call, resolved/renamed : 442
Procedure declaration : 71
SQL Function call, resolved/renamed : 4
SQL Function declaration : 3
SELECT statement : 1569 0 Fully converted
SELECT-INTO statement : 3115 0 Fully converted
BULK COLLECT INTO : 13
SELECT subquery : 721 0 Fully converted
INSERT statement : 761 0 Fully converted
INSERT..RETURNING : 49
INSERT..SELECT : 60
INSERT..VALUES : 698
UPDATE statement : 769 0 Fully converted
DELETE statement : 754 0 Fully converted
[…]
Example: Identifying all SQL features/constructs used
(actual migration tool output)
[…] Effort estimate
TRUNCATE TABLE statement : 3 0 Fully converted
MERGE statement : 6 -to be determined-
0 : automatically converted,
Additional manual conversion may be required expected to be functionally correct
Common Table Expression(WITH...AS) : 1 0 Fully converted
UNION operator : 151 0 Fully converted
UNION ALL operator : 10 0 Fully converted
MINUS/EXCEPT operator : 7 0 Fully converted
Oracle Outer Join query (+) : 138 -to be determined-
Verify correct conversion to ANSI OJ syntax
Outer join predicate : 391
OLAP query : 1 0 Fully converted -to be determined- : not automatically
converted, some sort of effort required
SELECT..OVER : 1
ROWID pseudo-column : 10 0 Fully converted
ROWNUM pseudo-column : 38 0 Fully converted
ROWNUM => LIMIT : 38
Cursor declaration : 605 0 Fully converted
Parametrized cursor declaration : 46
Cursor FETCH : 547 0 Fully converted
Cursor OPEN/CLOSE : 2870 0 Fully converted
[…]
How it was done: migrating SAP Commissions to SAP HANA
Complexity Assessment

§ Step 2: evaluate pre-migration complexity assessment


ü Identify "redesign" parts and find solution direction
ü Identify (and remove) obsolete parts of the application
ü Rough effort assessment (difficult!)
§ Step 3: Go/no Go decision
§ Step 4: Assemble team with required skills
ü Commissions application architects
ü HANA SQLScript specialists
ü PL/SQL specialists
ü Project management
ü Migration tool support
How it was done: migrating SAP Commissions to SAP HANA
SQL code conversion

§ Step 5: start the migration project


ü Conversion to HANA SQL/SQLScript code with SAP Advanced SQL Migration
• Migration tool generates ready-to-run scripts, can be executed directly against a HANA
server
• Some iterations to determine optimal configuration settings in the migration tool
ü First execution of generated HANA SQL (out-of-the-box):
• all 532 tables created without error
• 25 of 37 views created without error
• stored procedures/functions: 482 of 1574 (31%) created without error; 1092 syntax errors
to be resolved (~25% are follow-up errors)
ü From here, handover to manual migration phase - the "real" project starts
How it was done: migrating SAP Commissions to SAP HANA
Manual migration phase

§ Implement workarounds for "redesign" issues


§ Fix the "rewrite" issues
§ Fix remaining syntax errors
§ Manually convert dynamically generated SQL statements
§ Data migration
§ Perform functional application testing
§ Apply required changes to client-side SQL queries
§ Migrate client-server connectivity (JDBC)
§ Adjust operational/production procedures
§ Go live
Specific technical conversions: some examples
Automatically converted by SAP Advanced SQL Migration

• Oracle outer join syntax (WHERE a(+) = b) converted to ANSI OJ syntax (28 cases)
• Date/time arithmetic (200+ cases)
• Oracle: vStartDate + (nIndex - 1) * 13 * 7
• Hana: ADD_SECONDS(vStartDate , (86400*(CAST(((:nIndex - 1) * 13 * 7) AS INT))))

• ROWNUM pseudo-column: converted to LIMIT or ROW_NUMBER() OVER () (400+ cases)


• Catalog queries: converted to Hana equivalent (100+ cases)
• e.g. USER_TABLES è SYS.M_TABLES
• Nested or overloaded declarations/calls of procedures/functions (2000+ cases)
• Built-in functions with no direct functional Hana equivalent, converted to custom-written SQL functions (1000+
cases)
• e.g. TRUNC(<datetime>), SYS_CONTEXT(), NVL2(), NEXT_DAY(), REVERSE(), TABLE()

• SQL code generated to compensate for HANA semantics for concatenation of NULL strings
Redesign/rewrite issues: some examples
• Collection datatypes and -operations
ü Converted by the migration tool, but preferable to redesign

• Table-in-table structures
• UTL_FILE package calls
• CONNECT BY
• Dynamically declared SELECT statement in cursor
• DELETE..RETURNING, UPDATE..RETURNING
SAP Customer Offerings for DBMS Migration
How SAP helps you migrate your custom DBMS applications

§ Custom-app DBMS migration is not trivial


§ Historically, SAP was not active in the custom-app space and did not offer solutions
§ SAP now provides two main elements to assist customers/partners:
1. Technology: the SAP Advanced SQL Migration tool
- Cracks the problem of converting between SQL dialects
- Tool available to SAP Partner Edge partners; free of charge (but some paperwork required)
- Contact: [email protected]
2. Delivery capability: SAP Global Database Migration Factory
- Connects SAP services partners with customers, for doing migration projects
- Contact: [email protected]
SAP Advanced SQL Migration tool
Target
A highly automated SQL conversion to SAP HANA
Same custom non-SAP app on
Current SAP database (cloud/on-prem)
Custom non-SAP app running
on non-SAP database

SQL CONVERSION

• Available to • Pre-migration Complexity


SAP Partner Edge Assessment
Partners and • Schema conversion
SAP employees • SQL code analysis/conversion
• Gap analysis source vs.
target DBMS SAP
MSSQL / Oracle / DB2 HANA
/
SAP Advanced SQL Migration tool
Teradata / Netezza
Skills & Staffing for Custom App DBMS Migrations
Where to find skilled resources for PoCs or projects
Target
Same custom non-SAP app on
Current SAP database (cloud / on-prem)
Custom non-SAP app running
on non-SAP database

MIGRATION PROJECT

ü SAP Global Database Migration Factory


ü SAP Services Partners
ü SAP Consulting / SAP Services
SAP
ü SAP Presales/CoE
HANA
MSSQL / Oracle / DB2 /
Teradata / Netezza
SAP Advanced SQL Migration: Supported databases
– SAP Advanced SQL Migration currently supports (v.3.x, Q1 2019):
Source DBMS types
- Oracle (v.9/10/11/12); >80-90% automatic conversion ratio
- Microsoft SQL Server (v.2000-2012); >90-95% automatic conversion ratio
- IBM DB2 UDB (LUW, v.9.x); >75-85% automatic conversion ratio
- Teradata; >75-90% automatic conversion ratio (only SAP Hana as target)
- Netezza; under construction (only SAP Hana as target)

Target DBMS types


- SAP Hana (requires Hana 2 SP03 Rev31)
- SAP ASE
- SAP SQL Anywhere
- SAP IQ

SAP Advanced SQL Migration is Unicode-enabled for the


migrated SQL code/schema
- API is in English only
NB: conversion ratios shown above reflect typical averages in observed cases; results may vary.
NB2: More recent source database versions than listed above, should generally work fine as well
DBMS migration aspects supported by SAP Advanced SQL Migration
üA. Pre-migration complexity/risk assessment à decision to proceed

üB. Schema migration


• Performed by migration tool; migrated schema consistent with migrated SQL

C. Data migration (currently no migration tool support)


• Use ETL tools, SAP/Sybase ECDA/DirectConnect; SAP/Sybase Replication Server; SAP Data Services (etc.)

üD. Server-side SQL migration


• Vendor-specific source SQL (PL/SQL, T-SQL) converted to the target DBMS SQL dialect (SQLScript, T-SQL, Watcom SQL)
• Stored procedure, functions, packages, etc.
• 90%+ of migration effort goes into SQL migration
• Most migration overruns and failures occur here

E. Client-side (application-generated) SQL migration (migration tool support for ad-hoc SQL query conversion)
• Client-side SQL may or may not be hard to capture or locate in app source code - "it depends"
• Fortunately, most application-submitted SQL code is usually quite simple

F. Client application specifics, Client-Server connectivity (no migration tool support)


• Java/JDBC? Native OCI? Oracle Forms?

G. DBA tools (partial migration tool support)


• Catalog queries partly converted

H. Application testing (functional, performance) (no migration tool support)


What SAP Advanced SQL Migration is NOT
The SAP Advanced SQL Migration tool:
§ Is not an SAP product
§ Is not for migrating SAP applications (e.g. Business Suite/ERP/ECC, BW, R/3, S/4) - only for custom non-SAP applications
§ Is not charged for
– SAP Revenue comes from licenses for SAP databases, and services
– Partner revenue comes from services
§ Is not downloadable
§ Does not provide any guarantees
§ Unlikely to always deliver 100% automatic SQL migration coverage
§ Does not attempt to optimize the application's architecture or algorithms,
but rather aims to convert to a 1-to-1 functional equivalent in the target DBMS
§ Is not a full-service migration tool covering all aspects of a migration
– Does not support data migration (use Replication Server, ECDA, Data Services, etc.)
– Does not support migration of client applications, DBA tools
– Does not support GUI migration
– Does not provide automated testing
§ Is not an application development lifecycle tool
§ Not required to run against a production database (does not access any data)
– For Teradata/Netezza, database connection not supported, so must use reverse-engineered scripts
§ Is designed for use by SQL Experts - strong SQL skills required!
Database Migration Resources
Rob Verschoor
Vice President & Global Database Migration Lead
[email protected]

For more information:

www.sap.com/database-migration

SAP Advanced SQL Migration: [email protected] (Rob Verschoor)

SAP Global Database Migration Factory: [email protected] (Trilok Rajesh)


Q&A
For questions after this session, contact us at [email protected] and
[email protected]

.
Take the Session Survey.

We want to hear from


you! Be sure to complete
the session evaluation on
the SAPPHIRE NOW and
ASUG Annual Conference
mobile app.
Presentation Materials
Access the slides from 2019 ASUG Annual Conference here:
http://info.asug.com/2019-ac-slides
Let’s Be Social.
Stay connected. Share your SAP experiences anytime, anywhere.
Join the ASUG conversation on social media: @ASUG365 #ASUG

You might also like