ADF - Data control value doesn't exist - graph

I am trying to create a graph out of a data control that I have created. The graph named myNewGraph is not showing up when I run my website, but when I preview the graph itself it is perfect.
JDeveloper autogenerates the graph, it generates this code, notice the value:
<dvt:comboGraph id="comboGraph2" shortDesc="PriceMetrics"
value="#{bindings.myNewGraph.graphModel}"
subType="COMBINATION_VERT_ABS_2Y" customLayout="CL_NONE>
I have another graph I have created that has a similar code make-up. This one works perfectly.
<dvt:comboGraph id="comboGraph1" shortDesc="PriceMetrics"
value="#{bindings.existingGraph.graphModel}"
subType="COMBINATION_VERT_ABS" customLayout="CL_NONE"
I believe it has something to do with the value, that is causing my myNewGraph to not work. Because when I replace it with the value of existingGraph, the graph displays, but it doesn't display the correct data, since it has the same value.
How do I generate the value in bindings.myNewGraph.graphModel because I believe that it doesn't technically exist.

Are you sure the preview in the editor showed the real graph data ? from the description you give it sounds as if your data isn't queried. I suggest you debug the business service you expose in the data control to see if there is a query executed. From your description it doesn't look like a problem with the binding EL or the graph
Frank

You must import the graph bindings into the webpagePageDef.xml.

Related

Dimension lookup hangs AX client?

I have an import interface (not coded by me) that imports XML data and creates LedgerJournalTable (1) and LedgerJournalTrans (1..n) records.
When handling LJT dimensions, the code first checks that the dimension exists in AX, then inserts the data in the dimension[x] field. However, in the case that the dimension doesn't exist, a warning is shown to the user after the import run ends, but the data is still inserted as is.
And when the user goes to the LJT line after the import is complete, the erronous value is shown in the dimension field. When the lookup/drop-down of this dimension is clicked, the lookup does not open and AX client hangs. Ctrl+break will recover it, but the lookup never opens. You can delete the value, save, and the problem will still persist. You can manually enter an existing value and save, and the problem will still persist.
Problem extends to the table browser also.
Any idea why this is happening and how can it be fixed, other than not saving the erronous value in the first place (I have no idea why this is done this way in the first place)?
Thanks in advance.
Let me know if I'm reading this correctly.
User runs some process to import LJ table/trans records from XML.
If a bad dimension is inside XML, it shoves the data into the LJ trans dimension[x] field even though it's invalid, and presents a warning to user.
User views the journal and sees the bad data and attempts to use the lookup to correct it, but the lookup hangs/crashes.
Seems to me the issue may be that you've been shoving a bunch of bad data into AX and the lookup is trying to use table/edt relations that are invalid.
If I'm right, you need to go to SQL directly and query the ledger trans table and look for any bad dimension data and correct/remove it.
I suspect existing bad data is causing the lookup to fail and not merely whatever bad data you imported and are looking at.
Perhaps what caused the problem is, a user imported bad data, received a warning, ignored warning, clicked "post" as-is (with bad data) and now it's in AX? And now when you do a 2nd import, and try to use the lookup, it's crashing on that bad-data-relation.
Edited: So, while there was an corruption in the DB, the actual culprit was found: the standard AX code creating temp data for the dimension lookup - there was a mod code in Dimensions.insert() that wrote an XML file every dimensions were updated or inserted. This took so long in this case that it hang up the client. I put the code inside an if clause like so:
if(!this.isTemp())
{
// offending code
}
Problem solved.

SSRS hybrid action Go to URL go to report

I'm developing a recoursive bar chart with the capability to navigate through a tree hierarchy by getting parent and child data from stored procedures.
It works well but I need to define a different action for the last node that instead of go to report should be: go to URL.
ssrs Action
Is there any way to do that?
I finally solved by using go to url for both: go to report and go to url.
this is possible by specifying the Url of the report as go to url concatenating the parameters using the HTTG GET syntax.
As you cannot set the report action via an expression, the easiest way I can think of doing this is to have two copies of your control or whatever you need the the action on. Have one point to your report as normal and one that points to your URL. Then set the visibility of each control based on the node.
So, assuming it's the series property that you have the action on...normally the Goto report series would be visible but when you are at the last node, the goto URL series would be visible.
This should work but I've not tested it.
Alternatively, if you can determine if the next node will be the last one, you could have two copies of the report. The first would be your report as it is now and the seconds would be exactly the same but with as different action. You can set an expression to call the correct report in the goto report action properties based on the node level. As I said before though, you will need to know if the node you are looking at is the penultimate one.
Neither solution is that elegant but it should give you what you want,.

How to hide an item on a report?

