How to Implement/enable context specific “Search functionality” in your Dashboard developed on SAP BOBJ- Xcelsius tool
Table of Contents
- Business Scenario
- How to implement
- Step 1: Back-end Web I report logic
- Step 2: Live Office Connection
- Step 3: Prompt setting/ Prompt Binding
- Step 4: Connection Management in Xcelsius
- Step 5: Xcelsius Logic Building and Report Design
- Step 6: Component’s Property Setting and Customization 1
- Step 7: Component’s Property Setting and Customization 2
This article explains step by step process about how to Implement/enable context specific “Search functionality” in our Dashboard developed on BOBJ- Xcelsius which is not available with current standard version of SAP BOBJ- Xcelsius.
2. Business Scenario
Lets us try to understand that in large manufacturing/automobile industry, generally have large numbers of vendors/suppliers supply raw materials, assembly parts, spare parts etc in bulk for their manufacturing plant.
Say for example any time Organization may ask vendor wise performance analysis summary report to measure their performance for future business.
For that purpose vendor wise performance analysis Dashboard is very important.
Any large Automotives companies, Manufacturing companies may have more than 10000 active or inactive registered vendors with them, so it is quite difficult for a user\analyst to remember each and every vendor’s exact code or full name as it is exist in SAP or non SAP system.
So for that xcelsius dashboard level search option is very important otherwise dashboard will display wrong/no data due to wrong input.
Here I am assuming that the reader has some basic/Intermediate knowledge/experience in BOBJ Xcelsius dashboard development.
3. How to implement it in your Business Dashboard (Xcelsius) :
Dashboard Functionality Explanation with one Example:
Item\element level searching function is quite well known in Web I or BEx report but to implement it in Xcelsius Dashboard, some tricky logics are required.
I am sharing a few screenshots of my recently developed dashboard where I have used Xcelsius dashboard searching option.
“Search Functionality” is only one part/portion of my dashboard which I am explaining here in detail.
In the screenshot picture, as you can see one Input Text box for “Vendor Searching” where user can enter input if he/she doesn’t know the Vendor’s exact full name or Key/code.
If user clicks on the “Search Engine” button then dashboard will open one popup in same window for vendor search. See in the “Figure -1” and “Figure-2”
According to user’s “Input”, dashboard will display similar list of vendor’s names (my case) “Figure-3”.
So from the list, user can get/select desired vendor/input. As user clicks on “Select & Close Window” button dashboard will take the exact Input for processing
Figure – 1: Blank Dashboard (Need User Input)
Figure – 2 : Search Window
Figure – 3 (Searched Results)
Figure: 4 (Final Output of Dashboard)
Step by Step Development steps details:
Step 1: Backend of any Live Office connection based Xcelsius dashboard is Web I report.
So our first job is to create Web I report for “Dashboard Search Engine”.
In this web I have created two Query filter Prompts
I have selected filter operator as “Matches pattern” because this operator accepts prefix and suffix * (star symbol) input for searching.
Now you can Import this Web I report via Live Office in your source excel file.
Browse the web I report.
As it comes in the excel file, Right click on any cell of report body within excel sheet and select “Refresh Object” option.
Pass some filter Prompt value with prefixing and suffixing by * (star symbol)
As I have already mentioned that prefix and suffix is required because we are using “Matches pattern” operator in source Web I report and as you know it never works without prefixing or suffixing * (star symbol) symbol.
This step is about Prompt setting/ Prompt Binding.
Next bind the two prompts with 2 specific cells of the excel sheet.
As you can see I have bound Vendor Key Prompt with Cell B2 and Vendor Name Cell with the cell B3 of my excel sheet. Once again refresh your live office connection. Now connection building live office part overand your source excel file is ready for importing.
Open/start Xcelsius, import your source excel file (live office) in your xcelsius file. Then click on “Management Connection” and arrange your connection.
Here I am assuming that reader is fully aware about the “Loading message”, “Idle message” and “Insert In” functionality of xcelsius connection management.
Now this step is all about xcelsius design and logic building part. Insert one “Input Text” and “Push Button” in your canvas.
In “Push Button’s” General property, specify Data Insertion cells i.e. “Source Data” , “Destination”
You can refer the following screenshot for better understanding.
Insert one “Panel Container” for Search window Popup.
Set Dynamic Visibility property, logic according to your connection insertion and push button’s source destination cells logic so that when user click on “Search” push button then “Panel Container’s” dynamic visibility property should get true condition.
In this search panel container I have added
i) Two “Input Text Box”. One for ‘Vendor Key’ Input and another for ‘Vendor Name’ input.
ii) Two “Push Button” and One “Connection Refresh” Button
iii) One “Scorecard”- for search result output display.
iv) One “Play Control”
v) One “Horizontal Progress Bar”.
vi) 6 Labels for message display.
Now I have set the Properties “Vendor Key” and “Vendor Name” Input Text Box with specific cells via one to one mapping.
in my Case Vendor key Input TextBox mapped with – D2 Cell
Vendor name Input TextBox mapped with – D3 cell
Now as I discussed above, the mentioned two connections prompts bound with the cell B2 and B3.
Now I have used Concatenation formula to prefix and suffix * symbol.
As explained earlier that * symbol required for Pattern Search.
Now I have connected the Connection Refresh Button labeled as “Search” with the particular Live Office connection.
Now when end user will click on “Search” Button the connection will get refresh and will bring searching results according to the input.
Here you have put restriction that if user Input is blank for both the Input Boxes (Vendor Key and Vendor Name) then connection should not get refresh because unnecessary it will bring the whole data.
So now the question is How to display restriction Alerter message if user Input is totally blank??
Solution: Place the Push button labeled as “Search” on “Connection Refresh button”.
Now play with the dynamic visibility logic.
Logic formula is Concatenate both the cells bounded with Input Text Box in a separate cell.
Put the formula for E2 “=CONCATENATE(D2,D3)” (It is an Example)
And in different cell put logic that if E2 is blank then “True” Else “False” and assign the cell to dynamic visibility of the Push button.
Means when Input is blank then system will display “Push Button” and when Input Boxes contain any value then report will show “Connection Refresh Button”.
Push Button Logic: In the Push button properties, bind “Source” with one cell contains one value and “destination” with another cell contains no value. When “Push Button” will click by user then destination cell will get the particular value of the source cell.
Set the dynamic visibility property of the “Alert Message Panel” as the Push Button (Search)’s destination cell.
Progress Bar: at the loading status of the Connection display the Progress Bar by setting it’s dynamic visibility property with “loading message” insertion cell and rewind it by a “Play Control” component.
For both the components “Progress Bar” and “Play Control” Data cell should be same and “Manual Scale’s” Maximum and Minimum Value should be same.
Step: 7 (Last Step)
As connection get refreshed, Score Card component Grid will get some multi rows as searching results,
So now user can select desired Row (i.e. Vendor) and can click the bellow Push Button labeled as “Select And Close Window”.
To implement the functionality I have selected the Connection’s Output cells as a source and a particular cell as destination according to your report logic.
This is all about search functionally of Xcelsius dashboard. You can apply the logic in your dashboard where huge numbers of item are there.
This dashboard is now being used by many users at my client site.
Video clip of the Xcelsius Dashboard also attached with this article. To watch the video, right click on the file and open with your Internet Browser.
Due to data security reason I have added only “Search Functionality” part of the Dashboard in the video clip.
If you have any query regarding that, please fell free to mail me