You are on page 1of 57

Agenda

Day 1 Day 2

Morning Hands On Scenario


 Commissions Overview  Targets with Fixed Renumeration
plus Bonus
 Product Demonstration
 Direct and Indirect rollup Payments
 Project Scoping Parameters
 Rules
 Project Delivery Framework
 Credits, Measurements, Incentives
 Implementation Guiding Principles & Deposits
Afternoon  Dashboard Results
 Data Integration
 Report Examples
 Stagehooks
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 1
Lesson 5: Data Integration
Commissions Data Integration requirements

 High volume bulk and batch based data loads via flat files

 Ability to load pre-formatted flat files in an “out-of-the-box” automated way

 Requirement to introduce pre-processing in data loads

 Requirement to load/extract data via direct API calls in real/near real time
manner

 Ability to directly connect and pull data from source systems for Commissions

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 3


Integration Options - Feature Compare

Commissions
SAP DI Solutions Excel Data Loaders Data Loader DW
(CDL)

Up to 5M per file or
Volume Range
< 1,000 1GB compressed Depends on the middleware and source/target
(rows of data per run)
file

Data Pre-
None HANA stored procedure ETL tool
Processing

Dependent on Middleware connectors/adapters


Data Extracts Manual Flat File output

Dependent on Middleware connectors/adapters


Connectors None None

User Type Beginner Intermediate All Types

Use Case Routine data management High Volume Batch Loads SaaS to/from Commissions with ETL needs

Integration Type In application File-based In application


© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 4
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 5
Integration Options – Which is the right integration tool for me?

Middleware based
Commissions Commissions Smart Data
Excel Data (SAP based or your
Use Case Data Loader Data Loader Landing Pad Integration REST API
Loaders own third party ETL
(CDL) (CDL) (SDI) ETL tool
tool)
File Based
Integrations X X X X X X

A2A/B2B
integrations X X X

Automated
integrations X X X X X

SAP
X X X X SAP CPI Recommended
source/target
Non-
technical X X
user
High Volume X X X X
Real/Near
Real Time X X X

Equivalent in
Commissions Both HANA Oracle Oracle HANA Both n/a
on Oracle

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 6


Excel Data Loaders

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


Excel Data Loaders

Manual, Excel based data


load initiated through the
User Interface

Templates are
Downloaded Directly
from the UI and Perform
Validations as Data is
loaded into the system
Loading of Transactions onto Commissions.
Ideal for One Time Data
Loads or non-systemic
data sources
© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL
Batch Data Integration
Overview

Commissions Data Loader (CDL) &


On-Demand Integrator (ODI)

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


CDL vs ODI
Use Case Commissions Data Loader (CDL) On Demand Integrator (ODI)

UI Yes No

Email Notifications Yes Yes

Template based Inbound Loads Yes Yes

Custom Outbound Extracts Yes Yes

High Volume data loads Yes Yes

High Frequency data loads Yes No

Technology Apache Kafka, HANA Informatica, Oracle

Pipeline PIPELINE ODJB

GPG Yes Yes

GZIP Yes Yes

Audit Not Required any more Required

Manual folder Not Required any more Available

VPN No Yes

Read access to Commissions Yes Yes

File Dependencies Yes Yes

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 10


Commissions Data Loader (CDL)

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


Commissions Data Loader - Key features & benefits

 Self-serving intuitive web-based UI to


monitor the integration runs

 High volume data loads and extracts

 High frequency file loads

 Parallel processing of files


 Pre-formatted template based out-of-the-
box integrations
 Custom file formats, and supports data
transformation, validation, enrichment &
formatting via HANA stored procedure

 Email notifications

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 12


Commissions Data Loader (CDL) - Architecture and Data Flow
Customer SAP Sales Cloud
SFTP Push
CDL Secure Box Go Anywhere Commissions
Flat (Go Anywhere )
Files Inbound •
Key Maintenance HANA

GPG Encryption Repository
On-Premise •
File Management
Outbound
Source
Calculations
Flat (REST API )
Files

