The power of using records in APEX II

7 11 2012

In this post I follow up on the post where I started talking about records in APEX. In this post I’ll show how to add a page in front of the form created in that post. Thus this post will show a report and let you navigate to the form where the selected record is displayed. Pretty basic stuff, but it allows better testing of the form and it sets the stage for showing how to make the form used for insert, update and delete in the third post on this subject.

An interactive report is based on a report. As using procedures to read data for the form to avoid having hardcoded SQL in the application, we’ll use a similar technique here. By having a view, we can change the table and columns with no impact on the application. So we start with creating a view specific for this report.

create view apex_vw_emp as
  select empno
    from emp;

Now that we have the view, we just create a new page with an interactive report.

Go ahead and create a page with an interactive report that uses the SQL “select * from apex_vw_emp“. Choose to not have a link to single row view.

When the page is created, edit the report attributes and add a link to a custom target.

  • Target = Page in this application
  • Page = 4 (the page where the form created in the last post is located, happens to be 4 in my application)
  • Clear cache = 4 (same as Page)
  • Item 1 Name = p4_empno (the item on the form used to retrieve the row)
  • Item 1 Value = #empno#

It is worth noting that #empno# is a reference to the empno on the row in the report that was clicked.

After you apply those changes, the report now has a pen icon to the left of the rows. When you click it, it will take you to the form where the row you clicked is loaded into the form (showing the ename of the empno).

This makes it easier to test the form, but more importantly it will make it possible to set up and test full CRUD functionality in a coming post.



2 responses

8 11 2012
15 03 2013
The power of using records in APEX III | Oracle DB Development

[…] In this post I’ll finish up the CRUD implementation using records, procedures and views. This series of blog posts started with this┬ápost which was followed by this. […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: