BiWhy: Feature Overview (Short Version)

Disclaimer:
BiWhy is available again for FREE to everyone on biwhy.net

BiWhy is a comprehensive general-purpose (not BOBJ only) support tool with a strong focus on features designed to enhance SAP BusinessObjects monitoring, administration, and troubleshooting, addressing the most important and frequently used aspects missing from standard solutions or improving their usability.

BiWhy: Motivations and Approach (see below)

 Feature Overview

1. Host / OS-Level Monitoring
Monitors system-level and process-level CPU, memory, disk, network…
 
2. BOBJ Metrics Monitoring
Provides deep analysis of BOBJ server metrics using trees, tables, charts, filters, automated checks, landscape summaries, and multi-system logon configurations.
 
3. CMS DB Analysis
Analyzes CMS DB content and history, including object quantity and size allocations; compares snapshots to identify changes or promotion issues, with flexible filtering and optimized CMS DB object fetching.
 
4. CMS DB Queries (Super-Advanced CMC Admin Tools)
Fetches and displays CMS DB data in trees and tables with detailed property analysis; provides query libraries, Excel export, parent-child flattening, automated ID-to-name resolution, calculated measures, and offline analysis.
 
5. CMS Actions
Executes actions on CMS objects (update, delete, move, pause/resume jobs, etc.) based on flexible CMS queries; actions are easily extendable.
 
6. Rights Analysis
Evaluates effective and explicit rights for selected objects, including recursive checks across entire folder structures, with filtering by a specified principal.
 
7. Audit DB / General SQL Client
As a JDBC client that allows running any SELECT queries (with DELETE/UPDATE disabled for extra safety), testing fetch-array-size performance, interrupting long fetches, and reviewing select/fetch statistics.
 
As Audit DB browser, it is 10–100 times faster than WEBI Reports on Audit Universe. Maybe I’m biased, but even before BiWhy I always preferred using a direct DB client to work with the Audit DB, especially during escalations.
Setup is easy – you only need a JDBC connection string.
Shows all available filters, assists with building queries, resolves IDs to names, and drills down into event details.
Tip: always check ERROR events.
 
8. Sessions
User/session analysis – divergence, durations, long durations, multiple concurrent sessions, timeouts.
Session administration – mass-kill operations.
 
9. Publications
Publication analysis – durations, duration per recipient, count, source reports.
 
10. GLF Logs
End-to-end analysis with automated time-consumer detection, grouping, flow trees by workflow or host/server, mining, statistics, RFC and Business Transaction views, and interactive cross-linked visualizations.
The idea was to fill the gaps in FlexiLogReader.
 
11. Java Threads
Thread dumps analysis – takes advantage of additional information provided in thread dumps by SAP JVM (CPU, files, network, elapsed time).
Groups threads by their type, allows quickly detect CPU or Memory abuser or pin particular thread to traffic or opened files. Frequently it is good enough proxy for system-load picture.
Allows walk on stack changes and charts thread states (waiting, running, etc.).
 
12. Java Stacks
Simplifies stacks for readability – show/hide parameters or packages.
Compares stacks to highlight common parts and points of divergence.
 
13. Java Jars
Indexes all JARs in your system once and lets you search which JAR a given class is loaded from.
 
14. Java JMX
Monitors JMX metrics across multiple processes/hosts and presents them in a tree with table and chart analysis. Much more convenient than Oracle’s JMX tool, in my view.
Useful for any Java app monitoring or configuration check.
Supports BOBJ JMX connections – similar to Wily Introscope, though BiWhy’s BOBJ Metrics (via the BOBJ API) are more convenient.
Possible future development: modifying parameters without restarting the application (e.g., Tomcat). I needed it only once, so this feature is on hold.
 
15. AO Logs
Analysis for Office logs – e2e/net time, grouping by type, tree view, tables, flow and other charts.
Requires updating to the current BiWhy controls to enable full embedded analytics.
 
16. XML
Browsing – filters empty/zeroed attributes and duplicates, shortens paths, supports search. Especially useful for large XML analysis.
Comparison – highlights differences and hides common parts; useful, for example, for configuration comparison.
 