SFTP Pull

Shared NFS Mount

Inbound Outbound

Commissions Data Loader

Data Loader

• File processing
• Validations Kafka messaging
• HANA Component
• Redis Component Redis

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 13


On-Demand Integrator (ODI) & Landing Pad – Architecture and Data Flow

Callidus Cloud

Callidus App Server Inbound


Customer Drop Box
SFTP
Manual Push Outbound
ODI Template Inbound
Loads Files Repository

Outbound To-landing
SFTP Pull
DB Link

Callidus Landing Server Landing Pad Server (Pre-Processor)


Drop Box
SFTP
IT Push Custom
Inbound Inbound Pre-Processing (Informatica) To-app
Server Files

Custom Outbound Outbound


SFTP Pull Extracts

Outbound
Extracts ODI Files

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 14


Drop Box Folder Structure
• Inbound – Files dropped in this folder requires a corresponding audit file (cksum file). This folder is
used to send files to Callidus.
• Manual – Files dropped in this folder does not require a corresponding audit file (cksum file). This
folder is used to send files to Callidus.
• Outbound – This folder will contain outbound files from Callidus
• Badfiles –This folder will contain any rejected files (note: only applicable for ODI)

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 15


Standard File Templates – CDL & ODI
• These are a set of Callidus specific standard files.
• Each of these files are documented in a corresponding Excel sheet.
• These files require the data content to be formatted in a specific way.
• Each of these files require a specific naming convention.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 16


File Naming Convention (CDL & ODI)
CUST_TXSTA_DEV_20070901_HHMISS_CLAIMS.txt.gz.gpg

Tenant ID

Commision data type


Environment tag
(does not dictate
routing)
YYYYMMDD Date

Timestamp (Hours,
Minutes, Seconds)

Content Tag

File type (.txt)


Compressed
(Optional)
Encryption (Optional)

• File Name becomes “Batch Name” in Commission Stage Tables.


• Audit files will have a .aud as a suffix. (ODI only; CDL uses GoAnywhere for chksum)

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 17


ODI File Types
These are some of the commonly used File Types…

Incoming Data File Type


Title OGTI
Participant OGPT
Position OGPO
Product CLPR
Generic Classifier CLGC
Category CLCA
Transaction (with assignment) TXSTA, TXTA
Transaction (without assignment) TXST
Transaction (with assignment and extended TXSTAG, TXTA, TXTG
attributes)
Deposit TXDE

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 18


Compression, Encryption

Compression
 G-zip is the supported method of compression
 Can Be Unzipped with Win-Zip

Encryption
 GPG is the Supported Method of Encryption

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 19


Data File Example
File is expected in
No header Unicode for non-
English character sets
Tab-delimited values

INV0001 1 1 Invoice WIDGET01 40.23 USD 01/31/2007 “Widget Model 01” …

INV0001 1 2 Invoice WIDGET02 5.17 USD 01/31/2007 “Widget Model 02” …

INV0001 2 1 Invoice GADGET01 9.99 USD 01/31/2007 “Gadget Model 01” …

Dates are always in format mm/dd/yyyy

Strings that may include tabs should be


enclosed in double quotes

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 20


Example Data Mapping

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 21


ODI Email – Summary Section
Processing data file for: ACME
Instance: Prd
Start Time: 11/11/2009 - 10:39 (Pacific time)
End Time: 11/11/2009 - 10:41 (Pacific time)
Total Time: 0 hours 2 minutes
DATAFILE: ACME_TXSTA_PRD_20091111_113854_OCT09.txt
SIZE: 2.8M
RECORDS: 7670
Includes these DEPENDENT Data Files:
Dependent Datafile: ACME_TXTA_PRD_20091111_113854_OCT09.txt
Size: 1.7M
Records: 8881

Processing Results ERROR

Processing Summary
File Pre-Processing Results
No. Recs No. Recs No. Dups
Batch ID Target Staging Table Errors Alerts
(File) (Table) (Skipped)

