emergingbytes.com Technology blog for data warehousing, business intelligence, iPhone Apps Development, Android Apps development and facebook applications

1Dec/120

BOE Report Scheduler Asking for Context

Many SAP Business Objects 4 users have report scheduling complaints which are based on a universe designed in Information Design Tool and have a design that allows context selection. Issue is that when report is scheduled that can take two different paths, it ask for the context but available list of context is not displayed, resulting in the in-ability to schedule the report. Up-till SP4 (service pack 4) SAP has not released a fix for this and until that time, following are the do's and don't's for scheduling a report containing context choices:

  1. Create a new report and in the query panel set option to save the context choice
  2. Save the report
  3. Open the report and refresh the report using refresh icon on the top
  4. Select the context of choice
  5. Once report is refreshed, save it again
  6. Do not change the selection of the query objects in the query panel. Once you change objects and save it, you will not be able to schedule this report again. The only work around would be to re-create the report from scratch by following through step 1 to step 5

Good luck!

19Jun/120

SAP Business Objects: Refreshing Structure in Information Design Tool

If Data Foundation Layer has already been developed or is being developed, then refreshing structure to reflect latest DB changes have to be done in following sequence:

  1. Take a backup of your project before proceeding with this process
  2. Open Data Foundation Layer and select "Refresh Structure"SAP Business Objects Data Foundation Refresh Structure
  3. Utility will gather information and will categorize changes into Missing Tables, Missing Columns, Added Columns, Modified Column. On each screen it will give you option to choose which changes to reflect
  4. Un-check all Missing Tables and Missing Columns. Take note of missing tables and missing columns. Check all Added Columns and Modified Columns
  5. Complete the process. This will update changed columns and add new columns
  6. Manually remove missing tables from your Data Foundation and also any relevant joins
  7. For missing columns, make sure they are not used in any joins. If so, you need to update joins and remove/change any columns which are removed from database
  8. Save your Data Foundation and back it up again to protect your progress
  9. Once you are sure that you have updated all the joins that contained missing columns, run Refresh Structure again. This time, it should not show you any Missing Table (since you removed them manually)
  10. Check all missing columns and proceed. It will remove all obsolete columns from your Data Foundation
  11. Now try to save your work. If Information Design Tool gives you a strange error/exception, that means you have not updated all the joins and there are still some joins containing missing columns.
  12. Restore your Data Foundation from latest backup and go through your joins again and make sure all missing columns have been removed from joins. You have to iterate this process until you are able to save successfully after removing missing columns by Refreshing Structure
  13. Once Data Foundation is updated and saved, update object definitions in Business Layer

 

This information is for SAP Business Objects 4 SP2. This approach is useful if you want to retain your aliases, contexts and joins while refreshing structure.

1Apr/121

Teradata Query Banding In SAP Business Objects Information Design Tool

Usually customers require tracking and auditing of users and queries they are running on DWH/Teradata. There is no one way of tracking queries run by BI application users. An application user is not necessarily a Teradata user, therefore,  query band is a useful feature for tracking logons and queries generated from BO and BO users. Queries are logged in DBQL along with necessary information. For instance:

  • Application (Business Objects) username
  • Universe name
  • Document name
  • etc (further details can be found in SAP BO documentation)

This is achieved using query banding feature provided in Teradata and is exploited in SAP Business Objects using 'BEGIN_SQL' parameter for SQL Generation. An example of BEIGN_SQL string is as follows:

SET QUERY_BAND='USER='@Variable('BOUSER');Document='@Variable('DPNAME')';' for transaction;

As per SAP documentation, it should work fine and it does work fine if you are using it in Universe Design Tool. But when used in Information Design Tool, it returns an error due to problem with SQL generation. Issue is due to @Variable function which returns a value enclosed in single quotes. For some reason, this is taken care of in Universe Design Tool but since Information Design Tool is new, it causes SQL error on Teradata.

Until SAP development team fixes this issue, a workaround can be used for query banding in Information Design Tool and that is to call a Teradata Stored Procedure in BEGIN_SQL and pass necessary parameters to it as inputs. Query band can then be set within the procedure.

For further details or queries, leave comments and we will reply.