Logging data in a file using Labview VIs vs. Mathscript functions.

Hello,
 I'm working on a data logger at 200 Hz frequency. I wanted to log the data to a file after eace sample received. When I used (fopen,fprintf,....) on Mathscript, the Labview started to log the data at a slower rate. I then used the Labview file VIs and it is working fine up till now.
My questions are as follows:
1- Are the file functions in the Mathscript slower than the Labview VIs ?
2- Is saving the data to a file after each sample is received a good idea or is there a better idea ? I just don't want to keep the data in the memory and after all the data is logged, I flush them to a file ... because, it seems that the PC will run out of memory.
Thank you,
 Walid

wfarid wrote:
Hello,
 I'm working on a data logger at 200 Hz frequency. I wanted to log the data to a file after eace sample received. When I used (fopen,fprintf,....) on Mathscript, the Labview started to log the data at a slower rate. I then used the Labview file VIs and it is working fine up till now.
My questions are as follows:
1- Are the file functions in the Mathscript slower than the Labview VIs ?
Yes. That's because you're going through another layer of software. Why were you trying to use MathScript to log data to file in the first place? Are you a Matlab "aficionado"? 
2- Is saving the data to a file after each sample is received a good idea or is there a better idea ? I just don't want to keep the data in the memory and after all the data is logged, I flush them to a file ... because, it seems that the PC will run out of memory.
It doesn't make sense to save data after each sample. File I/O is an expensive operation in terms of time, and you have the operating system to deal with, so while you may be able to keep up the rate for some time, eventually it will be thrown off. You can do as suggested which is to wait until you have a certain amount and then write that to file, or you can set up a producer-consumer or master-slave architecture. Let one process/loop collect the data and put into a buffer, like a queue, and the other process/loop can stream it to disk at a more reasonable rate. You just have to make sure the buffer is large enough so that if the file I/O gets hung up you won't reach the buffer's limit.