17. Files
Indexes directories and compares servers or environments by hiding common files and filtering out nonessential files (logs, etc.).
Provides tree and table analysis – count, size, modification. Allows fast search, much faster than the OS when folders are not indexed.
 
18. Text Tools
Growing set of common text-analysis operations.
Compares lists.
Compare file lines – very useful for configurations spread across multiple files.
Unique entries and counts.
Includes converters.
 
19. OS Command
Runs system commands at given intervals, filters output, and provides quick interactive analysis.
 
20. Tools (File Collection, Zip, GC)
Designed to collect BOBJ logs from multiple hosts – configure once, then collect in seconds when needed.
Configuration is auto-assisted: you only provide missing details (e.g., Tomcat hosts), and BiWhy generates file-location templates.
 
Truly collecting everything for comprehensive analysis — or to keep SAP Support happy — spans many directories and is rarely done because explaining where to collect from is too time-consuming, and the resulting files are usually poorly structured.
 
Supports filtering by modification time or extension, so you gather only what you need.
Shows statistics and progress for collected files.
Includes zipping for convenience.
 
Can also serve as a general file collector — for example, to gather all *.jar, *.xml, *.properties, etc. files.
 
21. BiWhy Table (Embedded Analytics)
Flexible table with row/column filters, grouping, statistical analysis, useful renderers (duration, bytes, etc.), and a set of frequently used flexible charts.
In some aspects, better than Excel – no row limits, multi-column handling. Some analytical tools also struggle with long-string handling.
 
22. Analytics
Imports external data into BiWhy Table for further analysis.
Supports saved import templates (separators, escape characters, time formats).
Especially useful for analyzing Tomcat access logs.
 
23. HAR Logs (Beta)
Basic HAR-file analysis. Development was frozen due to other priorities and the abandonment of other tools (Fiddler, HTTP Watch, SUPA, etc.)
 
24. SM50 (ABAP) Logs
Parses SM50 logs into tables and charts for performance and activity analysis. Used only once, but provided essential statistics that helped demystify the issue.
 
25. WER (Windows Error Reporting)
Summarizes WER files.
 
26. WEBI ErrorInfo
Summarizes WebIntelligence.errorinfo files.
 
27. Other Common Features
Interactive search, regular expressions, performance and contextual logs, timers, caching, persistent user settings, save/load capability, and embedded documentation.
 
28. HTTP Client (in development)
HTTP requests to test or verify configurations when it’s not possible or convenient to use a browser, or when the browser is disabled (e.g., on servers). For example, it can send POST requests – similar to a third-party tool like Postman.
Automates RESTful operations.
 
29. Report Structure (in development)
Shows which fields from data sources are used in reports and where.
 
30. Export / Archiving (in development)
Exports or downloads reports to local files in the specified format.

 

 

The motivations and approach behind BiWhy, which I also tried to apply within BiWhy itself.

Software supportability:
Good supportable software rests on following principles:

Measure everythingLog:Log everythingOn-the-fly verbosity configurationCentralized configuration (applicable to other topics too)Cut noise:Worthless logs entriesZero error tolerance – a healthy system should be clear of error and exception logs. It is either healthy or has errors; it cannot be both. There shouldn’t be errors that can be ignored. Either fix them or don’t mark them as errors.Easy log filter on step of log generation, as workaround for above two topicsEasily available (as simple as possible, ideally one click):MeasuresLogsDocumentationsRepeatable problem detection and troubleshooting should be automated or semi-automatedConvenient UI to analyze aboveNon-trivial configurations should be guided and easily troubleshootable at each step

Good supportability means:

Problems and performance can be addressed and optimized starting from the lowest level:End usersCustomer (report)developersSystem administratorsVendor’s levels of supportVendor’s developers

This will take pressure off higher-tier support layers and save hundreds of hours of support effort per day.
Part of those resources might be redirected to further automation and supportability improvement.

Overall, it helps create best-in-class software (functionality richness, performance, robustness, lowest cost of ownership):Early error detection (new and regression) will facilitate new features development and problem correctionPerformance optimization on all levels –> overall performance gains

Example:

SAP’s success with ABAP systems was to a great extent (imho) due to its open architecture – logs lead to code, the code is easy to debug and measure, and clients can see what is going on and participate in development.

