Monday, October 4, 2010

Sample_Open_Document_Function_in_BOXI_R2

Refer Based on : Island Resorts Marketing

Open Parent DESKI Report (Parent Report):

Create Variable with following syntax

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New" , "Child Report")

Please note, here if BOE Java implementation the above syntax like


=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New" , "Child Report")


If it is .Net implementation the syntax must be

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/InfoView/scripts/opendocument.aspx?sType=wid&iDocID=1105&sWindow=New" , "Child Report")



Here sType is nothing but target report type like

rep       - DeskI
rpt        - Crystal Report
wid      - WebIntelligence


If your target report is WebI then use sType=wid.

iDocID of the target document, you can find by log in CMC > Objects > then click your target document, then you will get the following screen and highlighted number is the iDOCID of your target doc.




sWindow

is would tell how to open the target report.

If sWindow=New      then target report will open new browser
If sWindow=Same     then target report will open same existing browser



Sample Report variable created as follows in the attached DESKI report

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New&sRefresh=Y&lsSCountry=France" , "Child Report")

Sample_Open_Document_Function_in_BOXI_R2

Refer Based on : Island Resorts Marketing

Open Parent DESKI Report (Parent Report):

Create Variable with following syntax

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New" , "Child Report")

Please note, here if BOE Java implementation the above syntax like


=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New" , "Child Report")


If it is .Net implementation the syntax must be

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/InfoView/scripts/opendocument.aspx?sType=wid&iDocID=1105&sWindow=New" , "Child Report")



Here sType is nothing but target report type like

rep       - DeskI
rpt        - Crystal Report
wid      - WebIntelligence


If your target report is WebI then use sType=wid.

iDocID of the target document, you can find by log in CMC > Objects > then click your target document, then you will get the following screen and highlighted number is the iDOCID of your target doc.




sWindow

is would tell how to open the target report.

If sWindow=New      then target report will open new browser
If sWindow=Same     then target report will open same existing browser



Sample Report variable created as follows in the attached DESKI report

=Hyperlink("http://heavenlyabode:8080/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sType=wid&iDocID=1105&sWindow=New&sRefresh=Y&lsSCountry=France" , "Child Report")

BusinessObjects Q&A

BusinessObjects Technical Questions

Note: There can be more than one answer is some instances – your obligation as a developer is to know which is the most effective / suitable method!

General Questions
Q) Tell me about yourself, your employment history.
Q) How many years of experience do you have in BusObj? Versions?
Q) What was your role in the current project?
Q) How many users were there?
Q) On a scale of 1 - 10, rate yourself on BUSOBJ?
Q) Supervisor
Q) Designer
Q) BusObj
Q) Webi
Q) Broadcast Agent
Q) Business Query
Q) Were any experts called from BUSOBJ while you were on the project?
Q) What is BOMain.key?
                A) A file that contains the address of the repositories
security domain. This file must be distributed to all users who will access
the BusinessObjects repository to share universes and documents. By default,
the bomain.key is placed in the BusinessObjects\LocData folder on your
system.

Supervisor Questions
Q) What is the Business Objects repository?
                A) The Business Objects repository is a set of relational
data structures stored on a database. It enables Business Objects users to
share resources in a controlled and secured environment.
Q) What is a domain? How many are there is a basic set up? What are they?
A) The repository is made up of three domains: the security domain, the
universe domain, the document domain.
Q) When is the repository created?
                A) The repository is created by the general supervisor with
the Setup wizard during the first-time use of the product.  You can create
and use more than one repository, typically to manage multiple sites.
Q) Can we have multiple domains? If yes. Purpose of having them?
A) Yes
Q) How do you restrict the users from using a particular universe, a class
or object(s) of a universe, a particular document etc?
Q) How do you restrict access to the rows of a database?
A) 1) In the User pane, click the user or group.
                     2) In the Resource pane, click the Universe tab.
                     3) Right-click the universe.
                     4) From the pop-up menu, click Properties.
                     5) In the Universe Properties dialog box, click the Rows tab.
                     6) Set the options as necessary.
                     7) Click OK.