I did some changes one of the method on accounting report in OpenERP. My problem now is how can i make some item invisible or delete? In particular, I want to hide the "Liability" and its balance on the report.
I tried something like this on get_lines method:
for report in lines:
if report["name"].lower().replace(" ","") == 'liability':
del report["name"]
del report["balance"]
but when i tried to generate Balance sheet report. It says:
(<type 'exceptions.KeyError'>,KeyError('name',), <traceback object at 0x7f6c4c2903f8>)
Any help is much appreciated.
This is an error that raises when you try to access object key that doesn't exist. In your case "name".
Error you have is "logical" error, simply go into debug and see what you get in report variable inside loop.
Moreover, to change report content (and by report I think you mean pdf output right?) you need to override .rml file. I think you are changing report parser here, which is also ok if you know what you are doing.
Here you can find RML documentation: http://www.reportlab.com/docs/rml2pdf-userguide.pdf
So, to sum: to change report output content override or replace parser, to change structure, hide/add fields override existing report (.rml file) or create entirely new report.
Hope it helped :)
This might not be the good (or perhaps the weirdest) solution to the problem but after reading about .rml and i can't still comprehend this is what i did. Instead of trying to delete report["name"] and report["balance"] i just set it's value into a white space. This time it's no longer shown on the report.

lotus public variable in formula

once again I have to ask you for a help.
I have a problem with creating public variable and using it in formula.
The details of this issue is:
1, right after starting a Lotus Notes Application i have to create public variable EmpNum which will be contain an employee number (the number will be imported from IBM Blue Pages)
2, this EmpNum variable will be used to filter the data in a view, so I have to use it in formula in View Selection.
I'll be very grateful if you help with this issue.
Maybe there is possible any simplest solution of this problem?
Thanks in advance,
Tomasz (td2003)
EDIT:
Torsten, Panu, thank you.
I've decided to try write an EmpNum variable in notes.ini using #SetEnvironment and read it by #GetEnvironment, and it works.
BUT (!) there is a very strange thing:
1) when I entered formula "SELECT((form="ITForm") & (Status="Completed") & (TX_EmployeeNumber=#Environment("EmpNum")))" the view shows me all document where "TX_EmployeeNumber" is EMPTY;
2) otherwise when I entered formula "SELECT((form="ITForm") & (Status="Completed") & (TX_EmployeeNumber!=#Environment("EmpNum")))" (not equal) the view shows me all document where "TX_EmployeeNumber" is NOT EMPTY and no matter if TX_EmployeeNumber have exactly the same value as EmpNum.
For example: if EmpNum="P11" the view with 2nd formula shows the documents where TX_EmployeeNumber fields contains "P11", "P22", "A32" and so on.
I'm sure that #Environment("EmpNum") retrieves correct data from notes.ini.
I'm totally confused and completely don't know what's going on.
Do you have any idea about this?
First of all: There are NO public variables in Lotus Notes as you request it. Neither in LotusScript nor in Formula. Every variable just lives in its context, never in the complete client.
There are two places to put such a variable:
in the notes.ini, where you can set / read it using Formula (#Environment, #SetEnvironment, #getEnvironent) or LotusScript (NotesSession.GetEnvironmentString, NotesSession.SetEnvironmentVar).
In a Profile document in a database, where you can get it using #GetProfileField (Formula) or NotesDatabase.GetprofileDocument() (LotusScript)
Both of these approches will NOT help you for your number 2.
There is only ONE View- Selection- Formula for ALL Users. Putting something "userspecific" in there will let it render correctly for ONE value (the one, that the server uses when building the view- index), but not for all the others.
To solve your problem you can use:
a) An embedded View
A view that is categorized by empNum
A Form that has this view embedded and a Formula for "Show single category" for this embedded view set
b) A SPOFU view
SPOFU is "Shared, private on first use" and means, that every user has his own copy of the view. These views have some caveats and are hard to maintain. You should NOT use them, if you are not totally aware of the implications (getting the ACL right is one very important thing for these views)...
EDIT (due to change in question): SPOFU will neither work with Environment nor with Profile- documents, as the methods to read them are not supported in Views... So b) is not really an option... Sorry...
It is possible to use the #SetViewInfo formula in the QueryOpen and/or PostOpen of a view to get the view to only present data from one category. Be careful with this because you will need to touch EVERY view so that the value is cleared if the user navigates to a view which is not categorized by the employee num...
FWIW: I only have done this using #UserName not with another piece of data. I suggest you do that by having the import process add the fully qualified Notes name of the user to the documents as they are imported.
You can modify view selection formula with NotesView class. In this case you would have to use private views.
A better solution would be to use an XPage to show the view and use category filter. Or if you want to use traditional style then embed the view to a form or page and use "Show Single Category" feature.

Navigaton strategy - drilldown on children - does not retain ordering in icCube

In the icCube Web Reporting you can set a graph and chart to respond on a click row/column/cell event and inidcate what must be done when the widget receives a click.
In this particular case I have the rows ordered based on a parameter.
But when I click on the row in the graph, the children are displayed without any order.
I found the following workaround, but it helps only with a named measure not a parameter:
use navigation strategy MDX iso children and use:
ORDER ($member.children, [measures].[amount], BASC)
the following gives an MDX error:
ORDER ($member.children, #{PARAMETER}, BASC)
The cause for the error is that it does not replace the #{PARAMETER} with the actual value.
Is there any other way/workaround to get this working in icCube?
A live working example explaining the questiuon can be found here
Sorry, it's a limitation - bug - in the current version : http://issues.iccube.com/issue/ic3pub-165
Will be fixed in 5.1.2

Resources