Get a CSV file in a URL

I must get a .CSV file of Exchange Rates in the URL:
<http://www5.bcb.gov.br/pec/taxas/ingl/PtaxRPesq.asp?idpai=QUOTATIONS>
Is it possible on XI? If yes, how can i do it?
I'll use the information in this file to update fields in SAP R/3.
Regards,
Daniela

Moorthy,
Thank you for your help.
Would you be more specific about the logic?
My data will be in a CSV. format. This file is in a Government site, because ìt's a list of Exchange Rates.
The site is http://www.bcb.gov.br/?TXTODAS
I have already use SOAP adapter to change information with a WebService, but what I need now is get a File in a Web Page (with is not my client webservice).
Is it possible?
Regards,
Daniela

Similar Messages

  • Getting empty csv file using servlet

    Hi
    i am working on reports for my web application and i used struts frame work.
    for my reports i want csv export, so for that i written servlet, once if i click generate button i am able to open popup window to save the generated csv file at my local system, but i am getting emplty csv file..
    nothing si ther ein that file forget abt data atleast my header fields.
    here is my servlet file..plz let me know where i am doing wrong..
    public class ReportServlet extends HttpServlet{
         public void doPost(HttpServletRequest req,HttpServletResponse res)
    throws ServletException,IOException
    PrintWriter out = res.getWriter();
    res.setContentType("text/csv");
    res.setHeader("Content-Disposition","attachment; filename=\"export.csv\"");
    out = res.getWriter();
    AdvDetailReportBean reportBean = null;
    ArrayList list =(ArrayList)req.getSession().getAttribute("advreportlist");
    System.out.println(" servlet report list size is"+list.size());
    String branchcode=(String)req.getSession().getAttribute("branchcode");
              String bName=(String)req.getSession().getAttribute("branchname");
              System.out.println(" servlet branch name"+bName);
              System.out.println(" servlet branch code"+branchcode);
    StringBuffer fw = new StringBuffer();
              fw.append("Branch Code");
              fw.append(',');
              fw.append("Branch Name");
              fw.append('\n');
              fw.append(branchcode);
              fw.append(',');
              fw.append(bName);
              fw.append('\n');                              
              fw.append('\n');
              fw.append("Customer Name");
         fw.append(',');
         fw.append("Constitution Code");
         fw.append(',');
         fw.append("Customer Status");
         fw.append(',');
         fw.append("Restructure Date");
         fw.append(',');
         fw.append("Total Provision");
         fw.append(',');
         fw.append("Limit Sanctioned");
         fw.append(',');
         fw.append("Principal");
         fw.append(',');
         fw.append("Balance");
         fw.append(',');
         fw.append("AccountID");
         fw.append(',');
         fw.append("Collateral SL No");
         fw.append(',');
         fw.append("Issue Date Of Collateral");
         fw.append(',');
         fw.append("MaturityDate Of Collateral");
         fw.append(',');
         fw.append("Subsidy");
         fw.append(',');
         fw.append("Guarantor SL No");
         fw.append(',');
         fw.append("Guarantor Rating Agency ");
         fw.append(',');
         fw.append("External Rating of Guarantor");
         fw.append(',');
         fw.append("Rating Expiry Date");
         fw.append(',');
         fw.append("Guarantee Amount");
         fw.append(',');
         fw.append('\n');
         for (Iterator it = list.iterator(); it.hasNext(); )
              reportBean = new AdvDetailReportBean();
              reportBean = (AdvDetailReportBean)it.next();
              fw.append(reportBean.getCustomername());
              fw.append(',');
              fw.append(reportBean.getConstitutionCode());
              fw.append(',');
              fw.append(reportBean.getCustomerStatus());
              fw.append(',');
              fw.append(reportBean.getRestructureDate());
         fw.append(',');
         fw.append(reportBean.getTotalProvision());
         fw.append(',');
         fw.append(reportBean.getLimitSanctioned());
         fw.append(',');
         fw.append(reportBean.getPrincipal());
         fw.append(',');
         fw.append(reportBean.getBalance());
         fw.append(',');
         fw.append(reportBean.getCurrentValue());
         fw.append(',');
         fw.append(reportBean.getAccountNumber());
         fw.append(',');
         fw.append(reportBean.getColCRMSecId());
         fw.append(',');
         fw.append(reportBean.getIssueDt());
         fw.append(',');
         fw.append(reportBean.getMarturityDt());
         fw.append(',');
         fw.append(reportBean.getUnAdjSubSidy());
         fw.append(',');
         fw.append(reportBean.getGuarantorFacilityId());
         fw.append(',');
         fw.append(reportBean.getRatingAgency());
         fw.append(',');
         fw.append(reportBean.getExternalRating());
         fw.append(',');
         fw.append(reportBean.getExpDtOfRating());
         fw.append(',');
         fw.append(reportBean.getGuaranteeAmt());
         fw.append(',');
         fw.append('\n');
    }

    You don't seem to be writing anything to the response at all. Yes, you create a StringBuffer and write lots of stuff to the StringBuffer but then you do nothing else with that buffer.

  • How can i get sample CSV files for Demo BI Content

    Hello Experts. Documentation say that there is sample CSV files for modules that come with delivered BI content. I am planning to work with the demo content which i have already installed. I then need to populate the objects with the relevant demo data that is said to be in the CSV files that come with the demo content. Please let me know from where i can get these CSV files. Good day.

    Hi Huggins,
    There are sample csv data in AL11 in the work directory.  You may want to look through here to see if the csv files you require are there.
    Thanks,
    Nick.

  • VISA: How to get the CSV file through C/C++ code?

    How to get the CSV file through C/C++ code?
    I'm communicating with a USB oscilloscope using VISA.

    Thank you for your reply.
    I am using Apache Commons File Upload. Here is the code where I got the "fi".
         DiskFileUpload fu = new DiskFileUpload();
              fu.setSizeMax(1000000000);
              List fileItems = fu.parseRequest(request);
             Iterator itr = fileItems.iterator();
              FileItem fi = (FileItem)itr.next();
              if(!fi.isFormField())
                File tempFileRef  = new File(fi.getName());
         System.out.println("Field = "+tempFileRef.getAbsolutePath());
         }

  • Getting a csv file in server from client

    Hi,
    This is my first mail to the forum. I hope some one would help me to find a solution for me. I got a xyz . csv file in my server. I want to get that file and save it in my client (anywhere)having the same file type. Gimme source code if you have. I am looking for a solution for the past two days.
    please reply me as soon as possible.
    To be more clear, I am having a save button in my page.On clicking this button i should fetch the file from server and save it in my desired location as a file itself not as text content or anything.
    Please help me
    Thanks in regards,
    S.karthik

    You can open the textfile on the servlet and then send the information to the client (applet) as stirngs. The must then applet convert the stirngs into some object or simply display the information in someway. But then the text file that you are opening must be stored in some relevant tomcat directory e.g. on the server. If you want to open a file on the clients computer, you get into signed applets.

  • Get all html files from a url

    Hi I am trying to do a website copyer and i don't know how get all the html from a url.
    By example:
    I want get all files html from http://forum.java.com/
    aAnybody has an idea of how to do this?
    Thanks

    Not easy. First, you'll have to look at networking programming - how to make URL connections etc.. Then, you'll have to look at HTML parsers - how to extract links, images, etc. from an HTML page. Also, you'll have to know how to do file I/O in order to save the HTML files obtained.
    I don't know of any Java-based web site copier open source projects that you can refer to, but you can take a look at the source code for projects such as HttpUnit and HtmlUnit. They contain code that'll help you with your web site copier.
    Good luck!

  • Accessing CSV File from URL

    Hi Experts,
    I developing an interface where it need access an CSV file from an URL.
    The url is: http://200.218.208.119/download/fechamento/20100413.csv
    The file is modified every day, then yesterday this file will be: 20100414.csv
    My interface generate the following erros
      <Trace level="1" type="T">---- Plain HTTP Adapter Outbound----</Trace>
      <Trace level="1" type="T">---------------------------------------------</Trace>
    - <Trace level="1" type="B" name="CL_HTTP_PLAIN_OUTBOUND-ENTER_PLSRV">
      <Trace level="3" type="T">Quality of Service BE</Trace>
      <Trace level="1" type="T">Get XML-Dokument from the Message-Objekt</Trace>
      <Trace level="3" type="T">URL http://200.218.208.119:80/download/fechamento/20100413.csv</Trace>
      <Trace level="3" type="T">Proxy Host:</Trace>
      <Trace level="3" type="T">Proxy Service:</Trace>
      <Trace level="3" type="T">~request_method POST</Trace>
      <Trace level="3" type="T">~server_protocol HTTP/1.0</Trace>
      <Trace level="3" type="T">accept: */*</Trace>
      <Trace level="3" type="T">msgguid: A7031081480011DFA526001517D1434C</Trace>
      <Trace level="3" type="T">service: D0B_100</Trace>
      <Trace level="3" type="T">interface namespace: http://bcb.gov.br/xi/OB02</Trace>
      <Trace level="3" type="T">interface name: MI_RFC_OUT</Trace>
      <Trace level="3" type="T">Header-Fields</Trace>
      <Trace level="3" type="T">Prolog conversion Codepage: UTF-8</Trace>
      <Trace level="3" type="T">Epilog conversion Codepage: UTF-8</Trace>
      <Trace level="3" type="T">content-length 133</Trace>
      <Trace level="3" type="T">content-type: text/csv; charset=UTF-8</Trace>
      <Trace level="2" type="T">HTTP-Response :</Trace>
      <Trace level="1" type="T">Method Not Allowed</Trace>
      <Trace level="2" type="T">Code : 405</Trace>
      <Trace level="2" type="T">Reason: Method Not Allowed</Trace>
      <Trace level="2" type="T">HTTP-response content-length 6261</Trace>
    can I help?

    > I developing an interface where it need access an CSV file from an URL.
    This is not supported in PI standard.
    I think the option will be available in PI 7.3, but I cannot promise it.

  • 10g - disconnected analytics, encrytion on csv file in client machine

    hi, experts,
    I found that the disconnected analytics client firstly download the data from server and SAVED AS CSV FILES.
    but everyone can view the content in csv files.
    IT IS UNSAFE.
    can any encrytion be done for this issue?
    Thank you very mucH!

    user11861756 wrote:
    I am trying to get a csv file in the client machine .My database server is configured in oracle 10g within an unix
    box.Though i am able to get a csv file on my server by using pl/sql codes and can have it on my local machine by
    ftp.But the problem is we dont have any permission to create ant file in our production environment .
    Is there is any process or utility on which i can build on my previous approach to get my csv file on my client
    machine directly.
    The answer to this question is the question.. What is client-server?*
    PL/SQL, SQL, Oracle, database ... all these equal server.
    SQL*Plus, TOAD, web browsers... all these equal client.
    Who handles the presentation of data on the client? Who has access to the client platform's keyboard, mouse, screen printer, disk drives, etc? The client.
    So how can a server process or component then hack across the client-server architecture and into a client component and write data (e.g. CSV files) there?
    This is a fundamental concept that needs to be clearly understood when dealing with all aspects of client-server.
    What also needs to be understood that client-server is a software architecture. This means that client-server can run on a single machine. Client can run on a PC. Server can run on a big Unix machine. Or server can run on the PC and the client can run on the big Unix machine.
    Which means that you can have PL/SQL code (on the server platform) acting as a client.. and use server software on your client platform to service that PL/SQL session.
    For example. PL/SQL creates a CSV "+file+" as a CLOB. PL/SQL uses a FTP package and opens a client FTP session to a FTP server on your client PC. Now your PC is the FTP server and PL/SQL the FTP client. The client then proceeds to FTP the CLOB as a CSV file.

  • How to load multiple CSV files into oracle in one go.

    Hi,
    I have project requirement like: I'll be getting one csv file as one record for the source table.
    So i need to know is there any way by which I can load multiple csv in one go. I have searched a lot on net about external table.(but problem is I can only use one consolidate csv at a time)
    and UTL_FILE same thing consolidate file is required here to load.
    but in my scenario I'll have (1000+) csv files(as records) for the table and it'd be hectic thing to open each csv file,copy the record in it and paste in other file to make consolidate one.
    Please help me ..it's very new thing for me...I have used external table for , one csv file in past but here I have to user many file.
    Table description given below.
    desc td_region_position
    POSITION_KEY             NUMBER     Primary key
    POSITION_NAME       VARCHAR2(20)     
    CHANNEL                     VARCHAR2(20)     
    LEVEL                     VARCHAR2(20)     
    IS_PARTNER             CHAR(1)     
    MARKET_CODE             VARCHAR2(20)
    CSV file example:
    POSITION_KEY|POSITION_NAME|CHANNEL|LEVEL|IS_PARTNER|MARKET_CODE
    123002$$FLSM$$Sales$$Middle$$Y$$MDM2203
    delimeter is --  $$my database version as follows:
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
    PL/SQL Release 10.2.0.5.0 - Production
    "CORE     10.2.0.5.0     Production"
    TNS for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Productio
    NLSRTL Version 10.2.0.5.0 - ProductionEdited by: 974253 on Dec 10, 2012 9:58 AM

    if your csv files have some mask, say "mask*.csv" or by file "mask1.csv" and "mask2.csv" and ...
    you can create this.bat file
    FOR %%c in (C:\tmp\loader\mask*.csv) DO (
       c:\oracle\db\dbhome_1\BIN\sqlldr <user>@<sid>l/<password> control=C:\tmp\loader\loader.ctl data=%%c
       )and C:\tmp\loader\loader.ctl is
    OPTIONS (ERRORS=0,SKIP=1)
    LOAD DATA
      APPEND 
      INTO TABLE scott.td_region_position
      FIELDS TERMINATED BY '$$' TRAILING NULLCOLS
      ( POSITION_KEY,
         POSITION_NAME ,
         CHANNEL,
         LVL,
         IS_PARTNER,
         MARKET_CODE
      )test
    C:\Documents and Settings\and>sqlplus
    SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 10 11:03:47 2012
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Enter user-name: scott
    Enter password:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select * from td_region_position;
    no rows selected
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Pr
    oduction
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    C:\Documents and Settings\and>cd C:\tmp\loader
    C:\tmp\loader>dir
    Volume in drive C has no label.
    Volume Serial Number is F87F-9154
    Directory of C:\tmp\loader
    12/10/2012  10:51 AM    <DIR>          .
    12/10/2012  10:51 AM    <DIR>          ..
    12/10/2012  10:55 AM               226 loader.ctl
    12/10/2012  10:38 AM               104 mask1.csv
    12/10/2012  10:39 AM               108 mask2.csv
    12/10/2012  10:57 AM               151 this.bat
                   4 File(s)            589 bytes
                   2 Dir(s)   4,523,450,368 bytes free
    C:\tmp\loader>this.bat
    C:\tmp\loader>FOR %c in (C:\tmp\loader\mask*.csv) DO (c:\oracle\db\dbhome_1\BIN\
    sqlldr user@orcl/password control=C:\tmp\loader\loader.ctl data=%c )
    C:\tmp\loader>(c:\oracle\db\dbhome_1\BIN\sqlldr user@orcl/password control=C
    :\tmp\loader\loader.ctl data=C:\tmp\loader\mask1.csv )
    SQL*Loader: Release 11.2.0.1.0 - Production on Mon Dec 10 11:04:27 2012
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Commit point reached - logical record count 1
    C:\tmp\loader>(c:\oracle\db\dbhome_1\BIN\sqlldr user@orcl/password control=C
    :\tmp\loader\loader.ctl data=C:\tmp\loader\mask2.csv )
    SQL*Loader: Release 11.2.0.1.0 - Production on Mon Dec 10 11:04:28 2012
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Commit point reached - logical record count 1
    C:\tmp\loader>sqlplus
    SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 10 11:04:46 2012
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Enter user-name: scott
    Enter password:
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select * from td_region_position;
    POSITION_KEY POSITION_NAME        CHANNEL              LVL                  I
    MARKET_CODE
          123002 FLSM                 Sales                Middle               Y
    MDM2203
          123003 FLSM1                Sa2les               M2iddle              Y
    MDM22203
    SQL>

  • Sending csv files to database

    Hi,any suggestions welcome.I have a page that gets a .CSV file for user names from the local system and sends it a servlet to parse and send to the database.I inetnd to use a servlet to parse the csv files and insert into the database.Is there any easier method of implementation,or can i use that method.
    Thanks in advance

    Databases usually have utilities which read CSV and upload data into the database. These are faster than JDBC, but that would mean using Runtime.exec(). I guess you will have to go for parsing the files and inserting the records in batches.

  • Mapping IDOC to CSV file - Missing blank field values in CSV file

    Hello:
    I am mapping an IDOC to a .csv file, using File Content Conversion.  I specify comma as the value for the parameter 'fieldSeparator'.  I get a .csv file, but blank field values are missing in the .csv file.
    For example, if the .csv file format is <field1>,<field2>,<field3>
    and if <field2> is blank, then the .csv file contains
    <field1>,<field3>

    Hi Bac,
    As long as the XML that goes to your File Receiver Channel contains the elements, even if they don't contain values, it should work fine.
    For example:
    <field1>data</field1>
    <field2></field2>
    <field3>data2</field3>
    I suspect that your XML looks like the following:
    <field1>data</field1>
    <field3>data2</field3>
    If this is the case you can update your map. You shouldn't need to put a space, just make sure the element gets created.
    Thanks,
    Jesse

  • CSV file transfer

    Hi Gurus,
    proxy -> PI ->SOAP adapter
    The scenario is proxy to SOAP adapter
    We are sending the XML messsage  from SAP ECC system to PI and
    then send the CSV file to 3rd parties using SOAP adapter
    On sender side adapter is not required since outbound proxies do not
    require any communication channel. On the receiver side we have to use
    the SOAP adapter to post the CSV files to the URL provided by the
    Suppliers.
    This is still in development.
    We want to know if there is any possiblity to post the CSV files to the
    http URL provided by the Supplier using the SOAP or HTTP adapter.
    Thanks,
    Jay

    send the CSV file to 3rd parties using SOAP adapter
    is there any mandatory/ conform requirement to use soap adapter for CSV FIle otherwise u have to use FILE Adapter.
    the SOAP adapter to post the CSV files to the URL provided by the Suppliers.
      csv file is not possiable to send by using SOAP adapter but that is possiable as a attchment .
    refer below thread:
    [file Attachment|http://forums.sdn.sap.com/thread.jspa?messageID=7283557#7283557]

  • CSV file downloading replaces the parent window

    Hi,
    I'm trying to download a .csv file from my web application using Content-Disposition
    here is my code
    response.setContentType("application/octet-stream");
    filename = filename.concat(downloadType);
    response.setHeader("Content-Disposition","attachment; filename="+filename+";");
    //response.setHeader("Content-Disposition","application/octet-stream; filename="+filename+";");
    String source = (String)ivHttpRequest.getAttribute("downloadFile");
    if(downloadType.equals(".txt")) {
    source = Utils.decodeHtmlEntities(source);
    byte [] byteArray;
    if(source == null)
    // use ivRequest instead
    String source2 = (String)ivRequest.getAttribute("downloadFile");
    if(downloadType.equals(".txt")){
    source2 = Utils.decodeHtmlEntities(source2);
    byteArray = source2.getBytes();
    else
    byteArray = source.getBytes();
    ServletOutputStream out = response.getOutputStream();
    out.write(byteArray);
    out.close();
    I'm able to download the file in all the browsers, But while using IPAD the content of the file replaces the existing window (Parent Window) without asking for Save or Open option. So i'm unable to get the parent window again.
    Please let me know is there any special content type or anythinmg else i have to change.. So that i could be able to open the csv file in a new tab without replacing the parent window.The problem i faced only with IPAD

    Hi,
    For pdf file if we choose adhoc or by giving the proper name, we can able to get the options like OPEN or SAVE. This will work fine for pdf.
    But here im trying with csv file /html file, so the file is replacing the existing screen itself when i click the csv link. In my web application, i cannot get the parent window by using back button once i get the csv file instead page gets expired.
    So my best suggestion is should we able to open the csv file in new Tab of safari instead of replacing the parent window where im clicking to open the csv file.
    Suggestions pls.

  • Read and write a .CSV file contains cirillic characters issue

    Hi guys,
    I am a developer of a web application project which uses Oracle Fusion Middleware technologies. We use JDeveloper 11.1.1.4.0 as development IDE.
    I have a requirement to get a .csv file from WLS to application running machine. I used a downloadActinLinsener in front end .jspx in order to do that.
    I use OpenCSV library to read and write .csv files.
    Here is my code for read and write the .csv file,
    public void dwdFile(FacesContext facesContext, OutputStream out) {
    System.out.println("started");
    String [] nextLine;
    try {
    FileInputStream fstream1 = new FileInputStream("Downloads/filetoberead.CSV");
    DataInputStream in = new DataInputStream(fstream1);
    BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));
    CSVReader reader = new CSVReader(br,'\n');
    //CSVReader reader = new CSVReader(new FileReader("Downloads/ACTIVITY_LOG_22-JAN-13.csv"),'\n');
    List<String> list=new ArrayList();
    while ((nextLine = reader.readNext()) != null) {
    if(nextLine !=null){
    for(String s:nextLine){
    list.add(s);
    System.out.println("list size ; "+list.size());
    OutputStreamWriter w = new OutputStreamWriter(out, "UTF-8");
    CSVWriter writer = new CSVWriter(w, ',','\u0000');
    for(int i=0;i<list.size();i++){
    System.out.println("list items"+list.get(i));
    String[] entries = list.get(i).split(",");
    writer.writeNext(entries);
    //System.out.println("list items : "+list.get(i));
    writer.close();
    } catch (IOException e) {
    e.printStackTrace();
    say the filetoberead.CSV contains following data,
    0,22012013,E,E,ASG,,O-0000,O,0000,100
    1,111211,LI,0,TABO,B,M002500003593,,,К /БЭ60072715/,КАРТЕНБАЙ
    2,07,Balance Free,3
    1,383708,LI,0,BDSC,B,НЭ63041374,,,Т /НЭ63041374/,ОТГОНБААТАР
    2,07,Balance Free,161
    It reads and writes the numbers and english characters correct. All cirillic characters it prints "?" as follows,
    0,22012013,E,E,ASG,,O-0000,O,0000,100
    1,111211,LI,0,TABO,B,M002500003593,,,? /??60072715/,?????????
    2,07,Balance Free,3
    1,383708,LI,0,BDSC,B,??63041374,,,? /??63041374/,???????????
    2,07,Balance Free,161
    can somone please help me to resolve this problem?
    Regards !
    Sameera

    Are you sure that the input file (e.g. "Downloads/filetoberead.CSV") is in UTF-8 character set? You can also check it using some text editor having a view in hex mode. If each Cyrillic character in your input file occupies a single byte (instead of two), then the file is not in UTF-8. Most probably it is in Cyrillic for Windows (CP1251).
    If this is the case, you should modify the line
    BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));toBufferedReader br = new BufferedReader(new InputStreamReader(in,"windows-1251"));Dimitar

  • Csv file generation

    Hi All,
    Can we have a comma included in the csv generated file?
    Suppose query contains comma
    fieid1 field2
    Pickle This pickle, must be sour.
    sweet More sweets, leads to diabetes.
    My csv should be of two fields not three. But i am getting the csv file in three field because of comma in field2. How Can we resolve it.
    field1 field2 field3
    Pickle This pickle must be sour.
    sweet More sweets leads to diabetes.
    Hi anybody can help on these??
    Thanks

    The same as you put any other character in the file...
    As sys user:
    CREATE OR REPLACE DIRECTORY TEST_DIR AS '\tmp\myfiles'
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser
    /As myuser:
    CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2
                                         ,p_dir IN VARCHAR2
                                         ,p_header_file IN VARCHAR2
                                         ,p_data_file IN VARCHAR2 := NULL) IS
      v_finaltxt  VARCHAR2(4000);
      v_v_val     VARCHAR2(4000);
      v_n_val     NUMBER;
      v_d_val     DATE;
      v_ret       NUMBER;
      c           NUMBER;
      d           NUMBER;
      col_cnt     INTEGER;
      f           BOOLEAN;
      rec_tab     DBMS_SQL.DESC_TAB;
      col_num     NUMBER;
      v_fh        UTL_FILE.FILE_TYPE;
      v_samefile  BOOLEAN := (NVL(p_data_file,p_header_file) = p_header_file);
    BEGIN
      c := DBMS_SQL.OPEN_CURSOR;
      DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
      d := DBMS_SQL.EXECUTE(c);
      DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
      FOR j in 1..col_cnt
      LOOP
        CASE rec_tab(j).col_type
          WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
          WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
          WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
        ELSE
          DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
        END CASE;
      END LOOP;
      -- This part outputs the HEADER
      v_fh := UTL_FILE.FOPEN(upper(p_dir),p_header_file,'w',32767);
      FOR j in 1..col_cnt
      LOOP
        v_finaltxt := ltrim(v_finaltxt||','||lower(rec_tab(j).col_name),',');
      END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
      UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      IF NOT v_samefile THEN
        UTL_FILE.FCLOSE(v_fh);
      END IF;
      -- This part outputs the DATA
      IF NOT v_samefile THEN
        v_fh := UTL_FILE.FOPEN(upper(p_dir),p_data_file,'w',32767);
      END IF;
      LOOP
        v_ret := DBMS_SQL.FETCH_ROWS(c);
        EXIT WHEN v_ret = 0;
        v_finaltxt := NULL;
        FOR j in 1..col_cnt
        LOOP
          CASE rec_tab(j).col_type
            WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
                        v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
            WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
                        v_finaltxt := ltrim(v_finaltxt||','||v_n_val,',');
            WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
                        v_finaltxt := ltrim(v_finaltxt||','||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'),',');
          ELSE
            v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
          END CASE;
        END LOOP;
      --  DBMS_OUTPUT.PUT_LINE(v_finaltxt);
        UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
      END LOOP;
      UTL_FILE.FCLOSE(v_fh);
      DBMS_SQL.CLOSE_CURSOR(c);
    END;This allows for the header row and the data to be written to seperate files if required.
    e.g.
    SQL> exec run_query('select * from emp','TEST_DIR','output.txt');
    PL/SQL procedure successfully completed.Output.txt file contains:
    empno,ename,job,mgr,hiredate,sal,comm,deptno
    7369,"SMITH","CLERK",7902,17/12/1980 00:00:00,800,,20
    7499,"ALLEN","SALESMAN",7698,20/02/1981 00:00:00,1600,300,30
    7521,"WARD","SALESMAN",7698,22/02/1981 00:00:00,1250,500,30
    7566,"JONES","MANAGER",7839,02/04/1981 00:00:00,2975,,20
    7654,"MARTIN","SALESMAN",7698,28/09/1981 00:00:00,1250,1400,30
    7698,"BLAKE","MANAGER",7839,01/05/1981 00:00:00,2850,,30
    7782,"CLARK","MANAGER",7839,09/06/1981 00:00:00,2450,,10
    7788,"SCOTT","ANALYST",7566,19/04/1987 00:00:00,3000,,20
    7839,"KING","PRESIDENT",,17/11/1981 00:00:00,5000,,10
    7844,"TURNER","SALESMAN",7698,08/09/1981 00:00:00,1500,0,30
    7876,"ADAMS","CLERK",7788,23/05/1987 00:00:00,1100,,20
    7900,"JAMES","CLERK",7698,03/12/1981 00:00:00,950,,30
    7902,"FORD","ANALYST",7566,03/12/1981 00:00:00,3000,,20
    7934,"MILLER","CLERK",7782,23/01/1982 00:00:00,1300,,10The procedure allows for the header and data to go to seperate files if required. Just specifying the "header" filename will put the header and data in the one file.
    Adapt to output different datatypes and styles are required.

Maybe you are looking for

  • Java.security..AccesscontrolException: access denied (java.util.PropertyP..

    I am trying to access the Cisco PIX device manager to get access to my firewall, but get the error message above when trying to start the applet: Is this a bug? Thankful for any input! See the Java concole output below: Java Plug-in 1.5.0_06 Using JR

  • Help with Blog - Bolding

    Hey there, For some reason on my blog in BC I can't bold or italicize text; it shows up in the bold module but upon preview on the actual site they do not show up. Any idea what is happening? Underlining however does work. Thanks!

  • Why can't I apply a cross dissolve between an after effects comp and black video in Premiere CS6

    I imported a 20 second composition from AE CS6 into Premiere Pro CS6 and would like to apply a cross dissolve transition between it and the media on either end of the AE clip. However, every time I try to apply the cross dissolve, it only gets applie

  • Error: custom reconciliation (with child data)

    I have "HR System" Resource Object (Allow Multiple, Allow All). Reconciliation Fields: -HR Tab No [String] -HR FirstName [String] -HR LastName [String] -HR Department [String] -HR Position [String] -HR Location [String] -HR Manager [String] -Role [Mu

  • [nForce] Problems with K7N2 Delta 2 Platinum and SATA

    Hi All I have a MSI K7N2 Delta 2 Platinum with an AMD 3200+ Barton. I have 2 x 512mb Crucial PC3200 DDR400 RAM. I have a Samsung 80gb SATA hard drive. I am trying to install Windows XP Pro onto a blank SATA drive. The trouble is that I get into the W