Skip to main content

Posts

Showing posts from 2022

OCI Email Delivery Service - multiple recipients

To send mails in our projects most often we use Oracle Cloud Email Delivery Service. From official OCI Email Delivery description you can find: "Oracle Cloud Infrastructure Email Delivery is an email sending service that provides a fast and reliable managed solution for sending high-volume emails that need to reach your recipients' inbox. Email Delivery provides the tools necessary to send application-generated email for mission-critical communications such as receipts, fraud detection alerts, multi-factor identity verification, and password resets." ... sounds good ? yes and works good as well ; ) Buuuut two weeks ago I found some issue according send mail to multiple recipients. All multiple recipients mails stucked ! After few minutes of investigation I found a reason. OCI Email Delivery Service accepts only coma as a recipients separator without any other char. To fix it I prepared small function which parses string containing email addresses and retur...

How to return json with null value using apex_json.write(ref_cursor)

Few days ago I had to develop dynamic query json export module. As a sandbox I prepared PLSQL block: DECLARE c sys_refcursor; l_sql varchar2(4000) := 'select null as "col1", 100 as "col2" from dual union all select 200 as "col1", null as "col2" from dual'; l_file clob; BEGIN open c for l_sql; apex_json.initialize_clob_output; apex_json.open_object; apex_json.write('rowset', c); apex_json.close_object; l_file := apex_json.get_clob_output; apex_json.free_output; DBMS_OUTPUT.PUT_line(l_file); END; { "rowset": [{ "col2": 100 }, { "col1": 200 } ] } As you can see above PLSQL code doesn't return null value pairs : ( apex_json.write(p_name IN VARCHAR2, p_cursor IN OUT NOCOPY sys_refcursor) procedure Signature 14 doesn't support null. How to fix it... ? APEX API provides apex_js...