This discussion is archived
6 Replies Latest reply: Feb 13, 2013 8:42 AM by sect55 RSS

Session State is set to null when tab (from List) is clicked

sect55 Journeyer
Currently Being Moderated
Hi Gurus, et al,

Database: 10g Rel 2
APEX: 4.1.2

My application uses a tabbed navigation list to tab through different sections of the form. Each tab issues a doSubmit('tabname');. My application also uses Page 0 for regions that are common to several forms. When I tab through the form (called requisition), the session state for the page items is set to null while the page 0 remains intact. It seems like the doSubmit sets the page items to null. How can I prevent this from happening?

Also, it still happens on APEX 4.2.1 because I put the application on APEX.ORACLE.COM:
Workspace: RGWORK
Application: CSRSR (Application 60220)
Page: 8
Username: tester
Password: test123

Please follow these steps for this issue to occur
1. Run application 60220
2. Select the only choice on the menu (Creative Services Design Requisition (PA 0879))
3. List of Outstanding Requisitions is displayed
4. Click the edit icon next to the requisition Project Description is 'zazaza'
5. Change Date Needed to 3/31/2013
6. Click on the Project Type tab
7. All items are null for that tab (project type in the database = 'frame:dec')

Robert
http://apexjscss.blogspot.com
  • 1. Re: Session State is set to null when tab (from List) is clicked
    Denes Kubicek Oracle ACE Director
    Currently Being Moderated
    Robert,

    what you are saying ist not correct. If I open the form, I will see that the session state of the items (P8_PROJECT_TYPE) is NULL. If I go to that tab and change the information there and then change the tabs and go back again, the values I set will still be there.

    I think you have too many elements, computations, processes and dynamic actions on your page. It is a nightmare to debug. The form doesn't seem to be complex from the requirement point of view. It seems you just made it complex.

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------
  • 2. Re: Session State is set to null when tab (from List) is clicked
    sect55 Journeyer
    Currently Being Moderated
    Denes,

    While I appreciate your professional opinion, the issue still remains. I may not have the described the issue clearly. It seems that while the row is initially fetched (source type is only when null), project type and purpose items are not displayed initially with the infomation from the table when the appropriate tab is clicked. For example, while the row contains 'frame:dec' for project type, those checkboxes are checked on on the screen.

    The form is "complex" for the following reasons:
    1. Uses a wizard for new requisitions
    2. Uses tabs for updates
    3. Uses a Modal page to display outstanding requisitions for the user before the form is displayed
    4. Uses common regions (on page 0) with other pages (3 pages uses project information, delivery, requesting department, and chargecode regions.
    5. Authorized approvers popup list are populated
    6. Manual tabular form is used for framing information including collections

    I tried to uses application processes, application computations, package procedures and functions whenever possible.

    SOMEONE, PLEASE HELP!

    Robert
    http://apexjscss.blogspot.com
  • 3. Re: Session State is set to null when tab (from List) is clicked
    Denes Kubicek Oracle ACE Director
    Currently Being Moderated
    Robert,

    Try going away from automated row processe. See this example on how to easily create a manual process:

    http://apex.oracle.com/pls/apex/f?p=31517:277

    This makes sure that the session state is set while loading the form. You will need to change the source of your items to "Static...".

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------
  • 4. Re: Session State is set to null when tab (from List) is clicked
    sect55 Journeyer
    Currently Being Moderated
    Denes,

    Thank you for the link. It looks very impressive!

    I would prefer to use the automated row process. It is also happening to another application that uses tabs than anoter deveoper in my company is developing. So it is not just my application. Why wouldn't it be saving the session state? If I need to change it to a manual process, I already have created DML package for the application via SQL Workshop > Utilities > Methods on Tables. If I need to use a manual process (as the last resort), I would use the already created DML package.

    Robert
    http://apexjscss.blogspot.com
  • 5. Re: Session State is set to null when tab (from List) is clicked
    sect55 Journeyer
    Currently Being Moderated
    Denes, et al,

    >
    Try going away from automated row processe. See this example on how to easily create a manual process:

    http://apex.oracle.com/pls/apex/f?p=31517:277

    This makes sure that the session state is set while loading the form. You will need to change the source of your items to "Static...".
    >

    I used the manual process for the update and it worked out quite well. I am trying to perform the manual process for the fetch but I am having a problem because my table has a blob field for attaching a file (i.e., file browser). Since, APEX does not use BLOB fields (only TEXT fields) how can I copy the automatic fetch's functions for a table that includes blob for a file browser page item?

    Sorry, at this point, I have not updated APEX.ORACLE.COM using the manual process. But you can see the file browser page item I am speaking about in my Qty region (and Project Type tab) on Page 8.

    Robert
    http://apexjscss.blogspot.com
  • 6. Re: Session State is set to null when tab (from List) is clicked
    sect55 Journeyer
    Currently Being Moderated
    Denes, et al,

    I fixed the problem. All page items I changed from database item to static except for the fiile_content blob field. That seemed to work.

    Since dosubmit seems not to save the session state (i.e., reset to null) of the page items, I have to use this workaround (explicit fetch and update). Can someone look into the dosubmit or apex.submit issue?

    As always, thank you for your help.

    Robert
    http://apexjscss.blogspot.com

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points