29 Mart 2018 Perşembe

Custom CSV download with an AJAX Callback


You can find custom CSV download steps below. (Without submit)

The button to download.


Ajax Callback process in the page.




(Type Ajax Callback) Process body is ;

begin
htp.p('Content-type: text/csv');
htp.p('Content-disposition: attachment;filename=ledger.csv');
owa_util.http_header_close;

htp.p('"Emp No","Emp Name"');

for i in (
select empno, ename
  from emp)
    loop
      htp.p('"'||i.empno||'","'||i.ename||'"');
    end loop;
end;

28 Mart 2018 Çarşamba

Apex - Change a Button to a Link

Firstly, You need a copy "text" button template as "link".


And then you can use your new template on a button. 


15 Mart 2018 Perşembe

Creation of JSON object with APEX_JSON package

BEGIN
    APEX_JSON.initialize_clob_output;
    apex_json.open_object;        -- {
    apex_json.write('a', 1);    --   "a":1
    apex_json.open_array('b');  --  ,"b":[
    apex_json.open_object;    --    {
    apex_json.write('c',2); --      "c":2
    apex_json.close_object;   --    }
    apex_json.write('hello'); --   ,"hello"
    apex_json.write('world'); --   ,"world"
    apex_json.close_all;          --  ]
                          -- }
    DBMS_OUTPUT.put_line(APEX_JSON.get_clob_output);
    APEX_JSON.free_output;                     
END; 

Email validation for Apex

You can use below regexp expression for email validation in your apex applications.

^[A-Za-z_-]+[A-Za-z0-9._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,4}$



12 Mart 2018 Pazartesi

Oracle Apex Standart Report Download Link Problem


Problem was related with download link and 
somehow download link's checksum was missing.
When I removed "Page Item to Submit" property value, it solved.
I faced with this problem at Apex Version 5.1.3.00.05.
 

26 Şubat 2018 Pazartesi

Oracle sleep func in Apex

APEX_UTIL.PAUSE(5); --sleep for 5 second

Setting Session State with PL/SQL

APEX_UTIL.set_session_state(p_name => 'PX_MY_ITEM', p_value => 'wibble');

Implement a busy modal indicator in Oracle Apex

At the start of your processing, execute (javascript):
    apex.widget.waitPopup()

And when done, just remove the elements (again, javascript): 
    $(".u-Processing,#apex_wait_overlay").remove();