Q) How do you Create a user?
A) 1) In the User pane, click the group in which you want to create a new user.
     2) Click  on the toolbar.
     3) Type a user name, and press the Enter key.
Q) What are the types of user profiles and products can they use?
                A) Supervisor offers standard profiles representing the
various types of Business Objects users. The names of the profiles, as well
as their symbols, roles, and products are explained below.
        Profile) General Supervisor
                                Role) The Business Objects system
administrator. This is the person who launches Supervisor for the first
time. The general supervisor creates the repository, defines users and
groups, and manages resources. A general supervisor is the sole user with a
global view of the hierarchical organization.
                Product) All Business Objects Products
Profile) Supervisor
                                Role) Defines users and group, manages
resources, and ensures security. A supervisor also assigns properties and
resources to these users and groups. In addition, a supervisor can restrict
access to certain resources. A general supervisor can create several
supervisors.
                Product) Supervisor, BusinessObjects
Profile) Supervisor-designer
                                Role) Creates users, groups and universes.
This user has all the rights of the supervisor and designer combined.
                Product) Supervisor, Designer, BusinessObjects
Profile) Designer
                                Role) Creates universes and distributes them
to end users by sending them through the file system, or by exporting them
to the repository.
                Product) Designer,  BusinessObjects
Profile) User
                                Role) The main BusinessObjects user whose
tasks are to query, report, and analyze data. Users can produce documents
containing data from one or more data sources. There can be an unlimited
number of users.
                Product) BusinessObjects
                Profile) Versatile
                Role) This user is authorized to use any combination of
products defined by a supervisor.
Q) How do you Create a user group?
A) 1) In the User pane, click the group in which you want to create a new group.
     2) Click  on the toolbar.
    3) Type a group name, and press the Enter key.
Q) How do you know if a user is Disabled?
A) A silly sad face.
Q) How do you enable a User?
A) Right click on the disabled user and select enable.
Q) How many strikes does it take before a user disables them?
        A) 3
Q) What is a Category?
                A) A keyword or phrase created by Supervisor and stored in
the repository, which end-users can assign to documents when they send them
to users, groups, or Broadcast Agent. Users can then filter document
searches in the repository by assigned category.


Designer Questions
Q) What is a Universe?
                A) A universe is a business-oriented mapping of the data
structure found in databases: tables, columns, joins, etc. It can represent
any specific application, system, or group of users. For example, a universe
can relate to a department in a company such as marketing or accounting. In
the BusinessObjects User module, universes enable end users to build queries
from which they can generate and perform analysis. Universes isolate end
users from the complexities of the database structure as well as the
intricacies of SQL syntax.
Q) How many Universes did you create?
Q) Tell me how many classes where there, and objects in each class?
Q) What is an Object?
                A) An object is the most refined component in a universe. It
maps to data or a derivation of data in the database. Using objects, end
users can build queries to generate reports.
Q) What is Object qualification?
                A) For the purposes of multidimensional analysis, objects
are qualified as one of three types: dimension, detail, or measure.
Q) Tell me about a complicated object you have created?
Q) What was the size of the database? which server?
Q) What was the Database. Was it a data warehouse?
Q) What problems you have faced while creating an universe?
Q) Tell me an incident and how you went about solving it?
Q) How many Tables was the universe built?
Q) What is a loop, how do you resolve them?
A) A situation that occurs when more than one path exists from one table to
another in the universe.
Q) What do prefer an Alias or an context? why?
                A) Alias - A logical pointer to an alternate table name. The
purpose of an alias is to resolve loops in the paths of joins.
                A) Context - A context is a rule by which Designer can