BusinessObjects is addressing supportability in many areas, but it also has a lot of lacunas.
BiWhy was started with idea to fill these gaps.

 

​ Disclaimer:BiWhy is available again for FREE to everyone on biwhy.netBiWhy is a comprehensive general-purpose (not BOBJ only) support tool with a strong focus on features designed to enhance SAP BusinessObjects monitoring, administration, and troubleshooting, addressing the most important and frequently used aspects missing from standard solutions or improving their usability.BiWhy: Motivations and Approach (see below) Feature Overview1. Host / OS-Level MonitoringMonitors system-level and process-level CPU, memory, disk, network… 2. BOBJ Metrics MonitoringProvides deep analysis of BOBJ server metrics using trees, tables, charts, filters, automated checks, landscape summaries, and multi-system logon configurations. 3. CMS DB AnalysisAnalyzes CMS DB content and history, including object quantity and size allocations; compares snapshots to identify changes or promotion issues, with flexible filtering and optimized CMS DB object fetching. 4. CMS DB Queries (Super-Advanced CMC Admin Tools)Fetches and displays CMS DB data in trees and tables with detailed property analysis; provides query libraries, Excel export, parent-child flattening, automated ID-to-name resolution, calculated measures, and offline analysis. 5. CMS ActionsExecutes actions on CMS objects (update, delete, move, pause/resume jobs, etc.) based on flexible CMS queries; actions are easily extendable. 6. Rights AnalysisEvaluates effective and explicit rights for selected objects, including recursive checks across entire folder structures, with filtering by a specified principal. 7. Audit DB / General SQL ClientAs a JDBC client that allows running any SELECT queries (with DELETE/UPDATE disabled for extra safety), testing fetch-array-size performance, interrupting long fetches, and reviewing select/fetch statistics. As Audit DB browser, it is 10–100 times faster than WEBI Reports on Audit Universe. Maybe I’m biased, but even before BiWhy I always preferred using a direct DB client to work with the Audit DB, especially during escalations.Setup is easy – you only need a JDBC connection string.Shows all available filters, assists with building queries, resolves IDs to names, and drills down into event details.Tip: always check ERROR events. 8. SessionsUser/session analysis – divergence, durations, long durations, multiple concurrent sessions, timeouts.Session administration – mass-kill operations. 9. PublicationsPublication analysis – durations, duration per recipient, count, source reports. 10. GLF LogsEnd-to-end analysis with automated time-consumer detection, grouping, flow trees by workflow or host/server, mining, statistics, RFC and Business Transaction views, and interactive cross-linked visualizations.The idea was to fill the gaps in FlexiLogReader. 11. Java ThreadsThread dumps analysis – takes advantage of additional information provided in thread dumps by SAP JVM (CPU, files, network, elapsed time).Groups threads by their type, allows quickly detect CPU or Memory abuser or pin particular thread to traffic or opened files. Frequently it is good enough proxy for system-load picture.Allows walk on stack changes and charts thread states (waiting, running, etc.). 12. Java StacksSimplifies stacks for readability – show/hide parameters or packages.Compares stacks to highlight common parts and points of divergence. 13. Java JarsIndexes all JARs in your system once and lets you search which JAR a given class is loaded from. 14. Java JMXMonitors JMX metrics across multiple processes/hosts and presents them in a tree with table and chart analysis. Much more convenient than Oracle’s JMX tool, in my view.Useful for any Java app monitoring or configuration check.Supports BOBJ JMX connections – similar to Wily Introscope, though BiWhy’s BOBJ Metrics (via the BOBJ API) are more convenient.Possible future development: modifying parameters without restarting the application (e.g., Tomcat). I needed it only once, so this feature is on hold. 15. AO LogsAnalysis for Office logs – e2e/net time, grouping by type, tree view, tables, flow and other charts.Requires updating to the current BiWhy controls to enable full embedded analytics. 16. XMLBrowsing – filters empty/zeroed attributes and duplicates, shortens paths, supports search. Especially useful for large XML analysis.Comparison – highlights differences and hides common parts; useful, for example, for configuration comparison. 17. FilesIndexes directories and compares servers or environments by hiding common files and filtering out nonessential files (logs, etc.).Provides tree and table analysis – count, size, modification. Allows fast search, much faster than the OS when folders are not indexed. 18. Text ToolsGrowing set of common text-analysis operations.Compares lists.Compare file lines – very useful for configurations spread across multiple files.Unique entries and counts.Includes converters. 19. OS CommandRuns system commands at given intervals, filters output, and provides quick interactive analysis. 20. Tools (File Collection, Zip, GC)Designed to collect BOBJ logs from multiple hosts – configure once, then collect in seconds when needed.Configuration is auto-assisted: you only provide missing details (e.g., Tomcat hosts), and BiWhy generates file-location templates. Truly collecting everything for comprehensive analysis — or to keep SAP Support happy — spans many directories and is rarely done because explaining where to collect from is too time-consuming, and the resulting files are usually poorly structured. Supports filtering by modification time or extension, so you gather only what you need.Shows statistics and progress for collected files.Includes zipping for convenience. Can also serve as a general file collector — for example, to gather all *.jar, *.xml, *.properties, etc. files. 21. BiWhy Table (Embedded Analytics)Flexible table with row/column filters, grouping, statistical analysis, useful renderers (duration, bytes, etc.), and a set of frequently used flexible charts.In some aspects, better than Excel – no row limits, multi-column handling. Some analytical tools also struggle with long-string handling. 22. AnalyticsImports external data into BiWhy Table for further analysis.Supports saved import templates (separators, escape characters, time formats).Especially useful for analyzing Tomcat access logs. 23. HAR Logs (Beta)Basic HAR-file analysis. Development was frozen due to other priorities and the abandonment of other tools (Fiddler, HTTP Watch, SUPA, etc.) 24. SM50 (ABAP) LogsParses SM50 logs into tables and charts for performance and activity analysis. Used only once, but provided essential statistics that helped demystify the issue. 25. WER (Windows Error Reporting)Summarizes WER files. 26. WEBI ErrorInfoSummarizes WebIntelligence.errorinfo files. 27. Other Common FeaturesInteractive search, regular expressions, performance and contextual logs, timers, caching, persistent user settings, save/load capability, and embedded documentation. 28. HTTP Client (in development)HTTP requests to test or verify configurations when it’s not possible or convenient to use a browser, or when the browser is disabled (e.g., on servers). For example, it can send POST requests – similar to a third-party tool like Postman.Automates RESTful operations. 29. Report Structure (in development)Shows which fields from data sources are used in reports and where. 30. Export / Archiving (in development)Exports or downloads reports to local files in the specified format.  The motivations and approach behind BiWhy, which I also tried to apply within BiWhy itself.Software supportability:Good supportable software rests on following principles:Measure everythingLog:Log everythingOn-the-fly verbosity configurationCentralized configuration (applicable to other topics too)Cut noise:Worthless logs entriesZero error tolerance – a healthy system should be clear of error and exception logs. It is either healthy or has errors; it cannot be both. There shouldn’t be errors that can be ignored. Either fix them or don’t mark them as errors.Easy log filter on step of log generation, as workaround for above two topicsEasily available (as simple as possible, ideally one click):MeasuresLogsDocumentationsRepeatable problem detection and troubleshooting should be automated or semi-automatedConvenient UI to analyze aboveNon-trivial configurations should be guided and easily troubleshootable at each stepGood supportability means:Problems and performance can be addressed and optimized starting from the lowest level:End usersCustomer (report)developersSystem administratorsVendor’s levels of supportVendor’s developersThis will take pressure off higher-tier support layers and save hundreds of hours of support effort per day.Part of those resources might be redirected to further automation and supportability improvement.Overall, it helps create best-in-class software (functionality richness, performance, robustness, lowest cost of ownership):Early error detection (new and regression) will facilitate new features development and problem correctionPerformance optimization on all levels –> overall performance gainsExample:SAP’s success with ABAP systems was to a great extent (imho) due to its open architecture – logs lead to code, the code is easy to debug and measure, and clients can see what is going on and participate in development.BusinessObjects is addressing supportability in many areas, but it also has a lot of lacunas.BiWhy was started with idea to fill these gaps.   Read More Technology Blog Posts by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author