Introduction
Aimed at reporting specialists, the advanced mode provides more detailed control over the ad hoc orders as well as scheduled orders. It allows users to directly view and edit the JSON representation of an order. This page provides an in depth description along with many examples on how the advanced mode can be used.
Using the Advanced Mode
In the detail view of a scheduled order or in the ad hoc order, click the tab advanced mode. You now see the JSON representation of the order. The editor provides several features to help with the editing process:
Mismatched brackets, commas etc. are highlighted.
Alt+Shift+F formats the order.
Extended search functionality. Click on the editor field to make sure it is focused. Then, press CTRL+F
Example Orders
Simple ad hoc order | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "parameters":{ "portfolioId": "E0002", "reportingDate": "2019-03-31", "reportLanguage": "en" } } |
Simple manually scheduled order
| { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "manual", "parameters": { "reportLanguage": "en", "portfolioId": "E0002" }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } |
Simple automatically scheduled order
| { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "scheduled", "scheduling": { "availabilities": [ {"availability": "eventDriven"} ], "frequency": "monthly", "startDate": "2018-01-01" }, "parameters": { "reportLanguage": "en", "portfolioId": "E0002" }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } |
Order scheduled onceAutomatic scheduled order but:
| { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "scheduled", "scheduling": { "availabilities": [ {"availability": "eventDriven"} ], "frequency": "daily", "startDate": "2018-01-01", "endDate": "2018-01-01" }, "parameters": { "reportLanguage": "en", "portfolioId": "E0002" }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } |
Batch Orders
The advanced mode allows a greater deal of flexibility for batch orders. In the JSON representation, some properties in an order can be “starred“, i.e. postfixed with *
. These are the properties that cause the batch orders to yield multiple reports. In simple cases this can easily be set up using the default mode, for example when creating the same report for multiple portfolioIDs and languages. What is unique to the JSON representation, is that multiple sets of parameters can be configured with parameters*
. This allows for a fine granular configuration for each of the resulting reports.
Batch Order Rules
There are three simple rules:
Any property name ending in a star
*
is an array which implies multiple (sub-)orders, with the (star-less) property iterated over its elements.If both
"parameters"
and"parameters*"
are present, each element of"parameters*"
produces one orders with"parameters"
merged in (or multiple ones, if sub-parameters are also starred) .The orders and executions created correspond to the cross product of all properties ending in a star.
Batch Order Examples
Simple batch order example
Batch order with multiple portfolioIDs and languages. The following order creates 6 executions.
{ "reportType": "sample_FOC_Report", "outputFormat": "word", "orderType": "manual", "parameters": { "reportLanguage*": ["en","de"], "portfolioId*": [ "2041", "2044", "2090" ], "reportingDate": "2020-11-30" }, "orderStatus": "active" }
reportLanguage | portfolioId | |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
Different parameters for each execution with parameters*
The below example creates six executions, with different parameters for each portfolio:
{ "reportType": "sample_FOC_Report", "outputFormat": "word", "orderType": "manual", "parameters": { "reportLanguage*": ["en","de"], "reportingDate": "2020-11-30" }, "parameters*": [ { "portfolioId": "2041", "showTWR": false }, { "portfolioId": "2044", "showTWR": true }, { "portfolioId": "2090", "showTWR": true } ], "orderStatus": "active" }
reportLanguage | parameters added via parameters* | |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
Use Case Fund Reporting: Create reports for one portfolio for multiple countries with the same order
The following order creates 3 x 3 executions with "jurisdiction"
set to "ch"
, "eu"
and "ru"
. (Hint: the parameter reportLanguage*
is not to be confused with the multi-lingual reporting feature using availableLanguages
)
{ "reportType": "sample_FundFactSheet", "outputFormat": "html", "orderType": "manual", "parameters": { "reportLanguage*": ["en","de","fr"], "portfolioId": "F0001", "reportingDate": "2020-11-30", "jurisdiction*": ["ch", "eu", "ru"] }, "orderStatus": "active" }
Starring segmentations
properties of object-type parameters (e.g.
filterSegmentation
.segments
) can’t be used with a *non-atomic parameters (object or array, e.g.
segmentations
) can be used with *
{ "reportType*": [ "fullReport", "shortReport" ], "outputFormat*": [ "pdf", "html" ], "orderType": "manual", "parameters": { "reportLanguage*": ["en","de"], "reportingDate": "2020-11-30", "filterSegmentation": { "id": "gugus", "segments": [], "" }, "segmentations*": [ [ "seg1", "seg2" ], [ "seg2", "seg3" ] ] }, "orderStatus": "active", "orderId": "ORD00003" }
Reference: Order Properties
These properties configure the general report order.
Property | Type | Description | Examples / Values | Required | Can use star |
---|---|---|---|---|---|
reportType | string | The type of the report defining the structure of contents | "Fixed Income Two-Pager" | YES | YES |
outputFormat | string | Select the format of the output (pdf creates word & pdf) | word, pdf, json | YES | YES |
parameters | See separate table: https://bmpi.atlassian.net/wiki/spaces/CRDOC/pages/2881159181/Editing+Orders+with+the+Advanced+Mode#Order-Level-Parameters | YES | YES | ||
orderStatus | string | The status of the order: Can be active or inactive. Inactive orders are not considered for scheduling. | "active", "inactive" | NO | NO |
orderType | string | Whether the order should be considered for automated scheduling or will be scheduled manually. | "scheduled", "manual" | NO | NO |
orderName | string | The name of the order. | "E0002 monthly two pager" | NO | NO |
printerName | string | The printer to use for printing. Only applicable if the output format is set to 'print'. | NO | NO | |
priority | number | The priority of the execution in the production queue. Lower number is higher priority. | NO | NO | |
scheduling | See separate table: https://bmpi.atlassian.net/wiki/spaces/CRDOC/pages/2881159181/Editing+Orders+with+the+Advanced+Mode#Scheduling-Parameters | Required for automatically scheduled orders but not for ad hoc orders and manually scheduled orders | NO | ||
orderId | string | The id of the order. Ad hoc orders do not have an id. The id is automatically generated and only needs to be passed if an already existing order is supposed to be updated. | NO | NO |
Order Level Parameters
These generic parameters configure the report to be produced. These core parameters are available for all versions of Cinnamon. More parameters are available depending on the Cinnamon solution used.
Parameter | Type | Description | Examples / Values |
---|---|---|---|
portfolioId | string | The id of the portfolio, consolidation or other business object to report about. | “E0002” |
reportingDate | Date | The date to to report about. Has to be formatted as "YYYY-MM-DD". | “2019-03-31” |
reportLanguage | string | The language to report in. | “en” |
availableLanguages | string[] | The language to generate abstract report in. | [“en”, “de”] |
reportTitle | string | The title of a report. | “E0002 Quarterly report” |
reportSubtitle | string | The subtitle of a report. | “Q1 2019” |
profile | string | Name of the used profile. The profile configures all parameters needed by solution specific blocks | “equityProfile” |
resolveTexts | boolean | ||
resolveValues | boolean | ||
resolveCharts | boolean | Whether charts should be resolved to SVG. | |
validateSchema | boolean | Whether data hub query responses should be validated by the corresponding JSON schema | |
verifyRules | boolean | Whether data hub query responses should be validated by the corresponding [[Validatable.verified]] function | |
refreshCache | boolean | Whether the report production should forcefully refresh all cache entries visited. |
Scheduling Parameters
MANDATORY: parameters are mandatory for automatic scheduling based on data availabilities.
Property | Description | Type | Examples / Values |
---|---|---|---|
| Start date of the scheduling. | Date | 2021-01-01 |
| End date of the scheduling. | Date | 2021-12-31 |
| Frequency of the scheduling. | one of the below strings:
| “daily” |
| Selection of points, where the report should be scheduled |
| |
| List of data availabilities the reports should be created for. |
| [ {"availability": "eventDriven"}, {"availability": "signedOff"} ] |
Reference: Different Kinds of Orders
The minimal examples below outline the differences between the various kinds of orders:
Ad hoc vs. scheduled orders
manual vs. automatic scheduling
batch vs. non-batch orders
Ad hoc / scheduled order | Trigger | Batch? | Minimal Example | UI used for creation |
---|---|---|---|---|
Ad hoc | Manual | No | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "parameters":{ "portfolioId": "E0002", "reportingDate": "2019-03-31", "reportLanguage": "en" } } | Ad Hoc Order |
Ad hoc | Manual | Yes | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "parameters":{ "reportLanguage*": ["de", "en"], "portfolioId*": ["E0002", "E0001"], "reportingDate": "2019-03-31" } } | Ad Hoc Batch orders are not foreseen. However, Cinnamon will still create the reports and they can be found in the Executions UI. This can be used in exceptional cases. |
Scheduled | Manual | No | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "manual", "parameters": { "reportLanguage": "en", "portfolioId": "E0002" }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } | Report Order Management |
Scheduled | Manual | Yes | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "manual", "parameters": { "reportLanguage*": ["de", "en"], "portfolioId*": ["E0002", "E0001"] }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } | Report Order Management |
Scheduled | Automatic | No | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "scheduled", "scheduling": { "availabilities": [ {"availability": "eventDriven"} ], "frequency": "monthly", "startDate": "2018-01-01" }, "parameters": { "reportLanguage": "en", "portfolioId": "E0002" }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } | Report Order Management |
Scheduled | Automatic | Yes | { "reportType": "sample_TwoPager", "outputFormat": "pdf", "orderType": "scheduled", "scheduling": { "availabilities": [ {"availability": "eventDriven"} ], "frequency": "monthly", "startDate": "2018-01-01" }, "parameters": { "reportLanguage*": ["de", "en"], "portfolioId*": ["E0002", "E0001"] }, "orderStatus": "active", "orderName": "E0002 monthly two pager EN" } | Report Order Management |
Add Comment