Write records to file???

i know how to write lines of information to a file and output them but how do you go about writing records in one file and then retrieving them for use within a program, if someone could help by posting some simple code, or explain where i could find this id appreciate it
Thx

If you are refering to Records as objects, then you could serialize them into a file. You would create an ObjectOutputStream object, then call writeObject() for each object you want to write out. Then, using ObjectInputStream you would read them back in with readObject(). You can also write the number of objects in the file first by calling writeInt() before calling writeObject() in a loop. Reading would then be the exact opposite, call readInt() to determine the # of objects in the file, then calling readObject() x number of times.

Similar Messages

  • Write Record to File

    Hi all
    I am now doing a java program to query result from SQL Server and write the result to a file.
    My problem is that our SQL Server stores Chinese wordings with unicode, after the program query the result and it fails to write those Chinese wordings in the file. I have tried to use ObjectOutputStream or DataOutPutStream with method like writeBytes, writeChars or WriteObject, but all are failed to create a ASCII file that can view the Chinese wordings. Although those words can be viewed by using Sytem.out.print().
    I think the problem is related to write the result to file or create the file, can any one help?
    Thanks
    Shek

    Hi all
    I am now doing a java program to query result from SQL
    Server and write the result to a file.
    My problem is that our SQL Server stores Chinese
    wordings with unicode, after the program query the
    result and it fails to write those Chinese wordings in
    the file. I have tried to use ObjectOutputStream or
    DataOutPutStream with method like writeBytes,
    writeChars or WriteObject, but all are failed to
    create a ASCII file that can view the Chinese
    wordings. Although those words can be viewed by using
    Sytem.out.print().
    I think the problem is related to write the result to
    file or create the file, can any one help?
    Thanks
    ShekWhich editor are you using to view these files ? It might be possible that not the file but the editor could be the problem.
    You might also want to investigate OutputStreamWriter and related classes.

  • How can I read, millions of records and write as *.csv file

    I have to return some set of columns values(based on current date) from the database (could be million of record also) The dbms_output can accomodate only 20000 records. (I am retrieving thru a procedure using cursor).
    I should write these values to a file with extn .csv (comma separated file) I thought of using a utl_file. But I heard there is some restriction on the number of records even in utl_file.
    If so, what is the restriction. Is there any other way I can achive it? (BLOB or CLOB ??).
    Please help me in solving this problem.
    I have to write to .csv file, the values from the cursor I have concatinated with "," and now its returning the value to the screen (using dbms_output, temporarily) I have to redirect the output to .csv
    and the .csv should be in some physical directory and I have to upload(ftp) the file from the directory to the website.
    Please help me out.

    Jimmy,
    Make sure that utl_file is properly installed, make sure that the utl_file_dir parameter is set in the init.ora file and that the database has been re-started so that it will take effect, make sure that you have sufficient privileges granted directly, not through roles, including privileges to the file and directory that you are trying to write to, add the exception block below to your procedure to narrow down the source of the exception, then test again. If you still get an error, please post a cut and paste of the exact code that you run and any messages that you received.
    exception
        when utl_file.invalid_path then
            raise_application_error(-20001,
           'INVALID_PATH: File location or filename was invalid.');
        when utl_file.invalid_mode then
            raise_application_error(-20002,
          'INVALID_MODE: The open_mode parameter in FOPEN was
           invalid.');
        when utl_file.invalid_filehandle then
            raise_application_error(-20002,
            'INVALID_FILEHANDLE: The file handle was invalid.');
        when utl_file.invalid_operation then
            raise_application_error(-20003,
           'INVALID_OPERATION: The file could not be opened or
            operated on as requested.');
        when utl_file.read_error then
            raise_application_error(-20004,
           'READ_ERROR: An operating system error occurred during
            the read operation.');
        when utl_file.write_error then
            raise_application_error(-20005,
                'WRITE_ERROR: An operating system error occurred
                 during the write operation.');
        when utl_file.internal_error then
            raise_application_error(-20006,
                'INTERNAL_ERROR: An unspecified error in PL/SQL.');

  • Write records into a file

    CREATE OR REPLACE PROCEDURE test IS
        cursor    cur is
          select dname||';'||loc dnlo
          from   dept;
      rec          cur%ROWTYPE;
      v_returncode number;
    BEGIN
       open cur;
       loop
           fetch cur into rec;
           exit when cur%notfound;
           v_returncode:= write_file(rec.dnlo);
           dbms_output.put_line(rec.dnlo);
       end loop;
       close cur;
    END test;
    SQL> exec test
    ACCOUNTING;NEW YORK
    RESEARCH;DALLAS
    SALES;CHICAGO
    OPERATIONS;BOSTON
    SALES;LAS VEGAS
    PL/SQL-Prozedur wurde erfolgreich abgeschlossen.
    SQL> The program wrote 5 records into the file.txt (5 calls). Normally i must write
    at about 2 million records into the file. It is possible, to write the records into
    the file with one call, like a array or a ref_cursor (input parameter of the function write_file) instead of calling the function 2 millon times in a loop?
    Message was edited by:
    mad

    Couldn't help commenting cos that has got to be one of the best drive/folder name combinations I've seen in a long time. :))
    v_FileHandle:= UTL_FILE.FOPEN('s:\hit', v_FileName, p_FileModus, C_MAXLINESIZE);Seriously though, when working with UTL_FILE you should use directory objects to ensure proper security... note...
    The UTL_FILE_DIR parameter has been deprecated by oracle in favour of direcory objects because of it's security problems.
    The correct thing to do is to create a directory object e.g.:
    CREATE OR REPLACE DIRECTORY mydir AS 'c:\myfiles';Note: This does not create the directory on the file system. You have to do that yourself and ensure that oracle has permission to read/write to that file system directory.
    Then, grant permission to the users who require access e.g....
    GRANT READ,WRITE ON DIRECTORY mydir TO myuser;
    Then use that directory object inside your FOPEN statement e.g.
    fh := UTL_FILE.FOPEN('MYDIR', 'myfile.txt', 'r');Note: You MUST specify the directory object name in quotes and in UPPER case for this to work as it is a string that is referring to a database object name which will have been stored in uppercase by default.
    ;)

  • I want to write record type variable in ult file.How to i can write record type varable without column name.

    I want to write record type variable in ult file.How to i can write record type varable without column name.
    type rec_format_type is record
         format1  VARCHAR(3),
         format2  VARCHAR(3),
    my_record     rec_format_type;
    UTL_FILE.PUT_LINE(file_out, my_record);

    ibney wrote:
    I have below requirement.
    DECLARE
         emp_data UTL_FILE.FILE_TYPE;
    BEGIN
        emp_data := UTL_FILE.FOPEN ('EXDATAPUMP','TEST_BC_NN_PARALLEL.csv','W',32000);
        FOR TEST1 IN (SELECT /*+ PARALLEL(TEST_BC_NN,4) */  * FROM TEST_BC_NN) LOOP
            UTL_FILE.PUT_LINE (emp_data, TEST1);---Here i want to write record in utl file.without knowing the structure of table
        END LOOP;
        UTL_FILE.FCLOSE (emp_data);
    END;
    Why all the ugly upper case? You do realise that NO programming standard, ranging from Java and .Net, to C/C++ and Ada (of which PL/SQL is an implementation of), use upper-case-for-reserved-words as a standard.
    The easiest and simplest way to address your requirement is as follows:
    SQL> create or replace type TStringArray is table of varchar2(4000);
      2  /
    Type created.
    SQL>
    SQL>
    SQL> begin
      2          for c in(
      3                  select
      4                          TStringArray(
      5                                  to_char(empno,'000000'),
      6                                  ename,
      7                                  to_char(hiredate,'yyyy-mm-dd')
      8                          ) as COLS
      9                  from    emp
    10                  order by empno
    11          ) loop
    12                  for i in 1..c.Cols.Count loop
    13                          dbms_output.put( c.Cols(i) );   -- write column
    14                          if i < c.Cols.Count then
    15                                  dbms_output.put( '|' ); -- write column separator
    16                          end if;
    17                  end loop;
    18                  dbms_output.put_line( ' *end*' );               -- write record terminator
    19          end loop;
    20  end;
    21  /
    007369|SMITH|1980-12-17 *end*
    007499|ALLEN|1981-02-20 *end*
    007521|WARD|1981-02-22 *end*
    007566|JONES|1981-04-02 *end*
    007654|MARTIN|1981-09-28 *end*
    007698|BLAKE|1981-05-01 *end*
    007782|CLARK|1981-06-09 *end*
    007788|SCOTT|1987-04-19 *end*
    007839|KING|1981-11-17 *end*
    007844|TURNER|1981-09-08 *end*
    007876|ADAMS|1987-05-23 *end*
    007900|JAMES|1981-12-03 *end*
    007902|FORD|1981-12-03 *end*
    007934|MILLER|1982-01-23 *end*
    PL/SQL procedure successfully completed.
    SQL>

  • Write to measurement file at every n iterations

    Hi guys,
    I would like some help with saving data in labview 2010 SP1 (base development system). I am using a "Write to measurement fil express VI" inside a while loop and the data out from the DAQmn Read is wired to the signal in of the "Write to measurement fil express VI".
    The way I have wired it is the VI saves the data as a text file after it has recorded 100 samples (the nuber of samples to read in this case was set to 100). I would like to know if there is a way to control the rate at which the express VI saves the data. As in, I want the express VI to save the data at specified time interval or at every nth iteration. I have attached the main VI and its 2 sub-VIs for reference. Please let know if anyone can help me resolve this issue. Thank you for your time and inputs in this regard.
    Raj

    Robert,
    First, you must understand that the above code resides inside a loop. The blue square i terminal is known as the iteration terminal. It provides the current loop iteration count, starting from zero.
    The first input (x) to the Quotient & Remainder Function comes from this iteration count (i) terminal of the loop.
    The second input (y) to the Quotient & Remainder Function comes from the control N.
    We wish to write to the measurement file every N iterations of the loop. If we take our current iteration count (i) and divide by our desired N, every Nth iteration of the loop, the remainder will be zero. For all other iterations, the remainder will be non-zero.
    That being said, we check the remainder and compare it to zero. If it is zero, we will send a True value to the Enable terminal on the Write To Measurement File Express VI. Any time a True value is sent, we will write to file. Anytime a False value is sent, nothing will be written to the file.
    The green new_file input on the Write To Measurement File Express VI is used when the "Save to series of files (multiple files)" radio button is selected in the Configure dialog box of this Express VI. When "Save to one file" is selected, this option does not apply, and so it is not included in the input list, which is why you are not seeing this.
    This new_file input is used to tell the Write To Measurement File Express VI when to start writing to a new file.
     

  • HELP: Appending new records to File containing 1 Record

    Hi, im transferring records to a file, the first line of the file contains the headers (used 'NO END OF LINE'). The problem is that when I write the data records to the file, the first record continues from the end of the Headers line, hence i have a record missing in my statement. I want to append the records below the Headers line. I tried opening the dataset 'for appending' instead of 'for output' but I get the same result.
    lv_ds_name_ex  = Filename
    Code:
    Getting field descriptions to use as headers and tranferring to file
      open the dataset
      OPEN DATASET lv_ds_name_ex FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    CLEAR: lt_dfies.
      " Get field descriptions from settlement table
      CALL FUNCTION 'DDIF_FIELDINFO_GET'
        EXPORTING
          tabname   = 'zrl_generic_record'
        TABLES
          dfies_tab = lt_dfies.
    write column headers to the file
      LOOP AT lt_dfies.
        IF lt_dfies-scrtext_m = 'Char15'.
          IF lv_counter < 1.
            lt_dfies-scrtext_m = 'Remuneration Amount'.
            lv_counter = lv_counter + 1.
          ELSE.
            lt_dfies-scrtext_m = 'Commission Amount'.
          ENDIF.
        ENDIF.
        TRANSFER lt_dfies-scrtext_m  TO lv_ds_name_ex NO END OF LINE.
        TRANSFER ';' TO lv_ds_name_ex NO END OF LINE.
      ENDLOOP.
    Close  DATASET lv_ds_name_ex.
    Transferring data records to file
    open the dataset
      OPEN DATASET lv_ds_name_ex FOR APPENDING IN TEXT MODE ENCODING DEFAULT.
    write records to the file
      LOOP AT lt_generic_record_csv INTO ls_generic_record_csv.
            TRANSFER ls_generic_record_csv TO lv_ds_name_ex.
      ENDLOOP.
      "close the dataset
      CLOSE DATASET lv_ds_name_ex.

    Solution: TRANSFER " " TO lv_ds_name_ex. (This simply adds an empty line/record with an end of line) see code before closing the dataset 
    open the dataset
    OPEN DATASET lv_ds_name_ex FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    CLEAR: lt_dfies.
    " Get field descriptions from settlement table
    CALL FUNCTION 'DDIF_FIELDINFO_GET'
    EXPORTING
    tabname = 'zrl_generic_record'
    TABLES
    dfies_tab = lt_dfies.
    write column headers to the file
    LOOP AT lt_dfies.
    IF lt_dfies-scrtext_m = 'Char15'.
    IF lv_counter < 1.
    lt_dfies-scrtext_m = 'Remuneration Amount'.
    lv_counter = lv_counter + 1.
    ELSE.
    lt_dfies-scrtext_m = 'Commission Amount'.
    ENDIF.
    ENDIF.
    TRANSFER lt_dfies-scrtext_m TO lv_ds_name_ex NO END OF LINE.
    TRANSFER ';' TO lv_ds_name_ex NO END OF LINE.
    ENDLOOP.
    TRANSFER " " TO lv_ds_name_ex.
    Close DATASET lv_ds_name_ex.
    open the dataset
    OPEN DATASET lv_ds_name_ex FOR APPENDING IN TEXT MODE ENCODING DEFAULT.
    write records to the file
    LOOP AT lt_generic_record_csv INTO ls_generic_record_csv.
    TRANSFER ls_generic_record_csv TO lv_ds_name_ex.
    ENDLOOP.
    "close the dataset
    CLOSE DATASET lv_ds_name_ex.
    Edited by: Daniel Lebotse on May 15, 2008 5:42 PM

  • How to put the proper header at each column in write to measurement file (.lvm) ?

    Hi,
           i would like to know one thing about the write to measurement file. Can i put the proper header at each column in write to measurement file (.lvm) ? and how can i do for it ? Could you show me a way to make it ?
    i am looking forward your kindly reply.
    thank you so much ..
    best regard,
    roxy

    Hi Mike,
                  Thank you very much for your help. It works .
    By the way, i would like to ask you about setting time interval. In the pic, X_Value column is for time column
    i would like to ask that when i use the write to measurement file, there got the x column that show time inside the excel file. In this column, i would like to set the time interval at every 210ms .The data may come in every msec but i just want to record the data at every 210ms .  for example, 210ms-420ms-630ms ..etc. how can i set it ?
    One more thing .. can i do it in graph as well ?
    i am looking forward your kindly reply.
    Thank you for your time.
    Best Regard,
    Roxy

  • How to read from BLOB and Write to a file in user readable format.

    Hi,
         I am trying to read from a BLOB column and write the content to a file in user readable format. So far I was able to read the Blob column using dbms_lob, but not able to write to a file. Kindly let me know the method to do this.

    Hi, with this Java Code from Oracle Technet it's a easy thing:
    // classpath= /ORACLE/u01/app/oracle/product/10.2.0.3/jdbc/lib/ojdbc14.jar
    // Java SQL classes
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    // Oracle JDBC driver class
    import oracle.jdbc.OracleDriver;
    // Java IO classes
    import java.io.IOException;
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    //Java Util classes
    import java.util.Properties;
    * This class demonstrates the Oracle JDBC 10g enhanced features for inserting
    * and retrieving CLOB data from the database. Using the new features, large
    * data of more than 32765 bytes can be inserted into the database using the
    * existing PreparedStatement.setString() and PreparedStatement.getString()
    * methods.
    public class ClobMan {
    /* Database Connection object */
    private Connection conn = null;
    /* Variables to hold database details */
    private String url = null;
    private String user = null;
    private String password = null;
    // Create a property object to hold the username, password and
    // the new property SetBigStringTryClob.
    private Properties props = new Properties();
    /* String to hold file name */
    private String fileName = null;
    * Default Constructor to instantiate and get a handle to class methods
    * and variables.
    public ClobMan(String fileName) {
    this.fileName = fileName;
    * Main runnable class.
    public static void main(String[] args) throws SQLException {
    // Instantiate the main class.
    ClobMan clobMan = new ClobMan(args[0]);
    // Load the Oracle JDBC driver class.
    DriverManager.registerDriver(new OracleDriver());
    // Load the database details into the variables.
    String dbUrl = "jdbc:oracle:thin:@pmol:1550:dbpmol";
    clobMan.url = dbUrl;
    clobMan.user = "gh10";
    clobMan.password = "secret";
    // Populate the property object to hold the username, password and
    // the new property 'SetBigStringTryClob' which is set to true. Setting
    // this property allows inserting of large data using the existing
    // setString() method, to a CLOB column in the database.
    clobMan.props.put("user", clobMan.user );
    clobMan.props.put("password", clobMan.password);
    clobMan.props.put("SetBigStringTryClob", "true");
    // Check if the table 'CLOB_TAB' is present in the database.
    //clobMan.checkTables();
    // Call the methods to insert and select CLOB from the database.
    //clobMan.insertClob();
    clobMan.selectClob();
    * This method will insert the data into a CLOB column in the database.
    * Oracle JDBC 10g has enhanced the existing PreparedStatement.setString()
    * method for setting the data more than 32765 bytes. So, using setString(),
    * it is now easy to insert CLOB data into the database directly.
    private void insertClob() throws SQLException {
    // Create a PreparedStatement object.
    PreparedStatement pstmt = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query to insert data into the CLOB column in the database.
    String sql = "INSERT INTO clob_tab VALUES(?)";
    // Read a big file(larger than 32765 bytes)
    String str = this.readFile();
    // Create the OraclePreparedStatement object
    pstmt = conn.prepareStatement(sql);
    // Use the same setString() method which is enhanced to insert
    // the CLOB data. The string data is automatically transformed into a
    // clob and inserted into the database column. Make sure that the
    // Connection property - 'SetBigStringTryClob' is set to true for
    // the insert to happen.
    pstmt.setString(1,str);
    // Execute the PreparedStatement
    pstmt.executeUpdate();
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and inserting into " +
    "the database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and inserting into the" +
    " database table: " + ex.toString());
    } finally {
    // Close the Statement and the connection objects.
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * This method reads the CLOB data from the database by using getString()
    * method.
    private void selectClob() throws SQLException {
    // Create a PreparedStatement object
    PreparedStatement pstmt = null;
    // Create a ResultSet to hold the records retrieved.
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create SQL query statement to retrieve records having CLOB data from
    // the database.
    String sqlCall = "SELECT rownum, name, sourcetext FROM t_source";
    pstmt= conn.prepareStatement(sqlCall);
    // Execute the PrepareStatement
    rset = pstmt.executeQuery();
    String rownum = null;
    String o_name =null;
    String clobVal = null;
    // Get the CLOB value from the resultset
    //java.io.BufferedWriter out = new java.io.BufferedWriter(new java.io.FileWriter("pr_all.sql"));
    while (rset.next()) {
    rownum = rset.getString(1);
         o_name = rset.getString(2);
         clobVal = rset.getString(3);
    System.out.println(" length: "+clobVal.length()+" "+o_name+" "+rownum);
         java.io.BufferedWriter out =
         new java.io.BufferedWriter(new java.io.FileWriter(o_name+".prc"));
         out.write(clobVal);
         out.newLine();
         out.write("/");
         out.newLine();
         out.newLine();
    out.flush();
    out.close();
    } catch (SQLException sqlex) {
    // Catch Exceptions and display messages accordingly.
    System.out.println("SQLException while connecting and querying the " +
    "database table: " + sqlex.toString());
    } catch (Exception ex) {
    System.out.println("Exception while connecting and querying the " +
    "database table: " + ex.toString());
    } finally {
    // Close the resultset, statement and the connection objects.
    if (rset !=null) rset.close();
    if (pstmt!=null) pstmt.close();
    if (conn!=null) conn.close();
    * Method to check if the table ('CLOB_TAB') exists in the database; if not
    * then it is created.
    * Table Name: CLOB_TAB
    * Column Name Type
    * col_col CLOB
    private void checkTables() {
    Statement stmt = null;
    ResultSet rset = null;
    try {
    // Create the database connection, if it is closed.
    if ((conn==null)||conn.isClosed()){
    // Connect to the database.
    conn = DriverManager.getConnection( this.url, this.props );
    // Create Statement object
    stmt = conn.createStatement();
    // Check if the table is present
    rset = stmt.executeQuery(" SELECT table_name FROM user_tables "+
    " WHERE table_name = 'CLOB_TAB' ");
    // If the table is not present, then create the table.
    if (!rset.next()) {
    // Table does not exist, create it
    stmt.executeUpdate(" CREATE TABLE clob_tab(clob_col CLOB)");
    } catch (SQLException sqlEx) {
    System.out.println("Could not create table clob_tab : "
    +sqlEx.toString());
    } finally {
    try {
    if( rset != null ) rset.close();
    if( stmt != null ) stmt.close();
    if (conn!=null) conn.close();
    } catch(SQLException ex) {
    System.out.println("Could not close objects in checkTables method : "
    +ex.toString());
    * This method reads the specified text file and, returns the content
    * as a string.
    private String readFile()
    throws FileNotFoundException, IOException{
    // Read the file whose content has to be passed as String
    BufferedReader br = new BufferedReader(new FileReader(fileName));
    String nextLine = "";
    StringBuffer sb = new StringBuffer();
    while ((nextLine = br.readLine()) != null) {
    sb.append(nextLine);
    // Convert the content into to a string
    String clobData = sb.toString();
    // Return the data.
    return clobData;
    }

  • Write to measurement file timing

    I am trying to make a VI that allows the user to turn on and name channels through the front panel. After the user has configured the channels, they can push a button and record voltages from the enabled channels and save them using the "Write to Measurement File".vi.  I would like the user to be able to record a measurement file that is consistent in length each time they push the button...in this case, 5 seconds of data.  The current VI doesn't appear to be doing this...everytime I push the record button, the data gets recorded for 0.045 seconds.  Apparently I must be missing something as this isn't behaving how I expected it to.  See attached VI.
    Attachments:
    Select Channel rev 3.vi ‏244 KB

    It waits 5 seconds then saves the last 10 samples.  Because that is the way you programmed it.  The while loop returns only the data from the last iteration.
    Two ways to do what you want: 1. Read 5 seconds * 200 samples/second = 1000 samples.  No loop required.
    2. Read 10 samples at a time and accumulate the data until you have 5 seconds of data.  To avoid memory reallocations the way to do this is to Initialize an array with 1000 elements outside the loop. Wire it to a shift register.  Inside the loop Read the samples and use Replace Array Subset to put the new data into the initialized array. Wire the output of the shift register to the file VI.
    You generally should not put any time consuming code inside an event structure.  Read the caveats in the detailed help for the event structure.  Consider a Producer/Consumer architecture.
    Lynn

  • Write to text file (including spaces/next line) using oracle??

    How to write to text file using oracle? And how do I handle spaces/next line? (i was trying to use spaces(ch(32)), however it is just converted into squares in the text file.) thanks!

    989873 wrote:
    How about tabs?It does not matter what character it is. UTL_FILE deals correctly with any text file. Tabb is CHR(9):
    SQL> declare
      2       v_file utl_file.file_type;
      3       v_total_rec number := 0;
      4       v_total_sal number := 0;
      5  begin
      6      v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','w');
      7      for v_rec in (select * from emp) loop
      8        v_total_rec := v_total_rec + 1;
      9        v_total_sal := v_total_sal + v_rec.sal;
    10        UTL_FILE.PUT_LINE(
    11                          v_file,
    12                          lpad(v_rec.deptno,2) || chr(9) || rpad(v_rec.ename,14) || chr(9) || to_char(v_rec.sal,'99999D99')
    13                         );
    14      end loop;
    15      UTL_FILE.PUT_LINE(v_file,'Total Salary:' || chr(9) || v_total_sal);
    16      UTL_FILE.PUT_LINE(v_file,'Total Records:' || chr(9) || v_total_rec);
    17      UTL_FILE.FCLOSE(v_file);
    18  end;
    19  /
    PL/SQL procedure successfully completed.
    SQL> declare
      2       v_file utl_file.file_type;
      3       v_line varchar2(100);
      4  begin
      5      v_file := UTL_FILE.FOPEN('TEMP','TEST.TXT','r');
      6      loop
      7        UTL_FILE.GET_LINE(v_file,v_line);
      8        DBMS_OUTPUT.PUT_LINE(v_line);
      9      end loop;
    10    exception
    11      when no_data_found
    12        then
    13          UTL_FILE.FCLOSE(v_file);
    14  end;
    15  /
    20      SMITH              800.00
    30      ALLEN             1600.00
    30      WARD              1250.00
    20      JONES             2975.00
    30      MARTIN            1250.00
    30      BLAKE             2850.00
    10      CLARK             2450.00
    20      SCOTT             3000.00
    10      KING              5000.00
    30      TURNER            1500.00
    20      ADAMS             1100.00
    30      JAMES              950.00
    20      FORD              3000.00
    10      MILLER            1300.00
    Total Salary:   29025
    Total Records:  14
    PL/SQL procedure successfully completed.
    SQL>SY.

  • Strange data saved by write to measurment file

    Hi all,
    I have developed a simple program that permits to visualize data from a channel, but it records data, just when the saving data button is pressed. Data are saved through write to measurment file, but unfortunately there is something wrong since the saved data is strange. In the attachment there are the VI file and the saved data.
    As you can see there are several header and dates are strange (i.e. the saving date is 23/12/1916) and I get much more sample than I should have. Why do I get this?
    Any suggestion is appreciated.
    23/12/1916
    Solved!
    Go to Solution.
    Attachments:
    simulated_data.xlsx ‏1426 KB
    read a channel and save data.vi ‏63 KB

    Your many headers may be because of this:
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • RSEOUT00 failing with "Could not write IDoc to file" TPRI_DEF table

    Outbound Idoc processing fail with the following error:
    Could not write IDoc to file
    Message no. EA299
    Diagnosis
    The system could not convert data from the data record 000027.
    Procedure
    Check the port definition of the receiver port.
    You can use the "Continue despite conversion error" option to write the IDoc to the file from transaction BD87 with replacement characters.
    Short dump indicate that there is a some junk character in th e TPRI_DEF for program SAPLSPRI that it is unable to convert.
    I have set the flag on the we21 port to "continue despite conversion error" and that seem to help, but I would like to figure out how to fix the junk characters from coming through from the TPRI_DEF table.  
    This is what shows up in the short dump after RSEOUT00 is run.
    TPRI_DEF                                   /  /       :  :     00002932
        010GV21            \0\0\0\0\x0006āȂ耀㐱〲\0\0嬇\0ሟ鴂푎眩\x0802儔잏퉓
    I do not see any entries for area "GV" in the table, there is one for "GF".  which has no user assigned to it and it is of key version 21.
    I am not sure if the table is supposed to have an entry with no user assigned?
    thank you for looking at this issue .

    HI Jurgen,
    we have the same issue, chinese charecter is in PO text header. so facing error. If we click unicode format then it works fine as my testing in development.
    I just want to knom what is the impact if i clicked directly unicode format ?( with refernce to your reply above " have you set the Unicode format flag directly above in WE21?" )
    I doc is going from SAP sytem - (PO information )
    Pls adivce..
    waiting for your reply..
    Thanks in advance

  • Write measuremen​t files filesize

    Hello,
    i record a lot of data from my plc and want to write it to a measurement file in tdms format.
    the problem is the files are very big, if i use the "write to measurement file"-express-vi.
    If i use the"TDMS Write"-Function instead the files are much smaller, with nearly the same settings.
    Is there a way to use the Express-VI with the same effiency if i would use the "TDMS Write"-Function?
    Why are the files so big if i the express-vi?
    Solved!
    Go to Solution.

    manuwestern wrote:
    I doesn't work, or is it wrong?
    You needed to use a shift register to hold your Signals.  Then it keeps the values you added between iterations.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Write an excel file using File adapter

    Hi,
    I have a scenario in which i have to write an excel file in the target system.
    I tried creating a tab delimited file conversion and just named the file as .xls.
    When i saw the output file it did look like a excel but a report that i have written to read a excel file cant read it.
    The report says 0 records found. It works for other excel sheets that are created manually.
    So will this method noit work for creating excel files?
    Is using the jexcel api the only option for this?

    Have u had a chance to see this excellent blog by shabarish...
    chekc this
    /people/shabarish.vijayakumar/blog/2009/04/05/excel-files--how-to-handle-them-in-sap-xipi-the-alternatives
    http://wiki.sdn.sap.com/wiki/display/XI/CODE-CreateanExcelFileviatheJExcel+API

Maybe you are looking for