ACME_TXSTA_PRD_20091111_113854_OCT09.txt CS_STAGESALESTRANSACTION 12 0 7670 7670 0

ACME_TXTA_PRD_20091111_113854_OCT09.txt CS_STAGETRANSACTIONASSIGN 14 0 8881 8867 0

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 22


ODI Email – Error Summary
Processing Error Summary
Error Record Percentage = [3 %] - ([265] records with errors out of [7670] records in file)
Error/
Data File Field Description of Error or Alert Occurrences
Alert
Record Key (uniqueness) error: two or more
records have the same value for
ACME_TXSTA_PRD_20091111_113854_OCT09.txt ORDERID Error ORDERID,LINENUMBER,SUBLINENUMBER 143
,EVENTTYPEID,PAYEEID,POSITIONNAME,
TITLENAME

Record Key (uniqueness) error: two or more


records have the same value for
ACME_TXTA_PRD_20091111_113854_OCT09.txt ORDERID Error 12
ORDERID,LINENUMBER,SUBLINENUMBER
,EVENTTYPEID

A value is required When PAYEEID IS NULL


ACME_TXTA_PRD_20091111_113854_OCT09.txt POSITIONNAME Error 109
AND TITLENAME IS NULL

ACME_TXTA_PRD_20091111_113854_OCT09.txt N/A Error Staged Transaction Record was not found 14

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 23


ODI Email – Error Details

Processing Error Summary


Error Record Percentage = [3 %] - ([265] records with errors out of [7670] records in file)
Error/
Data File Field Description of Error or Alert Occurrences
Alert
Record Key (uniqueness) error: two or more
records have the same value for
ACME_TXSTA_PRD_20091111_113854_OCT09.txt ORDERID Error ORDERID,LINENUMBER,SUBLINENUMBER 143
,EVENTTYPEID,PAYEEID,POSITIONNAME,
TITLENAME

Record Key (uniqueness) error: two or more


records have the same value for
ACME_TXTA_PRD_20091111_113854_OCT09.txt ORDERID Error 12
ORDERID,LINENUMBER,SUBLINENUMBER
,EVENTTYPEID

A value is required When PAYEEID IS NULL


ACME_TXTA_PRD_20091111_113854_OCT09.txt POSITIONNAME Error 109
AND TITLENAME IS NULL

ACME_TXTA_PRD_20091111_113854_OCT09.txt N/A Error Staged Transaction Record was not found 14

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 24


ODI Email – Import Results

Validate and Transfer Results


TrueComp VALIDATE TrueComp TRANSFER
Target Staging
Batch ID Validated Validated
Table Status Errors Warnings Status Errors Warnings Transferred
(New) (Match)

CS_STAGESALE
ACME_TXSTA_DEV_20091117.txt STRANSACTIO Success 0 0 42411 0 Success 0 0 42411
N

CS_STAGETRA
ACME_TXTA_DEV_20091117.txt NSACTIONASSI Success Success
GN

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 25


ODJB (On-Demand Job) Trigger File

 Alternative to Commission U.I.

 Triggers Commission jobs when “ODJB” file arrives into the Inbox folder.

 Can run Imports, Pipelines, Report Generation in sequence.

 Detailed Run Results Reported with ODI Email

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 26


Best Practices

 Gzip large files (any files over 1GB is not recommended), split if
possible

 Create email group and add them into ODI notifications.

 Pre-processing in Landing Pad (SDI for HANA) or inhouse

 Truncate custom tables created in EXT schema (storage quota


implications)

 Attend Callidus Training to become familiar with the product before


developing ODI data feeds

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 27


REST API

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


REST API
The Commission REST API includes the following REST resources:
• Orders
• Transactions
• Credit
• Measurement
• …

Each REST resource supports a range of REST operations to read and


manipulate these REST resources. All REST operations require authentication
credentials for an active Commission user and perform the operation in the role
of that user.

You can access the document of full list of APIs via the following URL:
https://{4 letter moniker}-{environment}.callidusondemand.com/ APIDocument/