decide which of two paths to choose when more than one path is possible from
one table to another. Contexts can be used to resolve loops in the universe.
You can create contexts manually, or cause them to be detected by Designer.
When contexts are useful, Designer suggests a list of contexts that you can
create.
Q) What is a join? Explain different types of joins?
                A) A relational operation that causes two tables with a
common column to be combined into a single table. Designer supports
equi-joins, theta joins, outer joins, and shortcut joins.
Q) What are linked universes? Have you worked with them, problems faced and
solutions?
                A) Linked universes are universes that share common
components such as parameters, classes, objects, or joins. Among linked
universes, one universe is said to be the kernel or master while the others
are the derived universes.


BusObj Questions
Q) How many reports have you created? Explain a few?
Q) What are alerter's, filters, breaks, conditions?
                A) The Alerters dialog box allows you to create and apply
alerters. Alerters use special formatting to make data that fits specified
conditions stand out from the rest of the data. This helps draw attention to
trends and exceptions in report data.
                A) A filter enables you to hide the data you do not want to
view and display only the data you want to focus on. In the Apply a Filter
on Variable Name dialog box, you choose which values of the selected
variable you want to display in the selected block.
                A) Select the variables you want to use to insert a break.
When you close the dialog box, the variable you select is displayed in the
Breaks dialog box. Break Level, sets the level that the block of data will
have in the report. You can have more than one break level to organize
blocks of data.
A) conditions - feature that forces a query to retrieve only the data that
meets specified criteria.
Q) What's the difference between master-detail and Breaks?
Q) What's the difference between filters and conditions?
Q) What are pre-defined conditions? compare with report conditions? Justify?
Q) What are the differences between a formula, variable and user objects?
Q) Did you face any problems while creating reports? Name? Solutions?
Q) How do you schedule the reports?
Q) What is a micro cube? how many can a document have?
                A) Local structure in which the data retrieved by a data
provider is stored; contains the data users can display in reports inside a
document.
Q) Have you worked with multiple data sources? If yes. How do you link them?
Q) What are templates? Explain what you have created?
Q) How do you resolve #multivalue and #computation errors?
Q) Difference between Foreach and ForAll?
A) Foreach  - Adds a dimension to the calculation environment.
        A) ForAll - Specifies the dimensions you want to include in the
calculation.
Q) Define a Cell, Block, Section?

DataStageBackup Dos Script

@echo off
:: -----------------------------------------------------------------
:: DataStageBackup.bat
:: -----------------------------------------------------------------
:: This batch script is used to backup all the projects on a DataStage server.  It
:: must be run from a DataStage client machine and the parameters below should be
:: modified to fit your environment.  Use of parameters was avoided to simplify backup
:: allow the command to be customized to a particular environment.
::
::    Wouldn't it be nice if there is a way to 'recover' from a failed project
::    extraction, record it, and continue to the next project?  Right now, the
::    FOR loop is not capable enough.
::
::    Wouldn't it be nice if the %ERRORLEVEL% within the for loop works?
::
::    Wouldn't it be nice to have a freeware compression program that is
::    command-line specific and is not restricted to the 8.3 DOS naming
::    convention?
:: -----------------------------------------------------------------
:: Required Components:
::     dsjob.exe (Windows Version)
::         (also requires vmdsapi.dll)
::         Advised to place both files under Windows System directory.
:: -----------------------------------------------------------------
:: NOTE:  FOLLOWING FEATURE IS DISABLED
:: -----------------------------------------------------------------
:: Optional Components:
::     Compression Program
::         Suggested:  gzip.exe for MSDOS (Free)
:: -----------------------------------------------------------------
:: Special Note:  As of this time, within Windows NT, it is NOT possible to
:: continue with the next project after a failed extraction unless we are to
:: create another file to handle the logic behind this.  If you know how to
:: get around the requirement of using FOR, PLEASE let us know.
:: Also Using REM instead of :: are required within a FOR loop.
:: -----------------------------------------------------------------
:: Host is server name
:: User is username to use to attach to DataStage
:: Password   is password to use to attach to DataStage
:: BackupDir is the directory to place the backed up project in
:: CompTog (1 = Yes, 0 = No) determine whether to compress DSX
:: DSExportCmd is directory of the export command on client
:: GetProjList is the dsjob command to retrieve the project list
:: ProjectList is temp file to store project names
:: BadProjects stores all bad projects
:: GoodProjects stores all good projects
:: DSLog is the name of the log file accumulated during the backup
:: CompScri is the compression program and its options needed to compress
::     dsx.  Assuming that only the name of the DSX is needed to make
::     a compressed file.
:: -----------------------------------------------------------------
:: Ensure that everything that are set here are not permanent.
:: -----------------------------------------------------------------
    SETLOCAL
