Text attachment from PL/SQL procedure

Hi
I need to send a mail with text attachment from my PL/SQL procedure.I am using version 8i and tried with SMTP. I am able to send text mails but not attachments. Can any one help me!! it'l be great if you can share sample programs.
Thanks
HK

http://www.oracle.com/technology/sample_code/tech/pl_sql/htdocs/Utl_Smtp_Sample.html

Similar Messages

  • Producing text file from PL/SQL procedure (UTL_FILE)?

    Hi,
    I need to produce a text file from a PL/SQL procedure. My output should be a little over 38K records and my query has 70 fields. I'd like to separate the fields by pipe delimiters in the text file. I can either concatenate all 70 fields into one variable for each record or send all 70 fields over with a pipe, whichever is easier. It looks like I can't spool within PL/SQL but UTL_FILE might be an option from what I'm reading. Does anyone have any good, simple example(s) to produce a text file using this package in calling multiple fields from a LOOP? Our os is UNIX and db is Oracle 9i.
    Also, I've read that UTL_FILE has a record output of 1,023 bytes. Is this for each record line or the whole file size? I belive the max # of characters for each line wouldn't exceed 500 characters. The 38K rows I have for the data set would be well over 1MB. If this is the case, is there a work around to produce a larger text file?
    Any suggestions and/or examples would be greatly appreciated.
    Thanks,
    Eric

    Assuming the goal is to create a text file on the database server, you can use UTL_FILE here. Each line can be 1023 characters, but you can have as many lines as you'd like.
    Tom Kyte has an example here
    http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:235814350980
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Run report from PL/sql procedure

    Please any one tell how to I run a report from pl/sql procedure.

    I am not sure, but depending on your environment you can create a script to run your PL/SQL code and then generate the report. As is customary in an UNIX environment utilizing shell scripts.

  • Creating web service from pl/sql procedure

    Hello.
    I need to create a web service from pl/sql procedure and i chose JDeveloper for this implementation. I have wsdl, but I never created web services. So, I created web service with document/literal message format.
    But I have several troubles:
    1. All element names have lower case letters.
    2. The SOAP envelope must begin from words soapenv:Envelope but i have soap:Envelope.
    3. And operation name has tail like "Element".
    I know bad way for implement 1 and 3 points. It's a modification of java_wsdl_mapping.xml and wsdl files. But if I want to add new method to my service all changes will be cleaned. It's not critical but inconvenient to support.
    But for point 3 i have no ideas.
    This task is very important for me. Can somebody help me?
    JDeveloper 10.1.3.3
    Regards,
    Aleksey

    http://www.oracle.com/technology/obe/obe1013jdev/10131/wsfromplsqlpackage/devwsfrom%20plsql.htm
    Frank

  • How to call javascript function from PL/SQL procedure

    Can anybody advice me how to call javascript function from PL/SQL procedure in APEX?

    Hi,
    I have a requirement to call Javascript function inside a After Submit Process.
    clear requirement below:
    1. User selects set of check boxes [ say user want to save 10 files and ticks 10 checkboxes]
    2. user clicks on "save files" button
    3. Inside a After submit process, in a loop, i want to call a javascript function for each of the file user want to save with the filename as a parameter.
    Hope this clarify U.
    Krishna.

  • Unix shell script run from pl/sql procedure

    Hi Guru
    I want to run unix shell script from pl/sql procedure. Actual I want to run it from developer 10g form.
    Please guide me in this regards
    Regards
    Jewel

    Look at the host or client_host builtins in the help

  • Generating Text files from PL/SQL

    To generate Text files from PL/SQL on SERVER, i can use UTL_FILE
    package, but how do i create text files on client ( i.e., on the
    C: drive ) by executing anonymous PL/SQL blocks.
    Thanks in advance.

    You can use DBMS_OUTPUT to display stuff to the screen and the
    SQL*Plus SPOOL command to write screen output to a file on your
    local drive.
    magic!
    APC

  • Sending message from PL/SQL procedure to form

    Hello Friends,
    How can I send messages from PL/SQL procedure to Form ?
    Ultimate target is catching progress of PL/SQL procedure from
    form. I heard about DBMS_PIPe but not sure,.
    Adi

    Hello,
    Yeah , I got the solution using DBMS_PIPE function,I
    followed following steps.
    1. Pipe is created. see below procedure.
    create or replace procedure proc_testpipe as
         v_pipe_integer          integer;
         v_pipe_message          integer;
    begin
         v_pipe_integer := DBMS_PIPE.Create_Pipe('adipipe');
         dbms_pipe.pack_message('Hello Adinath Kamode,Message
         from Pipe');
         v_pipe_message := dbms_Pipe.Send_message('adipipe');
         end;
    end;
    2. then I created one Function which will obtain message from
    Pipe and
    will return value to form.
    create or replace function proc_callpipe return varchar2 as
    v_msg          integer;
    v_rem          integer;
    v_message          varchar2(500);
    begin
    v_msg:=dbms_pipe.receive_message('adipipe');
    dbms_pipe.unpack_message(v_message);
    dbms_pipe.purge('adipipe');
    v_rem := dbms_pipe.remove_pipe('adipipe');
    return(v_message);
    end;
    3. Last I called this function from form.
    Cheers .. !
    Adi

  • Returing array from PL/SQL procedure

    Hi,
    I am trying to return array from PL/SQL procedure. Heres is the code. I am getting an error "OracleParameter.ArrayBindSize is invalid ".
    Will anybody let me know what is wrong in following code. or does anybody have code to return PL/SQL array using VB.NET.
    oCommand.CommandText = "MyPack.TestVarchar2"
    oCommand.CommandType = CommandType.StoredProcedure
    Dim id As Integer = 10
    Dim deptname As String()
    Dim oParam1 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("id", Oracle.DataAccess.Client.OracleDbType.Int32)
    Dim oParam2 As Oracle.DataAccess.Client.OracleParameter = New Oracle.DataAccess.Client.OracleParameter("deptname", Oracle.DataAccess.Client.OracleDbType.Varchar2)
    oParam1.Direction = ParameterDirection.Input
    oParam2.Direction = ParameterDirection.Output
    oParam1.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.None
    oParam2.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray
    oParam1.Value = id
    oParam2.Value = ""
    oParam1.Size = 10
    oParam2.Size = 20
    oCommand.Parameters.Add(oParam1)
    oCommand.Parameters.Add(oParam2)
    oCommand.ExecuteNonQuery()
    Thanks
    Sameer

    Thanks Arnold for the reply..
    Yes, I am trying to get result set in array which is unknow to me (No of rows return by the query). For the test I will pre-define the result set so that I will able to set ArrayBindSize.
    I have read C# example but when I try to write it in VB.NET it gives me syntax error when I try to set the ArrayBindSize.
    oParam.ArrayBindSize = new int[3]{15,23,13} // individual max size of 3 outputsWill you please let me know how to set ArrayBindSize (VB.NET) because I am new to this..
    There is an example at otn "How to: Bind an Array to an ODP.NET Database Command" which does multiple INSERTs in one trip to database. This works fine. I need to do same for the SELECT statement which will return me multiple rows. I do not mean refCursor. If I use refCursor, it will make soft parse which I am trying to avoid using this Array techniq.
    Thanks
    Sameer

  • Creating Excel Workbook from PL/SQL Procedure

    I am trying to create Excel Workbook with two worksheets from PL/SQL procedure. I created one worksheet. Can I create a separate sheet from same procedure. I used OWA_UTIL.MIME_HEADER ('application/vnd.ms-excel', FALSE)
    command to create the spreadsheet.
    Any help would be helpful.
    Thanks
    Yagna Shah

    Further to my previous post here is how I will develop a typical master details excel report.
    by using the package,
    It will also show sum of salary at each department.
    Note : When I paste the code here I loose the indentation. So the code below is not indented properly.
    DECLARE
    r NUMBER := 0 ; --- r IS the ROW NUMBER IN this excel file
    l_sum NUMBER ;
    BEGIN
    --- Generate the styles that we need
    gen_xl_xml.create_excel( 'UTL_DIR','master_Detail.xls') ;
    gen_xl_xml.create_style( 'dept_title' , 'Arial', 'Red',14, p_backcolor => 'LightGray' );
    gen_xl_xml.create_style( 'sgs2' , 'Arial', NULL ,10, p_bold => TRUE );
    gen_xl_xml.create_style( 'sgs3' , 'Arial', 'blue',14 );
    gen_xl_xml.create_style( 'sgs4' , 'Arial', 'green',14 );
    gen_xl_xml.create_style( 'emp_title' , 'Arial', 'Black',9, p_backcolor => 'LightBlue' );
    gen_xl_xml.create_style( 'sal_tot' , 'Arial', 'Brown',13, p_backcolor => 'Yellow' );
    -- SET ANY COLUMN AND ROW changes
    gen_xl_xml.set_column_width( 3, 145 );
    gen_xl_xml.set_column_width( 4, 145 );
    l_sum := 0 ;
    FOR recd IN ( SELECT department_id, department_name FROM departments ) LOOP
    IF l_sum <> 0 THEN
    r := r +1 ;
    gen_xl_xml.write_cell_char( r, 4, 'Department Total ->' , 'sal_tot' );
    gen_xl_xml.write_cell_num( r, 5, l_sum , 'sal_tot' );
    l_sum := 0;
    END if ;
    r := r+1 ;
    gen_xl_xml.write_cell_CHAR( r,1, 'Department : '|| recd.department_name , 'dept_title' );
    -- As we need same style applied till the above data flows use write_cell_null
    gen_xl_xml.write_cell_NULL( r,2 , null );
    gen_xl_xml.write_cell_NULL( r,3, 'dept_title' );
    gen_xl_xml.write_cell_NULL( r,4, 'dept_title' );
    gen_xl_xml.write_cell_NULL( r,5, 'dept_title' );
    --- Add employee heading
    r := r+1 ;
    gen_xl_xml.write_cell_CHAR( r,2, 'EmployeeID' , 'emp_title' );
    gen_xl_xml.write_cell_CHAR( r,3, 'First Name' , 'emp_title' );
    gen_xl_xml.write_cell_CHAR( r,4, 'Last Name' , 'emp_title' );
    gen_xl_xml.write_cell_CHAR( r,5, 'Salary' , 'emp_title' );
    FOR rec IN (SELECT employee_id , first_name , last_name, salary FROM employees WHERE department_id = recd.department_id ) LOOP
    r := r+1 ;
    gen_xl_xml.write_cell_num( r,2, rec.employee_id, 'sgs2' );
    gen_xl_xml.write_cell_char( r,3, rec.first_name, 'sgs3' );
    gen_xl_xml.write_cell_char( r,4, rec.last_name , 'sgs4' );
    gen_xl_xml.write_cell_num( r,5, rec.salary );
    l_sum := l_sum + rec.salary ;
    END LOOP ;
    END LOOP ;
    gen_xl_xml.close_file ;
    END ;
    -----------------------------------------------------------------------------------------------------------------

  • Sending OS command from PL/SQL procedure

    "How can I send a operating system comand from PL/SQL procedure?
    I want to move , to copy , delete a file from a PL/sql procedure. i.e under unix send mv, cp or
    rm command";
    my e-mail is [email protected]

    take a look at
    http://asktom.oracle.com/pls/ask/f?p=4950:8:881946
    regards
    Freek D'Hooge
    "How can I send a operating system comand from PL/SQL procedure?
    I want to move , to copy , delete a file from a PL/sql procedure. i.e under unix send mv, cp or
    rm command";
    my e-mail is [email protected]

  • How to submit a conurrent request with MLS attached from PL/SQL?

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

    Hi Friends,
    I am trying to submit RAXINV_SEL from backend. This one has MLS attached. If we submit it from request window,it fires 'Multilanguage' program first and then the RAXINV_SEL. How to set this MLS option from backend? I tried submitting the request after setting the apps context and set_nls_options...But,concurrent request ends with an error mainly because of the MLS not effective..
    1. What is the procedure to submit the concurrent program from PL/SQL which has MLS attached?
    Please help!
    Thanks
    Raj

  • XML Data from PL/SQL procedure -- special character issue (eBS)

    Hi All,
    I am developing a report, where the XML data is created by a PL/SQL procedure. I chose this approach over a data template, since there is a lot of processing involved in producing the actual data, and it cannot be done by select-statements alone. The report is run as a regular concurrent request.
    So far so good. There is a problem though. Every time the data contains special characters (ä, ö, umlauts), the concurrent request is completed with a warning, the log confirms that "One or more post-processing actions failed.", also there is no output file. The XML structure is valid as such. The report runs smoothly and produces the output when the XML data does not contain special characters.
    I am producing the XML lines by using the standard FND_FILE.PUT_LINE procedure: Fnd_File.put_line(Fnd_File.output, '<?xml version="1.0" encoding="UTF-8"?>'); This seems like a character encoding issue, but declaring the UTF-8 encoding in this way does not solve the problem.
    Any ideas what can be done to fix this? I have been searching Metalink but cannot find an answer. Many thanks for your kind help.
    Best Regards, Matilda

    Hi Rajesh,
    One idea I have, is that it might be possible to modify the PL/SQL code into a "before report" type trigger, attached to a data template. The code would process the data and write the lines into a temporary table, from which the data template could retrieve them in a simple select-query. However, it would be neat to be able to solve this without adding an extra layer of processing, since BI Publisher supposedly supports PL/SQL procedures as the data source.
    The data in this case is all correct, special characters are an intrinsic feature of the Finnish language. :)
    Best Regards, Matilda

  • Redirect From PL/SQL Procedure

    Hi
    I hope this is a relatively straightforward question, but I am having trouble getting a page redirect to work from a PL/SQL procedure.
    I call the following procedure:-
    CREATE OR REPLACE PROCEDURE DOWNLOAD_FILE(p_id NUMBER) AS
    v_mime VARCHAR2(200);
    v_length NUMBER;
    v_file_name VARCHAR2(2000);
    lob_loc BLOB;
    v_session VARCHAR2(100);
    BEGIN
    v_session := v('SESSION');
    SELECT MIME_TYPE,
    FILE_CONTENT,
    FILE_NAME,
    DBMS_LOB.GETLENGTH(FILE_CONTENT)
    INTO v_mime,
    lob_loc,
    v_file_name,
    v_length
    FROM SRGSUP_UPLOADED_FILES
    WHERE ID = p_id;
    owa_util.mime_header(nvl(v_mime,'application/octet'),FALSE);
    htp.p('Content-length: ' || v_length);
    htp.p('Content-Disposition: attachment; filename="' || v_file_name || '"');
    owa_util.http_header_close;
    wpg_docload.download_file(lob_loc);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    htp.p('Location: f?p=107:30');
    END DOWNLOAD_FILE;
    From the following HTML Expression in column formatting of a report:-
    #FILE_NAME#: [ <a href="#OWNER#.DOWNLOAD_FILE?p_id=#FILE_ID#">Download</a> ]
    When the table SRGSUP_UPLOADED_FILES contains the relevant document the file download works perfectly. However, if there is no file present I wanted the page to redirect back to itself. Instead it goes to the login page.
    Initially I thought it was losing the session details so I tried "htp.p('Location: f?p=107:30:'||v('SESSION'));" but this made no difference.
    Any help would be appreciated.
    Thanks
    Chris
    Message was edited by:
    chrisjcoe

    Hi
    <p>I hope this is a relatively straightforward question, but I am having trouble getting a page redirect to work from a PL/SQL procedure. </p>
    <p>I call the following procedure:- </p>
    CREATE OR REPLACE PROCEDURE DOWNLOAD_FILE(p_id NUMBER) AS
    v_mime VARCHAR2(200);
    v_length NUMBER;
    v_file_name VARCHAR2(2000);
    lob_loc BLOB;
    BEGIN
      SELECT MIME_TYPE,
             FILE_CONTENT,
             FILE_NAME,
             DBMS_LOB.GETLENGTH(FILE_CONTENT)
      INTO v_mime,
           lob_loc,
           v_file_name,
           v_length
      FROM SRGSUP_UPLOADED_FILES
      WHERE ID = p_id;
      owa_util.mime_header(nvl(v_mime,'application/octet'),FALSE);
      htp.p('Content-length: ' || v_length);
      htp.p('Content-Disposition: attachment; filename="' || v_file_name || '"');
      owa_util.http_header_close;
      wpg_docload.download_file(lob_loc);
      EXCEPTION WHEN NO_DATA_FOUND THEN
      htp.p('Location: f?p=107:30');
    END DOWNLOAD_FILE;
    <p>From the following HTML Expression in column formatting of a report:- </p>
    [pre]
    "#FILE_NAME#: [ <*a h*ef="#OWNER#.DOWNLOAD_FILE?p_id=#FILE_ID#">Download</*a> ] "I've only put an "*" in <*a and </*a> to stop it changing into a url.
    <p>When the table SRGSUP_UPLOADED_FILES contains the relevant document the file download works perfectly. </p>
    <p>However, if there is no file present I wanted the page to redirect back to itself. Instead it goes to the login page. </p>
    <p>Initially I thought it was losing the session details so I tried "htp.p('Location: f?p=107:30:'||v('SESSION'));" but this made no difference. </p>
    <p>Any help would be appreciated. </p>
    <p>Thanks </p>
    <p>Chris</p>

  • Execute report from pl/sql procedure

    hi all
    please, can i know whether there's any way to execute a report from pl/sql stored procedure??
    thank you.

    Hallo,
    usually you would use 21.1 The Event-Driven Publishing API
    You can search the forum for examples Google: site:forums.oracle.com call report from pl/sql
    Regards
    Marcus

Maybe you are looking for

  • Batch Renaming in Bridge CS6

    I take pictures of a swim team and I keyword tag each image with the swimmers name.  I would like to batch rename and save in a new folder the files so they have the original filename and then the keyword name.  I don't see that as an option in the m

  • Bank stmt issue

    hifriends I have doubht, In FF67, Manual bank stmt display, in that bank stmt some transactions are showing Posting completed ,some transactions are showing posting incompleting, if we double click on posting incomplting status field showing  g/l pos

  • Replacing a Publisher hardware on CUCM 6.1.4

    I've been told, if I replace our current Pub with new hardware, I will have to rebuild both subscribers. Is this correct? We have currently one Publisher and two subscribers. I have built a new Publisher on new hardware with the same CUCM version, mi

  • Random order for a slide show?

    How do you select a random order for a slide show?

  • Best Solution needed

    Dear All, I have a client has many rpt files and want to call it view via web interface. The results should be saved locally on the server as PDF files (or other format) and users can download it later. Does Crystal Reports support this requirement?