For example: https://sg11-sls.callidusondemand.com/APIDocument/

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 29


Lesson 6: Reporting
Crystal Report In Commission

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 31


Report Types

For people who manage


Commission, e.g. HR

For people who get


Commission, e.g. Sales

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 32


Generating the reports

Ways to generate reports:

a. Generating via Calculation Screen (Pipeline – Generate Statement)

b. Generating via ODJB automation

c. Report designer client tool

Reporting inbox, delivery mechanism

Once the reports are generated(a and b), they will be published to the Sales Performance Home Page of
the users.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 33


BO Reporting Groups

Default BO Groups:

 <TENANTID> Compensation Reports Admin Group

 <TENANTID> Compensation Reports User Group

Custom BO Groups

Custom BO Group allows dividing the user data further into smaller chunks and gives more flexibility on how
the reports should be generated.

Custom BO Group Maintenance

The users in custom BO groups should be added and removed explicitly as needed.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 34


Stored Procedure and Reporting Tables
Naming Conventions

Stored Procedure Naming Convention: RPT_<CUSTOMPACKAGE>

Table Naming Convention: RPT_<CUSTOMTABLE>

Package/Procedure

A driver package should be developed, which will be one point of entry. This package will be internally called by the Generate Statement
Calculation (via ODSReportsGenerationConfig.xml). This driver package can then call other required reporting procedures/packages to
populate reporting tables. Once the reporting tables are populated, they should then be used in Crystal reports directly instead of going via
the universe.

Pass the following parameters to the driver package:

 PeriodSeq

 ProcessungUnitSeq

 CalendarSeq

 TenantID

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 35


Stored Procedure and Reporting Tables Cont.

In the reporting table include the following fields, apart from the other required fields:
 Positionseq
 Payeeseq
 ProcessingUnitSeq
 PeriodSeq
 PeriodName
 ProcessingUnitName
 CalendarName

NOTE: Never include TenantID as a column on these tables.


© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 36
Best Practices – (for Performance & Maintenance)

 All reporting tables should be partitioned by PeriodSeq and ProcessingUnitSeq.

 Create indexes on the reporting tables, based on the SQL in the Crystal Reports. Create the index on PeriodSeq,
ProcessingUnitSeq, PositionSeq and PayeeSeq. Use local indexes instead of global in partitioned tables.

 Make sure the datatypes of the indexed columns match that of the joined columns in the queries using the tables.

 Truncate the partition relevant for the period and processing unit being processed on the reporting tables, analyze
the truncated partition and then populate and update the statistics of the partition again after the data is loaded.

 Log each step in the reporting package into cs_debug table. This is required by Tech Ops to support with any
issues found in future.

 Design the solution in such a way as to re-use the intermediate results in more than one report.

 Keep number of tables joined in a single SQL to a minimum.

 Do not combine two or more SQLs with UNION ALL, instead use them as separate statements.

 Never use Loops and Cursors, instead use bulk SQLs.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 37


Best Practices – (for Performance & Maintenance) Cont.
 Include sort_order & sort_group columns on the reporting tables so the report can order or group by those.

 Instead of connecting tables to SQL such as CS_ProcessingUnit and CS_Period, they should be queries further up in
the procedure and the required values should be fetched in variables. These variables should then be used in SQLs.
This will help in reducing the number of tables involved in SQLs.

 Query the pipeline table to identify the reports that are being generated and based on this only populate the reporting
tables used by the reports being generated.

 Always reference the custom objects from Crystal using the schema name qualification. The custom objects will need to
be given read access to the <TENANTID> schema from EXT schema. Example NTELEXT objects will be accessed
from the reports using NTEL schema, so NTEL should be given access to NTELEXT database objects.

 If for some reason synonyms have to be created, then only create Private synonyms.

 Never do any data manipulation or calculations in reports, instead get them aggregated in rules.

 Never Hard Code in Crystal and PL/SQL code. Use constants package or store them in a reference table/generic
classifier and then use them in the reporting logic.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 38


