Events + Message Data Templates
I have defined my own versions of the events TaskCreated and TaskComplete in which I specify the XSD Event Message Template so that I can pass "complex" information.
In my event thrower, I ...
* setup an event data map to pass my process instance id
* provide an xml variable as the event message data.
In my event receiver, I have my process data map set up with 3 values.
* assign the process instance id passed in the event data map to a local variable
* assign a particular string element in my event message data (xml) to a local variable.
These both work.
What doesn't work is assigning the entire event message data (xml) to a local process variable of type xml. My local xml process variable is always null.
I don't understand how I can map a single value from within the xml, but I cannot map the entire xml.
Any thoughts?
And if you look at the provided event samples.
In the POCancel event, they specify an event message template which contains "Order" information, but they never use it in the samples.
Similar Messages
-
Custom event - adding Document in message data
Hi,
I'm trying (without success) to add a document variable into the message data of a custom event.
I have tryed to define in schema an element having no type, and then to put directly the document using the data mapping.
All the process is working except the fact that the passed content (a form) cannot be readen as passed.
Do somebody have an advice to achieve that?
Thanks for your help
DenisHi Bin Dong,
here are some hints in addition to the info from Steffen:
How to find the version of SAP MDM components related to your question:
SAP MDM Data Manager -> click on About
SAP MDM Console -> Help -> select About SAP MDM Console
SAP MDM Server -> on installation machine, go to folder .../Server , and in e.g. Windows, select the file mds.exe and the properties of the file will show its version.
Please use the installation files you got from the same SP/patch/hotfix.
MDM 5.5 SP4 is in monitored shipment, therefore if you work at a customer, you can ask your customer to upgrade to the latest available SP4 patch1 5.5.33.13.
What I could find about the RC code 82030100 is nothing more than you mentioned "Unhandled Exception" ...
Regards.
Laszlo. -
Problem with data template in XML publisher
When I create data template in xml publisher and save it, I get next message:
dbase:
Failed to save data.
Error occurred when creating xml data.
undefined
NaN
NaN
dbase is a database server
JDBC connection name:asu_fox
JDBC connection URL: jdbc:oracle:thin:@dbase:1521:ora03
Text in data template:
<?xml version="1.0" encoding="UTF-8"?>
<dataTemplate name="data_report_2" description="data template for reports 2 and 10"
dataSourceRef="asu_fox" version="1.0">
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[select kol_pl,kol_sv,trud_pl,trud_sv,nom_per_p,kod_polu_p,p_v,kod_tmc,liter,kol_skl,nom_per,shifr_dse,shifr_izd,kod_polu,kod_post,trud,kol_m,tip_rin,kod_op,kod_op0,order1,n_val,shifr_usel_val,sum_trud_val,sum_trud_val_sv from reporter.t_plan_report_2]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="group_all" source="Q1">
<element name="kol_pl_l" value="kol_pl"/>
<element name="kol_sv_l" value="kol_sv"/>
<element name="trud_pl_l" value="trud_pl"/>
<element name="trud_sv_l" value="trud_sv"/>
<element name="nom_per_p_l" value="nom_per_p"/>
<element name="kod_polu_p_l" value="kod_polu_p"/>
<element name="p_v_l" value="p_v"/>
<element name="kod_tmc_l" value="kod_tmc"/>
<element name="liter_l" value="liter"/>
<element name="nom_per_l" value="nom_per"/>
<element name="shifr_dse_l" value="shifr_dse"/>
<element name="shifr_izd_l" value="shifr_izd"/>
<element name="kod_polu_l" value="kod_polu"/>
<element name="kod_post_l" value="kod_post"/>
<element name="trud_l" value="trud"/>
<element name="kol_m_l" value="kol_m"/>
<element name="tip_rin_l" value="tip_rin"/>
<element name="kod_op_l" value="kod_op"/>
<element name="kod_op0_l" value="kod_op0"/>
<element name="order1_l" value="order1"/>
<element name="n_val_l" value="n_val"/>
<element name="shifr_usel_val_l" value="shifr_usel_val"/>
<element name="sum_trud_val_l" value="sum_trud_val"/>
<element name="sum_trud_val_sv_l" value="sum_trud_val_sv"/>
</group>
</dataStructure>
</dataTemplate>
I get this error with different data templates.
Help me, please.
VladimirHi Vladimir
Can you test the data template posted here. http://static7.userland.com/oracle/gems/leslieStuddard/EMPLOYEES.xml
It needs to connect to the sample scott schema, hopefully you have it installed?
Let me know if you get the same error.
thanks
Tim -
How to handle errors in data templates
Hi
What is the recommended way to handle errors for example if one of your SQL statement in a data template returned no data how and where would you be able to create an error message for the user to find and read.
Thanks,
MarkThe closest I have come to doing this is to put conditional statements into the format template. If a value matches an expected (ex. is null) you can return a message (in the report) via the format template (ex. "No Data Found").
I am not sure this really answers your question as this is in the format template, but I generally view them as a matched pair that work together. I try to stick with data extraction in the data define, and do all my conditional stuff in the format templates.
Scott -
EBS: Email XML publisher output, from After Report Trigger in Data Template
Here is what I'm trying to do:
-- In EBS (11.5.10 CU2), I'm using XML publisher (5.6.2) data template and layout template to generate Output files (PDF, EXCEL etc)
--In the Data Template's AfterReport Trigger, I'm using the Concurrent Request Id to locate the Output file name and trying to Email that output file.
Problem:
-- When the AfterReport trigger code is executed, the code is NOT seeing the output file and hence the file is NOT emailed.
Observations/Questions:
-- From what I observe, the Output Post Processor ( that generates the Excel / PDF files) is running AFTER the code in AfterReport trigger... and hence the AfterReport trigger is Not quite seeing / able to access the output file.
So, the sequence of execution seems to be:
-- Before Report Trigger
-- Data Query (SQL statement)
-- After Report Trigger
-- Output Post Processor
Because the AfterReport Trigger is running before the Output Post Processor, it is Not able to see the output file. Is that a True statement?
If Yes, how else can the DataTemplate access the Output file?
If No, what could cause the AfterReport trigger to not see the output file?Because the AfterReport Trigger is running before the Output Post Processor, it is Not able to see the output file. Is that a True statement?
I believe so, as the OPP works on the output of the Report after the Report has completed execution.
You could use the same approach as we do for bursting the report to different users. Write a Java Concurrent program based on "oracle.apps.xdo.oa.cp. XMLPReportBurst" with delivery channel Email to send the email output. You would need to add code to launch the Concurrent child request in your AfterReport Trigger:
function AfterReport return boolean is
jreq_id number;
begin
srw.message (100, 'DEBUG: AfterReport_Trigger +');
jreq_id:= FND_REQUEST.SUBMIT_REQUEST ('XDO','XDOBURST','','',FALSE,:P_CONC_REQUEST_ID,'Y',chr(0),
If (jreq_id=0)
then
srw.message (100,'Request id is zero');
end if; -
What is the purpose of Data Templates in BI Publisher? I understand their format, creating one, and uploading it into BI Publisher Enterprise, our current environment, but I am trying to see what value and power they provide. Is it the lexical references and ability to call them from Concurrent Manager or Java? I guess I'm grappling with "What do I do with it now?". And Why?
Can someone cast some light on this?
Thanks in advance.
Message was edited by:
user570993Some other advantages...
Allows to extract data from multile databases at the same time.
Example, you can extract the employee information from Oracle and Order information from SQLServer and constrcut a single XML. Or extract the data from difference instances. The feature is called disrtibuted query support.
You can call from Java APIs, so allow to integrate with any application beside BIPublisher or EBSConcurrent Program.
The DataTemplate Sql queries could be generate dynamically using substitute variables, which can be derived in before report triggers.
Beside SQL query, it allows to aggrgate data from XML file, HTTP, webservices and through PL/SQL Ref Cursors.
Hope this help you to understand the DataTemplate power....
Regards
Ashish -
Data template datatrigger error
Hi I have a data template that I'm currently getting an datatrigger error with when trying to generate the xml data. I believe I have my dataTrigger coded correctly and am unsure how to resolve this problem. Below is the data template code, plsql code and the actual error. Can somebody please tell me how to fix this error?
Please help!
<?xml version="1.0"?>
<dataTemplate name="XXKNC_WIPDJCR" description="WIP Critical Ratio Report" dataSourceRef="TEST" version="1.0">
<parameters>
<parameter name="S_DEPT" dataType="character"/>
<parameter name="E_DEPT" dataType="character"/>
<parameter name="P_QTY_IN_QUEUE" dataType="character"/>
</parameters>
<dataQuery>
<sqlStatement name="MAIN_Q1">
<![CDATA[
select distinct cr.Dept_Name, cr.Dept_Description,
case
when cr.denominator = 0 then 0
else round(cr.numerator/cr.denominator,2)
end critical_ratio,
cr.Sched_Op_Start_Date, cr.Sched_Op_Completion_Date,
to_char(cr.MPS_SCHEDULED_COMPLETION_DATE,'MM/DD/RRRR') as JOB_COMP_DATE,
cr.Job_Name, cr.Lot_Number, cr.PART# as ITEM,
substr(cr.Item_Description,1,50) as Item_Description, cr.Op_Seq as OPER,
substr(cr.OP_Description,1,30) as OP_Description, cr.Quantity_Scheduled, cr.Quantity_In_Queue, cr.QUANTITY_COMPLETED
from
select distinct a.Dept_Name, a.Dept_Description, a.Job_Name, a.wip_entity_id, a.MPS_SCHEDULED_COMPLETION_DATE, round(xxknc_critical_ratio_num(a.wip_entity_id),4) as numerator,
den.denominator, to_char(a.Sched_Op_Start_Date,'MM/DD/RRRR') as Sched_Op_Start_Date,
to_char(a.Sched_Op_Completion_Date,'MM/DD/RRRR') as Sched_Op_Completion_Date,
a.PART#, a.Item_Description, a.LOT_NUMBER, a.Quantity_Scheduled, a.Quantity_In_Queue,
a.QUANTITY_COMPLETED, a.Op_Seq, a.OP_Description,
xxknc.xxknc_qty_in_queue.CF_RowNumFormula as CF_RowNumFormula
from
select distinct BD.DEPARTMENT_CODE Dept_Name, BD.DESCRIPTION Dept_Description,
WE.WIP_ENTITY_NAME Job_Name, dj.lot_number, dj.MPS_SCHEDULED_COMPLETION_DATE,
WO.FIRST_UNIT_START_DATE as Sched_Op_Start_Date,
WO.LAST_UNIT_COMPLETION_DATE as Sched_Op_Completion_Date, i.inventory_item AS PART#,
i.DESCRIPTION Item_Description, WO.OPERATION_SEQ_NUM Op_Seq, WO.DESCRIPTION OP_Description,
WO.SCHEDULED_QUANTITY Quantity_Scheduled, WO.QUANTITY_IN_QUEUE Quantity_In_Queue,
WO.QUANTITY_COMPLETED, wor.usage_rate_or_amount, wor.applied_resource_units, wo.wip_entity_id
from apps.WIP_OPERATIONS wo, BOM_DEPARTMENTS BD, wip_operation_resources wor
,WIP_DISCRETE_JOBS DJ, WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND BD.ORGANIZATION_ID = 82
AND BD.DEPARTMENT_ID = WO.DEPARTMENT_ID
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('HR')
and basis_type in (2)
and activity_id in (4,1000)
UNION
select distinct BD.DEPARTMENT_CODE Dept_Name, BD.DESCRIPTION Dept_Description,
WE.WIP_ENTITY_NAME Job_Name, dj.lot_number, dj.MPS_SCHEDULED_COMPLETION_DATE,
WO.FIRST_UNIT_START_DATE as Sched_Op_Start_Date,
WO.LAST_UNIT_COMPLETION_DATE as Sched_Op_Completion_Date,
i.inventory_item AS PART#, i.DESCRIPTION Item_Description, WO.OPERATION_SEQ_NUM Op_Seq,
WO.DESCRIPTION OP_Description, WO.SCHEDULED_QUANTITY Quantity_Scheduled,
WO.QUANTITY_IN_QUEUE Quantity_In_Queue, WO.QUANTITY_COMPLETED,
(wor.usage_rate_or_amount * WO.QUANTITY_COMPLETED) as usage_rate_or_amount,
wor.applied_resource_units, wo.wip_entity_id
from apps.WIP_OPERATIONS wo, BOM_DEPARTMENTS BD, wip_operation_resources wor ,WIP_DISCRETE_JOBS DJ, WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND BD.ORGANIZATION_ID = 82
AND BD.DEPARTMENT_ID = WO.DEPARTMENT_ID
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('HR')
and basis_type in (1)
and activity_id in (1)
UNION
select distinct BD.DEPARTMENT_CODE Dept_Name, BD.DESCRIPTION Dept_Description,
WE.WIP_ENTITY_NAME Job_Name, dj.lot_number, dj.MPS_SCHEDULED_COMPLETION_DATE,
WO.FIRST_UNIT_START_DATE as Sched_Op_Start_Date,
WO.LAST_UNIT_COMPLETION_DATE as Sched_Op_Completion_Date,
i.inventory_item AS PART#, i.DESCRIPTION Item_Description, WO.OPERATION_SEQ_NUM Op_Seq,
WO.DESCRIPTION OP_Description, WO.SCHEDULED_QUANTITY Quantity_Scheduled,
WO.QUANTITY_IN_QUEUE Quantity_In_Queue, WO.QUANTITY_COMPLETED,
(wor.usage_rate_or_amount * 24) as usage_rate_or_amount,
wor.applied_resource_units, wo.wip_entity_id
from apps.WIP_OPERATIONS wo,
BOM_DEPARTMENTS BD, wip_operation_resources wor, WIP_DISCRETE_JOBS DJ, WIP_ENTITIES WE
,invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND BD.ORGANIZATION_ID = 82
AND BD.DEPARTMENT_ID = WO.DEPARTMENT_ID
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('DAY')
and basis_type in (2)
and activity_id in (4,1000)
UNION
select distinct BD.DEPARTMENT_CODE Dept_Name, BD.DESCRIPTION Dept_Description,
WE.WIP_ENTITY_NAME Job_Name, dj.lot_number, dj.MPS_SCHEDULED_COMPLETION_DATE,
WO.FIRST_UNIT_START_DATE as Sched_Op_Start_Date,
WO.LAST_UNIT_COMPLETION_DATE as Sched_Op_Completion_Date,
i.inventory_item AS PART#, i.DESCRIPTION Item_Description, WO.OPERATION_SEQ_NUM Op_Seq,
WO.DESCRIPTION OP_Description, WO.SCHEDULED_QUANTITY Quantity_Scheduled,
WO.QUANTITY_IN_QUEUE Quantity_In_Queue, WO.QUANTITY_COMPLETED,
((wor.usage_rate_or_amount * 24) * WO.QUANTITY_COMPLETED) as usage_rate_or_amount,
wor.applied_resource_units, wo.wip_entity_id
from apps.WIP_OPERATIONS wo, BOM_DEPARTMENTS BD, wip_operation_resources wor
,WIP_DISCRETE_JOBS DJ, WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND BD.ORGANIZATION_ID = 82
AND BD.DEPARTMENT_ID = WO.DEPARTMENT_ID
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('DAY')
and basis_type in (1)
and activity_id in (1)
UNION
select distinct BD.DEPARTMENT_CODE Dept_Name, BD.DESCRIPTION Dept_Description, WE.WIP_ENTITY_NAME Job_Name, dj.lot_number, dj.MPS_SCHEDULED_COMPLETION_DATE,
WO.FIRST_UNIT_START_DATE as Sched_Op_Start_Date,
WO.LAST_UNIT_COMPLETION_DATE as Sched_Op_Completion_Date,
i.inventory_item AS PART#, i.DESCRIPTION Item_Description, WO.OPERATION_SEQ_NUM Op_Seq,
WO.DESCRIPTION OP_Description, WO.SCHEDULED_QUANTITY Quantity_Scheduled,
WO.QUANTITY_IN_QUEUE Quantity_In_Queue, WO.QUANTITY_COMPLETED,
NULL AS usage_rate_or_amount, NULL AS applied_resource_units, wo.wip_entity_id
from apps.WIP_OPERATIONS wo, BOM_DEPARTMENTS BD, WIP_DISCRETE_JOBS DJ,
WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND BD.ORGANIZATION_ID = 82
AND BD.DEPARTMENT_ID = WO.DEPARTMENT_ID
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
and wo.operation_seq_num between 1 and 10
and wo.quantity_in_queue > 0
and wo.operation_seq_num NOT IN (select distinct operation_seq_num from wip_operation_resources
where wip_entity_id = wo.wip_entity_id
and operation_seq_num between 1 and 10)
order by 1
) a,
( -- this inline view gets the denominator value
select b.Job_Name, b.WIP_ENTITY_ID, xxknc_critical_ratio_den (b.wip_entity_id) as denominator
from
select a.Job_Name, a.WIP_ENTITY_ID,
sum(a.usage_rate_or_amount) as usage_rate_or_amount
from
select distinct WE.WIP_ENTITY_ID, WE.WIP_ENTITY_NAME Job_Name, wor.usage_rate_or_amount, WO.LAST_UNIT_COMPLETION_DATE
from apps.WIP_OPERATIONS wo, wip_operation_resources wor, WIP_DISCRETE_JOBS DJ
,WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('HR')
and basis_type in (2)
and activity_id in (4,1000)
UNION
select distinct WE.WIP_ENTITY_ID, WE.WIP_ENTITY_NAME Job_Name,
(wor.usage_rate_or_amount * WO.QUANTITY_COMPLETED) as usage_rate_or_amount, WO.LAST_UNIT_COMPLETION_DATE
from apps.WIP_OPERATIONS wo, wip_operation_resources wor, WIP_DISCRETE_JOBS DJ
,WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('HR')
and basis_type in (1)
and activity_id in (1)
UNION
select distinct WE.WIP_ENTITY_ID, WE.WIP_ENTITY_NAME Job_Name,
(wor.usage_rate_or_amount * 24) as usage_rate_or_amount, WO.LAST_UNIT_COMPLETION_DATE
from apps.WIP_OPERATIONS wo, wip_operation_resources wor, WIP_DISCRETE_JOBS DJ
,WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('DAY')
and basis_type in (2)
and activity_id in (4,1000)
UNION
select distinct WE.WIP_ENTITY_ID, WE.WIP_ENTITY_NAME Job_Name,
((wor.usage_rate_or_amount * 24) * WO.QUANTITY_COMPLETED) as usage_rate_or_amount, WO.LAST_UNIT_COMPLETION_DATE
from apps.WIP_OPERATIONS wo, wip_operation_resources wor, WIP_DISCRETE_JOBS DJ
,WIP_ENTITIES WE, invfg_items i
where WO.ORGANIZATION_ID = 82
and DJ.ORGANIZATION_ID = 82
AND WE.ORGANIZATION_ID = 82
AND i.ORGANIZATION_ID = 82
AND i.inventory_item_id = WE.PRIMARY_ITEM_ID
AND WO.WIP_ENTITY_ID = WE.WIP_ENTITY_ID
AND WE.ENTITY_TYPE = 1
and dj.status_type = 3
AND wo.wip_entity_id = dj.wip_entity_id
AND wor.wip_entity_id = wo.wip_entity_id
AND wor.operation_seq_num = wo.operation_seq_num
AND wor.uom_code IN ('DAY')
and basis_type in (1)
and activity_id in (1)
order by 1
) a
group by a.WIP_ENTITY_ID, a.Job_Name
) b
order by 1
) den
where a.wip_entity_id = den.wip_entity_id
ORDER BY a.Job_Name
) cr
where upper(cr.Dept_Name) between nvl(upper(:S_DEPT), upper(cr.Dept_Name)) and nvl(upper(:E_DEPT),upper(cr.Dept_Name))
and &pwhereclause
order by 1,3,6,8
]]>
</sqlStatement>
</dataQuery>
<dataTrigger name="beforeReport" source="xxknc_qty_in_queue.BeforeReportTrigger(:P_QTY_IN_QUEUE)" />
<dataStructure>
<group name="G_DEPT_NAME" source="MAIN_Q1">
<element name="Dept_Name" value="DEPT_NAME" />
<element name="DEPT_DESCRIPTION" value="DEPT_DESCRIPTION" />
<element name="LOT_NUMBER" value="LOT_NUMBER" />
<element name="QUANTITY_SCHEDULED" value="QUANTITY_SCHEDULED" />
<element name="CRITICAL_RATIO" value="CRITICAL_RATIO" />
<element name="SCHED_OP_START_DATE" value="SCHED_OP_START_DATE" />
<element name="SCHED_OP_COMPLETION_DATE" value="SCHED_OP_COMPLETION_DATE" />
<element name="JOB_COMP_DATE" value="JOB_COMP_DATE" />
<element name="JOB_NAME" value="JOB_NAME" />
<element name="ITEM" value="ITEM" />
<element name="ITEM_DESCRIPTION" value="ITEM_DESCRIPTION" />
<element name="OPER" value="OPER" />
<element name="OPER_DESCRIPTION" value="OPER_DESCRIPTION" />
<element name="QUANTITY_IN_QUEUE" value="QUANTITY_IN_QUEUE" />
<element name="QUANTITY_COMPLETED" value="QUANTITY_COMPLETED" />
<element name="CF_ROWNUMFORMULA" value="CF_ROWNUMFORMULA" />
<element name="S_DEPT" value="S_DEPT" />
<element name="E_DEPT" value="E_DEPT" />
<element name="P_QTY_IN_QUEUE" value="P_QTY_IN_QUEUE" />
</group>
</dataStructure>
</dataTemplate>
create or replace package xxknc_qty_in_queue is
P_QTY_IN_QUEUE varchar2(100);
pwhereclause varchar2(1000);
function BeforeReportTrigger(p_qty_in_queue IN varchar2) return boolean;
function CF_RowNumFormula return number;
end xxknc_qty_in_queue;
create or replace package body xxknc_qty_in_queue as
function BeforeReportTrigger(p_qty_in_queue IN varchar2) return boolean
is
begin
pwhereclause := 'x';
if(upper(P_QTY_IN_QUEUE) = 'YES') then
pwhereclause := 'cr.Quantity_In_Queue > 0';
elsif (upper(P_QTY_IN_QUEUE) = 'NO') then
pwhereclause := 'cr.Quantity_In_Queue = 0';
else
pwhereclause := '1=1';
end if;
return (TRUE);
end BeforeReportTrigger;
function CF_RowNumFormula return Number
is
vCount number;
begin
vCount := 0;
vCount:=apps.XXKNC_SHIP_OUTLOOK_REPORT;
if (mod(vCount,2) = 0) then
return 1;
else
return 0;
end if;
end CF_RowNumFormula;
end xxknc_qty_in_queue;
Custom Application: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
XXKNC_WIPDJCR_DEF module: XXKNC_WIP_XML_Data_Template
Current system time is 20-JUL-2009 08:24:12
XDO Data Engine Version No: 5.6.3
Resp: 20420
Org ID : 81
Request ID: 3370019
All Parameters: S_DEPT=ADMIN:E_DEPT=INSP:P_QTY_IN_QUEUE=YES:CP_QTY_IN_QUEUE=YES
Data Template Code: XXKNC_WIPDJCR_DEF
Data Template Application Short Name: CUSTOM
Debug Flag: N
{E_DEPT=INSP, S_DEPT=ADMIN, CP_QTY_IN_QUEUE=YES, P_QTY_IN_QUEUE=YES}
Calling XDO Data Engine...
[072009_082414567][][ERROR] Variable 'pwhereclause' is missing....
[072009_082414616][][EXCEPTION] java.sql.SQLException: ORA-06550: line 2, column 18:
PLS-00103: Encountered the symbol "." when expecting one of the following:
( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall merge time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternatively-quoted S
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:736)
at oracle.apps.xdo.dataengine.DataTemplateParser.getRemoteValue(DataTemplateParser.java:1756)
at oracle.apps.xdo.dataengine.DataTemplateParser.getSubstituteObject(DataTemplateParser.java:1583)
at oracle.apps.xdo.dataengine.DataTemplateParser.replaceSubstituteVariables(DataTemplateParser.java:1404)
at oracle.apps.xdo.dataengine.XMLPGEN.processSQLDataSource(XMLPGEN.java:440)
at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:429)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:300)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:266)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:205)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:237)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:364)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
--SQLException
java.sql.SQLException: ORA-00920: invalid relational operator
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2599)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2963)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:584)
at oracle.apps.xdo.dataengine.XMLPGEN.processSQLDataSource(XMLPGEN.java:515)
at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:429)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:300)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:266)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:205)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:237)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:364)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
Start of log messages from FND_FILE
End of log messages from FND_FILE
Executing request completion options...
Finished executing request completion options.
Concurrent request completed
Current system time is 20-JUL-2009 08:24:14
---------------------------------------------------------------------------Misra, I noticed that I misspelled my pwhereclaus parameter so I went back and corrected it. When I executed the data template I got a new error. Can you tell me what this error means or how to fix this?
Custom Application: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
XXKNC_WIPDJCR_DEF module: XXKNC_WIP_XML_Data_Template
Current system time is 20-JUL-2009 11:40:07
XDO Data Engine Version No: 5.6.3
Resp: 20420
Org ID : 81
Request ID: 3370253
All Parameters: S_DEPT=ADMIN:E_DEPT=BIO:P_QTY_IN_QUEUE=YES:CP_QTY_IN_QUEUE=YES
Data Template Code: XXKNC_WIPDJCR_DEF
Data Template Application Short Name: CUSTOM
Debug Flag: N
{E_DEPT=BIO, S_DEPT=ADMIN, CP_QTY_IN_QUEUE=YES, P_QTY_IN_QUEUE=YES}
Calling XDO Data Engine...
java.lang.NullPointerException
at oracle.apps.xdo.dataengine.DataTemplateParser.getObjectVlaue(DataTemplateParser.java:1695)
at oracle.apps.xdo.dataengine.DataTemplateParser.replaceSubstituteVariables(DataTemplateParser.java:1414)
at oracle.apps.xdo.dataengine.XMLPGEN.processSQLDataSource(XMLPGEN.java:440)
at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:429)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:300)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:266)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:205)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:237)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:364)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
Start of log messages from FND_FILE
End of log messages from FND_FILE
Executing request completion options...
Finished executing request completion options.
Concurrent request completed
Current system time is 20-JUL-2009 11:40:09
--------------------------------------------------------------------------- -
Data template error while viewing DataSet
Hi,
I am trying to view DataSet{DS2}.
The dataset is of type "Data template" {DT1}
Pl. find below data template xml pasted in the text field
<dataTemplate name="DT1" description="Application Details" dataSourceRef="dev100">
<parameters>
<parameter name="p_apl_id" dataType="number"/>
</parameters>
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[
SELECT apl_id, apl_first_name, apl_last_name from applicants
where apl_id < nvl(:p_apl_id,apl_id)
]]>
</sqlStatement>
</dataQuery>
<dataStructure>
<group name="G_APP" source="Q1">
<element name="apl_id" value="apl_id"/>
<element name="apl_first_name" value="apl_first_name"/>
<element name="apl_last_name" value="apl_last_name"/>
</group>
</dataStructure>
</dataTemplate>
The error I am getting while viewing dataset is as below. Appreciate quick response.
[110906_042135613][][EXCEPTION] oracle.xml.parser.v2.XMLParseException: Expected name instead of .
at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
at oracle.xml.parser.v2.XMLReader.scanNameChars(XMLReader.java:1001)
at oracle.xml.parser.v2.XMLReader.scanQName(XMLReader.java:1639)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1170)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:227)
at oracle.apps.xdo.dataengine.DataTemplateParser.<init>(DataTemplateParser.java:142)
at oracle.apps.xdo.dataengine.XMLPGEN.setDataTemplate(XMLPGEN.java:504)
at oracle.apps.xdo.dataengine.DataProcessor.setDataTemplate(DataProcessor.java:182)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.callDataProcessor(AdvancedQueryBoundValue11.java:109)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.getValue(AdvancedQueryBoundValue11.java:79)
at oracle.apps.xdo.servlet.ReportContextImplV11.getReportXMLData(ReportContextImplV11.java:335)
at oracle.apps.xdo.servlet.XDOProcessor.process(XDOProcessor.java:235)
at oracle.apps.xdo.servlet.ReportImpl.renderBody(ReportImpl.java:251)
at oracle.apps.xdo.servlet.ReportImpl.renderReportBody(ReportImpl.java:46)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:319)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:223)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:52)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
[110906_042258194][][EXCEPTION] java.lang.NullPointerException
at oracle.apps.xdo.dataengine.DataTemplateParser.GetNodeNumChildren(DataTemplateParser.java:326)
at oracle.apps.xdo.dataengine.DataTemplateParser.templateParser(DataTemplateParser.java:261)
at oracle.apps.xdo.dataengine.XMLPGEN.setDataTemplate(XMLPGEN.java:511)
at oracle.apps.xdo.dataengine.DataProcessor.setDataTemplate(DataProcessor.java:182)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.callDataProcessor(AdvancedQueryBoundValue11.java:109)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.getValue(AdvancedQueryBoundValue11.java:79)
at oracle.apps.xdo.servlet.ReportContextImplV11.getReportXMLData(ReportContextImplV11.java:335)
at oracle.apps.xdo.servlet.XDOProcessor.process(XDOProcessor.java:235)
at oracle.apps.xdo.servlet.ReportImpl.renderBody(ReportImpl.java:251)
at oracle.apps.xdo.servlet.ReportImpl.renderReportBody(ReportImpl.java:46)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:319)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:223)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:52)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
[110906_042258198][][EXCEPTION] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at com.sun.java.util.collections.ArrayList.RangeCheck(ArrayList.java:492)
at com.sun.java.util.collections.ArrayList.get(ArrayList.java:306)
at oracle.apps.xdo.dataengine.DataTemplateParser.getParentDataSource(DataTemplateParser.java:1449)
at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:298)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:264)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:229)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:336)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.callDataProcessor(AdvancedQueryBoundValue11.java:126)
at oracle.apps.xdo.servlet.data.bind.AdvancedQueryBoundValue11.getValue(AdvancedQueryBoundValue11.java:79)
at oracle.apps.xdo.servlet.ReportContextImplV11.getReportXMLData(ReportContextImplV11.java:335)
at oracle.apps.xdo.servlet.XDOProcessor.process(XDOProcessor.java:235)
at oracle.apps.xdo.servlet.ReportImpl.renderBody(ReportImpl.java:251)
at oracle.apps.xdo.servlet.ReportImpl.renderReportBody(ReportImpl.java:46)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:319)
at oracle.apps.xdo.servlet.XDOServlet.writeReport(XDOServlet.java:223)
at oracle.apps.xdo.servlet.XDOServlet.doGet(XDOServlet.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:52)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Regards,
Nishi
Message was edited by:
user542026Hi Tim,
Thanks for your quick response.
I copied the text on XML publisher server. {http://server:15101/xmlpserver/servlet/report}
Navigated to Report > DataModel > Data Template {text area}
Regards,
Nishi -
Hi Experts,
Good Morning..
I registered the data template which i created in oracle apps and while i run that, ended in error... Plz help me..
Step :-1 Used Data Template as below:-
<?xml version="1.0" encoding="WINDOWS-1252" ?>
<dataTemplate name="EMP" defaultPackage="" description="Employee Data">
- <properties>
<property name="include_parameters" value="true" />
<property name="include_null_Element" value="true" />
<property name="xml_tag_case" value="upper" />
<property name="db_fetch_size" value="500" />
<property name="scalable_mode" value="off" />
<property name="include_rowsettag" value="false" />
<property name="debug_mode" value="off" />
</properties>
<parameters/>
<parameters name="pdeptno" dataType="number" defaultValue=" ">
</parameters>
<lexicals />
- <dataQuery>
- <sqlStatement name="DEPT" dataSourceRef="">
- <![CDATA[
SELECT DEPTNO,DNAME,
LOC,CURSOR(SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,nvl(COMM,0) COMM from EMP ) as EMP
from dept
where deptno=pdeptno
order by deptno]]>
</sqlStatement>
</dataQuery>
</dataTemplate>
Step -2:-
Registered in xml publisher administrator
Step -3:-
While i am running this getting below error-
XDO Data Engine Version No: 5.6.3
Resp: 20419
Org ID : 204
Request ID: 5380496
All Parameters: pdeptno=10
Data Template Code: EMP_DD
Data Template Application Short Name: FND
Debug Flag: N
{pdeptno=10}
Calling XDO Data Engine...
java.sql.SQLException: ORA-00900: invalid SQL statement
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:392)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:286)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:273)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)
at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:348)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Start of log messages from FND_FILE
Any mistake i made.. Issue may be silly..plz help me...
Thanks in advance..
HappyHi all,,,,
Thank so much for your valuable response regarding this issue..
Actually my scenario meet this below example, path for that example:-.
http://blogs.oracle.com/xmlpublisher/2007/02/data_templates_without_groupin.html
I am simply executing that data template. but getting this error :-
XDO Data Engine Version No: 5.6.3
Resp: 20419
Org ID : 204
Request ID: 5380496
All Parameters: pdeptno=10
Data Template Code: EMP_DD
Data Template Application Short Name: FND
Debug Flag: N
{pdeptno=10}
Calling XDO Data Engine...
java.sql.SQLException: ORA-00900: invalid SQL statement
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:392)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:286)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:273)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:215)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:254)
at oracle.apps.xdo.dataengine.DataProcessor.processDataStructre(DataProcessor.java:390)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:355)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:348)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
Start of log messages from FND_FILE -
HI All,
I am using the Data Template to publish output.
Based on Data Template.xdo
<?xml version = '1.0' encoding = 'utf-8'?>
<report version="1.1" xmlns="http://xmlns.oracle.com/oxp/xmlp" defaultDataSourceRef="CNE1">
<title>Based on Data Template</title>
<properties>
<property name="showControls" value="true"/>
<property name="online" value="true"/>
<property name="parameterColumns" value="3"/>
<property name="openLinkInNewWindow" value="true"/>
<property name="autoRun" value="true"/>
</properties>
<dataModel defaultDataSet="New DataSet 2">
<dataSet id="New DataSet 2">
<dataTemplate name="MyDT" dataSourceRef="CNE1">
<dataQuery>
<sqlStatement name="Q_Emp">
<![CDATA[ SELECT * FROM EMP]]>
</sqlStatement>
</dataQuery>
</dataTemplate>
</dataSet>
</dataModel>
<valueSets/>
<parameters/>
<templates/>
<burst enabled="false"/>
</report>
I have created the template & register the same in EBS.Also created a Concurrent Program with XDODTEXE as the executable.
I am getting the following error :
Custom APPS: Version : UNKNOWN
Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
XX_TEST_DP module: XX: Test Data template -1
Current system time is 12-SEP-2007 00:26:25
XDO Data Engine Version No: 5.6.3
Resp: 20420
Org ID : 83
Request ID: 7440294
All Parameters:
Data Template Code: XX_TEST_DP
Data Template Application Short Name: CUSTOM
Debug Flag: N
Calling XDO Data Engine...
[091207_122635145][][EXCEPTION] java.lang.NullPointerException
at oracle.apps.xdo.dataengine.DataTemplateParser.GetNodeNumChildren(DataTemplateParser.java:345)
at oracle.apps.xdo.dataengine.DataTemplateParser.templateParser(DataTemplateParser.java:277)
at oracle.apps.xdo.dataengine.XMLPGEN.setDataTemplate(XMLPGEN.java:599)
at oracle.apps.xdo.dataengine.DataProcessor.setDataTemplate(DataProcessor.java:193)
at oracle.apps.xdo.oa.util.DataTemplate.<init>(DataTemplate.java:136)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:282)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at com.sun.java.util.collections.ArrayList.RangeCheck(ArrayList.java:492)
at com.sun.java.util.collections.ArrayList.get(ArrayList.java:306)
at oracle.apps.xdo.dataengine.DataTemplateParser.getParentDataSource(DataTemplateParser.java:1737)
at oracle.apps.xdo.dataengine.XMLPGEN.writeDefaultGroup(XMLPGEN.java:320)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:279)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:266)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:205)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:237)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:364)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
Start of log messages from FND_FILE
End of log messages from FND_FILE
Executing request completion options...
------------- 1) PUBLISH -------------
Beginning post-processing of request 7440294 on node SJCORCL05 at 12-SEP-2007 00:26:37.
Post-processing of request 7440294 failed at 12-SEP-2007 00:26:44 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
Finished executing request completion options.
Concurrent request completed
Current system time is 12-SEP-2007 00:26:44
Please help.
Thanks
Bharat B Nayak
[email protected]Go to DSO -> manage.
On content Tab, you get option for selective deletion (last button "selective").
Mention your selections inside Delete Selection & start the job.
This will delete the selected data only from active table.
Please note the data from change log will not be deleted. No selective deletion is possible on Change log. However, you can delete the older change logs if not necessary. Go to Environment -> Delete Change Log Data & specify the date or days. -
Unable to debug the Data Template Error in the Log file
Hi,
I am unable to debug the log file error message Please can anybody explain me in detail where the error lies and how to solve the error.The log file shows the following message.
XDO Data Engine ver 1.0
Resp: 50554
Org ID : 204
Request ID: 2865643
All Parameters: USER_ID=1318:REPORT_TYPE=Report Only:P_SET_OF_BOOKS_ID=1:TRNS_STATUS=Posted:P_APPROVED=Not Approved:PERIOD=Sep-05
Data Template Code: ILDVAPDN
Data Template Application Short Name: CLE
Debug Flag: Y
{TRNS_STATUS=Posted, REPORT_TYPE=Report Only, PERIOD=Sep-05, USER_ID=1318, P_SET_OF_BOOKS_ID=1, P_APPROVED=Not Approved}
Calling XDO Data Engine...
java.lang.NullPointerException
at oracle.apps.xdo.dataengine.DataTemplateParser.getObjectVlaue(DataTemplateParser.java:1424)
at oracle.apps.xdo.dataengine.DataTemplateParser.replaceSubstituteVariables(DataTemplateParser.java:1226)
at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:398)
at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:281)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:222)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:334)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:272)
at oracle.apps.fnd.cp.request.Run.main(Run.java:148)
Start of log messages from FND_FILE
Start of After parameter Report Trigger Execution..
Gl Set of Books.....P
Organization NameVision Operations
Entering TRNS STATUS POSTED****** 648Posted
end of the trns status..687 Posted
currency_code 20USD
P_PRECISION 272
precision 332
GL NAME 40Vision Operations (USA)
Executing the procedure get format ..
ExecutED the procedure get format and the Result..
End of Before Report Execution..
End of log messages from FND_FILE
Executing request completion options...
------------- 1) PUBLISH -------------
Beginning post-processing of request 2865643 on node AP615CMR at 28-SEP-2006 07:58:26.
Post-processing of request 2865643 failed at 28-SEP-2006 07:58:38 with the error message:
One or more post-processing actions failed. Consult the OPP service log for details.
Finished executing request completion options.
Concurrent request completed
Current system time is 28-SEP-2006 07:58:38
Thanks & Regards
Suresh SinghGenerally the DBAs are aware of the OPP service log. They can tell you the cause of the problem.
Anyway, how did you resolve the issue? -
How to update the Input message data in OSM
hi,
I am using OSM 7.0.2.
can we update input message data before the orchestration execution.
I want to add some more order line item to the input xml by calling some external webservice.
Suppose CRM submits order with 3 order line item. Now once we have that in Input message i want to add some more order line item to this input message.
I dont want to add processing/adapter layer above OSM that does the updation of the XML.
Thanks in advance.
RutvejHi Rutvej,
You use Order Data Rule to generate data for the creation view of the orchestration order. The source schema of the Order Data Rule is the schema for the incoming message. The output returns the <_root> portion of the creation view. Note that the Order Template already has the Sales Order (look for "order <XML>") and automatically populated by OSM Core. So, what you are trying to do is not to add/change the Sales Order itself, but to first add the desired enriching data model into Order Template, and then use Order Data Rule to populate those enriching data into the Order Template.
Example of Order Data Rule:
declare namespace cso="http://xmlns.oracle.com/communications/sce/dictionary/CentralOMManagedServices-Orchestration/CustomerSalesOrder";
let $customer := //cso:CustomerAccount
return
<_root>
<OrderHeader>
<AccountIdentifier>{$customer/cso:AccountID/text()}</AccountIdentifier>
</OrderHeader>
<EnrichedOrderItem>
<Data1>Your enriched data here</Data1>
<Data2>Your enriched data here</Data2>
</EnrichedOrderItem>
</_root>
Before that, you would need to add the OrderHeader and EnrichedOrderItem into the Order Template. -
Getting a reference to conc manger request id in data template
I am using xml publisher 5.6.3 in apps 11.5.10CU2 with bursting patch. I would like to be able to generate my xml data from a data template and then use an after report trigger to then launch the bursting process. How can I get the conc manager id I need to pass to the bursting process ?
Seen the following code to use in the after report trigger
function AfterReport return boolean is
jreq_id number;
begin
srw.message (100, 'DEBUG: AfterReport_Trigger +');
jreq_id:= FND_REQUEST.SUBMIT_REQUEST ('XDO','XDOBURST','','',FALSE,:P_CONC_REQUEST_ID,'Y',chr(0),
If (jreq_id=0)
then
srw.message (100,'Request id is zero');
end if;The pl/sql function FND_GLOBAL.conc_request_id will give you the concurrent request id for the current request.
HTH,
Nilanshu -
Calling Sql Procedure from data template
Hello,
I am facing problem to call a stored procedure which inserts data into DB when a report is generated.
I tried to use data trigger before report, It did not call the procedure nor it gave any error.
I looked into thread dataTrigger beforeReport doesn't fire
and used the defaultPackage = "SEQUENCE_NUMBER", I am getting error parameter not declared
listing all the parameters declared in my XML.
Below is my data template
<dataTemplate name="HURDetail" dataSourceRef="BRM_DATA_SOURCE">
<parameters>
<parameter name="PARAM_REPORT_TYPE" dataType="character" defaultValue="%"/>
<parameter name="PARAM_ROAMING_PART_NAME" dataType="character" defaultValue="%"/>
<parameter name="PARAM_START_DATE" dataType="character"/>
<parameter name="PARAM_END_DATE" dataType="character"/>
</parameters>
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[
SELECT
"EVENT_DLAY_SESS_TLCS_T"."SECONDARY_MSID" as MSID,
MIN("EVENT_T"."START_T") DFC,
MAX("EVENT_T"."START_T") DATE_LAST_CALL,
COUNT ("EVENT_DLAY_SESS_TLCS_T"."SECONDARY_MSID") NC,
TO_CHAR( SUM("EVENT_BAL_IMPACTS_T"."AMOUNT_ORIG"),'FM000000000.000') SDR,
"EVENT_DLAY_SESS_TLCS_T"."SVC_CODE" as SVC_CODE,
"IFW_EXCHANGE_RATE"."TO_CURRENCY" as CURR,
"IFW_EXCHANGE_RATE"."EXCHANGE_RATE" as EXC_RATE
FROM
((((SERVICE_T "SERVICE_T" INNER JOIN SERVICE_ALIAS_LIST_T "SERVICE_ALIAS_LIST_T" ON
"SERVICE_T"."POID_ID0" = "SERVICE_ALIAS_LIST_T"."OBJ_ID0")
INNER JOIN (EVENT_DLAY_SESS_TLCS_T "EVENT_DLAY_SESS_TLCS_T" INNER JOIN EVENT_T "EVENT_T" ON
"EVENT_DLAY_SESS_TLCS_T"."OBJ_ID0" = "EVENT_T"."POID_ID0") ON
"SERVICE_T"."POID_ID0" = "EVENT_T"."SERVICE_OBJ_ID0")
INNER JOIN EVENT_BAL_IMPACTS_T "EVENT_BAL_IMPACTS_T" ON
"EVENT_T"."POID_ID0" = "EVENT_BAL_IMPACTS_T"."OBJ_ID0")
INNER JOIN CONFIG_BEID_BALANCES_T "CONFIG_BEID_BALANCES_T" ON
"EVENT_BAL_IMPACTS_T"."RESOURCE_ID" = "CONFIG_BEID_BALANCES_T"."REC_ID")
INNER JOIN IFW_EXCHANGE_RATE "IFW_EXCHANGE_RATE" ON
"CONFIG_BEID_BALANCES_T"."BEID_STR_CODE" = "IFW_EXCHANGE_RATE"."FROM_CURRENCY"
WHERE (
("EVENT_T"."START_T">=bipext.infstrtotimet(:PARAM_START_DATE,2) AND
"EVENT_T"."START_T"<=bipext.infstrtotimet(:PARAM_END_DATE,2)-1) AND
"SERVICE_ALIAS_LIST_T"."NAME" = :PARAM_ROAMING_PART_NAME AND
"EVENT_T"."SERVICE_OBJ_TYPE" = '/service/settlement/roaming/outcollect' AND
"EVENT_T"."POID_TYPE" = '/event/delayed/session/telco/gsm/roaming' AND
"IFW_EXCHANGE_RATE"."TO_CURRENCY" = 'EUR' AND
bipext.infCheckDates(:PARAM_START_DATE, :PARAM_END_DATE) = 1
]]>
</sqlStatement>
</dataQuery>
<dataTrigger name="beforeReport" source="SEQUENCE_NUMBER.Seq_Num_Gen_Proc(:PARAM_START_DATE, :PARAM_END_DATE, :PARAM_ROAMING_PART_NAME, :PARAM_REPORT_TYPE)"/>
<datastructure>
<group name="Q1" source="Q1">
<element name="MSID" value="MSID"/>
<element name="DFC" value="DFC"/>
<element name="DATE_LAST_CALL" value="DATE_LAST_CALL"/>
<element name="NC" value="NC"/>
<element name="DC_HHHMMSS" value="DC_HHHMMSS"/>
<element name="SDR" value="SDR"/>
<element name="SVC_CODE" value="SVC_CODE"/>
<element name="CURR" value="CURR"/>
<element name="EXC_RATE" value="EXC_RATE"/>
</group>
</datastructure>
</dataTemplate>
Please suggest, How to call a stored procedure1. Does dataTrigger triggers the procedure only when we execute the report and not when we just view the report ?
2.If I add defaultPackage="HUR_Seq_NUM" in my template I get the error
ORA-06550: line 2, column 13:
PLS-00302: component 'PARAM_REPORT_TYPE' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
ORA-06550: line 3, column 13:
PLS-00302: component 'PARAM_ROAMING_PART_NAME' must be declared
ORA-06550: line 3, column 1:
PL/SQL: Statement ignored
ORA-06550: line 4, column 13:
PLS-00302: component 'PARAM_START_DATE' must be declared
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored
ORA-06550: line 5, column 13:
PLS-00302: component 'PARAM_END_DATE' must be declared
ORA-06550: line 5, column 1:
PL/SQL: Statement ignored -
Different LOV behavior between SQL query data model and data template
I have noticed different behavior when using parameters linked to list of values (LOV) of type menu with the multiple selection option enabled and a SQL query data model vs a data template. Here's the example because that first sentence was probably really confusing.
SQL Query:
select
plmc.MonthCode, plmc.ModalityDim, plmc.ModalityName,plmc.RegionDim
from
DataOut.dbo.PatientLabMonthlyCross plmc
where
plmc.MonthCode = 200202
and plmc.RegionDim = 1209
and 1 =
case
when coalesce(:modalityDim,null) is null
then 1
else
case
when plmc.ModalityDim in (:modalityDim)
then 1
else 0
end
end
Putting BI Publisher into debug mode, defining a data model of type SQL Query, defining a parameter called :modalityDim linked to a LOV that allows multiple selections, and selecting a couple of values from the LOV the output of the prepared statement is:
[081607_122647956][][STATEMENT] Sql Query : select
plmc.MonthCode,
plmc.ModalityDim,
plmc.ModalityName,
plmc.RegionDim
from
DataOut.dbo.PatientLabMonthlyCross plmc
where
plmc.MonthCode = 200202
and plmc.RegionDim = 1209
and 1 =
case
when coalesce(?,?,null) is null
then 1
else
case
when plmc.ModalityDim in (?,?)
then 1
else 0
end
end
[081607_122647956][][STATEMENT] 1:6
[081607_122647956][][STATEMENT] 2:7
[081607_122647956][][STATEMENT] 3:6
[081607_122647956][][STATEMENT] 4:7
[081607_122654713][][EVENT] Data Generation Completed...
[081607_122654713][][EVENT] Total Data Generation Time 7.0 seconds
Note how the bind variable :modalityDim was changed into two parameters in the prepared statement.
When I use this same SQL Query in a data template the output is:
[081607_012113018][][STATEMENT] Sql Query : select
plmc.MonthCode,
plmc.ModalityDim,
plmc.ModalityName,
plmc.RegionDim
from
DataOut.dbo.PatientLabMonthlyCross plmc
where
plmc.MonthCode = 200202
and plmc.RegionDim = 1209
and 1 =
case
when coalesce(?,null) is null
then 1
else
case
when plmc.ModalityDim in (?)
then 1
else 0
end
end
[081607_012113018][][STATEMENT] 1:'6','7'
[081607_012113018][][STATEMENT] 2:'6','7'
[081607_012113574][][EXCEPTION] java.sql.SQLException: Syntax error converting the nvarchar value ''6','7'' to a column of data type int.
Note the exception because it is trying to convert the multiple parameter values.
Am I doing something completely wrong here? I really need to use a data template because I will need to link a couple of queries together from different database vendors.
-markThis is for 10.1.3.4 - because in 11g every SQL query is automatially part of a data model.
In 10g SQL query is for simple unrelated SQL queries.
If you need to use advance features such as:
a) multiple SQL queries that are joined in master-detail relation ships
b) before/after report triggers
Then you will need to use the data template, which is an XML description
of the queries, links, and PL/SQL calls.
hope that helps,
Klaus
Maybe you are looking for
-
End routine Works fine but missing some records while updating to cube.
Hi All I have an issue here... My End routine works fine and I even debugged by putting the breakpoint and It fetches data from dso. strangely when I run my DTP the load is successful but I can see some of the records are missing. but there is data i
-
Working with MOD files in iMovie 08
Hello. I have a jvc everio camcorder. I started trying to import my footage with iMovie 08, but as it reads all the cam videos, it is too slow and crashes are common. I decided to copy all my MOD files to hard drive and select only the desired clips,
-
Datagrid column header word wrap issue
Hi All, I'm passing dynamic text to a datagrid column header. The word wrap is true but it's not working. Any ideas how to fix this issue? DataGridColumn headerText="{myVar.text} Total" headerWordWrap="true" Thanks Johnny
-
HT1473 I'm trying to upload music from CDs to my iPod Touch via my PC.
I can get the music into my iTunes library on the PC but when I hit SYNC none of it is transferred to my iPod. Help?!
-
what is the diff b/w local and sequential files