I have 2 interactive reports in one page. I want to implement the functionality that on selecting a row in first interactive report (parent) based on one table, the same key which is present in another table upon which another Interactive Report (child) is based upon, is passed to child interactive report, and data is updated in the child interactive report.
Data in child interactive report should refresh upon selecting another row in parent interactive report.
How can I implement this?
Consider using Interactive Grids where you have Master/Detail relationships? See this blog post: https://blogs.oracle.com/oraclemagazine/easy-masterdetail
Related
I have a Master Detail* report page created using the App Builder -> Create Page. The master report shows customer orders (ORDERS table). The detail report shows the products that the customer ordered (ORDER_ITEMS table).
The master report (ORDERS table) has a date column (ORDER_DATE). In the report, the date column header is a datepicker item in which you can select an dropdown of past dates to sort the report.
I would like to include another report region at the bottom of this page to show the total dollars from the range. (Ex: if a user selects Last Month, then I want the report to show the sum of the total dollars from last month).
I've been able to do this in a custom page that I've built using by adding two datepicker items.
However, in a 'pre-built' Master Detail page using App Builder, I don't see the datepicker item to manipulate.
How can I grab the datepicker item and access it's functions (to query results for the additional report) and dynamic actions (region refresh)
That column header is not a page item, it is the native column filter functionality from the interactive grid component. It's not possible to "Grab it and put it elsewhere". There are a couple of options.
Create a separate date picker item in a region above the report where the user selects the from date or range and refresh master region when values change. Make sure to disable column filtering then in the interactive grid region.
Another option is to add a dynamic sum at the bottom of the report. That is described here. Or calculate the sum and put it in a page item. The post above references an example in the interactive grid cookbook that you can use.
How can I handle insert update in Oracle Apex interactive grid with more than one table which is attached with inner join. If anyone have solution please reply.
The source of the IG can be a query or a view on top of multiple tables. Basically this is the rule: if you can execute the update statement in sql on the source then the IG will be able to do it as well.
So it's easy to display some extra columns from another table - updating them will be a challenge. There are 2 workarounds
Create a view with an instead of trigger
Use custom pl/sql code to process the IG data on submit instead of the native process
I created a report and a form separately rather than creating a "report with form" in my Oracle Apex application. Because of this there are no update buttons that appear on the left of every row in the report like it does when creating "report with form". How can I add these buttons such that I can use same form, which I am currently using just to create new records, to also update records?
I am assuming the report is in Interactive Report type.
Those are the ones which are normally created for report with form.
In which case if you go under the reports attributes the first one is Link,
by default it should be set to Exclude Link column. You should set it to Link to Custom Target, then define the link to go to your page and set the Primary key item.
And on your form page you also need to set an After Header process to fetch the row and fill the page items based on the filled Primary key. Or you can do something custom here, whatever floats your boat.
I have a report with an edit link. The Edit link is Id. This report retrieves records from different databases.
My requirement is to insert those records into my database when the edit link is clicked. Please find the image below.
I need to insert these two records into my database table on clicking on the edit link.
How do I perform this in APEX?
Well, I would rather have another dedicated column on this report that does the required action than use an Edit link which is primarily used to drill down to a record in detail.
You can follow this article to achieve the desired action by creating a button on a report which performs DML action. Just make sure to accommodate the necessary changes to meet your needs.
Here is another perspective on solving this problem
http://www.grassroots-oracle.com/2015/12/tutorial-include-action-button-in-report.html
I am creating an interactive report in APEX 5.1 and I modified the underlying query, adding a field. I assigned to the new field sequence 2 so that it is displayed second on the report but it displays last. How can I change its order in the report?
While logged into the APEX Builder, run the page.
Click on the Interactive Report's Actions button and select Columns.
Select the column and use the arrows to move it up or down, then press Apply.
Click on the Interactive Report's Actions button and select Report > Save Report.
Select Primary and press Apply. (Note the text "The current report settings will be used as the default for all users." that appears in this dialog.)