Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Checking if an item is visible in PL/SQL

tdobeJan 15 2022

hi,
Does anyone know a method to check with PL/SQL if an item on a page is visible or not (e.g. hiding using Server-side Condition)?
thanks a lot

This post has been answered by jariola on Jan 15 2022
Jump to Answer

Comments

fac586

Does anyone know a method to check with PL/SQL if an item on a page is visible or not (e.g. hiding using Server-side Condition)?
Why is this necessary?
When is it proposed to perform the check?

jariola
Answer

This example might help

declare
  l_exists boolean := false;
begin

  for c1 in(
    select
      aapi.build_option_id
      ,aapi.condition_type_code
      ,aapi.condition_expression1
      ,aapi.condition_expression2
      ,aapi.authorization_scheme_id
    from apex_application_page_items aapi
    where 1 = 1
    and aapi.application_id = :APP_ID
    and aapi.page_id = :APP_PAGE_ID
    and aapi.item_name = 'PX_MY_ITEM'
  ) loop
    l_exists :=
      apex_plugin_util.is_component_used(
        p_build_option_id           => c1.build_option_id
        ,p_condition_type           => c1.condition_type_code
        ,p_condition_expression1    => c1.condition_expression1
        ,p_condition_expression2    => c1.condition_expression2
        ,p_authorization_scheme_id  => c1.authorization_scheme_id
      )
    ;
  end loop;

  if l_exists
  then
    htp.p('item exists');
  else
    htp.p('does not exist');
  end if;

end;
Marked as Answer by tdobe · Jan 15 2022
tdobe

I'm making my own report system, generated by htp.p, which uses defined filters (visualized in the printout) - there are e.g. 50 filters and a given report in the configuration uses e.g. 3. On the other hand, why this question? ;)

tdobe

Not bad, could be useful - it works!

fac586

I'm making my own report system, generated by htp.p, which uses defined filters (visualized in the printout) - there are e.g. 50 filters and a given report in the configuration uses e.g. 3. On the other hand, why this question?
Firstly, because context is always important. Secondly, because strictly speaking Server-side Conditions determine the existence, not the visibility of components, and it is impossible to determine whether an item is "visible" using PL/SQL.

tdobe

You can check it out, a colleague in this post answered it and on top of that it works!

fac586

You can check it out, a colleague in this post answered it and on top of that it works!
That doesn't deal with "visibility" in the strictly technical sense as I understand it.

tdobe

Yes exactly, with this method you can't detect if an item is hidden on the client side, e.g. using java, that's why I wrote about "server side condition" case.

did you find solution to this???

1 - 9

Post Details

Added on Jan 15 2022
9 comments
845 views