Forum Stats

  • 3,782,423 Users
  • 2,254,644 Discussions
  • 7,880,076 Comments

Discussions

Custom Authentication scheme prevents parameter value to be passed to PL/SQL procedure

Jeroen v Meenen
Jeroen v Meenen Member Posts: 13 Blue Ribbon

Hi all,

I have a Classic Report from which I pass a unique ID (USER_ROLE_ID) to a PL/SQL procedure. This is working well after I followed the ideas from the 2 excellent links at the bottom of this post.

Basically I have:

1. Created a URL Link column on the Classic Report

2. Stored the current row value in a Page Item with:

javascript:$s('P100_USER_ROLE_ID', '#USER_ROLE_ID#');

3. Created a Dynamic Action OnChange of the Page Item P100_USER_ROLE_ID

4. Call PL/SQL with :P100_USER_ROLE_ID as parameter and do a PPR to Refresh Page and show the result

This was working fine in the standard "Application Express Accounts" Authentication scheme, but it is no longer working in my custom scheme based on sentry. The custom scheme gets the current logged in SSO user and then sets this user with apex_custom_auth.set_user.

The issue is that although I can see Page Item P100_USER_ROLE_ID has the correct value, this value does no longer gets passed to the PL/SQL procedure. Instead it is NULL.

Is this perhaps a server setting? Can we somehow work around it from APEX side?

Appreciate your time!

Jeroen

-- https://community.oracle.com/tech/developers/discussion/3636203/select-row-from-classic-report-to-pass-value-to-another-classic-report-on-the-same-page

-- https://oraclefrontovik.com/2021/04/03/oracle-apex-passing-a-value-from-a-report-to-a-database-procedure/

Tagged:

Answers

  • Angel Flores T.
    Angel Flores T. Member Posts: 66 Blue Ribbon

    Hi, the authentication, does not have a relation with what you want. So first you need to check if #USER_ROLE_ID# has a value before to click it. So inspect the html page like the image.

    2) Change P100_USER_ROLE_ID to the text field (just for test), see if the value change on the page.

    3)Once the item change the value, on the change event you are calling a PLSQL, so don't forget to pass the item trow the Items To submit

  • Jeroen v Meenen
    Jeroen v Meenen Member Posts: 13 Blue Ribbon

    Thanks for the reply Angel,

    The value is getting assigned, I can see it in the Page Item when I click on the link and also when I hoover over the link. It does have to do with the authentication scheme, as when I switch to the standard "Application Express Accounts" Authentication scheme, it works fine. From the logging I can see that Sentry goes off after I click the link, I think that's where the problem lies. I think the Senty call wipes out the values, I should change the Authentication scheme to something else (I only inherited this). I need to find something that works with SSO.

    Cheers

    Jeroen