:: -----------------------------------------------------------------
:: Test to ensure that command line is provided semi-correctly.
:: -----------------------------------------------------------------
    IF "%1"=="" GOTO Syntax
    IF "%2"=="" GOTO Syntax
    IF "%3"=="" GOTO Syntax
    IF "%4"=="" GOTO Syntax
    IF "%5"=="" GOTO Syntax
    IF NOT ".%6"=="." GOTO Syntax
::    IF NOT ".%5"=="." GOTO Syntax
:: -----------------------------------------------------------------
:: Supply values to paramters.
:: -----------------------------------------------------------------
    SET Host=%1
    SET User=%2
    SET Password=%3
:: kim    SET BackupDir=%4
    SET BaseDir=%4
::    SET CompTog=%5
:: -----------------------------------------------------------------
:: Hard-coded values.  Dependent on each computer.
:: -----------------------------------------------------------------
:: kim    SET BaseDir=c:\DataStage\KimD\Backups
:: kim    SET ProgDir=c:\DataStage\KimD\Scripts
:: C:\Program Files\Ascential\DataStage7.5.1
    SET ProgDir=%BaseDir%\Scripts
    SET BackupDir=%BaseDir%\Backups
::    SET DSExportCmd=C:\Progra~1\Ascential\DataStage7.1\dscmdexport.exe
::    SET DsxJob=C:\Progra~1\Ascential\DataStage7.1\dsjob.exe
    SET DSExportCmd=C:\Progra~1\Ascential\DataStage7.5.1\dscmdexport.exe
    SET DsxJob=C:\Progra~1\Ascential\DataStage7.5.1\dsjob.exe
:: kim    SET ProjectList=c:\Temp\ProjListDev.txt
    SET ProjectList=%ProgDir%\%5
    SET BadProjects=%ProjectList%BAD
    SET GoodProjects=%ProjectList%GOOD
    SET DSLog=BackupLog
::    SET CompScri=gzip --name -3
:: Kim debug
::    ECHO Host=%Host%
::    ECHO User=%user%
::    ECHO DSExportCmd=%DSExportCmd%
    ECHO ProjectList=%ProjectList%
::    ECHO DSLog=%DSLog%
:: -----------------------------------------------------------------
:: Get the current Date
:: -----------------------------------------------------------------
    FOR /f "tokens=2-4 delims=/ " %%a in ('DATE/T') do SET DsxDate=%%c%%a%%b
:: -----------------------------------------------------------------
:: Get the current Time
:: -----------------------------------------------------------------
    FOR /f "tokens=1* delims=:" %%a in ('ECHO.^|TIME^|FINDSTR "[0-9]"') do (SET DsxTime=%%b)
:: -----------------------------------------------------------------
:: Set delimeters so that current time can be broken down into components
:: then execute FOR loop to parse the DsxTime variable into Hr/Min/Sec/Hun.
:: -----------------------------------------------------------------
    SET delim1=%DsxTime:~3,1%
    SET delim2=%DsxTime:~9,1%
    FOR /f "tokens=1-4 delims=%delim1%%delim2% " %%a in ('echo %DsxTime%') do (
        set DsxHr=%%a
        set DsxMin=%%b
        set DsxSec=%%c
        set DsxHun=%%d
    )