StageHook - ODSReportsGenerationConfig
Once the custom PL/SQL stored procedures are created, they need to be linked to the Generate
Statements option in the calculation screen. Here is how we do it.

Navigate to the path: /apps/Callidus/pipeline/classpath/properties/<TenantID> and create a file


<TenantID>-ODSReportsGenerationConfig.xml (by copying from a template).

In the file <TenantID>-ODSReportsGenerationConfig.xml include the following:

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 39


Code Promotion
Once the development is finished in DEV environment, to move the code from DEV environment to
PROD a Code Promotion Document should be completed. This will contain details about each code
to be promoted to the new environment.
The following steps should be taken to promote the code from one environment to another:
1) Check-in latest code to SVN
2) Write up a Code Promotion Document – Template available with OD Support
3) Raise a Ticket with OD Support and send the code deployment document to support.
4) OD Support will grab the code from SVN and will complete the migration.
IMPORTANT NOTE: Access to PROD environment is not given to any developers. The only PROD
access will be via Callidus Portal for the users.
NOTE: Partners to Callidus will not have access to SVN, so they should send the code by email
instead to OD support as part of a ticket.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 40


Technical Support Tickets

An OD Ticket will be required for the following tasks, to support with the Report development:

 Connection to OD Environment: VPN connection. (Not required for HANA Platform)

 Developer access to Database: Access to EXT schema (Database user: fdc1ext, password and TNS) in the
database.

 Adding new TrueComp Admin users by default are setup under BO user group. To move them to admin user group, a
ticket needs to be raised.

 To add the Driver package to the Generate Statements Calculation (ODSReportsGenerationConfig.xml) a ticket will
have to be raised.

 Code Promotion – A ticket will be required to be raised to move the reporting code from one environment to another
(e.g.: DEV to UAT or UAT to PROD).

 User Sync Request – This is to be requested as and when needed. Also, this is required just before go-live.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 41


Lesson 7: Stagehook Usage
Pipeline Process
Trial payments and
balances

Classify Allocate Reward Pay Post Finalize

Transaction Posted payments and


Credits and balances
Primary Secondary
Measurements Measurements,
Incentives,
Commissions, and
Deposits

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 43


Pipeline Process

Stage Description
Classify Classifies valid transactions.
Allocate Calculates credits and primary measurements and allocates them to position
assignments. The output of the Allocate stage is credits and primary
measurements.
Reward Calculates secondary measurements, incentives, commissions, and deposits
for each position assignment. The output of the Reward stage is deposit
amounts for participants for the period in which the calculation is run.
Pay Calculates trial payments for periods that are not finalized (marked as closed),
or calculates trial balances for periods that are finalized.
Post Changes trial payments and balances to posted status (read-only).
Finalize For a position group or for all positions effective in a period, Commissions
marks the period as finalized. Thereafter, Commissions generates balances
instead of payments if you run the Pay stage.

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 44


Stagehooks
 Stagehooks are SQL stored procedures stored in the EXT Database
 They can be triggered to run as a part of the pipeline process, before or after a
particular stage
 Note: Stagehooks are customisations, and should be kept to a minimum in
most situations
Stagehook Type Description

pre-stage Pre-stage hooks are executed prior to the specified stage. For example, a prestage hook
for the Allocate stage will execute before the Allocate stage begins.
post-stage Post-stage hooks are executed after the specified stage has completed. For example, a
post-stage hook for the Allocate stage will execute when the Allocate stage completes.
stage failure A stage failure hook is called if any stage exits because there is an exception during the
pipeline run. You can only specify one stage failure hook for the whole pipeline. This is
not commonly used

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 45


Pros and Cons
PROS:
 Supports the execution of a stored procedure.
 Well-suited to bulk processes, such as generic attribute updates.
 The code can be easily tuned in the case of a stored procedure.
 The stagehook code will not be considered by the product upgrade scripts, meaning that it will not be a failure point when
upgrading.
 Stagehook execution time is reported in the UI. The location of the double underscore indicates when the stage hook ran