Similar Messages

  • I have written a binary file with a specific header format in LABVIEW 8.6 and tried to Read the same Data File, Using LABVIEW 7.1.Here i Found some difficulty.Is there any way to Read the Data File(of LABVIEW 8.6), Using LABVIEW 7.1?

    I have written a binary file with a specific header format in LABVIEW 8.6 and tried  to Read the same Data File, Using LABVIEW 7.1.Here i Found some difficulty.Is there any way to Read the Data File(of LABVIEW 8.6), Using LABVIEW 7.1?

    I can think of two possible stumbling blocks:
    What are your 8.6 options for "byte order" and "prepend array or string size"?
    Overall, many file IO functions have changed with LabVIEW 8.0, so there might not be an exact 1:1 code conversion. You might need to make some modifications. For example, in 7.1, you should use "write file", the "binary file VIs" are special purpose (I16 or SGL). What is your data type?
    LabVIEW Champion . Do more with less code and in less time .

  • How to read and write data from Excel to TestStand without using LabVIEW VIs

    Hi,
    How can I read in columns of data from Excel into a TestStand array and write columns of data to Excel from TestStand without using LabVIEW VIs?
    I don't think the Property Loader custom step type in TestStand will work because the data I would like to read in from Excel is in a column that is thousands of rows long and the data has to be in the proper format to use the Property Loader to load in an array from Excel.
    Thanks for your help.

    That example does not use LabVIEW and it does about 40% of what you need to do by calling Excel through ActiveX. If you don't know how to use Excel through ActiveX then you'll need to brush up on that.
    http://www.microsoft.com/en-us/download/details.aspx?id=16250
    http://support.microsoft.com/kb/141759
    http://support.microsoft.com/kb/302084
    CTA, CLA, MTFBWY

  • Is it possible to overwirte data in a *.pdf file using LabVIEW??

    hi,
    i have a requirement to overwrite a pdf file using LabVIEW, i have to use coloring text also.
    i have downloaded Exaprom PDF 1.0 toolkit. but it is to generate a new pdf file.
    please suggest ideas
    regards
    phani srikanthSpell Check
    phani srikanth

    Modifying an existing PDF file is several magnitues more complicated than creating one from scratch. The PDF standard is VERY complicated and contains a myriad of features with their specific syntax elements. In order to modify an existing PDF you have to be able to understand every syntax element that occures in the PDF, or you may end up corrupting the file.
    When you create a new PDF you can pick out the syntax elements that your tool supports and forget about the 95 other procent.
    There are many PDF Toolkits than can create PDF files, a few that can open PDF files and present them, and almost none that can edit them. The Adobe PDF Editor being one of the few that can do that, but nobody is going to give away such a Toolkit for free.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Deleting a column in a text file using LabVIEW

    Hello all,
    I'm trying to delete the first column of my tab delimited text file using LabVIEW and then save it under the same file name.  Can someone show me a quick way to perform this operation.  Is this even possible with LabVIEW?  Any help would be much appreciated.
    My purpose is to automate this operation for hundreds of daily text files containing data that needs processing.  I'm currently using LabVIEW 8.2.
    Thanks!
    -noviceLabVIEWuser

    If the file is relatively small:
    Read the file using the Read from Spreadsheet File VI to get 2D array.
    Remove the column from the 2D array.
    Write out new 2D array to new file using Write to Spreadsheet File VI.
    If the file is relatively large then you will likely run into memory issues. In this case you will need to read the file in chunks. You can decide how many lines to read at a time. Use a for-loop that's set to run for the number of chunks to read (based on the total number of lines and the number of lines you want to read at a time). Hint: Quotient & Remainder function. In the loop use the Read Text File VI to read your set number of lines. Convert the lines to a 2D array delete your column, and write out that chunk of data to the new file. Rinse and repeat.

  • Is it possible to integrate a mentor graphics drawing file using labview or any labview toolkit..!!!

    I m having a mentor graphics drawing file having drawn with the components like resistor,capacitors etc..I need to develop an application to interface to the file using labview or adding a toolkit to labview to access the components like resistors etc .Can any body  help me about this....?
    Thanks in advance...!
    Certified Labview Associate Developer(CLAD)
    Don't Forget to Rate the answers.!!! You can do it in few seconds

    Hi Lynn ,
    Basically i want to read the mentor graphics drawing file data in a labview front panel, so that i can display the components as we see in the mentor graphics development enviornement and should be able to click on the components to perform the tests associated with the same.For this,i think i need to have the BOM kind of data only as i need the components data associated with the drawing file,after this i would create a custom control for each and every component and then call the tests associated with it as soon as the user clicks on the same.I hope you understand my requirements.
    Thanks & regards,
    Dinesh Kumar
    Certified Labview Associate Developer(CLAD)
    Don't Forget to Rate the answers.!!! You can do it in few seconds

  • How to create and read text file using LabVIEW 7.1 PDA module?

    How to create and read text file using LabVIEW 7.1 PDA module? I can not create a text file and read it.
    I attach my code here.
    Attachments:
    File_IO.vi ‏82 KB

    Well my acquisition code runs perfect. The problem is reading it. I can't seem to read my data no matter what I do. My data gets saved as a string using the array to string vi but I've read that the string to array vi (which I need to convert back to array to read my data) does not work on the pda. I'm using version 8.0. So I was trying to modify the program posted in this discussion so that it would save data from my DAQ. I did that but I still can't read the data after its saved. I really don't know what else to do. All I need to do is read the data on the pda itself. I can't understand why I'm having such a hard time doing that. I found a possible solution on another discussion that talks about parsing the strings because of the bug in the "string to array" vi. However, that lead me to another problem because for some reason, the array indicators or graphs don't function on the pda. When i build the program to the pda or emulator, the array indicators are faded out on the front panel as if the function is not valid. Does this kind of help give a better picture of what I'm trying to do. Simply read data back. Thanks.

  • Read data from XML file to LabVIEW

    I am writing LabVIEW front panel objects data to an XML file using LabVIEW 6.1 VI. Now, I want to read that XML file in another VI objects. How can I do this?
    Attachments:
    test.xml ‏1 KB
    Write_to_XML.vi ‏1 KB

    LV version 6.1 has tools for both reading and writing XML files. Check the examples, you should find your answer there.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Not able to extract performance data from .ETL file using xperf commands. getting error "Events were lost in this trace. Data may be unreliable ..."

    Not able to extract  performance data from .ETL file using xperf commands.
    Xperf Commands:
    xperf –i C:\TempFolder\Test.etl -o C:\TempFolder\BootData.csv  –a process
    Getting following error after executing above command:
    "33288636 Events were lost
    in this trace. 
    Data may be unreliable
    This is usually caused
    by insufficient disk bandwidth for ETW lo
    gging.
    Please try increasing the minimum
    and maximum number of buffers
    and/or
                    the buffer size. 
    Doubling these values would be a good first at
    tempt.
    Please note, though, that
    this action increases the amount of me
    mory
                    reserved
    for ETW buffers, increasing memory pressure on your sce
    nario.
    See "xperf -help start"
    for the associated command line options."
    I changed page size file but its does not work for me.
    Any one have idea, how to solve this problem and extract ETL file data.

    I want to mention one point here. I have total 4 machines out of these 3 machines above
    commands working properly. Only one machine has this problem.<o:p></o:p>
    Hi,
    I consider that you can try to use xperf to collect the trace etl file and see if it can be extracted on this computer:
    Refer to following articles:
    start
    http://msdn.microsoft.com/en-us/library/windows/hardware/hh162977.aspx
    Using Xperf to take a Trace (updated)
    http://blogs.msdn.com/b/pigscanfly/archive/2008/02/16/using-xperf-to-take-a-trace.aspx
    Kate Li
    TechNet Community Support

  • How to increase the speed of video (avi file) using labview

    How to increase the speed of video (.avi file) using labview? I have  tried this by skiping alternate frames. also I have used  minimum time delay.Is there  any other option for which i can go?
    please suggest me........... 

    Are you using NI Vision IMAQ AVI Read Frame or anther method to read the AVI file?
    Matthew Fitzsimons
    Certified LabVIEW Architect
    LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison

  • Creating data and .par files using SWIFT Integration Package

    Hi,
    I have a requirement to generate a data and .par file using SAP PI Integration package for SWIFT.
    I am following the SAP Note: 1303428.
    I have created 1 sender and 2 receiver comm channels(one for payload and other for par). Used operation mapping SWIFT_payload_parFile_split in the Interface determination.
    I am using the adapter module : localejbs/swift/FileActConversionToSWIFTModule and setting the parameter DetachParameters to true. This adapter module is being used in all the three channels(1 sender and 2 receivers).
    I have used ASMA ans has set the FileName checkbox.
    Now after placing the file in the input directory, the file with the same name gets created in the output directory but the file is exactly same and also no .par file is getting created. I have set the Empty file handling to Ignore, so it shows that there is no data to  create a .par file and only payload file is getting created but the payload file is exactly same.
    Also if I use the adapter module : localejbs/swift/FileActConversionToSWIFTModule in only the sender communication channel, a payload file gets created like below.
    <?xml version="1.0" encoding="UTF-8"?>
    -<ns1:SWIFT_payload xmlns:ns1="http://sap.com/xi/SWIFT"><payload>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPEZpbGU+CiA8UGFyYW1ldGVycyB4bWxucz0idXJuOnN3aWZ0OnNhZzp4c2Q6ZnRhLnBhcmFtLjEuMCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+CiAgPE92ZXJyaWRlcz4KICAgPFJlc3BvbmRlcj5jbj1jZngsb3U9bmEsbz1jaXRpZ2IybCxvPXN3aWZ0PC9SZXNwb25kZXI+CiAgIDxTZXJ2aWNlPnN3aWZ0LmNvcnAuZmEhcDwvU2VydmljZT4KICAgPFJlcXVlc3RUeXBlPnBhaW4uMDAxLjAwMS4wMzwvUmVxdWVzdFR5cGU+CiAgIDxUcmFuc2ZlckRlc2NyaXB0aW9uPkIwNDExMC1CYXRjaDE3ODc8L1RyYW5zZmVyRGVzY3JpcHRpb24+CiAgIDxUcmFuc2ZlckluZm8+QjA0MTEwLUJhdGNoMTc4NzwvVHJhbnNmZXJJbmZvPgogICA8RmlsZURlc2NyaXB0aW9uPjIwNzY4PC9GaWxlRGVzY3JpcHRpb24+CiAgIDxGaWxlSW5mbz5Td0NvbXByZXNzaW9uPW5vbmU8L0ZpbGVJbmZvPgogICA8Tm9uUmVwdWRpYXRpb24+VFJVRTwvTm9uUmVwdWRpYXRpb24+CiAgIDxTaWduPlRSVUU8L1NpZ24+CiAgIDxQcmlvcml0eT5Ob3JtYWw8L1ByaW9yaXR5PgogIDwvT3ZlcnJpZGVzPgogPC9QYXJhbWV0ZXJzPgogPERvY3VtZW50IHhtbG5zPSJ1cm46aXNvOnN0ZDppc286MjAwMjI6dGVjaDp4c2Q6cGFpbi4wMDEuMDAxLjAzIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4KICA8Q3N0bXJDZHRUcmZJbml0bj4KICAgPEdycEhkcj4KICAgIDxNc2dJZD4xMDAwMzI4MTE1PC9Nc2dJZD4KICAgIDxDcmVEdFRtPjIwMTQtMDMtMjhUMTk6MjY6Mzc8L0NyZUR0VG0+CiAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgPEN0cmxTdW0+NTkwLjAwPC9DdHJsU3VtPgogICAgPEluaXRnUHR5PgogICAgIDxObT5BTEVYSU9OIElOVC4gU0FSTDwvTm0+CiAgICAgPElkPgogICAgICA8T3JnSWQ+CiAgICAgICA8QklDT3JCRUk+QUxYTlVTMjBYWFg8L0JJQ09yQkVJPgogICAgICA8L09yZ0lkPgogICAgIDwvSWQ+CiAgICA8L0luaXRnUHR5PgogICA8L0dycEhkcj4KICAgPFBtdEluZj4KICAgIDxQbXRJbmZJZD4xMDAwMzI4MTE1PC9QbXRJbmZJZD4KICAgIDxQbXRNdGQ+VFJGPC9QbXRNdGQ+CiAgICA8QnRjaEJvb2tnPmZhbHNlPC9CdGNoQm9va2c+CiAgICA8TmJPZlR4cz4xPC9OYk9mVHhzPgogICAgPEN0cmxTdW0+NTkwLjAwPC9DdHJsU3VtPgogICAgPFBtdFRwSW5mPgogICAgIDxJbnN0clBydHk+Tk9STTwvSW5zdHJQcnR5PgogICAgIDxTdmNMdmw+CiAgICAgIDxDZD5TRVBBPC9DZD4KICAgICA8L1N2Y0x2bD4KICAgIDwvUG10VHBJbmY+CiAgICA8UmVxZEV4Y3RuRHQ+MjAxNC0wMy0yOTwvUmVxZEV4Y3RuRHQ+CiAgICA8RGJ0cj4KICAgICA8Tm0+QUxYTiBCRU5FTFVYIEJWIE5MIEJSQU5DSDwvTm0+CiAgICAgPFBzdGxBZHI+CiAgICAgIDxTdHJ0Tm0+U3RyYWF0PC9TdHJ0Tm0+CiAgICAgIDxUd25ObT5OZXRoZXJsYW5kczwvVHduTm0+CiAgICAgIDxDdHJ5Pk5MPC9DdHJ5PgogICAgIDwvUHN0bEFkcj4KICAgICA8Q3RyeU9mUmVzPk5MPC9DdHJ5T2ZSZXM+CiAgICA8L0RidHI+CiAgICA8RGJ0ckFjY3Q+CiAgICAgPElkPgogICAgICA8SUJBTj5OTFhYQU5CQTEyMzAwNDU2NzY3ODkwPC9JQkFOPgogICAgIDwvSWQ+CiAgICAgPENjeT5FVVI8L0NjeT4KICAgIDwvRGJ0ckFjY3Q+CiAgICA8RGJ0ckFndD4KICAgICA8RmluSW5zdG5JZD4KICAgICAgPEJJQz5BQk5BTkwyWFhYWDwvQklDPgogICAgICA8UHN0bEFkcj4KICAgICAgIDxDdHJ5Pk5MPC9DdHJ5PgogICAgICA8L1BzdGxBZHI+CiAgICAgPC9GaW5JbnN0bklkPgogICAgPC9EYnRyQWd0PgogICAgPENocmdCcj5TTEVWPC9DaHJnQnI+CiAgICA8Q2R0VHJmVHhJbmY+CiAgICAgPFBtdElkPgogICAgICA8RW5kVG9FbmRJZD5OTDEyMzAwNDAwMDAwMDwvRW5kVG9FbmRJZD4KICAgICA8L1BtdElkPgogICAgIDxBbXQ+CiAgICAgIDxJbnN0ZEFtdCBDY3k9IkVVUiI+NTkwLjAwPC9JbnN0ZEFtdD4KICAgICA8L0FtdD4KICAgICA8Q2R0ckFndD4KICAgICAgPEZpbkluc3RuSWQ+CiAgICAgICA8QklDPkFCTkFOTFhYWFhYPC9CSUM+CiAgICAgICA8Q2xyU3lzTW1iSWQ+CiAgICAgICAgPE1tYklkPjAwMzwvTW1iSWQ+CiAgICAgICA8L0NsclN5c01tYklkPgogICAgICAgPE5tPkFCTiBBbXJvPC9ObT4KICAgICAgIDxQc3RsQWRyPgogICAgICAgIDxDdHJ5Pk5MPC9DdHJ5PgogICAgICAgPC9Qc3RsQWRyPgogICAgICA8L0Zpbkluc3RuSWQ+CiAgICAgPC9DZHRyQWd0PgogICAgIDxDZHRyPgogICAgICA8Tm0+QUxYTiBOTCBEb21lc3RpYyBWZW5kb3I8L05tPgogICAgICA8UHN0bEFkcj4KICAgICAgIDxDdHJ5Pk5MPC9DdHJ5PgogICAgICA8L1BzdGxBZHI+CiAgICAgIDxJZD4KICAgICAgIDxPcmdJZD4KICAgICAgICA8T3Rocj4KICAgICAgICAgPElkPjAwMTUwMDAxOTc8L0lkPgogICAgICAgIDwvT3Rocj4KICAgICAgIDwvT3JnSWQ+CiAgICAgIDwvSWQ+CiAgICAgPC9DZHRyPgogICAgIDxDZHRyQWNjdD4KICAgICAgPElkPgogICAgICAgPElCQU4+TkwxMjAwMzA0NTY3ODkxMjAwMDA8L0lCQU4+CiAgICAgIDwvSWQ+CiAgICAgIDxDY3k+RVVSPC9DY3k+CiAgICAgIDxObT5BTFhOIE5MIERvbWVzdGljIFZlbmRvcjwvTm0+CiAgICAgPC9DZHRyQWNjdD4KICAgICA8Um10SW5mPgogICAgICA8VXN0cmQ+L1BNREQvVEVTVDY4MSw1OTAuMDAsRVVSLDIwMTQwMzI8L1VzdHJkPgogICAgIDwvUm10SW5mPgogICAgPC9DZHRUcmZUeEluZj4KICAgPC9QbXRJbmY+CiAgPC9Dc3RtckNkdFRyZkluaXRuPgogPC9Eb2N1bWVudD4KPC9GaWxlPgo=</payload></ns1:SWIFT_payload>
    But while creating the par file, it shows that the file could not be overwritten and so the .par file is not getting created.
    I need to understand that:
    1)  How do I configure both of my receiver channels i.e. what should be the difference. Currently, I am just setting the
    same Output directory in both and file name schema * and has used ASMA with FileName parameter. So same name files are getting created and so one file gets discarded. How to create a .par file.
    2) Also Is the file above is the correct file required by SWIFT.
    3) Also when I check in SXMB_MONI, I can see that after running the adapter module same payload as given above is going in both payload and par files i.e. also if I am using different names in my receiver communication channels two files are getting created payload and par both are having the same payload. So what exactly should get created.
    Kindly guide on this implementation.

    Hi,
    I am able to generate the .par file by setting the localsecurity to true and the KeyId from the key manager.
    Now two files are getting created .xml and .par. .xml file which is the payload file is the same as the input file with no difference and contains both the overrides and the data parameters. The .par file contains the Algorithm and the Value.
    Is this correct?
    Also suppose the input file name is SEPA.xml, then the payload file is created with the name as
    SEPA.xml and the par file is created with the name SEPA.xml.par. I need only SEPA.par. How to achieve this.

  • Communicating USB using Labview VISA

    I have a USB RAW device that I am trying to communicate with using labview VISA. I have had success with setting up the driver and I am able to get information from the device such as serial number, etc. When I try to use the VISA read and write commands, I have no success getting the information I want. The commands are simple: R SP<CR><LF> is a read set point command. The only thing I do get back for every command I try, is a 2 byte message "01 60"hex.
    If you have any suggestions, I would appreciate it, thanks!
    [email protected]

    Hello Chris, I do not receive any errors and yes, I am including the termination characters in the string.
    Here is what I get when I use a USB port monitor when I send out this string.
    Thanks!!
    [94] URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER (SUCCESS/0x00000000) 20101119150318.131 (+0)
    Pipe handle: 0x87696D6C
    Transfer flags: 0x00000002 (USBD_SHORT_TRANSFER_OUT, USBD_SHORT_TRANSFER_OK)
    Transfer buffer MDL: 0x88C47208
    Transfer buffer length: 6
    Bytes transferred
    0x0000: 52 20 53 50 0D 0A (R SP.. )
    [94] URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER (SUCCESS/0x00000000) 20101119150318.147 (+16)
    IRP status: 0x00000000 (STATUS_SUCCESS)
    Pipe handle: 0x87696D6C
    Transfer flags: 0x00000002 (USBD_SHORT_TRANSFER_OUT, USBD_SHORT_TRANSFER_OK)
    Transfer buffer MDL: 0x88C47208

  • How to write data to text file using external tables

    can anybody tell how to write data to text file using external tables concept?

    Hi,
    Using external table u can load the data in your local table in database,
    then using your local db table and UTL_FILE pacakge u can wrrite data to text file
    external table
    ~~~~~~~~~~~
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2153251
    UTL_FILE
    ~~~~~~~~~
    http://download-east.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#sthref14093
    Message was edited by:
    Nicloei W
    Message was edited by:
    Nicloei W

  • How to Write data in Excel File using java

    Hi
    can anybody help me to write data in excel file
    using java code
    Thankx In Advance

    How much are you willing to pay for that?
    If you want it for free, http://jexcelapi.sourceforge.net/

  • Spool SQl data into text file using dynamic sql

    Hi,
    I am spooling output data into text file using command
    select 'select t.mxname,bo.lxtype,t.mxrev'||chr(10)||'from mx_1234567'||chr(10)||
    'where <condition>';
    here mxname varchar(128),lxtype(128),mxrev(128) all are of varchar type.I want the output in format
    e.g Part|1211121313|A
    but due to column width the output,I am getting is with spaces.
    "Part then blank spaces |1211121313 then blank spaces |A"
    how can I remove these spaces between columns.I used set space 0 but not working.
    Thanks in advance.
    Your help will be appreciated.

    Hi Frank,
    I have seen your reply for SET LINE SIZE function. But, I could not be able to understand it.
    I am facing similar kind of issue in my present project.
    I am trying spool more than 50 columns from a table into flat file. Because of more column lengths in few columns, i am getting space. There are so many columns with the same issue. I want to remove that space.so that, data can fit perfectly in one line in .txt file without any wrap text.
    Below is my sample query.sql. Please let me know the syntax. My mail id : [email protected]
    --Created : Sep 22,2008, Created By : Srinivasa Bojja
    --Export all Fulfillments
    --Scheduled daily after 1:00am and should complete before 3:30am
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    SET LINESIZE 800
    SET WRAP OFF
    SET PAGESIZE 800
    SET FEEDBACK OFF
    SET HEADING ON
    SET ECHO OFF
    SET CONCAT OFF
    SET COLSEP '|'
    SET UNDERLINE OFF
    SPOOL C:\Fulfillment.txt;
    SELECT SRV.COMM_METHOD_CD AS Method,
    SRV.SR_NUM AS "Fulfillment Row_Id",
    CON.LAST_NAME AS "Filled By"
    SRV.SR_TITLE AS Notes,
    SRVXM.ATTRIB_04 AS "Form Description"
    FROM SIEBEL.S_SRV_REQ SRV,
    SIEBEL.S_SRV_REQ_XM SRVXM,
    SIEBEL.S_USER USR,
    SIEBEL.S_CONTACT CON
    WHERE SRV.ROW_ID = SRVXM.PAR_ROW_ID AND
    SRV.OWNER_EMP_ID = USR.ROW_ID AND
    CON.ROW_ID= SRV.CST_CON_ID;
    SPOOL OFF;
    EXIT;

Maybe you are looking for