How To Create an Embedded Report (Any Data Source) and pass values
This blog post will help you embed any report based on a standard OR custom data source and also pass values to your report selection criteria.
I could not find any documentation about this feature, SAP informed me of this feature after I raised an incident.
SAP if you are reading this and there is documentation available publicly please post in the comments and I will update.
You do not need cloud studio to perform this task. I actually tried this with cloud studio but could not achieve the requirement.
See my attempt here if you are interested:
Cloud Studio SDK: Can we create embedded reports
Embedded sales reporting in the customer account screen. Our sales data came from a custom data source we generated and we need this available for our users to view individual customer sales data without having to open the ‘analysis’ work centre. This means we need to pass Account ID to our report from the Accounts Screen/BO.
You will need to have administrator access to the Business Analytics WorkCentre.
You will also need a browser such as IE so you can access silverlight. (Chrome no longer supports silverlight)
Step 1: Create your report
Open up C4C in silverlight mode so you can get access to the Business Analytics workcentre.
Create your report with the key figures you will need. In my example I created a report over a custom data source.
The report name doesn’t matter too much but I would suggest you note where this report will be used so other administrators don’t edit it by accident.
Step 2: Create View for Your Report
Make sure the report view name is something meaningful to the end user as the title will be displayed on the screen (However you can change the view name when you embed – step 6)
Set up the rows/columns exactly how you want the report to appear to the user.
Finally I had the requirement to pass ‘year’ to my embedded report. This isn’t available from the Accounts Screen so I had to save this as part of the default report view to ensure it will run correctly. SAP provide the ability to set a relative selection date, this means you can set current and previous year very easily (a very cool feature).
Save your view and selection as report default (important).
Step 3: Assign the report to the customer workcentre
If you miss this step, the end user will receive an authorisation error! If you are embedding your report in another screen you obviously use a different workcentre.
Step 4: Go back to HTML5 view (if this is the view that your users are utilising) and backup your page layouts
I suggest you do a quick backup of ALL layouts so you can easily reimport if something goes horribly wrong. Just click Export Layout and select all layouts.
Step 5: Open up the screen you wish to embed your report. Edit Master Layout.
In my case I created a new tab especially for these reports, but you can embed them anywhere you please. Take note – Any changes you make now will happen in REAL TIME. Be careful in production tenant.
One more note – I found it to be a little bit slow at times – Be patient! It will eventually process your clicks!
When you create a tab it will create a section for you automatically as below:
Click on the circle with the + inside to add new items… Hang on a minute… where is the option to add embedded report? This was a hard to find feature!
Click the little UP ARROW on the right. This will navigate to the parent.
Hang on… there is still no option for embedded reports!
Click the little UP ARROW once more. BOOM! The option becomes available.
Step 6: Select the report (search by view name as defined in step 2) and configure report parameters.
In my case I needed to pass account ID so I mapped the screen field Account (*) to the UUID report parameter.
If you followed my instructions carefully at the end of step 2, tick ‘Report Default’ for Year and it will be set to current YYYY and last YYYY.
One more important note! Untick the ‘show collapsed view’. Otherwise you have to expand the report manually each time you open the screen.
Step 7: Click ‘End Layout Changes’ from the adapt menu and reopen your screen to test
The fun part – has it worked? If you have configured your views and parameters correctly the report will open as below!
Little Gotcha – If you default your report view to ‘Chart and Table’. The report will open as a table instead. Make sure you have chart as default.
Good job with the blog.
1) I've followed your steps, but passing the Account ID instead. Please see the screen shot. It seems like the report just pass in the Account ID, without actually filter and run it.
2) I cant view this report in IPad Cloud4CustExt native app. Error Report Cannot Be Opened.
1) Sorry it is a little unclear, did you save the account ID in your report view? I left Account ID blank when setting up the view.
If the report parameter isn't working I would check that your data types are a perfect match to work.
I used the 'Account' characteristic which is joined from the standard data source 'Account Details'.
2) Our company doesn't run iPads so I was unaware of this, thanks for the heads up!
1) Here is what happened.
a) When i first view the report, it didnt extract the key figure for the 3M (ie account ID 10330). Instead, it displayed the key figures for all the accounts in the datasource.
b) If I click on "Analyze data", i can see that the selection field - account ID is filled by the system automatically, and when i click on "Go" button, will get the correct key figures for 3M.
My Account ID's data type is ID.
Is it possible that when i first view the report as in step a, i will get the Key figure for the account 3M only.
It sounds like the parameter is not being passed correctly. Double check your step 6 again and make sure the fields are mapped right.
I didn't use account ID - haven't tried this, maybe it doesn't work.
I instead used the (Account) instead. This is available as part of the standard account details data source. You could add this to your data source if not available?
Maybe try get yours to match my step 6 screenshot? So pass Account (*) to Account and ignore Account ID.
How do you get the UUID passed to your custom BO?
Yes if you see the screenshot in step 6, this is a UUID field. I passed the Account (*) that was part of the standard Account Details data source that I joined to my custom data source.
Great blog and thanks a lot!
When I try to select the report I get two errors saying "You have no authorization for the creation of Analytical Navigation" and "Object must not be changed; Error TR. 414 in change/transport system.
Hope you could help me .
This blog is really useful!
I have the same authorization issue, what Srinivasan wrote down.
I assigned my report to specific view and to role and my user is assigned to that role.
Can you please share the solution with me as well.
It appears that Srinivasan got a response from the SAP development team. It must be a recent bug. Hopefully they fix it soon.
Clarification in Embedding Reports
I have received a communication from the SAP team regarding Embedding reports. They have rectified it.
People try it and let me know if you guys are encountering any further issues.
I followed your blog to embed reports. This time my embedded reports is empty. Any idea where I am going wrong.
In addition to this I have raised an incident with the SAP Team and waiting for the reply.
Is there any way to hide/show the embedded reports by customer attributes?
Sorry missed this one, I haven't tried it let me know if you were successful keen to hear about it!
Thank you for the blog - its very very useful!
May I ask how you get to the screen in screenshot 3?
Just open up C4C in administrator mode (silverlight only), navigate to Business Analytics. Find your report to embed and there should be an assign button on the screen.
Thank you for replying. I mean the 3rd screenshot, not step 3 🙂
Once you have completed your report wizard you can create a view for your report. Here you save your view and set your default report parameters. Hope this makes sense!
Great post. I have a problem with an embedded report in our solution, wondering if you could help:
In the embedded report settings, we need to link a select parameter of the report to an extension field on the screen. However, we can't find a way to select the extension field from the list:
Do you have any suggestions how to add an extension field into the list of screen fields?
thank you for the great post!
I have a question - is there any way to have a selection field displayed in the the embedded report ? I have some predefined filter (Account ID like you) but my users would like to select manually a value when launching the report.
Thank you and best regards
Is there still the possibility to add reports to any screen (especially to custom tabs in projects)?
I did not find the possibility to "Add Embedded Reports", neither in Silverlight nor in HTML5 UI.