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!

Please wait indicator issue in oracle apex popup page

NaveencheekotiOct 4 2018 — edited Oct 5 2018

In oracle apex popup page, I created collection.Based on the table name, It will show the data.

pastedImage_7.png

In **Create Collection,**I written below code.

declare

L_COLLECTION_NAME APEX_COLLECTIONS.COLLECTION_NAME%TYPE;

allColumns VARCHAR2(4000);

exceedColumnFlag VARCHAR2(50);

l_vc_arr2 APEX_APPLICATION_GLOBAL.VC_ARR2;

TNAME VARCHAR2(100);

l_query VARCHAR2(4000);

rcount number;

l_pgm_count number;

l_SELECTED_DATA varchar2(1200);

begin

SELECT :P28_TABLE_NAME INTO TNAME FROM DUAL;

L_COLLECTION_NAME:='DYNAMIC_REPORT';

IF APEX_COLLECTION.COLLECTION_EXISTS(L_COLLECTION_NAME) THEN

APEX_COLLECTION.DELETE_COLLECTION(P_COLLECTION_NAME => L_COLLECTION_NAME);

END IF;

select listagg('"' || column_name || '"',',') WITHIN GROUP (order by column_name) INTO allColumns from user_tab_cols where upper(table_name) = upper(TNAME) AND upper('"' || COLUMN_NAME || '"')<>upper(:P28_COL_NAME);

allColumns:=:P28_COL_NAME||','||allColumns;

SELECT COUNT(*) INTO RCOUNT FROM user_tab_cols where upper(table_name) = upper(TNAME);

IF RCOUNT>50 THEN

select SUBSTR(allColumns,1,(INSTR(allColumns,',',1,49)-1)) into allColumns from dual;

END IF;

l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE(allColumns,',');

FOR z IN 1..50 LOOP

APEX\_UTIL.set\_session\_state(p\_name => 'P28\_COL\_HEAD\_C0'||lpad(z,2,0), p\_value => '');

END LOOP;

FOR z IN 1..l_vc_arr2.count LOOP

APEX\_UTIL.set\_session\_state(p\_name => 'P28\_COL\_HEAD\_C0'||lpad(z,2,0), p\_value => replace(l\_vc\_arr2(z),'"',''));

END LOOP;

Commit;

:P28_DEFAULT_COL:= allColumns;

L_QUERY :='SELECT UNIQUE ' || allColumns || ' FROM ' || TNAME;

IF :P28_WHERE_CLAUSE IS NOT NULL THEN

IF :P28_SELECTED_DATA IS NOT NULL THEN

L\_QUERY := L\_QUERY || ' where ' || :P28\_WHERE\_CLAUSE|| ' order by field';

ELSE

   L\_QUERY := L\_QUERY || ' where ' || :P28\_WHERE\_CLAUSE|| ' order by 1';       

END IF;

ELSE

IF :P28_SELECTED_DATA IS NOT NULL THEN

   L\_QUERY := L\_QUERY || ' order by field';        

ELSE

    L\_QUERY := L\_QUERY || ' order by 1';

END IF;

END IF;

EXECUTE IMMEDIATE L_QUERY;

APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY_B (

p\_collection\_name => L\_COLLECTION\_NAME,

p\_query => L\_QUERY);

END;

But one of table is having more than one 1 million records.When I opened dynamic popup page, Page loading very slow.For few seconds please wait icon showing.After it is showing white screen.How to show the please wait icon until content is fully loaded.

Comments
Post Details
Added on Oct 4 2018
3 comments
478 views