Using report action
I wanted to know if there are any performance impact due to the use of report actions. I am using report action to record the request and response message when an unexpected condition is in encountered in a service callout. My message flow has multiple service callout and as a result I have quiet a few report actions.
Is it is better to use Log action than a report action ? Where does the output of a log action end up ?
Rahul Phadnis
Is it is better to use Log action than a report action ? Depends on our use case. If you can putup with sifting through your webLogic log file, then Log action could also be used.Would recommend to use log action for administration(more of technical nature) than for business logic.
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/operations/reporting.html#wp1046607 -- Reporting framework is very simple and straight forward as documented above. Theoretically there will be slight degradation in performance due to extra layers of code for reporting but practically that should be negligible. Performance of built in reporting provider does suffice for most of the use cases.
Where does the output of a log action end up ?In the server log for the domain.
Manoj
Similar Messages
-
How to use Report Action.?
How to use Report Action in OSB?
How to Report the messages in the database of a system?
I already have done RCU installation.
IN RCU we know how to mention schema names but how to mention correct tablename where Reports gets stored is still a grey area..
Kindly,Suggest
Aryashree......Please refer -
http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/reporting.htm
http://jvzoggel.wordpress.com/2012/01/18/osb_tracing_report_action/
Regards,
Anuj -
Reporting Action in Error handler
We have a requirement to use Reporting action in the Service Error Handler to capture some details for the reports. We are using the JMS Messaging Proxy and in that transport options, we are using "Transaction" as Enabled to retry the failed messages.
Now when ever there the flow fails and is goes to the service error handler and there are no reports getting generated in the "Opeations->Messaging Reports". But when the "Transaction" option in the Transport option is disabled in the Proxy, we are getting the reports.
Is there any way to get the Reports generated with the "Transaction" option enabled ?Then your reporting provider is handled within the same XA transaction as your proxy. Either both commit or both rollback. If you want to report error than you can still use XA transaction for your proxy, but you can't use it for your reporting provider.
-
Problem with SSAS cube reporting action when using pivot filter with cubevalue function
Hi everyone,
I have a quite specific problem when I combine cube actions (Reporting Action SSRS) with Excel's cubevalue() function.
The problem is when I use a pivot filter as a parameter for the cubevalue() function. The action item does not show up in the context menue.
The cube action works fine when I do it from a "normal" pivot or if I use the cubevalue() function without the reference to a pivot filter (all the parameters in the function are "hard-coded").
I use SSAS 2012 and Excel 2010.
Thanks for yor help.
GerhardHi everyone,
I actually figured out a way to solve this problem. I had to use a detour to solve this bug in Excel (at least I think it's a bug).
What I needed to do: I had to make Excel belive that the filter is actuall hard-coded and does not come from a pivot filter. This was only possible by adding a new calculated measure to the cube that gives back the MEMBER_Unique_Name to the current member
passed. This "value" can then be used to go back to the cube and select the cubemember function. Here is a small example.
This is the cube member:
CREATE MEMBER CURRENTCUBE.[Measures].[RegCompBranNameKey] AS
[Company Branch].[Reg - Comp - Bran Name].CurrentMember.Properties("MEMBER_UNIQUE_NAME", TYPED),
VISIBLE = 0 ;
And this is then done in a hidden Excel cell:
=CUBEMEMBER("Metrics";
IF(RIGHT(CUBEVALUE("Metrics";<PivotFilter>;"[Measures].[RegCompBranNameKey]");5)="[ALL]";"[ALL]";
RIGHT(CUBEVALUE("Metrics";<PivotFilter>;"[Measures].[RegCompBranNameKey]");LEN(CUBEVALUE("GlobalMetrics";<PivotFilter>;"[Measures].[RegCompBranNameKey]"))-57)
I had to use the UniqueName property because I have a combined filter. That's also the reason for this truncation and also useing the last part of it. If you just have a straight key you more easily use it. -
SSAS report action to pass multi-value list of dimention key values to a SSRS report parameter
This was originally posted on StackOverflow and suggested I try here as well.
I want to create a report action in an SSAS OLAP cube that generates a list of formatted values to pass into an SSRS report parameter that accepts a multi-valued parameter list. This would be applied at the
cell level in the SSAS action. I have found a solution that gets me most of the way:
How to Pass Multiple Values from an SSAS Report Drill Through Action to an SSRS Multi-Value Parameter, but not quite. The action does appear in Excel and works
if I run the action from a cell that is at or below the dimension attribute I am generating the list for, in this case,
Account Key.
Below is a link to a screen capture (unable to embed it due to lack of reputation) showing the action and dimension structure in Excel. The action works as long as I run it at the
Account Key level or below. I want to be able to run it at higher levels, such as
Account Major and still have it generate all then related Account Key values for the SSRS report parameter. Running it at the higher
Account Major level does not trigger the report to run.
Excel Action Screen Shot:
http://i.stack.imgur.com/QCGSp.png
Below is the MDX I am using to generate the value for the report parameter:
UrlEscapeFragment(
GENERATE(
DESCENDANTS(
[Account].[Account Key].CurrentMember,
[Account].[Account Key].[Account Key]
[Account].[Account Key].CURRENTMEMBER.Name,
"&rp:Account="
I am hoping that I can somehow modify the MDX above to make it return all the
Account Keys for any attribute of the Account dimension when ran from any measure cell, not just when ran at self and children of
Account Key in the pivot table.
Also, if it helps, I can execute the following MDX query on the cube and get the results I am looking for.
WITH MEMBER [Measures].[Account Key List] as
GENERATE(
DESCENDANTS([Account].[Account].CurrentMember, [Account].[Account].[Account]),
[Account].[Account].CURRENTMEMBER.NAME,
"&rp:Account=")
SELECT {[Measures].[Account Key List]} on 0,
([Account].[Account Company Number].[Account Company Number],[Account].[Account Major].[Account Major]
) on 1
FROM [Company 10 Action Demo]
Below are partial results:
10.116&rp:Account=10.116.010
10.117&rp:Account=10.117.010&rp:Account=10.117.020
10.120&rp:Account=10.120.005&rp:Account=10.120.006&rp:Account=10.120.010&rp:Account=10.120.020&rp:Account=10.120.030&rp:Account=10.120.040&rp:Account=10.120.050&rp:Account=10.120.060&rp:Account=10.120.380&rp:Account=10.120.999
10.123
Questions
Any ideas what I might need to do to get Account Key to be returned for any attribute of the
Account dimension?
Would I possibly have to alter my Account dimension in the cube to get this to work?
Thanks in advance.
Edit 1 - Adventure Works Cube Version
I was unable to get the suggested answer with the "Exists" function to work. To better demonstrate this issue, I have recreated it using the Adventure Works Cube.
I will focus on the Customer dimension, specifically the Customer and
Education attributes. I created a report action called Test Report Action. Below is the XML created for it in the cube.
<Action xsi:type="ReportAction" dwd:design-time-name="f35ad5ee-5167-4fb8-a0e0-0a74cc6e81c6">
<ID>Report Action 1</ID>
<Name>Test Report Action</Name>
<TargetType>Cells</TargetType>
<Target></Target>
<Type>Report</Type>
<ReportServer>SQLSERVER</ReportServer>
<Path>ReportServer?/Test Report</Path>
<ReportParameters>
<ReportParameter>
<Name>Test Customer Existing</Name>
<Value>UrlEscapeFragment(
GENERATE(
EXISTING DESCENDANTS(
[Customer].[Customer].CurrentMember,
[Customer].[Customer].[Customer]
[Customer].[Customer].CURRENTMEMBER.Name,
"&rp:Customer="
)</Value>
</ReportParameter>
</ReportParameters>
<ReportFormatParameters>
<ReportFormatParameter>
<Name>rs:Command</Name>
<Value>Render</Value>
</ReportFormatParameter>
<ReportFormatParameter>
<Name>rs:Renderer</Name>
<Value>HTML5</Value>
</ReportFormatParameter>
</ReportFormatParameters>
</Action>
Below are the steps to re-create the issue.
Connect to the cube in Excel
Add dimension Customer -> More Fields -> Customer
Add measure Internet Sales -> Internet Sales Amount
Right-click Internet Sales Amount cell, select "Additional Actions" -> "Test Report Action" and see customer values created for URL
When the action is ran at this point with Customer, I see the values created in the URL shown message box (since there is no SSRS report server at location specified).
Now the part I'm unable to resolve
Remove the Customer dimension and add Customer -> Demographic -> Education
Right-click Internet Sales Amount cell, select "Additional Actions" -> "Test Report Action"
Nothing happens. If I ran the action on the cell next to "Bachelors", I would want it to build up all the list of all the "Customers" that make up the "Bachelors" in the
Customer dimension as part of the report parameter. If no attributes where used in the cube from the
Customer dimension for that cell, then I would like it to return "All Customers", or something similar to show that all customers are included in the aggregations.
I am not too MDX savvy, thus far. I think I need to somehow join the
Customers to Internet Sales Amount in the Generate function portion. I have tried several different combinations of the
Customer dimension and Internet Sales Amount, along with various functions to see if I could get this to work with no success. I am hoping that someone more knowledgeable the me will have a solution. If you need more details,
please ask and I will provide them.Simon,
Thanks for you help with this. This morning I found a workaround. Below describes what that is.
What I ended up doing was getting a list of values from a degenerate dimension that I could use to pass to SSRS to get a list of transactions for a report. Below is how I did this, in relation to the Adventure Works cube using the degenerate dimension
Internet Order Details.
WITH MEMBER [Measures].[Order Param List] AS
GENERATE(
EXISTS([Internet Sales Order Details].[Sales Order Number].[Sales Order Number].Members, ,
"Internet Sales"),
[Internet Sales Order Details].[Sales Order Number].CurrentMember.Name,
"&rp:OrderNum=")
SELECT {[Measures].[Order Param List], [Measures].[Internet Sales Amount]} ON 0
,([Date].[Calendar].[Date]) ON 1
FROM [Adventure Works]
This will get a list of Sales Order Number in a text string, separated by "&rp:OrderNum=" for each measure of
Internet Sales. This would allow me to create an SSRS report to bring back detail information for each
Sales Order Number. Below are some sample results.
May 16, 2007 SO50493&rp:OrderNum=SO50494&rp:OrderNum=SO50495&rp:OrderNum=SO50496&rp:OrderNum=SO50497&rp:OrderNum=SO50498&rp:OrderNum=SO50499&rp:OrderNum=SO50500 $12,157.80
May 17, 2007 SO50501&rp:OrderNum=SO50502&rp:OrderNum=SO50503&rp:OrderNum=SO50504&rp:OrderNum=SO50505&rp:OrderNum=SO50506&rp:OrderNum=SO50507&rp:OrderNum=SO50508 $13,231.62
May 18, 2007 SO50509&rp:OrderNum=SO50510 $4,624.91
With this, I can then create a Report Action in SSRS with a Parameter Value of
UrlEscapeFragment(
GENERATE(
EXISTS([Internet Sales Order Details].[Sales Order Number].[Sales Order Number].Members, ,
"Internet Sales"),
[Internet Sales Order Details].[Sales Order Number].CurrentMember.Name,
"&rp:OrderNum=")
The way I was going about it before was flawed, as I was trying to get a list of the granular values from each dimension used to build the measure value and pass each one of those as separate parameters. I just needed to set something unique for each fact
measure transaction that represents the value and uses that in a query parameter for the SSRS report. -
Report Action from SSAS to Report(SSAS or SSRS)
Hello,
I am struggling to pass a parameter from SSAS cube to SSAS or SSRS report from Report Action window.
I am trying like below
condition:[PRODUCT DIM].[PRODUCT].currentmember.Level is [PRODUCT DIM].[PRODUCT].[PRODUCT]
parameter:UrlEscapeFragment([PRODUCT DIM].[PRODUCT].CurrentMember.MemberValue)
or
UrlEscapeFragment([PRODUCT DIM].[PRODUCT].CurrentMember.UniqueName)
or
UrlEscapeFragment(MEMBERTOSTR([PRODUCT DIM].[PRODUCT].CurrentMember))
My problem is,it is opening up the detail report but not passing the parameter value,i tried detail report by keeping
dropdown list or empty box i.e user has to enter value in detail report.Problem is SSAS is picking the right value from
my excel but it is not highlighting the value in detail report.It is been two days i am struggling with this,any help is greatly appreciated!!
thanks
krishnaHi,
In the BW universe connection we are hardcoding the BW System, Client, SID etc. So in DEV universe we'll have some values for these fields and while moving these to QA we need to change these parameters. Is this done in Mappings under LCM.
>>those capabilities are available in the Lifecycle Manager - suggest you download the software and product documentation to learn more about it.
One more question is, Can we change the universe connection by creating a connection to point to QA and using that in universe using UNIVERSE DESIGNER. If we do so, i suppose we need to refresh the universe to see whether there is any change that can happne to the query. Is this recommended?
>> if you are unsure if the queries / sources are identical then you would have to refresh
Ingo -
OSB 10gR3 Error handling and reporting action approach
My use case:
Simple Proxy service routes to an external web service created as Business service in OSB
Whenever there is transport error/soap fault from the external web service, that error needs to be reported along with the original request received by the proxy service.
What I have tried so far?
Created a error handler/stage in the route node of my proxy service. Within that stage, added a report action to report $body which contains the error received from the external service. I created a report index key/value to report for this request, I used a specific element in the body of the original request sent to the proxy service.
Within the route error handling stage, I realized that $body which had my original request to the proxy service lost its content and replaced by the fault from external WS. So I made a copy of $body in my request pipeline and tried to use an element from that copy to index my failed request. But the copied variable always seem to be empty within the error handling stage.
So, my questions to the experts,
1)What variables are visible within the error handling stage/scope?
2)What is the best way(less overhead) to preserve my original request as $body context variable is already changed with fault by the time error handler is invoked? Remember I wanted to report the original request only incase of error, for success cases I don't care/I don't want to un-necessarily add an overhead of copying to a vairbale.
3)Is there another proper way to simply report the original request received by proxy and fault received from external service for a given key in the request, say orderId
Sample proxy request:
<MyData>
<OrderId>123</OrderId>
</MyData>1)What variables are visible within the error handling stage/scope? $fault - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1051816
$body - http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1103311
2)What is the best way(less overhead) to preserve my original request as $body context variable is already changed with fault by the time error handler is invoked? Remember I wanted to report the original request only incase of error, for success cases I don't care/I don't want to un-necessarily add an overhead of copying to a variable.Can you print $body and $fault variables in your error handler?. Are they different ? What I'm suspecting is the back-end webservice is faulting (returning soap-fault and http response =5xx). There is no other way I can think of than copying the contents of $body to a separate variable.
Thanks
Manoj -
Can't convert stack XML file using report RPT_MOPZ_COPY_STACK for upgrade
Hello Colleagues/ SAP Experts,
Here is a background. 2 weeks ago, we have generated an XML stack file using MOPZ in solman 7.1 for the following systems (P6D which is DEV,
P6Q which is quality, P6R which is regression and P1P which is production). We were at our technical cutover rehearsal phase and the system that we were rehearsing was P6R. But AFTER our technical cutover, a new java component, which is seeburger as2 adapter, was installed in P1P, PRODUCTION. Thus, the landscape of P1P has changed as a new component was introduced and we believe that the generated XML file 2 weeks ago will no longer be valid for P1P. Instead of generating another xml file thru mopz for P1P, we would like to use report RPT_MOPZ_COPY_STACK_XML to convert the XML file OF P6R to map it toP1P. I have uploaded P6R XML and the target is P1P. So as you can see, P6R XML (source) --> P1P target.
Actions already done are the following:
1) Fulfilled and followed the resolution in note: 1711612
RPT_MOPZ_COPY_STACK_XML Report Troubleshooting
2) SAP-OSS is working in SM59
Basically, program RPT_MOPZ_COPY_STACK does not convert the Regression system's xml to the target, which is production. Kindly see attached screenshot. *the screenshot shows only 1 component in error but upon clicking the 'next difference' button, it will still show other components. I have checked my lmdb settings, will there be workaround for the issue?
Regards,
MeinardHello Divyanshu Srivastava / Reagan Benjamin ,
Thank you for your replies. Yes I noticed that a new higher patch for one java component was already present when I have regenerated recently for production using mopz. Anyways, SAP has returned a message wherein they edited the xml file themselves. Most of errors were eliminated only error was kernel versions was not matched. We need to upgrade kernel of our production and test if it works. Hopefully it will. Thanks though at first we did not edit the xml as according to one sap note I read it will not be supported by SAP. Closing this thread now -
About creating an AJAX page with DML procedures using dynamic actions
About creating an AJAX page with DML procedures in APEX using dynamic actions. Help with limitations.
I want to share my experience, creating AJAX procedures in APEX 4.0.
LIMITATIONS
• How Can I Hide UPDATE button while I press NEW button. ??
• How Can I Hide CREATE button while I’m UPDATING A RECORD. ??
• How can I avoid multiple Inserts or Updates. ??
Here are the steps to create an AJAX Updatable Form using the sample table DEPTS. You can see the demo here: [http://apex.oracle.com/pls/apex/f?p=15488:1]
1) Create a blank page
2) Add a Report Region for departments (It shows the columns deptno, dname and loc).
3) Add an HTML Region and create the elements to edit a Department.
a. P1_DEPTNO (Hidden to store PK)
b. P1_DNAME (Text Field)
c. P1_LOC (Text Field)
4) You also have to create a hidden element called P1_ACTION. This will help to trigger dynamic actions to perform DMLs.
5) Open Page Attributes and in the HTML Header Section include the following code.
<script>
function doSelect(pId){
$x_Value(‘P1_DEPTNO’,pId);
$x_Value(‘P1_ACTION’,’SELECT’);
</script>
6) Modify the column DEPTNO in the report, to add column link. In the link text you can use #DEPTNO# , in target you must select ‘URL ‘ and in the URL field write javascript:doSelect(#DEPTNO#);
7) Create the following Buttons in the Form Region.
CANCEL Redirects to URL: javascript:$x_Value(‘P150_ACTION’,’CANCEL’);
NEW Redirects to URL: javascript:$x_Value(‘P150_ACTION’,’NEW’);
SAVE Redirects to URL: javascript:$x_Value(‘P150_ACTION’,’UPDATE’);
CREATE Redirects to URL: javascript:$x_Value(‘P150_ACTION’,’CREATE’);
8) Create the following Dynamic Action to Select a Department
Name: Select Dept
Event: Change
Selection Type: Item(s)
Item(s): P1_ACTION
Condition: equal to
Value: SELECT
Action: Execute PL/SQL Code
PL/SQL Code:
SELECT dname, loc
INTO :P1_DNAME, :P1_LOC
FROM dept
WHERE deptno = :P1_DEPTNO;
Page Items to Submit: P1_DEPTNO, P1_DNAME, P1_LOC
Don’t include any false action and create the Dynamic Action.
The first limitation, the value of page elements don’t do refresh so I added the following true actions to the dynamic action AFTER Execute PL/SQL Code.
Action: Set Value
Unmark *‘Fire on page load’* and *‘Stop execution on error’*
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_DNAME
Page Items to submit: (none) (leave it blank)
Affected Elements: Item P1_DNAME
Action: Set Value
Unmark *‘Fire on page load’* and *‘Stop execution on error’*
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_LOC
Page Items to submit: (none) (leave it blank)
Affected Elements: Item P1_LOC
These actions allow refresh the items display value.
9) Create the following Dynamic Action to Update a Department
Name: Update Dept
Event: Change
Selection Type: Item(s)
Item(s): P1_ACTION
Condition: equal to
Value: CREATE
Action: Execute PL/SQL Code
PL/SQL Code:
UPDATE dept SET
dname = :P1_DNAME,
loc = :P1_LOC
WHERE deptno = :P1_DEPTNO;
Page Items to Submit: P1_DEPTNO, P1_DNAME, P1_LOC
Don’t include any false action and create the Dynamic Action.
Include the following True Actions BEFORE the Execute PL/SQL Code true Action.
Action: Set Value
Unmark ‘Fire on page load’ and ‘Stop execution on error’
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_DNAME
Page Items to submit: P1_DNAME
Affected Elements: Item P1_DNAME
Action: Set Value
Unmark *‘Fire on page load’* and *‘Stop execution on error’*
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_LOC
Page Items to submit: P1_LOC
Affected Elements: Item P1_LOC
These actions allow refresh the items display value.
Finally to refresh the Departments report, add the following true action at the end
Action: Refresh
Affected Elements: Region Departments
10) Create the following Dynamic Action to Create a Department
Name: Create Dept
Event: Change
Selection Type: Item(s)
Item(s): P1_ACTION
Condition: equal to
Value: CREATE
Action: Execute PL/SQL Code
PL/SQL Code:
INSERT INTO dept(deptno,dname,loc)
VALUES (:P1_DEPTNO,:P1_DNAME,:P1_LOC);
Page Items to Submit: P1_DEPTNO, P1_DNAME, P1_LOC
Don’t include any false action and create the Dynamic Action.
Include the following True Actions BEFORE the Execute PL/SQL Code true Action.
Action: Set Value
Unmark *‘Fire on page load’* and *‘Stop execution on error’*
Set Type: PL/SQL Function Body
PL/SQL Function Body:
DECLARE
v_pk NUMBER;
BEGIN
SELECT DEPT_SEQ.nextval INTO v_pk FROM DUAL;; -- or any other existing sequence
RETURN v_pk;
END;
Page Items to submit: P1_DEPTNO
Affected Elements: Item P1_DEPTNO
Action: Set Value
Unmark *‘Fire on page load’* and *‘Stop execution on error’*
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_DNAME
Page Items to submit: P1_DNAME
Affected Elements: Item P1_DNAME
Action: Set Value
Unmark ‘Fire on page load’ and ‘Stop execution on error’
Set Type: PL/SQL Expression
PL/SQL Expression: :P1_LOC
Page Items to submit: P1_LOC
Affected Elements: Item P1_LOC
These actions allow refresh the items display value.
Finally to refresh the Departments report, add the following true action at the end
Action: Refresh
Affected Elements: Region Departments
11) Create the following Dynamic Action to delete a department
Name: Delete Dept
Event: Change
Selection Type: Item(s)
Item(s): P1_ACTION
Condition: equal to
Value: DELETE
Action: Execute PL/SQL Code
PL/SQL Code:
DELETE dept
WHERE deptno = :P1_DEPTNO;
Page Items to Submit: P1_DEPTNO
Don’t include any false action and create the Dynamic Action.
Include the following True Actions AFTER the Execute PL/SQL Code true Action.
Action: Refresh
Affected Elements: Region Departments
Action: Clear
Unmark ‘Fire on page load’
Affected Elements: Items P1_DEPTNO, P1_DNAME, P1_LOC
12) Finally Create the following Dynamic Action for the NEW event
Name: New Dept
Event: Change
Selection Type: Item(s)
Item(s): P1_ACTION
Condition: equal to
Value: NEW
Action: Clear
Unmark *‘Fire on page load’*
Affected Elements: Items P1_DEPTNO, P1_DNAME, P1_LOCI need some help to solve this issues
• How Can I Hide UPDATE button while I press NEW button. ??
• How Can I Hide CREATE button while I’m UPDATING A RECORD. ??
• How can I avoid multiple Inserts or Updates. ?? -
Use of action links in combination with hierarchy object in analysis
Hi All,
From OBI 11g release hierarchy objects are available in the presentation layer of OBI. We make often use of these hierarchy objects. We also make use of action links to drill down to a analysis with more detailed information. This more detailed analysis should inherit the values of the higher-level analysis. In combination with the hierarchy objects this can give problems.
An example:
Let's say we have the following atttributes:
Hierarchy object date (year, quarter, month), a product column and # of units shipped measure. On the column # of units shipped we have defined an action link to a more detailed analysis.
Now, let's say the user clicks on the year 2011 in the hierarchy object. The quarters for 2011 are shown. The 'normal' product column attributes contains 'Product A'. The user makes use of the action link that is available by clicking on the measure value of # of units shipped. He clicks on the value that is based on quarter 2 of 2011 and 'Product A'. The detailed analysis is set to filter the analysis on the product and date dimension. In this example the analysis is filtered on 'Product A' but not on the value Quarter 2, 2011. Hierarchy object values are not passed through on clicking on a action link.
Is there any workaround for this issue? We want to make use of the hierarchy object but users expect to also pass the hierarchy object value to the underlying detailed analysisI am facing the same issue...
First check it out:
http://prasadmadhasi.com/2011/12/15/hierarchicalnavigationinobiee11g/
http://www.rittmanmead.com/2010/10/oracle-bi-ee-11g-navigation-passing-parameters-using-hierarchical-columns/
I solved it by using Go URL link. I pass value of hierarchy level (whichever level it is). For Year it is 2012, month: 2012-03.
Now ugly part: in url I pass 2 parameters that refers to the same value : "Time"."Year"="2012", "Time"."Month"="2012"
In target report I apply filter: "Time"."Year" "Is Prompted" OR "Time"."Month" "Is Prompted"
This way in target report only one of filters will work : depending from which level you navigated from source report.
If you decide use this approach be carefoul with URL syntax, remember about double quotes etc. In my case it was:
Parameter : value
PortalGo : [LEAVE EMPTY]
path : %2Fusers%2Fweblogic%2FMIS%20EVAL%2FT_Target
options : dr
Action : Navigate
col1 : "Time"."Year"
val1 : [SELECT TIME HIERARCHY COLUMN]
col2 : "Time"."Month"
val2 : [SELECT TIME HIERARCHY COLUMN]
Remember to:
Remove “=” after PortalGo
Surround value attribute with double quotes - e.g. @val1=”@{6}”
After you "adjust" your URL text manually (unfortunatelly it won't be done automatically) it should look like:
http://10.10.10.100:7001/analytics/saw.dll?PortalGo@{1}&path=@{2}&options=@{3}&Action=@{4}&col1=@{5}&val1=”@{6}”&col2=@{7}&val2=”@{8}” -
Hidden Report Viewer Confiugration Error on aspx pages that use report viewer web control
I try to fix the problem. The error below is embedded on aspx pages that use report viewer web control. Please note that the div element is hidden, and the reportviewer is displaying correct contents.
Div element hidden on aspx page
<div id="ReportViewer1_HttpHandlerMissingErrorMessage" style="border-color:Red;border-width:2px;border-style:Solid;padding:10px;display:none;font-size:.85em;">
<h2>
Report Viewer Configuration Error
</h2><p>The Report Viewer Web Control HTTP Handler has not been registered in the application's web.config file. Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file, or add <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.webServer/handlers section for Internet Information Services 7 or later.</p>
</div>
I tried adding the two elements to web.config, but to no avail.
Add below to system.web/httpHandlers
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
or add below to system.webServer/handlers for Internet Information Services 7 or later.
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
The required assemblies below are installed under C:\Windows\assembly folder. I have installed both Microsoft ReportViewer 2010 Redistributable, and 2008 SP1.
Microsoft.ReportViewer.WebForms, version 10
Microsoft.ReportViewer.Common, version 10
Below is the whole web.config:
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="car" value="myCar" />
<!--<add key="ReportViewerServerConnection" value="WebForm.Lab.ReportConnection, WebForm" />-->
</appSettings>
<system.web>
<httpHandlers>
<add verb = "*" path = "Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<!--<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />-->
</httpHandlers>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<pages>
<controls>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WebService1Soap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:58269/WebService1.asmx" binding="basicHttpBinding"
bindingConfiguration="WebService1Soap" contract="ServiceReference1.WebService1Soap"
name="WebService1Soap" />
</client>
</system.serviceModel>
</configuration>
Any idea?
Update:
IIS is7.5, AppPool is Integrated.
I have tried below, none of them works:
1) Add it only to system.web\httpHanders. Changed AppPool to classic, still got hidden error.
2) Add it only to system.webServer\handlers. Integrated mode,still got hidden error.
3) Add both to both element. Integrated mode, still got hidden error.Hi Kingofwebguru,
According to your description, when you use reportviewer control, you got the error message: The Report Viewer Web Control HTTP Handler has not been registered in the application's web.config file.
To troubleshoot the problem, please refer to the following steps:
Click Start, click Run, then type InetMgr.exe and click OK.
Click plus sign next to server name to expand it.
Click Application Pools in left pane.
In Application Pools list, click DefaultAppPool.
In the Actions pane, in Edit Application Pool section, click Edit Settings to check the Pipeline mode.
Configuration settings for the HTTP handlers are specified in the system.web/httpHandlers element and the system.webServer/handlers element. of your application Web.config file. The handler specified in system.web/httpHandler is used by Internet Information
Services (IIS) 6.0 or IIS 7.0 in Classic mode, whereas the handler specified in system.webServer/handlers is used by IIS 7.0 in Integrated mode. To use IIS 7.0 in Integrated mode, you must remove the HTTP handler in system.web/httpHandlers. Otherwise, IIS
will not run the application, but will display an error message instead.
For more information about Web.config Settings for ReportViewer, please refer to the following document:
http://msdn.microsoft.com/en-us/library/ms251661.aspx
If you have any more questions, please feel free to ask.
Thanks,
Wendy Fu
If you have any feedback on our support, please click
here.
Wendy Fu
TechNet Community Support -
Use reporting agent to run and e-mail a query to users
Hi All,
I have a requirement where, I have to use reporting agent to precalculate a BW query and then broadcast the result to e-mail addresses.
Is there any way I can do this?
Please any ideas will be appreciated.
Thanks,
ReddyHi Reddy,
take a look here...
http://help.sap.com/saphelp_nw04/helpdata/en/1a/615f64816311d38b170000e8284689/frameset.htm
the only thing you have to do (in addition to the normal procedure described here) is to set an exception always true (in order to have always your follow-up action, that is the mail to your users !)
Bye,
Roberto -
Interactive Reports - Actions Menu - Download option
The interactive report Actions Menu has many wonderful options. The action that my users will use the most is the Download. Is there any way to create a button or text link for the download, similar to what is shown in the classic report? The users want the Download button to show up on the bottom left side of the IR. I appreciate all comments and hope it will be a simple solution. Many thanks.
Hi,
Yes, it is easy like this
Create button in region position bottom left
specify URL target: f?p=&APP_ID.:&APP_PAGE_ID.:CSV::::
for CSV
and change correspondingly for PDF and so on
Check this page bottom: http://apex.oracle.com/pls/apex/f?p=20351:1
if you are not sure
That it is.
Regards,
Oleg -
Report Action in JMS Proxy gets rolled back
I am using the report action to do auditing in my proxies. To date this has worked well for both successful and error transactions.
However when using a jms proy the report actions get rolled back. They actually didn't get rolled back when I was using the test console, but when the data comes from the queue they do.
Is there a way to change this behaviour so that the report is always separate from the main transaction?
Could this be a pointbase issue and will it have a differnt result using Oracle?
Thanks,
RyanYou can always write your own implementation of a reporting provider, overriding teh default report action. I once made a post about this: http://forums.bea.com/thread.jspa?threadID=400001303
By using a custom implementation you can meet your own company's specific reporting requirements.
If you want to stick with out-of-box report action:
- Pointbase can be tricky, best to test with oracle.
- It depends on the jdbc driver used, ie XA or non-XA.
Find tips and tricks about ALSB at my blog: http://dev2dev.bea.com/blog/jordinho/ -
Issue with Opening Files using Multiple Actions
I've noticed a strange issue when I attempt to use multiple actions in my Captivate 4 project.
I have a button that does two things: open an HTML file in another window and make another button visible. Of course, for the Open URL or File action, I'm entering the name of the HTML file and select New from the drop-down list so it opens in a new window.
Captivate doesn't seem to store that setting. When I click OK for that dialog box and then OK for the button dialog box, it reverts back to Current.
Is this a bug or am I doing something wrong?
Here I am, setting the property...
...and here's me checking Captivate 4 to see if the setting "stuck" and seeing that it didn't:Hi there
I've recently encountered that behavior myself. I found it was a lot more reliable to avoid using the Multiple Actions for the Button click. Instead, configure an Advanced Action to do the work and you should have better results.
Cheers... Rick
Helpful and Handy Links
Captivate Wish Form/Bug Reporting Form
Adobe Certified Captivate Training
SorcerStone Blog
Captivate eBooks
Maybe you are looking for
-
Applet not opening in browser Help needed
Hi experts, I have Java installed in my machine in the path C:\Program Files\Java While trying to open the link http://www.radinks.com/upload/applet.php in browser, I am being asked to install the missing plugin and that plugin is java. I do not know
-
Problem playing audiobooks with music app
Ever since the new update listening to my audiobooks has been a challenge. The app does not show chapters any more and now every time I stop listening to a book and then go back later the book starts over. Is there a fix? or another app I can use
-
No constructor in JFrame matches init (String)
Hello, I am using Forte for Java 2.0 build 1160 to compile my Java code. Upon compilation I get the following error message: DemoShape.java [33:1] No constructor in JFrame matches <init>(String) super("DemoShape Applet"); ^ 1 errorThe
-
Function calling stored procedure that returns a cursor into a LOV
Hello, Is it possible in HTML DB to implement a process that has a function that calls a stored procedure that returns a cursor, used to then populate a select list? Or can I do a function call to a stored procedure in the 'List of values definition'
-
IPhoto 08 book themes - How many?
How many book themes are there in IPhoto 08? How can I see what they actually look like?