:: -----------------------------------------------------------------
:: If provided directory is missing an ending \, append it.
:: Validate %BackupDir%'s existance.
:: -----------------------------------------------------------------
    if exist %BackupDir%\ set BackupDir=%BackupDir%\
    if NOT exist %BackupDir% GOTO BadMain
:: -----------------------------------------------------------------
:: Set the log file name to improve readability of code.
:: -----------------------------------------------------------------
    SET LogFileName=%BackupDir%%DSLog%-%DsxDate%-%DsxHr%_%DsxMin%_%DsxSec%.log
:: -----------------------------------------------------------------
:: Announce to log of this program's run.
:: -----------------------------------------------------------------
    ECHO. > %LogFileName%
    ECHO DataStage Backup ran on %DsxDate% %DsxHr%:%DsxMin%:%DsxSec% with the following parameters >> %LogFileName%
    ECHO Host=%Host% >> %LogFileName%
    ECHO User=%user% >> %LogFileName%
    ECHO BackupDir=%BackupDir%%DsxDate%\ >> %LogFileName%
    ECHO CompTog=%CompTog% >> %LogFileName%
    ECHO CompScri=%CompScri% >> %LogFileName%
    ECHO DSExportCmd=%DSExportCmd% >> %LogFileName%
    ECHO DsxJob=%DsxJob% >> %LogFileName%
    ECHO ProjectList=%ProjectList% >> %LogFileName%
    ECHO DSLog=%DSLog% >> %LogFileName%
    ECHO. >> %LogFileName%
:: -----------------------------------------------------------------
:: Pull project information (and validate parameters).
:: -----------------------------------------------------------------
:: kim     %DsxJob% -server %Host% -user %user% -password %Password% -lprojects > %ProjectList%
:: kim     IF NOT %ERRORLEVEL%==0 GOTO BadParam
:: -----------------------------------------------------------------
:: Report valid projects to log.
:: -----------------------------------------------------------------
    ECHO Projects found on %Host%: >> %LogFileName%
    type %ProjectList% >> %LogFileName%
:: -----------------------------------------------------------------
:: Create subdirectory within Backup Directory
:: Validate ability to create %BackupDir%%DsxDate%\.
:: -----------------------------------------------------------------
    if exist %BackupDir%%DsxDate%\ GOTO DirCont
    ECHO ***  Creating: %BackupDir%%DsxDate%\
    mkdir %BackupDir%%DsxDate%\
    IF NOT %ERRORLEVEL%==0 GOTO BadDir
    ECHO. >> %LogFileName%
    ECHO ***  Created: %BackupDir%%DsxDate%\ >> %LogFileName%
    ECHO. >> %LogFileName%
:: -----------------------------------------------------------------
:DirCont
:: -----------------------------------------------------------------
    ECHO.
    ECHO Backing up %Host% ...
    ECHO.
:: -----------------------------------------------------------------
:: Begin Backup Loop
:: -----------------------------------------------------------------
::
:: NOTE:  %ERRORLEVEL% does not work for some reason.
::
:: -----------------------------------------------------------------
    for /F "tokens=1" %%i in (%ProjectList%) do (
        ECHO Backing up Project %%i
        %DSExportCmd% /H=%Host% /U=%User% /P=%Password% %%i %BackupDir%%DsxDate%\%Host%_%%i.dsx >> %LogFileName%
        IF NOT %ERRORLEVEL%==0 GOTO ProjFail
        ECHO. >> %LogFileName%
        ECHO *** Completed Export for Project: %%i on Host: %Host% >> %LogFileName%
        ECHO     to File: %BackupDir%%DsxDate%\%Host%-%%i.dsx >> %LogFileName%
        ECHO. >> %LogFileName%
    )
    ECHO *** Export completed successfully for projects:
    type %ProjectList%
