Sample Header Ad - 728x90

Generate & Email report from Oracle Forms 11g

1 vote
1 answer
2174 views
I generate a report in PDF through passing of parameters from Oracle Forms 11g. I have a requirement to email the same report automatically as well. Following is the part of forms where I have passed on the parameters. pl_id := Create_Parameter_List('tmpdata1'); add_parameter(pl_id, 'FDT', TEXT_PARAMETER, :a); add_parameter(pl_id, 'TDT', TEXT_PARAMETER, :b); add_parameter(pl_id, 'VC', TEXT_PARAMETER, :e); add_parameter(pl_id, 'SYS_DATE', TEXT_PARAMETER, :f); ADD_PARAMETER(pl_id,'DESTYPE',TEXT_PARAMETER,'FILE'); ADD_PARAMETER(pl_id,'DESFORMAT',TEXT_PARAMETER,'PDF'); ADD_PARAMETER(pl_id,'DESNAME',TEXT_PARAMETER,'C:\Downloads\abc.pdf'); Now a copy of report is saved in C:\Downloads folder as well as its shown in browser. I use the following procedure to send current data shown in Forms via emails. create or replace procedure send4 (p_sender IN VARCHAR2, p_recipient IN VARCHAR2, p_subject IN VARCHAR2, p_message IN VARCHAR2) IS crlf VARCHAR2(2) := chr(13)||chr(10); l_mailhost VARCHAR2(255) := ; v_connection UTL_SMTP.connection; BEGIN V_CONNECTION := utl_smtp.open_connection(l_mailhost, 25); utl_smtp.Helo(V_CONNECTION, l_mailhost); utl_smtp.Mail(V_CONNECTION, p_sender); utl_smtp.Rcpt(V_CONNECTION, p_recipient); utl_smtp.Data(V_CONNECTION, 'Date: ' || to_char(sysdate, 'Dy, DD Mon YYYY hh24:mi:ss') || crlf || 'From: ' || p_sender || crlf || 'Subject: '|| p_subject || crlf || 'To: ' || p_recipient || crlf || 'MIME-Version: 1.0'|| crlf || -- Use MIME mail standard 'Content-Type: multipart/mixed;'|| crlf || ' boundary="-----SECBOUND"'|| crlf || crlf || '-------SECBOUND'|| crlf || 'Content-Type: text/plain;'|| crlf || 'Content-Transfer_Encoding: 7bit'|| crlf || crlf || p_message|| crlf || crlf || '-------SECBOUND'|| crlf || 'Content-Type: text/plain;'|| crlf || ' name="file.txt"'|| crlf || 'Content-Transfer_Encoding: 8bit'|| crlf || 'Content-Disposition: attachment;'|| crlf || ' filename="attachment.txt"'|| crlf || crlf || p_message|| crlf || -- Content of attachment crlf || '-------SECBOUND--' -- End MIME mail ); UTL_SMTP.quit(v_connection); EXCEPTION WHEN utl_smtp.Transient_Error OR utl_smtp.Permanent_Error then raise_application_error(-20000, 'Unable to send mail', TRUE); END; 1. Can I email the Report generated directly? I tried passing the parameter 'MAIL' and 'Email address' in destype and desname but I am guessing there is some settings need to be done? OR 2. How can I use the email procedure to send the said report as attachment? OR 3. How can I copy the report pdf generated in user's PC to a specific directory at server? Because I have one separate procedure for email where I can mail PDFs from server directly. User has Windows PC while server is LINUX. OR 4. Generate report in PDF format at server directly so I could use the procedure (#3 point) to email it? I am posting this here in Database Administrators because I believe there needs to be a database level configuration done (developers have not been able to help). Sorry if its a wrong forum to post.
Asked by Shahzaib (11 rep)
Jul 27, 2017, 05:29 AM
Last activity: Jan 4, 2022, 11:04 AM