XML Bursting: Dem Onstration Ofxml Bursting
XML Bursting: Dem Onstration Ofxml Bursting
<lexicals></lexicals>
-
<da%a./er+>
0
<s1lS%a%emen% name=".1">
8
<23<span class="hiddenSpellError">4*5&5</span>3selec% emplo+ee6n/m7er8 9/ll6name8 :e+ara+;e%ihad.a
!
</s1lS%a%emen%>
10
</da%a./er+>
11
<da%aS%r/c%/re>
1#
<gro/p name="<6E()" da%a&+pe="=5>4?5>#" so/rce=".1">
1$
<elemen% name="Emp@o" da%a&+pe="=5>4?5>#" val/e="emplo+ee6n/m7er"/>
1,
<elemen% name="Emplo+ee6@ame" da%a&+pe="=5>4?5>#" val/e="9/ll6name"/>
1
<elemen% name="Email" da%a&+pe="=5>4?5>#" val/e="email6address"/>
1-
<elemen% name=")osi%ion" da%a&+pe="=5>4?5>#" val/e="name"/>
10
1/14
12/4/13
</gro/p>
18
</da%aS%r/c%/re>
1!
</da%a&empla%e>
#0
Create the concurrentprogram
Concurrentprogram registration
Registerthe data defnition
Responsibility:XML PublisherAdm inistrator
Navigation:Data Defnition
2/14
12/4/13 Oracle Apps Consultant: XML Bursting
Registerdata defnition
Atach the concurrentprogram to the requestgroup and execute the program to generate the XML output.
Concurrentrequest
The outputshows the folowing,
---- 3/14
12/4/13 Oracle Apps Consultant: XML Bursting
Create the layouttem plate
Reportlayouttemplate
Attach the XML as Preview Data
Responsibility:XML PublisherAdm inistrator
Navigation:Data Defnition
QueryforCode = XXEMPDET
Atach the XML generated from the program outputto the Preview Data section ofthe data defnition.
---- 4/14
12/4/13 Oracle Apps Consultant: XML Bursting
Attach XML as Preview data
Registerthe tem plate
Navigation:Tem plates
Create a tem plate
Registerlayouttemplate
CheckPreview to see ifthe tem plate m atches with the XML.
Execute the reportto view the data
---- 5/14
12/4/13 Oracle Apps Consultant: XML Bursting
XML reportoutput
There are 4 records for4 em ployees in the report.W e are displaying 2 em ployees forease.
Create the bursting tem plate
The m ostim portantaspectofXML bursting is the bursting controlfle.This is a XML fle which contains
specifctags forbursting the XML outputgenerated earlier.
1 xml version="1.0" encoding="A&B-8"">
<xapiCre1/es%se% xmlnsCxapi= "h%%pC//xmlns.oracle.com/oxp/xapi" %+pe="7/rs%ing">
$ <xapiCglo7al*a%a loca%ion="s%ream">
4 xapiCglo7al*a%a >
<xapiCre1/es% selec%="/''E()*E&/DIS&6<6E()/<6E()">
- <xapiCdeliver+>
0 <xapiCemail id="1#$" server="e+mail.e%ihad.local" por%="#" 9rom="applprod;e+epd7e1.e%ihad.local"
8 <xapiCmessage id="1#$" %o="EFE(5IDG" a%%achmen%="%r/e" con%en%-%+pe="h%ml/%ex%" s/7Hec%="Emplo+ee
! *ear EFE()DOIEE6@5(EG8
10
)lease Jnd +o/r de%ails a%%ached.
11
1# >egards8?> %eam
1$ xapiCmessage>
1, xapiCemail>
1 xapiCdeliver+>
1- <xapiCdoc/men% Ke+="EFE()@OG" o/%p/%="EFE()@OG.pd9" o/%p/%-%+pe="pd9" deliver+="1#$">
10 <xapiC%empla%e %+pe="r%9" loca%ion="/%mp/''E()*E&.r%9">
18 xapiC%empla%e>
1! xapiCdoc/men%>
#0 xapiCre1/es%>
#1 xapiCre1/es%se%>
##
---- 6/14
12/4/13 Oracle Apps Consultant: XML Bursting
Explanation ofthe bursting tem plate
XML tag Explanation
xapi:requestselect=
This tag in the controlfle indicates from which tag/node in the concurrentprogram outputXML should
separated forbursting
xapi:delivery This node contains alem ailrelated atributes
This tag contains the em ailatributes like,
serverorthe em ailserverIP ornam e
xapi:em ail portorthe em ailserverport
from orthe em ailaddress from which the servershould send the em ail
reply-to orthe em ailaddress to which the replies should be sent
This tag contains the atributes aboutthe em aillike,
To orthe em ailaddress where the em ailshould be sent
xapi:m essage
Subjectorthe em ailsubject
attachm ent,i.e.ifthe em ailshould contain an atachm ent
content-type ortype ofem ail
The m ailbodywilbe enclosed within thetags
This node contains the atachm entdocum entand XML tem plate related tags and atributesThe
atributes in this tag are related to the em ailatachm ent
xapi:docum ent Keyorunique identiferofeach atachm ent
Outputoratachm entfle nam e
Output-type oratachm entfle type
This node contains the tem plate inform ation like,
xapi:tem plate Type orthe fle type ofthe tem plate
Location orthe directoryofthe tem plate fle along with the fle nam e
The folowing atributesshould contain the sam e valuesforbursting to function properly,
1. Id atribute in xapi:emailtag
2. Id atribute in xapi:message tag
3. Delivery atribute in xapi:documenttag
Ifthe 3 valuesdo notm atch then deliverywilnottake place asexpected.
Attach the bursting fle to the Data Defnition ofthe XML PublisherReport
Responsibility:XML PublisherAdm inistrator
Navigation:Data Defntions
---- 7/14
12/4/13 Oracle Apps Consultant: XML Bursting
Upload the bursting controlfle
Upload the bursting fle in Bursting ControlFile section.
Change the tem porarydirectorylocation.
A tem porarydirectoryhas to be provided forXML Publisherengine to use forbursting.
Responsibility:XML PublisherAdm inistrator
Navigation:Adm inistration tab
---- /14
12/4/13 Oracle Apps Consultant: XML Bursting
Settemporary directory
In Unix,/tm p directoryhas write perm issions foralusers.Enter/tm p directoryas the tem porarydirectory.
This directorycan be anydirectoryon which Oracle apps has write perm issions.
FTP the tem plate
FTP the layoutfle,i.e.the XML layouttem plate in the /tm p directory,as we have defned in the bursting
controlfle thatthe tem plate fle location is /tm p
XML layouttemplate in /tmp directory
XML Bursting execution process
Run the XX Em ployee detailreportto generate the output.
Execute the report
After the report is generated, execute the program nam ed, XML Publisher Report Bursting
Program .This program is responsible forbursting the XML with the help ofthe bursting controlfle
atached to the concurrentprogram whose outputwilbe burst.Ensure thatthisprogram isatached to
the requestgroup ofthisresponsibility.
---- !/14
12/4/13 Oracle Apps Consultant: XML Bursting
XML PublisherReportBursting Program
Selectthe requestofthe previouslyrun reports requestid.W e shalselectthe 2
nd
requestfrom the top,
i.e.RequestID:19011719
Concurrentrequestselected
Execute the bursting program
Bursting program executed
---- 1"/14
12/4/13 Oracle Apps Consultant: XML Bursting
W hen the bursting program ends,the program nam e in the SRS form changes as shown below
Bursting program name changed in SRS form
Now checkthe outputofthe bursting program .
Bursting program output
The bursting program outputshows that4 em ails were delivered.
W e shalcheckthe m ailboxnow.Rem em berthatwe had setthe em ailaddress ofalthe 4 em ployees to a
single em ailaddress forthis dem onstration within the reportquery itself.You can check the data tem plate
forthe queryatthe top.
Emails sentby bursting program
Each m ailbodylooks like the folowing,
---- 11/14
12/4/13 Oracle Apps Consultant: XML Bursting
Emailbody
The em ailbody,atachm entnam e and atachm entfle type m atch with the bursting controlfle above.The
atachm entwilcontain the data from the XX Em ployee detailreport,
Attachment
The bursting process is now com plete.
Autom atic execution ofXML PublisherReportBursting Program
Since the bursting program ,XML PublisherReportBursting Program ,has to be run m anualythis m ight
notbe feasible foralusers to use.The bursting program can be executed autom aticaly ifwe use a
rdfreportto generate the data forthe XML publisherreport.In a rdfreportwe can add the folowing piece
ofcode in the AfterReporttriggerin the reportto execute the bursting program as soon as the outputhas
been generated bythe report.
1 BA@4&IO@ a9%errepor%
#
>E&A>@
LOODE5@
3 IS
, v6re16id @A(LE>M
5 LE<I@
- -- 4all L/rs%ing )rogram
0 v6re16id C=
8 9nd6re1/es%.s/7mi%6re1/es% Napplica%ion => :'*O:8
! program => :'*OLA>S&>E):8
10 descrip%ion => ::8
----
12/14
12/4/13 Oracle Apps Consultant: XML Bursting
11 s%ar%6%ime => ::8
1# s/76re1/es% => B5DSE8
1$ arg/men%1 => :I:8
1, arg/men%# => Cp6conc6re1/es%6id8
1 arg/men%$ => :I:
1- --4?>N0O8
10 --::
18 OM
1!
IB v6re16id = 0
#0
&?E@
#1
srP.(ESS5<E N1#$8 :Bailed %o call 7/rs%ing program.:OM
##
E@* IBM
#$
#, srP.ASE>6E'I& N:B@* S>QE'I&:OM
# >E&A>@ N&>AEOM
#- E@*M
#0
Bursting program error
The XML PublisherBursting program m ighterrorout.The log fle
wiltalkaboutchecking the OutputPost processorlogs.Ihave described how to
getthe OutputPostProcessorlogs in a previous article.
Bursting program log
Afterchecking the OutputPostProcessorlogs we getthe folowing,
1 3$/##/1# #C1!C0 )(R 3$#0$81C>&1!0110##R 4omple%ed pos%-processing ac%ions 9or re1/es%
1!0110##.
2 3$/##/1# #C$$C10 )(R 3O))Service&hread0R )os%-processing re1/es% 1!0110-.
$ 3$/##/1# #C$$C10 )(R 3$#0$81C>&1!0110-R Exec/%ing pos%-processing ac%ions 9or re1/es% 1!0110-.
, 3$/##/1# #C$$C10 )(R 3$#0$81C>&1!0110-R S%ar%ing '(D )/7lisher pos%-processing ac%ion.
3$/##/1# #C$$C10 )(R 3$#0$81C>&1!0110-R
- &empla%e codeC LA>S&6S&5&AS6>E)O>&
7 &empla%e appC '*O
8 Dang/ageC en
! &erri%or+C AS
10 O/%p/% %+peC >&B
----
13/14
12/4/13 Oracle Apps Consultant: XML Bursting
11 3$/##/1# #C$$C10 )(R 3A@E')E4&E*R 3$#0$81C>&1!0110-R Hava.lang.reSec%.Invoca%ion&arge%Excep%ion
1# a% s/n.reSec%.@a%ive(e%hod5ccessorImpl.invoKe0N@a%ive (e%hodO
1$ a% s/n.reSec%.@a%ive(e%hod5ccessorImpl.invoKeN@a%ive(e%hod5ccessorImpl.HavaC$!O
1, a% s/n.reSec%.*elega%ing(e%hod5ccessorImpl.invoKeN*elega%ing(e%hod5ccessorImpl.HavaC#O
1 a% Hava.lang.reSec%.(e%hod.invoKeN(e%hod.HavaC!0O
1- a% oracle.apps.xdo.common.xml.'SD&10g>1.invoKe)arseN'SD&10g>1.HavaC--O
10 a% oracle.apps.xdo.common.xml.'SD&10g>1.%rans9ormN'SD&10g>1.HavaC#$1O
18 a% oracle.apps.xdo.common.xml.'SD&Qrapper.%rans9ormN'SD&Qrapper.HavaC18#O
1! a% oracle.apps.xdo.%empla%e.9o./%il.BOA%ili%+.genera%eBONBOA%ili%+.HavaC10,,O
#0 a% oracle.apps.xdo.%empla%e.9o./%il.BOA%ili%+.genera%eBONBOA%ili%+.HavaC!!0O
#1 a% oracle.apps.xdo.%empla%e.9o./%il.BOA%ili%+.genera%eBONBOA%ili%+.HavaC#1#O
## a% oracle.apps.xdo.%empla%e.BO)rocessor.crea%eBONBO)rocessor.HavaC1--O
#$ a% oracle.apps.xdo.%empla%e.BO)rocessor.genera%eNBO)rocessor.HavaC!0O
#, a% oracle.apps.xdo.oa.schema.server.&empla%e?elper.r/n)rocess&empla%eN&empla%e?elper.HavaC!#-O
# a% oracle.apps.xdo.oa.schema.server.&empla%e?elper.process&empla%eN&empla%e?elper.HavaC$,8O
#- a% oracle.apps.xdo.oa.schema.server.&empla%e?elper.process&empla%eN&empla%e?elper.HavaC$,0O
#0 a% oracle.apps.9nd.cp.opp.'(D)/7lisher)rocessor.processN'(D)/7lisher)rocessor.HavaC#!0O
#8 a% oracle.apps.9nd.cp.opp.O))>e1/es%&hread.r/nNO))>e1/es%&hread.HavaC10O
#! 4a/sed 7+C org.xml.sax.S5')arseExcep%ionC C '(D-#0108C NBa%al ErrorO S%ar% o9 roo% elemen% expec%ed.
$0 a% oracle.xdo.parser.v#.'(DError.S/shError?andlerN'(DError.HavaC,,1O
$1 a% oracle.xdo.parser.v#.'(DError.S/shErrors1N'(DError.HavaC$0$O
$# a% oracle.xdo.parser.v#.@on=alida%ing)arser.parse>oo%Elemen%N@on=alida%ing)arser.HavaC$,$O
$$ a% oracle.xdo.parser.v#.@on=alida%ing)arser.parse*oc/men%N@on=alida%ing)arser.HavaC#8O
$, a% oracle.xdo.parser.v#.'(D)arser.parseN'(D)arser.HavaC#8!O
$ ... 10 more
$-
3$/##/1# #C$$C10 )(R 3$#0$81C>&1!0110-R 4omple%ed pos%-processing ac%ions 9or re1/es% 1!0110-.
$0
&his error rela%es %o %he %empla%e in %he server. I% means %ha% '(D processor is /na7le %o Jnd %he
$8
$!
The location specifed as the XML layouttem plate directoryshould be valid and alperm issions m ustbe
available on this fle as welas the directory.
---- 14/14