Discoverer Report returning ' no data found '
Hi ...
i have an issue with one discoverer report .
Discoverer report name : EDI Price Exception Report.
when i ran the report in Discoverer Desktop edition It is returning 'No Data Found ' But i am taken the Query from admin edition and tried to ran in PL/SQL Developer/TOAD by setting Org_id condition
it's returning Data . the Desktop Edition of Discoverer for some specific date Range it's giving Data But from last month on wards it's not returning any Data.
in Discoverer Report Desktop it's not retuning the Data from November to till date
Oracle Applications 11i
Discoverer 4i
Oracle Data base :9i
OS : Windows.
Attached the Sql which i used to generate the Report :
I HAVE USED THE FOLLOWING :-for initialize the profile options
EXEC FND_GLOBAL.APPS_INITIALIZE (0,52163,660);
EXEC APPS.FND_CLIENT_INFO.SET_ORG_CONTEXT(2922);
SELECT A.CUST_PO_NUMBER,
A.ORDER_NUMBER,
A.ORDERED_DATE,
A.ORDER_TYPE,
-- C.CUSTOMER_ID,
C.CUSTOMER_NUMBER,
C.CUSTOMER_NAME,
B.LINE_NUMBER,
B.ORDERED_ITEM,
MSI.SEGMENT1 ACCO_ITEM, -- GRW 20060407
MSI.DESCRIPTION,
-- MSI.INVENTORY_ITEM_ID,
(SELECT MCI.CUSTOMER_ITEM_NUMBER
FROM MTL_CUSTOMER_ITEMS MCI,
MTL_CUSTOMER_ITEM_XREFS MCIX,
MTL_SYSTEM_ITEMS_B MSIB
-- MTL_PARAMETERS MP
WHERE MCI.CUSTOMER_ID = C.CUSTOMER_ID --1814924
AND MCI.CUSTOMER_ITEM_ID = MCIX.CUSTOMER_ITEM_ID
AND MCIX.INVENTORY_ITEM_ID = MSIB.INVENTORY_ITEM_ID
AND MSIB.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID --869899
AND MSIB.ORGANIZATION_ID = MTP.ORGANIZATION_ID --MP.ORGANIZATION_ID
AND MTP.ORGANIZATION_CODE = 'BRM'
AND MCI.CUSTOMER_ITEM_NUMBER = B.ORDERED_ITEM
AND NVL (mci.inactive_flag, 'N') <> 'Y'
AND NVL (mcix.inactive_flag, 'N') <> 'Y')
CUSTOMER_ITEM,
XXAB_ITEM_XREFS.GET_GBC_ITEM_NUM (B.ORDERED_ITEM) GBC_ITEM_NUMBER,
B.ORDERED_QUANTITY,
B.PRICE_LIST,
B.UNIT_SELLING_PRICE,
B.UNIT_LIST_PRICE,
TO_NUMBER (B.ATTRIBUTE7) CUST_SENT_PRICE,
apps.XXAB_CUST_SENT_PRICE_CONV_SO (C.customer_number,
B.ordered_item,
B.header_id,
B.line_number,
B.unit_selling_price,
B.attribute7,
B.pricing_quantity_uom,
B.attribute4)
CUST_SENT_PRICE_CONVERTED,
ABS ( (B.UNIT_SELLING_PRICE
- apps.XXAB_CUST_SENT_PRICE_CONV_SO (C.customer_number,
B.ordered_item,
B.header_id,
B.line_number,
B.unit_selling_price,
B.attribute7,
B.pricing_quantity_uom,
B.attribute4)))
DIFFERENCE,
MTP.ORGANIZATION_CODE,
B.SHIP_TO_LOCATION
FROM OE_ORDER_HEADERS_V A,
OE_ORDER_LINES_V B,
RA_CUSTOMERS C,
MTL_PARAMETERS MTP,
MTL_SYSTEM_ITEMS_B MSI
WHERE A.HEADER_ID = B.HEADER_ID
AND A.SOLD_TO_ORG_ID = C.CUSTOMER_ID
-- Added by Gati on 19-Oct-2012, tkt - INC000000118962
AND ROUND (TO_NUMBER (apps.XXAB_CUST_SENT_PRICE_CONV_SO (
C.customer_number,
B.ordered_item,
B.header_id,
B.line_number,
B.unit_selling_price,
B.attribute7,
B.pricing_quantity_uom,
B.attribute4)),
2) <> B.UNIT_SELLING_PRICE
--AND ROUND(TO_NUMBER(B.ATTRIBUTE7), 2) <> B.UNIT_SELLING_PRICE
--AND a.ship_from_org_id = mtp.organization_id
AND B.SHIP_FROM_ORG_ID = MTP.ORGANIZATION_ID -- GRW 20060413
--AND a.ship_from_org_id = msi.organization_id
AND B.SHIP_FROM_ORG_ID = MSI.ORGANIZATION_ID -- GRW 20060413
AND B.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID -- GRW 20060407
AND A.ORDER_SOURCE_ID = 6
AND A.ORG_ID = B.ORG_ID
AND TO_CHAR (A.ordered_date, 'DD-MON-YYYY') between '01-NOV-2013' and '03-NOV-2013'
and mtP.organization_code='BRM'
AND A.ORG_ID = (SELECT HOU.ORGANIZATION_ID
FROM HR_OPERATING_UNITS HOU
WHERE HOU.NAME = '50 ACCO Canada')
AND B.cancelled_flag <> 'Y'
AND B.flow_status_code <> 'CANCELLED'
AND B.ORDERED_ITEM <> 'INVALID_ITEM'
ORDER BY a.order_number
Hi,
Assuming your initialization matches your discoverer login, it is pretty weird that you get no data.
I am not sure how you got the SQL but i suggest you trace the session to get the exact SQL ran by the discoverer.
You may find another condition or join that limits your data.
Also another thing that you should try is to initial the session by using all the parameters (including the security group as you have in your discoverer login):
begin
fnd_global.APPS_INITIALIZE(user_id =>, resp_id =>, resp_appl_id =>, security_group_id =>);
end
Similar Messages
-
Discoverer report returns no data from a certain time
Using Discoverer 10g,a discoverer report which returned data normally last month gets to return no data now.
We have four same environments, and two of them has this problem, two is OK.
And the SQL of the discoverer of the four environments are the same.
We have no any changment of this discoverer and related EUL for more than one year....
How should we investigate into this issue.
For example ,a point we should notice or something...
Could somebody give us a suggestion?
Thank you.Thanks for your qiuck reply.
1.empty table that is joined in the query.The four environments has almost the same data,it is not the cause.
2.security issue with the data, maybe the security definitions are different from one environment to another.we are now invesgate into this cause.
and there is a sql of the discoverer's EUL which shows no data in a enviroment(in this enviroment discoverer report gets no data), but in another enviroment data can show.
the sql is as following.
=============
SELECT loc_bu.org_id
,loc_bu.location_id building_id
,loc_bu.building building_name
,loc_bu.location_code building_number
,loc_fl.location_id floor_id
,loc_fl.location_code floor_number
,loc_fl.floor floor_name
,loc_of.location_id office_id
,loc_of.location_code office_number
,loc_of.office office_name
,loc_of.suite office_suite
,loc_of.location_alias office_alias
,loc_of.assignable_area office_assignable_area
,loc_of.space_type_lookup_code office_space_type_code
,lst.meaning office_space_type
,loc_of.function_type_lookup_code office_function_type_code
,fun.meaning office_function_type
,(SELECT ffv.description
FROM fnd_flex_values_vl ffv
,fnd_flex_value_sets ffvs
WHERE ffv.flex_value = loc_of.attribute1
AND ffv.flex_value_set_id = ffvs.flex_value_set_id
AND ffvs.flex_value_set_name = 'MB_PN_ON') occupancy_exception_flag
,loc_of.active_start_date
,loc_of.active_end_date
--ADD BY KEVIN 2008/6/26 START
,loc_of.attribute7 division_code_office
,(SELECT ffv.description
FROM fnd_flex_values_vl ffv
,fnd_flex_value_sets ffvs
WHERE ffv.flex_value = loc_of.attribute7
AND ffv.flex_value_set_id = ffvs.flex_value_set_id
AND ffvs.flex_value_set_name = 'MB_PN_DIVISION') division_description_office --ヌヨ-ホ・ヒオテ・
--ADD BY KEVIN 2008/6/26 END
FROM pn_locations loc_bu
,pn_locations loc_fl
,pn_locations loc_of
,fnd_lookups fun
,fnd_lookups lst
WHERE loc_bu.location_id = loc_fl.parent_location_id
AND loc_bu.location_type_lookup_code IN ('LAND', 'BUILDING')
AND nvl(loc_bu.attribute6, '99') <> '01'
AND loc_fl.location_id = loc_of.parent_location_id
AND loc_fl.location_type_lookup_code IN ('FLOOR', 'PARCEL')
AND nvl(loc_fl.attribute6, '99') <> '01'
AND loc_of.location_type_lookup_code IN ('OFFICE', 'SECTION')
AND nvl(loc_of.attribute6, '99') <> '01'
AND loc_of.function_type_lookup_code = fun.lookup_code(+)
AND fun.lookup_type(+) = 'PN_FUNCTION_TYPE'
AND loc_of.space_type_lookup_code = lst.lookup_code(+)
AND lst.lookup_type(+) = decode(loc_of.location_type_lookup_code,
'OFFICE',
'PN_SPACE_TYPE',
'SECTION',
'PN_PARCEL_TYPE')
AND nvl(loc_of.space_type_lookup_code,'99') <> '07';
====================
Ps.before excute this sql, we always first excute following command.
====
begin
fnd_client_info.set_org_context(117);
end;
====
The analyst of our team is not very good at the security problem, could you help us?
Thanks a lot. -
SQL Report return No Data Found
I have a page with a SQL Report that runs a very complex query. If the returns are that nothing is found, I want to run some JavaScript. How can I determine the count of the result set or the capture the exception? Or is there another way without rerunning the query?
ThanksIn Report Attributes tab, under Messages, you will see a section named "When No Data Found Message". In it, I added this javascript code. When no data was found, the javascript worked, and popped up a message box. You can replace the alert code below with a call to your javascript function.
<script language="javascript">
alert("no data found");
</script>
There is another way. In the Region Definition tab, there is a section called "Region Footer". In it, add this javascript:
<script language="javascript">
var i = #TOTAL_ROWS#;
alert(i);
</script>
When variable i is zero, then you know that no data was returned.
Hope this helps.
Ravi -
Discoverer workbooks return no data found on preseeded views
We have just upgraded to R12 from 11.0.3. We decided to do a fresh install of Discoverer 10G instead of trying to upgrade our old version of Discoverer. When trying to create a query in the pre-seeded views for Accounts Payable, Accounts Receivable, General Ledger, Order Management or Margin analysis, the worksheets all come back no data found. I can retrieve data from the preseeded views for Invnentory, shipping, cost management and purchasing. I have reviewed note 732826.1 and it appears that MOAC is my issue. However, where I am having issues is knowing what is the minimum that I need to set up on MOAC for Discoverer to work correctly. Has anyone done this?
Hi,
Are you using a seeded or custom responsibility? You need to have the organization system profile set up for the responsibility and the initialization of the session must set the VPD policy context. There are a number of ways of doing setting the policy contexts.
Rod West -
CSV spreadsheet returning "no data found"
Hi,
In one of the reports, I enabled CSV Output so the report can be downloaded.
When I download it, using Excel 2000, I have no problem, I can see all the right data.
However, one of my user, who uses Excel 2002, when saves the file and opens it, returns "no data found" on screen.
Is this an Excel issue? Is Apex not compatible with Excel 2002? Please advise.
Thanks!Do you have any items on your report page, which you use as a condition for the report? Eventually, you need to compute those items on load. If I remember correctly that was the problem I had before.
Denes Kubicek -
Hi i have a query like this
SELECT
pro.project_name "Project Name",
POBJ.NAME "Object Name",
X."Major" "Internal Major",
X."Minor" "Internal Minor",
X."Normalized" "Internal Normalized",
X."IDR" "Internal Defect Rate",
Y."Minor" "External Minor",
Y."Major" "External Major",
Y."Normalized" "External Normalized",
Y."EDR" "External Defect Rate",
NULL "Total Defects"
FROM
PROJECTS PRO,
PROJECT_OBJECTS POBJ,
(SELECT
MN."PRO_ID",
MN."POBJ_ID",
MN."Major",
MN."Minor",
MN."Normalized",
DR."IDR_PRO_ID",
DR."IDR_POBJ_ID",
DR."IDR"
FROM
MAJOR_MINOR_NORMALIZED MN FULL OUTER JOIN IDR DR
ON
MN."PRO_ID" = DR."IDR_PRO_ID" AND
MN."POBJ_ID" = DR."IDR_POBJ_ID" ) X,
(SELECT
EE."PRO_ID" EE_PRO_ID,
EN."PRO_ID" EN_PRO_ID,
EE."POBJ_ID" EE_POBJ_ID,
EN."POBJ_ID" EN_POBJ_ID,
EN."Major" "Major", EN."Minor" "Minor", EN."Normalized" "Normalized",
EN."Normalized" / DECODE(EE."External_Effort",0,NULL,EE."External_Effort") "EDR"
FROM
EXTR_MAJOR_MINOR_NORMALIZED EN FULL OUTER JOIN EXTERNAL_EFFORT EE
ON
EE."PRO_ID" = EN."PRO_ID" AND
EE."POBJ_ID" = EN."POBJ_ID") Y
WHERE
PRO.ID = 2673 AND
2673 = POBJ.PRO_ID AND
2673 = DECODE(X."PRO_ID",NULL,2673,X."PRO_ID") AND
2673 = DECODE(X."IDR_PRO_ID",NULL,2673,X."IDR_PRO_ID") AND
POBJ.ID = DECODE(X."POBJ_ID",NULL,POBJ.ID,X."POBJ_ID") AND
POBJ.ID = DECODE(X."IDR_POBJ_ID",NULL,POBJ.ID,X."IDR_POBJ_ID") AND
2673 = DECODE(Y."EE_PRO_ID",NULL,2673,Y."EE_PRO_ID") AND
2673 = DECODE(Y."EN_PRO_ID",NULL,2673,Y."EN_PRO_ID") AND
POBJ.ID = DECODE(Y."EE_POBJ_ID",NULL,POBJ.ID,Y."EE_POBJ_ID") AND
POBJ.ID = DECODE(Y."EN_POBJ_ID",NULL,POBJ.ID,Y."EN_POBJ_ID")
In the above query all the X Contents have data and Y Contents are not having data but i need to display if X contents are there and make Y contents as Blank if no data exists
The Query will return value ony if the data existing both X and Y
if either one of the X or Y having data it will return no data found how to give the where clause condtion for such cases i tryed many ways was not able to get the result
thanks
SudhirI did like this
Create or Replace View IDRS as
SELECT
MN."PRO_ID",
MN."POBJ_ID",
MN."Major",
MN."Minor",
MN."Normalized",
DR."IDR_PRO_ID",
DR."IDR_POBJ_ID",
DR."IDR"
FROM
MAJOR_MINOR_NORMALIZED MN FULL OUTER JOIN IDR DR
ON
MN."PRO_ID" = DR."IDR_PRO_ID" AND
MN."POBJ_ID" = DR."IDR_POBJ_ID
CREATE OR REPLACE FORCE VIEW "EXTERNAL_DEFECT_RATE" ("EE_PRO_ID", "EN_PRO_ID", "EE_POBJ_ID", "EN_POBJ_ID", "Major", "Minor", "Normalized", "External_Effort", "EDR") AS
SELECT
EE."PRO_ID" EE_PRO_ID,
EN."PRO_ID" EN_PRO_ID,
EE."POBJ_ID" EE_POBJ_ID,
EN."POBJ_ID" EN_POBJ_ID,
EN."Major", EN."Minor", EN."Normalized",EE."External_Effort",
EN."Normalized" / DECODE(EE."External_Effort",0,NULL,EE."External_Effort") "EDR"
FROM
EXTR_MAJOR_MINOR_NORMALIZED EN FULL OUTER JOIN EXTERNAL_EFFORT EE
ON
EE."PRO_ID" = EN."PRO_ID" AND
EE."POBJ_ID" = EN."POBJ_ID"
now i am trying to create a full outer join i am getting errors like this
Select *
from
EXTERNAL_DEFECT_RATE edr full outer join on IDRS
on
idrs."pro_id" = edr."EE_PRO_ID" and
simileare other join condtion
but i get Column Ambigiously defined error
tx
Sudhir -
Tax Report Returns No Data [Message 131-85]
Our client has been using SBO for the past few years and run the Standard Tax Report.
They follow a standard procedure whereby they open the Tax Report enter the period details and click OK, the report returns all Input and Output Tax details.
This month they have run the report and no matter what dates you enter the report returns No Date [Message 131-85]
Does anyone have any clues as to what might be causing this?I have discovered via a SQL trace that the following script is tun for the tax report
exec sp_executesql N'
SELECT T0.[AbsEntry],
T0.[Code],
MIN(T0.[Name]),
T0.[SrcObjType],
T0.[DocNum],
MIN(T0.[Category]),
MIN(T0.[IsEC]),
T0.[IsAcq],
MIN(T0.[VatPercent]),
MIN(T0.[EqPercent]),
T0.[DocDate],
MIN(T0.[TaxDate]),
MIN(T0.[CANCELED]),
SUM(T0.[BaseSum]),
SUM(T0.[VatSum]),
SUM(T0.[EqSum]),
SUM(T0.[DeductSum] - T0.[EqSum]),
MIN(T0.[SrcObjAbs]),
N''0'',
0,
0,
MIN(T0.[DocDate]),
0,
0,
MIN(T0.[NumAtCard]),
SUM(T0.[BaseSumSc]),
SUM(T0.[VatSumSc]),
SUM(T0.[EqSumSC]),
SUM(T0.[DedctSumSC] - T0.[EqSumSC]),
MIN(T0.[TaxType]),
T0.[CrditDebit],
MIN(T0.[CardCode]),
MIN(T0.[CardName]),
MIN(T0.[SrcLineNum]),
MIN(T0.[VatDate]),
MIN(T0.[VatIdUnCmp]),
MIN(T0.[LicTradNum]),
MIN(T0.[BPLicTradNum]),
MIN(T0.[AddID]),
SUM(T0.[BaseSum])
FROM [dbo].[B1_VatView] T0
WHERE (T0.[Code] = (@P1) OR
T0.[Code] = (@P2) OR
T0.[Code] = (@P3) OR
T0.[Code] = (@P4) OR
T0.[Code] = (@P5) OR
T0.[Code] = (@P6) OR
T0.[Code] = (@P7) OR
T0.[Code] = (@P8) OR
T0.[Code] = (@P9) OR
T0.[Code] = (@P10) OR
T0.[Code] = (@P11) OR
T0.[Code] = (@P12) ) AND
T0.[DocDate] >= (@P13) AND
T0.[DocDate] <= (@P14)
GROUP BY T0.[AbsEntry], T0.[Code], T0.[SrcObjType], T0.[DocNum], T0.[IsAcq], T0.[DocDate], T0.[CrditDebit]
ORDER BY T0.[IsAcq] DESC,T0.[CrditDebit]',N'@P1 nvarchar(30),@P2 nvarchar(30),@P3 nvarchar(30),@P4 nvarchar(30),@P5 nvarchar(30),@P6 nvarchar(30),@P7 nvarchar(30),@P8 nvarchar(30),@P9 nvarchar(30),@P10 nvarchar(30),@P11 nvarchar(30),@P12 nvarchar(30),@P13 datetime2,@P14 datetime2',N'SEXP',N'SFRE',N'SGST',N'SNT',N'PCAF',N'PCAP',N'PFRE',N'PGNR',N'PGST',N'PGSTV',N'PNT',N'PPRI','2010-03-01 00:00:00','2010-03-31 00:00:00'
If I run this in SQL I get the following error, which mat shed some light on what is happening
Msg 2715, Level 16, State 3, Line 1
Column, parameter, or variable #13: Cannot find data type datetime2.
Parameter or variable '@P13' has an invalid data type.
Msg 2715, Level 16, State 3, Line 1
Column, parameter, or variable #14: Cannot find data type datetime2.
Parameter or variable '@P14' has an invalid data type. -
Report returns wrong data when run on server
Hi,
I'm runing CRS XI R2 on Windows Server 2003 SP2. When I refresh a report in the Crystal Reports XI Designer, I'm getting correct data. But when I schedule the report to run on the server it returns wrong data. The data is different from what I see when I refresh it from the designer. In the report I have running totals set up to count customers that meet a certain criteria. The report is very large. It take almost 2 hours to refresh.
I was wondering what is causing the difference in running total data between refreshing it on the designer and running it on the server. Is it returning wrong data b/c of it not reading all the records? Should I be making any changes to the server settings? I saw that under pageserver, there are options for setting the 'Minutes Before an Idle Report Job is Closed' and 'Database Records To Read When Previewing Or Refreshing a Report". Do either of those have anything to do with the report returning incorrect data when being scheduled to run on the server?
Thanks,
KimHi Xuandao,
You would need to Use Cell Binding and Trigger concept to accomplish this.
Its simple, however, you would have to work on a trial and error basis to understand this concept as implementing the same is subject to your dashboard and WEBI Design.
Open you LiveOffice.
Insert your WEBI, Now, go to Object Properties of your WEBI, select the second tab that says Prompt, Here, it lists the prompts that you have for your WEBI. This would also enlist your BEx variables as well. Select this BEx variable and click on the button that says Prompt at the bottom of this window. Here, select choose Excel Data Range and click on the cell select button on the right (small button that lets you choose what cell you want to bind this prompt to), Now select a free cell that would not be even populated later on when you run the dashboard say A1 (remember the value that you select). Click on OK and again OK. The WEBI Refreshes and you can see all the prompt values at the cell A1. These are all the possible values stored for your BEx prompt variables (these values are fetched from BW system dynamically).
Now, save this LiveOffice, Go to you dashboard. Connect your dashboard to your Live office. Go to Data-> connections-> Now, select the WEBI and in the right hand pane go to Usage tab, here, Click on Trigger cell button on the right hand side and select A1 in you LiveOffice.
It should work fine.
Let me know.
Rgds,
Sreekul Nair -
Get_num_value return no data found with headstart 6.5.2.3
Hi,
We are migrating an application based on headstart (capi generator 6.0.2.1). Our migration upgrade headstart to 6.5.2.3 (capi generator 6.5.3.4).
The capi generator 6.5.3.4 generate the get_row function, but this function doesn't call the find_on_stack function. With the old version of headstart, the get_row call find_on_stack. On another project I did for another company, I see that the capi generator 6.5.2 generate the get_row and this function call the find_on_stack.
The capi generator change after the version 6.5.2. I search on this forum and I see this "2227746 - ENHANCE RULEFRAME PERFORMANCE BY MINIMIZING CAPI USE OF FIND_ON_STACK" !
Our application has business rules that call get_num_value, get_char_value, etc... These get_???_value call get_row and get_row call slct function of the tapi.
Before the migration, these get_???_value functions returned always a row. Because the get_row scans the pl/sql table with the find_on_stack function.
Now, these get_???_value functions return the error no data found !!!. The function doesn't call the find_on_stack, but call the slct function of the tapi. The slct returns no data found.
I have this bug (no data found) when a business rule is executed from a delete cascade. The parent row is not there and the br returns no data found. The old version search the parent row with the find_on_stack and returns the row.
So, I suppose that the "ENHANCE 2227746" drop too much find_on_stack call !
Do you have a patch for this or I modify the capi generator ?
Thanks.Geert,
The workaround mentioned above is not sufficient. It makes sure the correct value is returned inside a single transaction, e.g. when a transaction is rolled back, but when a new transaction is opened, it will still return the cached values, even though the database value might have changed between the closing of the first and the opening of the new transaction.
To make sure the correct value is returned, we should also keep track of the id of the transaction in which the cached values are stored. Only when this ID is the same as the ID of the current transaction, we can be sure the cached value is the correct one. In all other cases the database value must be used.
The following changes can be implemented as a workaround:
In the CAPI generator package HSU_CAPF:
- In procedure create_declarations add declarations of package variables to store transaction id for the cached values g_current_row and g_cached_row.
- In procedure create_init fill the transaction id when g_current_row is filled.
- In procedure create_get_row:
- Enclose if-statement as mentioned above, to make sure correct value is returned after transaction is closed
- Add extra restriction to the if-statements to determine whether package variables can be used
- remove part to use value from CAPI stack
- fill transaction id when g_cached_row is filled.
This solution slows down the retrieval of data via the get_% functions. It only uses cached values when they are cached in the same transaction as they are retrieved in.
Hope this helps,
Harold Oortwijn -
Report Query returning "No Data Found" with bind variables
I put a simple query into Report Query:
Select "bluefish". "name" as "name",
"bluefish"."primary_flag" as "primary_flag",
"bluefish"."status" as "status",
"bluefish"."ID" as "ID" from "bluefish" "bluefish" where "bluefish"."ID" = :P3_XPRINTID
When I test the query, data is returned; however, when I try to run the query using "Test Report" button, I get an error 01403 No Data Found. If I replace the bind variable with an explicit value, the report works.
Anyone have any ideas as to what is causing this problem? I am using the Generic Report Layout, with various output types. I AM editting the query and defining the bind variable before I test the report (otherwise, the query wouldn't run).
CharlesSometimes if you create a form/report/whatever using the wizards, it will create an After Submit process called something like Reset Page - basically you want to make sure you don't have any After Submit processes that call a Clear Session state (it may say something like Clear Cache for Page).
In your branch, there is also a box that says Clear Cache - you want to make sure that does not have page Number 8 in it or it will clear your session state.
Put the page in Debug mode and read through it - check to make sure your value is getting saved and maybe you can see what is going wrong. -
Report shows "No data found" when validation fails
Hi folks,
I'm new to the OTN and have a short question regarding validations/report pagination.
We are using Apex 4.0.2.00.07.
I have a page containing a report with three columns.
First column is a checkbox (f30), the second one a date picker and the third one is a value field (f34).
I'm trying to build a validation for the value field (should only allow numeric values, but is varchar2) and used a validation with "Function Returning Boolean".
The PL/SQL code is:
DECLARE
vrow BINARY_INTEGER;
v_number FLOAT:=0;
BEGIN
FOR i IN 1 .. APEX_APPLICATION.g_f30.COUNT
LOOP
BEGIN
vrow := APEX_APPLICATION.g_f30 (i);
v_number := to_number(APEX_APPLICATION.g_f34(vrow));
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END;
END LOOP;
END;
The validation works fine, but every time I enter a non numeric value and the validation fails (error message is displayed correctly as notification) I get a "report error: ORA-01403: no data found" in the pagination area of the report.
Tried to disable pagination completely, but the error still displays when the validation fails.
Any help would be appreciated.
Thanks in advance and regards
SandroContent of the checkboxes is ok, debugging showed
1:7
2:8
(records 7 and 8 where ticked)
Debugging console also shows:
0.10900 0.00000 Processing point: Before Box Body
0.10900 0.00000 Region: Shareclassinformation
0.10900 0.00000 Item: P59_IS
0.10900 0.00000 Item: P59_NA
0.10900 0.00000 Item: P59_CO
0.10900 0.00000 Region: Attribute Selection
0.10900 0.00000 Item: P59_LO
0.10900 0.00000 Item: P59_ID
0.10900 0.00000 Item: P59_IDAH
0.10900 0.00000 Item: P59_IDAT
0.10900 0.00000 Item: P59_SHO
0.10900 0.00000 Item: P59_UTD
0.10900 0.00000 Item: P59_X NA
0.12500 0.00000 Region: Attributes
0.12500 0.23400 Item: P59_NOT
0.12500 0.00000 show report
0.12500 0.00000 determine column headings
0.12500 0.00000 parse query as: DB
0.35900 0.14100 binding: ":P59_LOV_AT"="P59_LOV_AT" value="64"
0.35900 0.00000 binding: ":P59_IDT"="P59_IDT" value="51"
0.50000 0.01500 print column headings
0.50000 0.00000 rows loop: 20 row(s)
*0.51500 0.01600 report error: ORA-01403: no data found*
0.51500 0.00000 Computation point: After Box Body
... -
Cancelling a report when no data found
Hi All!
I have a report that prints directly to the printer. But if the report query fetches no data then a blank page is printed.
How should I raise a customized message and stop the report execution if there is no data found?
Thanks in advanceHello,
Another way is this: Put a report level summary in the data model that counts the rows in the query (use as the summary count source one of the columns of the main query).
Then create an after report trigger that looks something like this:
function AfterReport return boolean is
begin
if (:cs_count = 0) then
raise srw.program_abort;
end if;
return (TRUE);
end;This will cause the report to stop execution. It'll show an error like this in the report server log:
REP-1419: 'afterreport': PL/SQL program aborted.
You'll have to warn people about this particular error log entry as this may look like abnormal termination, when in fact it is a deliberate termination of the report. But at least you won't get a blank page.
Regards,
The Oracle Reports Team --skw -
Oracle report , when no data found in query then ptint zero in text how
hi ,
i have use oracle report in one query if no data found then i have return O but no row select is there
query is
select sum(nvl(a.pitm_matl_cost,0)),
decode(b.pm_assy_type,'B','B','Z')
from pumpitems a, pumpmast b
where a.pitm_proj_code like 'KAWASII' and
a.pitm_pump_type = b.pm_pump_type and
a.pitm_comp_type = b.pm_comp_type and
a.pitm_sr_no = b.pm_sr_no and
substr(a.pitm_matl_code,1,1) = 'X' and
pitm_itm_cal = 'N'
group by decode(b.pm_assy_type,'B','B','Z')
order by decode(b.pm_assy_type,'B','B','Z')
no data then it return no row select but
i have return 0 how is possible , in report i have check cf, and cs to total , and no data then print 0 in text box so.
sol1:
select count(*), sum(nvl(a.pitm_matl_cost,0)),
decode(b.pm_assy_type,'B','B','Z')
from pumpitems a, pumpmast b
where a.pitm_proj_code like 'KAWASII' and
a.pitm_pump_type = b.pm_pump_type and
a.pitm_comp_type = b.pm_comp_type and
a.pitm_sr_no = b.pm_sr_no and
substr(a.pitm_matl_code,1,1) = 'X' and
pitm_itm_cal = 'N'
/*and
substr(a.pitm_matl_code,1,1) != 'C' and
substr(a.pitm_matl_code,1,1) != 'F' and
substr(a.pitm_matl_code,1,1) != 'S'*/
group by decode(b.pm_assy_type,'B','B','Z')
order by decode(b.pm_assy_type,'B','B','Z')
count(*) is return 0 but it's notworking in this query why i dont no
another soluction than helpThis sounds like it's similar to another recent post
Re: How do I print some value when there is no record against field -
Validation returns : no data found + unhandled user-defined exception
Hi, I'm working with Application Express 4.1.1.00.23.
I have an application for timesheet management.
On one page, I've got a report (not interactive) in which you can enter the hours you've worked. First you add a free line, choose the task and then enter the hours you've spent.
You can only have one empty line at a time. If you try to add a line when you already have an empty line, a validation will display an error. It worked fine in version 3.2. Now we upgraded to 4.1 and get a weird error :
1) The validation msg appears fine
2) The report appears fine
3) There is a msg at the end of the report saying :
report error:
ORA-01403: no data found
ORA-06510: PL/SQL: unhandled user-defined exception
Could somebody point out the source of this problem ?
Thank you!
Here is the debug :
0.31117 0.00204 parse query as: FEUILLES_DE_TEMPS 4
0.31319 0.07865 ...Execute Statement: select NULL "CHECK$01", NULL "nom_projet2", NULL "NO_TACHE_ENTRE", NULL "NO_TACHE", NULL "NO_SEMAINE_EMPLOYE", NULL "NOM_TACHE", NULL "Tâches", NULL "SEQUENCE", NULL "Heures dim", NULL "DIM", NULL "Heures lun", NULL "LUN", NULL "Heures mar", NULL "MAR", NULL "Heures mer", NULL "MER", NULL "Heures jeu", NULL "JEU", NULL "Heures ven", NULL "VEN", NULL "Heures sam", .........
0.39191 0.00158 print column headings 4
0.39342 0.02546 rows loop: 500 row(s) 4
0.41889 0.00087 report error: ORA-01403: no data found ORA-06510: PL/SQL: unhandled user-defined exception
.....Hi, thanks for your answer. Here is the validation we are executing. I'm pretty sure its fine since count(*) always return a value (plus we see V2 in the debug...) :
declare
l_count number;
begin
apex_debug_message.enable_debug_messages(7);
apex_debug_message.log_message('-----------------------------------V1----------------------------------');
-- get remaining empty tasks count
SELECT count(*) into l_count
FROM VIEW_TACHE_SYSTEME
WHERE NO_TACHE NOT IN (SELECT DISTINCT NO_TACHE FROM TACHE_JOUR WHERE NO_SEMAINE_EMPLOYE = :P36_NO_SEMAINE_EMPLOYE);
apex_debug_message.log_message('-----------------------------------V2----------------------------------');
apex_debug_message.log_message(l_count);
if l_count = 0 then
return 'Veuillez utiliser la tâche vide avant d''ajouter une ligne.';
else
return null;
end if;
end;
Here is the debug :
0.14643 0.00318 ...Validation "ADD_ROW_VALIDATION" - Type: FUNC_BODY_RETURNING_ERR_TEXT 4
0.14961 0.00318 ...Execute Statement: declare function x return varchar2 is begin declare l_count number; begin apex_debug_message.enable_debug_messages(7); apex_debug_message.log_message('-----------------------------------V1----------------------------------'); -- get remaining empty tasks count SELECT count(*) into l_count FROM VIEW_TACHE_SYSTEME WHERE NO_TACHE NOT IN (SELECT DISTINCT NO_TACHE FROM TACHE_JOUR WHERE NO_SEMAINE_EMPLOYE = :P36_NO_SEMAINE_EMPLOYE); apex_debug_message.log_message('-----------------------------------V2----------------------------------'); apex_debug_message.log_message(l_count); if l_count = 0 then return 'Veuillez utiliser la tâche vide avant d''ajouter une ligne.'; else return null; end if; end; return null; end; begin wwv_flow.g_computation_result_vc := x; end; 4
0.15280 0.01299 -----------------------------------V1---------------------------------- 6
0.16578 0.00310 -----------------------------------V2---------------------------------- 6
0.16888 0.00235 0 6
0.17123 0.00225 ......Result = Veuillez utiliser la tâche vide avant d'ajouter une ligne. 4
0.17347 0.00276 ......Did NOT pass 4
0.17624 0.00314 Add error onto error stack 4
0.17938 0.00343 ...Error data: 4
0.18280 0.00327 ......message: Veuillez utiliser la tâche vide avant d'ajouter une ligne. 4
0.18607 0.00446 ......display_location: INLINE_IN_NOTIFICATION 4
0.19053 0.00323 ......is_internal_error: false 4
0.19375 0.00323 ......error_backtrace: - PL/SQL Call Stack - object line object handle number name c000000382130f30 717 package body APEX_040100.WWV_FLOW_ERROR c000000382130f30 833 package body APEX_040100.WWV_FLOW_ERROR c00000039da9b5c8 154 package body APEX_040100.WWV_FLOW_VALIDATION c00000039da9b5c8 363 package body APEX_040100.WWV_FLOW_VALIDATION c00000039da9b5c8 784 package body APEX_040100.WWV_FLOW_VALIDATION c00000039da9b5c8 905 package body APEX_040100.WWV_FLOW_VALIDATION c00000039d1142c8 10005 package body APEX_040100.WWV_FLOW c000000381287050 31 anonymous block -
Hi,
i have a custom report, when i choose to log in the application with Arabic language and run the report it return no data, while it return data when i log with English language ,
i have English as basic lang and Arabic as installed lang and i am using R 12 .
any help, many thanks.In Report Attributes tab, under Messages, you will see a section named "When No Data Found Message". In it, I added this javascript code. When no data was found, the javascript worked, and popped up a message box. You can replace the alert code below with a call to your javascript function.
<script language="javascript">
alert("no data found");
</script>
There is another way. In the Region Definition tab, there is a section called "Region Footer". In it, add this javascript:
<script language="javascript">
var i = #TOTAL_ROWS#;
alert(i);
</script>
When variable i is zero, then you know that no data was returned.
Hope this helps.
Ravi
Maybe you are looking for
-
Upgrade oracle 9.2.0.6 (urgent)
Dear support, During my upgrade project i have finished my system copy activity for 4.0B system from source NT 4.0 to Target Win 2000 machine. Now i am upgrading my database from 8.1.7.4 to 9.2.0.6 on Win 2000 server. I have successfully finished upg
-
SharePoint 2010 - Opening a PDF Document in the client
Hello All, One I'm sure I got working, but seems to have gone backwards.. I have a document library with many PDF documents, where they open them in Adobe Reader X (Client), not the browser. I have all the normal bits, it's set to Permissive Browser
-
How to get Line Number in Purchase Order
Hi Experts I want to get Line Number of Matrix of Purchase Order. How I get it ? I want to compare Matrix Line Number with Line Number of POR1 in DB. Please Help me. Hepil Doshi
-
How to implement dynamic sql in owb
Hi everybody, I am new to OWB and hence i want to know how i can implement the following dynamic sql statement in owb... Declare Cursor C_tab_col is Select cat from tbl_cat_edesc_1 ; Vcat varchar2(240); Cursor C_edesc_col is Select edesc from tbl_cat
-
CMS Positioning in the system landscape
Hi mates, Currently, we have an environment XI DEV(SLD&CMS), QA(SLD), PRD(SLD) and Soln Mgr. CMS is on DEV box and uses the SLD on DEV. So far we've been on XI 3.0 SP17, everything has been working well. We are in the process of upgrading to PI 7.0 S