Professional Documents
Culture Documents
In this article we will briefly explain the new OBIEE 11g architecture and its
components.
We can identify two main component types the OBIEE 11g: The A) Java Components and the B)
System Components.
A) Java Components: These are basically J2EE applications running in Weblogic Server. There
are two subcomponents here: 1. Admin Server and 2. Managed Server. Each of them running in
a dedicated Java virtual machine (JVM).
1. Admin Server: This is nothing more than a set of J2EE applications that will help us
Administering the system:
Admin Console (WLS) — An adminstrative user interface that provides advanced
management for Weblogic, JEE components, and security
Fusion Middleware Control — An administrative user interface that is used to manage the BI
domain.
JMX MBeans — Java components that provide programmatic access for managing a BI
domain.
2. Managed Server: These are J2EE applications which will help the functioning of the BIEE
System (highlighted in RED):
BI Plugin — It routes HTTP and SOAP requests to BI Presentation Services.
BI Security — It enables the integration of BIEE Server and Fusion Middleware security
platform through webservices calls.
BI Action Services — It provides the dedicated Web services that are required by the Action
Framework (a nice introduction can be found here, another example of use is here and here)
and that enable an administrator to manually configure which Web service directories can
be browsed by users when they create actions.
Webservices SOA — This component provides Web services for objects in the BIEE
Presentation Catalog, to invoke analysis, agents, and conditions.
BI Office — This component provides the integration between Oracle Business Intelligence
and Microsoft Office products.
and finally
Two particular applications: BI Publisher (Reporting System) and RTD (technology platform
which enable the analysis of data and provides insight by using data mining algorithms and
techniques in real time).
B) System Components: These are non-J2EE components, such as processes and
services written in C++ and java.
BI Server — It provides capabilities to query and access data as well as services for accessing
and managing the RPD file (BIEE Metadata).
BI Presentation Services — It provides the framework and interface for the presentation of
business intelligence data to Web clients. It maintains an Oracle BI Presentation Catalog
service on the file system for the customization of this presentation framework.
BI Scheduler — Provides extensible scheduling for analyses to be delivered to users at
specified times. (BI Publisher has its own scheduler.)
BI JavaHost — It enables BI Presentation Services to support various components: Java
tasks for BI Scheduler, BI Publisher, and Graph generation.
BI Cluster Controller — It distributes requests to the BI Server, ensuring requests are evenly
load-balanced across all BI Server process instances in the BI domain.
In addition, the BI Domain requires a set of configuration files, the repository (RPD)
file, the Presentation Catalog files, etc. Likewise, BIEE System uses a set of metadata
tables stored in a relational database like Oracle.
How to Start BIEE System: There are multiple ways to start the BIEE System, but it
must follow certain order. Based on the description given above we need to :
<?xdofx:rpad(FIRST_NAME||LAST_NAME),30,'x')?>
<?value-of:concat(Payee/Address/City,’, ‘,Payee/Address/State)?>
If tag:
Else if:
DECODE TAG:
<?xdofx:decode(COMM,’’,’sry’,COMM)?>
<?xdofx:decode(COMM,’’,ENAME,COMM||’, ’||ENAME)?>
CHR:
<?xdofx:chr(65)?>
<?xdofx: to_char(sysdate,'dd-mm-yyyy')?>
ROUND:
<?xdofx: round(9.6)?>
SORT:
<?for-each:G_EMPNO?><?sort:ENAME;’ascending’;data-type=’char’?>
<?ENAME?>
<?end for-each?>
SUM:
SUM:<?2+3?>
<?xdoxslt:sum(SAL)+xdoxslt:sum(COMM)?>
<?sum(current-group()//SAL)?> //when ever we use double group it shows total sal for current group.
PAGE BREAK
<?split-by-page-break:?>
(OR)
PAGE LAYOUT:
IT DISPLAYS INFORMATION LIKE NOTE,TERMS ETC IN THE ODD OR EVEN PAGE. IN HEADERS AND FOOTERS REGION
WE CAN DISPLAY GO TO FILE AND SELECT PAGE SETUP AND SELECT LAYOUT TAB THERE CHECK THE OPTIONS.
<?section:force-page-count;'end-on-odd-layout'?>
<?section:force-page-count;'end-on-even-layout'?>
VARIABLE DECLARATION:
<?xdoxslt:set_variable($_XDOCTX,’A’,20)?>
<?xdoxslt:get_variable($_XDOCTX,’A’)?>
<?xdoxslt:get_variable($_XDOCTX,’A’)+1?>
TO_CHECK_NUMBER:
<?xdofx:to_check_number(12345.67,1)?>
<?xdofx:to_check_number(123,0)?>
<?xdofx:to_check_number(12345.67,’EUR’,’CASE_LOWER’,’DECIMAL_STYLE_WORDS’)?>
<?xdofx:to_check_number(12345.67,’JPY’,’CASE_UPPER’,’DECIMAL_STYLE_WORDS’)?>
TEMPLATE HEADERS:
<?template:header?>
EMPLOYEE DETAILS
<?end template?> //WRITE THESE IN HEADER FORM AND CALL IN THE WORKING
Ex: <?choose:?>
<?when: DEPTNO=1610?>
Abc
<?end when?>
<?when: DEPTNO=210?>
Kas
<?end when?>
<?otherwise:?>
Def
<?end otherwise?>
<?end choose?>
ARRAYS:
<?xdoxslt:set_array($_XDOCTX,’RAVI’,1,’NERELLA’)?>
<?xdoxslt:get_array($_XDOCTX,’RAVI’,2)?>
INSERT IMAGES:
INSERT ANY IMAGE AS U WISH AND RIGHT CLICK ON IT SELECT FORMAT PICTURE IN THAT SELECT WEB TAB AND
ENTER
HYPERLINKS:
Hi: it is hyperlink right click on hi and select hyperlink in that select browed pages enter web site at run time we
can open it.
SQL Statement or XSL
Expression Usage Description
least <?xdofx:least ( expr [, expr]... )?> LEAST returns the least of the list
of exprs. All exprs after the first are
implicitly converted to the datatype of the
first expr before the comparison.
(2+3/4-6*7)/8 <?xdofx:(2+3/4-6*7)/8?>
lpad(substr('1234567890',5,3),10,'^') <?xdofx:lpad(substr('1234567890',5,3),10,'^')?>
decode('a','b','c','d','e','1')||instr('321',1,1) <?xdofx:decode('a','b','c','d','e','1')||instr('321',1,1)?>
XSL EQUIVALENTS
The following table lists the BI Publisher simplified syntax with the XSL equivalents.
<xsl:sort select="name"> Sorts a group of data based on an element in the dataset. <?sort:name?>
<xsl:for-each select="name"> Loops through the rows of data of a group, used to <?for-each:name?>
generate tabular output.
<xsl:when test="exp"> Used in conjunction with choose and otherwise to express <?when:expression?>
multiple conditional tests
<xsl:import href="url"> Import the contents of one stylesheet into another <?import:url?>
USING FO ELEMENTS
You can use most FO elements in an RTF template inside the Microsoft Word form fields. The following FO
elements have been extended for use with BI Publisher RTF templates. The BI Publisher syntax can be used with
either RTF template method.
The full list of FO elements supported by BI Publisher can be found in the Appendix: Supported XSL-FO Elements.
<fo:page-number> <?fo:page-number?>
from the above example condition is 1=2 if the condition is true it will execute true part
else it executes False part
Setting Properties
Advanced Report Layouts
<?for-each@section:group name?>
where group_name is the name of the element for which you want to begin
a new
section.
For example, the for-each grouping statement for this example will be as
follows:
<?for-each@section:G_INVOICE?>
The closing <?end for-each?> tag is not changed.
Dynamic Data Columns
——————–
• Dynamic Column Header
<?split-column-header:group element name?>
• Dynamic Column <?split-column-data:group element name?>
• Dynamic Column Width
<?split-column-width:name?> or
<?split-column-width:@width?>
• Dynamic Column Width’s unit value (in points) <?split-column-width-
unit:
value?>
Defining Columns to Repeat Across Pages
<?horizontal-break-table:number?>
Number and Formatting
Using the Oracle Format Mask for Number
<?format-number:fieldname;’999G999D99′?>
Date Formatting
Using the Oracle Format Mask for Date
<?format-date:date_string;’ABSTRACT_FORMAT_MASK’;’TIMEZONE’?>
or
<?format-date-and-calendar:date_string;
‘ABSTRACT_FORMAT_MASK’;’CALENDAR_NAME’;’TIMEZONE’?>
or
<?format-date:hiredate;’YYYY-MM-DD’?>
Calendar and Timezone Support tags are avaliable
Using External Fonts
1. Copy the font to your <WINDOWS_HOME>/fonts directory.
Advanced Barcode Formatting
Register the Barcode Encoding Class
Advanced Design Options
Locating Data
Using XSL Elements
Apply a Template Rule
———————
Use this element to apply a template rule to the current element’s child
nodes.
XSL Syntax: <xsl:apply-templates select=”name”>
BI Publisher Tag: <?apply:name?>
This function applies to <xsl:template-match=”n”> where n is the element
name.
Copy the Current Node
———————-
Use this element to create a copy of the current node.
XSL Syntax: <xsl:copy-of select=”name”>
BI Publisher Tag: <?copy-of:name?>
Call Template
————-
Use this element to call a named template to be inserted into or applied to
the current
template. For example, use this feature to render a table multiple times.
XSL Syntax: <xsl:call-template name=”name”>
BI Publisher Tag: <?call-template:name?>
Template Declaration
——————–
Use this element to apply a set of rules when a specified node is matched.
XSL Syntax: <xsl:template name=”name”>
BI Publisher Tag: <?template:name?>
Variable Declaration
——————–
Use this element to declare a local or global variable.
XSL Syntax: <xsl:variable name=”name”>
BI Publisher Tag: <?variable:name?>
Example:
——–
<xsl:variable name=”color” select=”‘red'”/>
Assigns the value “red” to the “color” variable. The variable can then be
referenced in
the template.
Import Stylesheet
—————–
Use this element to import the contents of one style sheet into another.
Note: An imported style sheet has lower precedence than the importing
style sheet.
XSL Syntax: <xsl:import href=”url”>
BI Publisher Tag: <?import:url?>
Define the Root Element of the Stylesheet
—————————————–
This and the <xsl:stylesheet> element are completely synonymous
elements. Both are used to define the root element of the style sheet.
Note: An included style sheet has the same precedence as the including
style sheet.
XSL Syntax: <xsl:stylesheet xmlns:x=”url”>
BI Publisher Tag: <?namespace:x=url?>
Native XSL Number Formatting
Extended Function Support in RTF Templates
Extended SQL and XSL Functions
==========================================
2+3 <?xdofx:2+3?> Addition
2-3 <?xdofx:2-3?> Subtraction
2*3 <?xdofx:2*3?> Multiplication
2/3 <?xdofx:2/3?> Division
2**3 <?xdofx:2**3?> Exponential
3||2 <?xdofx:3||2?> Concatenation
———————————————
lpad(‘aaa’,10,’.’)
<?xdofx:lpad(‘aaa’,10,’.’)?>
lpad(string1,padded_length,[pad_string])
———————————————
rpad(‘aaa’,10,’.’)
<?xdofx:rpad(‘aaa’,10,’.’)?>
rpad(string1,padded_length,[pad_string])
———————————————
decode(‘xxx’,’bbb’,’ccc’,’xxx’,’ddd’)
<?xdofx:decode(‘xxx’,’bbb’,’ccc’,’xxx’,’ddd’)?>
decode(expression, search, result[,search, result]…[, default])
—————————————————————–
Instr(‘abcabcabc’,’a’,2)
<?xdofx:Instr(‘abcabcabc’,’a’,2)?>
instr(string1,string2,[start_position],[nth_appearance])
——————————————————–
substr(‘abcdefg’,2,3)
<?xdofx:substr(‘abcdefg’,2,3)?>
substr(string, start_position,[length])
———————————————
replace(name,’John’,’Jon’)
<?xdofx:replace(name,’John’,’Jon’)?>
replace(string1,string_to_replace,[replacement_string])
——————————————————-
to_number(‘12345’) <?xdofx:to_number(‘12345’)?>
———————————————-
to_char(12345) <?xdofx:to_char(‘12345’)?>
———————————————–
to_date <?xdofx:to_date ( char [, fmt [,’nlsparam’]] )
———————————————–
sysdate() <?xdofx:sysdate()?>
—————————————————-
minimum
<?xdoxslt:minimum(ELEMENT_NAME)?>
Returns the minimum value of the element in the set.
—————————————————-
maximum
<?xdoxslt:maximum(ELEMENT_NAME)?>
Returns the maximum value of the element in the set.
—————————————————-
chr <?xdofx:chr(n)?>
—————————————————-
ceil <?xdofx:ceil(n)?>
—————————————————-
round <?xdofx:round ( number [, integer ])?>
—————————————————-
lower <?xdofx:lower (char)?>
LOWER returns char, with all letters lowercase
—————————————————-
upper <?xdofx:upper(char)?>
UPPER returns char, with all letters uppercase.char can be any of the
datatypes CHAR,VARCHAR2, NCHAR, NVARCHAR2, CLOB,or NCLOB
—————————————————-
length <?xdofx:length(char)?>
The “length” function returns the length of char
—————————————————-
greatest <?xdofx:greatest ( expr [, expr]… )?>
GREATEST returns the greatest of the list of exprs
—————————————————-
least <?xdofx:least ( expr [, expr]… )?>
LEAST returns the least of the list of exprs.
—————————————————————————-
–***********************************************************
—————————————————————————
Xml Interview FAQ
1. What is BI Publisher? Ans. It is a reporting tool for generating the reports.
More than tool it is an engine that can be integrated with systems
supporting the business. 02. Is BI Publisher integrated with Oracle Apps?
Ans. Yes, it is tightly integrated with Oracle Apps for reporting needs. In
11.5.10 instances xml publisher was used, in R12 we can it BI Publisher 03.
What is the difference between xml publisher and BI Publisher? Ans. Name is
the difference, initially it was released on the name of xml publisher ( the initial
patchset), later on they have added more features and called it Business
Intelligence Publisher. In BI by default we have integration with Data
Definitions in R12 instance. Both these names can be used interchangeably 04.
What are the various components required for developing a BI publisher
report? Ans. Data Template,
Layout template and
the integration with Concurrent Manager.
5. How does the concurrent program submitted by the user knows about the data
template or layout template it should be using for generating the output? Ans.
The concurrent program ‘shortname’ will be mapped to the ‘code’ of the
Datatemplate.
Layout template is attached to the datatemplate; this forms the mapping
between all the three. 06. What is a datatemplate? Ans. Datatemplate is
an xml structure which contains the queries to be run against the database
so that desired output in xml format is generated, this generated xml output
is then applied on to the layout template for the final output. 07. What is a
layout template? Ans. Layout template defines how the user views the
output, basically it can be developed using Microsoft word document in rft
(rich text format) or Adobe pdf format.
The data output in xml format (from Data template) will be loaded in layout
template at run time and the required final output file is generated. 08.
What are the output formats supported by layout template? Ans. xls, html,
pdf, eText etc are supported based on the business need. 09. Do you need to
write multiple layout templates for each output type like html/pdf? Ans.
No, only layout template will be created, BI Publisher generates desired
output format when the request is run 10. What is the default output format
of the report? Ans. The default output format defined during the layout
template creation will be used to generate the output, the same can be
modified during the request submission and it will overwrite the one
defined at layout template 11. Can you have multiple layout templates for a
singe data template? Ans. Yes, multiple layouts can be defined; user has a
choice here to use one among them at run time during concurrent request
submission.
12. Where do you register data and layout templates? Ans. Data template will be
registered under xml publisher administrator responsibility> Data Definitions
Layout template will be registered under xml publisher administrator
responsibility>Templates tab. 13. I want to create a report output in 10
languages, do I have to create 10 layout templates? Ans. No, BI Publisher
provides the required translation for your templates, based on the number of
languages installed in your oracle apps environment requires outputs are
provided 14. What is the required installation for using BI Pub report? Ans. BI
Publisher Desktop Tool has be installed. Using this tool you can preview or test
the report before deploying the same on to the instance. 15. How do you move
your layout or data template across instances? Ans. xdoloader is the utility
that will be used. 16. What is the tool to map required data output and layout
templates so that they can be tested in local machine? Ans. Template viewer
will be used for the same. 17. Which component is responsible for generating
the output in xml format before applying it to layout template? Ans. Data
Engine will take Data Template as the input and the output will be generated in
xml format which will then be applied on layout template 15. Can BI publisher
reports be used in OAF pages? Ans. XDO template utility helper java classes
are provided for the same. 16. Name some business use cases for BI reports?
Ans. Bank EFT, customer documents, shipping documents, internal analysis
documents or any transactional documents 17. How do you pass parameters to
your report? Ans. Concurrent program parameters should be passed, ensure
that the parameter name/token are same as in the conc prog defn and the data
template 18. What are the various sections in the data template? Ans.
Parameter section Trigger Section Sql stmt section Data Structure
section Lexical Section
13. What does lexical section contain? Ans. The required lexical clause of Key
Flex field or Descriptive FF are created under this section 20. What triggers
are supported in Data template? Ans. Before report and After report are
supported 21. Where is the trigger code written? Ans. The code is written
in the plsql package which is given under ‘defaultpackage’ tag of data template.
22. What is the file supporting the translation for a layout template? Ans. xliff
is the file that supports the translation, you can modify the same as required.
23. How do you display the company logo on the report output? Ans. Copy and
paste the logo (.gif. or any format) on the header section of .rtf file . Ensure you
resize per the company standard