:: -----------------------------------------------------------------
:: Run Compression on DSX if toggled.
:: DISABLED
:: -----------------------------------------------------------------
::    IF %CompTog%==0 GOTO EXITPT
::    ECHO Compressing DSX files...
::    for /F "tokens=1" %%i in (%ProjectList%) do %CompScri% %BackupDir%%DsxDate%\%Host%-%%i.dsx
    GOTO EXITPT
:: -----------------------------------------------------------------
:: Uhoh, a project failed to be exported.
:: -----------------------------------------------------------------
:ProjFail
    ECHO.
    ECHO *** ERROR:  Failed to Export Project: %%i on Host: %Host%
    ECHO.
    ECHO Please ensure that nobody else is accessing this server while you
    ECHO are running this backup script.
    ECHO.
    ECHO. >> %LogFileName%
    ECHO *** ERROR:  Failed to Export Project: %%i on Host: %Host% >> %LogFileName%
    ECHO. >> %LogFileName%
GOTO EXITPT
:: -----------------------------------------------------------------
:: Report that paramters are not valid on screen and log file.
:: Note: Password are not reported for better security.
:: -----------------------------------------------------------------
:BadParam
    echo.
    echo Invalid parameters - Unable to access Server.
    echo.
    echo. >> %LogFileName%
    echo Invalid parameters - Unable to access Server. >> %LogFileName%
    echo. >> %LogFileName%
GOTO Syntax
:: -----------------------------------------------------------------
:: Report that directory is non-existant.
:: -----------------------------------------------------------------
:BadMain
    echo.
    echo Bad/Non-existing directory: %BackupDir%
    echo.
    echo Please ensure that you have permission to access/create directories
    echo and files.  Also ensure that directory listed exists.
    echo.
    echo. >> %LogFileName%
    echo Bad/Non-existing directory: %BackupDir% >> %LogFileName%
    echo. >> %LogFileName%
GOTO EXITPT
:: -----------------------------------------------------------------
:: Report that program does not have privs to create directory.
:: -----------------------------------------------------------------
:BadDir
    echo.
    echo Unable to create subdirectory: %BackupDir%%DsxDate%\
    echo.
    echo Please ensure that you have permission to access/create directories
    echo and files.
    echo.
    echo. >> %LogFileName%
    echo Unable to create subdirectory: %BackupDir%%DsxDate%\ >> %LogFileName%
    echo. >> %LogFileName%
GOTO EXITPT
:: -----------------------------------------------------------------
:: Report proper syntax usage.
:: -----------------------------------------------------------------
:Syntax
    echo.
    echo DataStage Automated Backup Routine
    echo.
    echo Based on design by Manoli Krinos
    echo.
    echo    Modified by M Ruland to allow iteration through a
    echo    complete server set of projects
    echo.
    echo    Also Modified by T.J. Griesenbrock to utilize command
    echo line options.
    echo.
::    echo Usage: DataStageBackup SERVER USERNAME PASSWORD BACKUP_DIR COMPRESS
    echo Usage: DataStageBackup SERVER USERNAME PASSWORD BASE_DIR PROJECT_LIST
    echo.
    echo SERVER - Hostname
    echo USERNAME - Username to use on SERVER.
    echo PASSWORD - Associated password for USERNAME on SERVER.
    echo BASE_DIR - Scripts, Backup directory below this.  MUST be a pre-existing directory.
    echo PROJECT_LIST - MUST be a pre-existing directory.
::    echo COMPRESS - Compression Toggle - 0 = No, 1 = Yes
    echo.
GOTO ENDPOINT
:: -----------------------------------------------------------------
:EXITPT
    ECHO. >> %LogFileName%
:: -----------------------------------------------------------------
:ENDPOINT
:: kim    del %ProjectList% > NUL 2> NUL
    del %BadProjects% > NUL 2> NUL
    del %GoodProjects% > NUL 2> NUL
    ENDLOCAL