in relation to the stage. For example, a stage „__Classify‟ signifies a pre-Classify stagehook, whereas “Classify__”
signifies a post Classify stagehook.
CONS:
 Can only be executed before or after specific pipeline stages.
 No integration with the Commissions UI. Stage Hook processes appear as a 'black box' to users.
 SQL in the stagehook may be affected by an upgrade. Typically, the effect is minimal.
 Code is obscured from the UI and back-end access is required to make changes and to debug issues
 Unlike Commissions rules, these typically have to be modified by technical teams, cannot be done by non technical users
 Impact analysis of changes would also require technical team involvement

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 46


Apply for Grants and Stagehook Permissions

The following information is requested:


 Names and roles of the people requesting the grant, and the company they work for.
 Grants for consideration (SQL grants with appropriate syntax)
 Reason for this request
 Justification (What was attempted to perform this process, and why it cannot be completed using standard
system functionality. Why you would need the grants)
 Design Document (If not available, a description of how the process will work, where the information is
coming from, what is the expected flow of the process and where the information is going to)
 Code (If possible, otherwise we will use the Design Document Information)
 Run Information (How this will be run in the system. If this is for a stagehook, when will it run - Pre/Post
what step? If this is for a trigger file, how will it be run? If this is for a custom process/script/workflow, how
will it be triggered and run?

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 47


Stagehook Descriptor XML File

pl e
am
S

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 48


Appendix

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


Smart Data Integration (SDI) - Architecture and Data Flow
SAP Sales Cloud (HANA Server)

Flat
Commissions Files
HANA Server
Commissions
Pipeline Database
(REST APIs )

Flat
Files

Smart Data Integration


(Data Cleansing, Validation, Formatting, Scheduling, Monitoring )

HTTPS

Firewall

Customer On-Premise
Adapters

ECC Hadoop
DP Agent
RDBMS File

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 50


Drop Box Connection
 Any SFTP software can be used to establish connection with the drop box
(e.g. Putty, WinSCP).
 Private/Public key pair needs to be generated in the source server and
public key would need to be copied into Callidus Drop Box to establish
connection.
- Developer needs to raise ticket to Support attaching generated public key in order to obtain
access to Drop Box

DEV Drop Box


td ev
cus

dmzdrop.callidusondemand.com / UAT Drop Box


SFTP custuat
odsftp.callidusondemand.com

cust
p rd
PRD Drop Box

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 51


Using the ODI Email
 Key part of Business Process
- Who Should Receive these Emails; i.e. Who Will Monitor and Decide on
Next Steps?

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 52


ResetFromClassify/Allocate Stagehooks

 If the credit processing requires a externally calculated value to be available on the transactions, then SH can
be used to update certain GAs or GNs on the transaction. It is not always possible to have this information
available when the file is loaded into Commissions

 Simple example scenario where a stagehook may be used:

A transaction should be credited only if the payee has at least N transactions for the product in the month.

If there is a large number of products and the list changes often, it may not be practical to create a PMR rule to
count every product’s sales for the month.

In this case, a stagehook can be run that counts the transactions in the system, and for each transaction for the
product, it stamps the count on the transaction.

This count is now easily available to the credit rule, and the logic can be implemented in credits

Note: Files may not be loaded for the entire month , they will be loaded day by day, so the total count will not be
known until the pipeline stagehook runs

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 53


Pre AllocateAggregation Stagehooks

 Stagehooks can also be used to update PMRs

• Example: A payee’s compensation may depend on the overall achievement of his team.
This can be done via roll up and rolldown in the pipeline. However,

If the team changes often, relationships can be too effort intensive to maintain. Storing the
relationships in a classifier or position attribute is often easier to maintain

Performance issue can occur due to rollups in SMR/IRs of the teams are too large.

Depending on the above considerations, Stagehooks may be used

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 54


Report examples

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL


Report Sample – Admin Report

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 56


Report Sample – Payee Report

© 2018 SAP SE or an SAP affiliate company. All rights reserved. ǀ INTERNAL 57

You might also like