Using Spool to output data to file

I am trying to write some sql scripts to do spooling of data to files automatically on the 1st day of each month. I use the spool command to output to text file but have problems setting the filename to tag with the date stamp.
Script 1 : to get current year and month and then call script 2 to output to file
==================================================================================
set linesize 800
set pagesize 999
set heading off
Remark Get current year and month from database
Remark
variable v_yyyymm number;
declare
begin
Select to_number(to_char(to_date(to_char(sysdate,'DD/MM/YYYY'))-1,'YYYYMM')) INTO :v_yyyymm From dual;
end;
print v_yyyymm
@script2.sql :v_yyyymm
exit
script2.sql : spool to file
============================
spool Monthly\Audit_Trail_&1..txt
SELECT * FROM AUDIT_TRAIL WHERE TO_NUMBER(TO_CHAR(DATESTAMP,'YYYYMM')) = &1;
spool off
Upon execution in Windows environment, it says that unable to create spool file. It seem
that i can't use a bind variable in the Spool Command. Any alternative ways of achieving that ??? I need the file name to be taged with the date stamp ?

Yet another example:
I usually create a ".cmd" file to run a sql script such as the following:
spool j:\DailyMetrics.sql
select 'spool j:\Daily_Metrics_'||to_char(sysdate,'mmddyy')||'.txt' from dual;
select '@j:\DAILY_METRICS;' from dual;
select 'spool off' from dual;
spool off
This, of course, allows me to then run the "j:\DailyMetrics.sql" script which now spools to a file with today's date as part of its filename and calls the reporting script to generate the data, and then spools off.
Obviously, you can put everything in the ".cmd" file and just schedule it to be run each day.
Good luck :)

Similar Messages

  • Spooling queries output to text file

    Hi All,
    I need help to spool the output to a text file for a sequence of queries that I need to execute.
    Lets say, the queries would in a sql file as follows:
    Select * from emp where empId = 1
    Select * from emp where empId = 2
    Select * from emp where empId = 3
    The output in txt file should have the details as
    Employee Id Employee Name Employee Designation
    1 Alex Manager
    2 Conrad Sr Manager
    3 Herman Technical architect.
    I am trying to execute this from sql developer.
    Any pointers in this regard would be highly helpful.

    Hi,
    Welcome to the forum!
    Why not use just one query
    SELECT       *
    FROM       enp
    WHERE       empid     IN (1, 2, 3)
    ORDER BY  empid
    You can use "SPOOL filename APPEND" to re-open and add to an existing spool file after it has been closed, but there's no need to in this case.

  • Using Automator to Find Date in file name--Help!

    Hey guys,
    I have this automator question.
    Daily I record a radio show. Due to cpu limitations I cannot record it right to AAC. (I use the radio shark) So I record it to aiff format. Radio shark adds in the current date to the file name so I know what date the show is from. What I need to know is if I can get an Automator action to find a file in the Radioshark folder with "Radioshow" and the Current Date in the filename.
    How can I have automator use the current date to search for the file.
    I need the date variable included because sometimes my automator app doesn't delete the old file, so at times the radio shark folder could contain numerous "RadioShow" files.
    Any help appreciated.
    17inch Imac 800Mhz/12 inch PB   Mac OS X (10.4.6)  

    Hey thanks. That did work. A new question. It takes about 60 minutes to import the file. Once the file is imported I would like automator to change the Track Info and put it into a specific playlist.
    Most of the time the file imports but does not finish the actions in automator (the track info and moving it to the playlist). I am assuming that it is "timing out" during the import process. Is there a way to pause the automator actions for 60 minutes after it begins the import process and then completed the subsequent actions?
    Any help appreciated!
    Craig

  • How to write stored procedure to spool data into file

    Hi ,
    We get differnt excel sheets of differnt products.
    We upload data from excel sheet to database . After uploading data , I run Preprossor (sql script) to check the data
    This preprocessor script contains several select statements that query different tables in database .the output is spooled into a cvs file .
    I need to change this script into a stored procedure and spool the output to cvs file.
    File spooling should be done inside the stored procedure so that if I call this stored procedure from java program ,or any concurrent program,its output is .cvs file and in parameter should be productname.
    But inside the stored procedure , we cannot spool the data to some .cvs file . Is any way.I do not want to spool to file when calling.It should be inside stored procedure.
    Or do I need to create a table and insert all the select statements output into it .
    Here is the sample preprocessor script.
    spool Graco_Product.csv
    set head off
    set feedback off
    set Pagesize 100
    SELECT '1. EVERY ASSEMBLY GROUP ADDED IN sys_PRODUCT TABLE MUST HAVE AT LEAST ONE ITEM IN WOC_ASSEMBLY_ITEM'
         FROM DUAL;
    SELECT 'ASSEMBLY_GROUP_NAME'
         FROM DUAL;
    SELECT
         assembly_group_name
         FROM association
         WHERE product_model_name = 'Graco_Product'
         AND assembly_group_name NOT IN (SELECT DISTINCT assembly_group_name FROM woc_assembly_item);
    SELECT '2. A RULE SHOULD HAVE AT LEAST ONE EXPRESSION FOR ITS ACTION SIDE.'
         FROM DUAL;
    SELECT 'RELATION_ID , RELATION_TYPE'
         FROM DUAL;
    SELECT wr.Relation_ID                    ||','||
         wr.Relation_Type                    
         FROM WOC_Relation wr
         WHERE NOT EXISTS (SELECT 'X' FROM WOC_Relation_Expression wre
    WHERE wre.Relation_Side = 'Action'
    AND wr.Relation_ID = wre.Relation_ID)
         AND wr.Relation_Type NOT IN ( 'Rule Warning','Rule Resource','Rule Default');
    SELECT '3. PROPERTIES USED IN RULES SHOULD EXIST IN WOC_PROPERTY_MASTER -- EXP_LHS_VALUE'
         FROM DUAL;
    SELECT
         'RELATION_OWNER,EXP_LHS_OPERAND,RELATION_SIDE,RELATION_ID,EXP_LHS_VALUE,RELATION_TYPE'     
         FROM DUAL;
    SELECT
         b.relation_owner               ||','||
         a.exp_lhs_operand               ||','||
         a.relation_side                    ||','||
         a.relation_id                    ||','||
         a.exp_lhs_value                    ||','||
         b.relation_type
         FROM woc_relation_expression a, woc_relation b
         WHERE a.exp_lhs_value IS NOT NULL
         AND a.exp_lhs_value_type = 'Property'
         AND a.exp_lhs_value NOT IN (SELECT property_name FROM woc_property)
         AND b.product_model_name = 'Graco_Product'
         AND a.relation_id = b.relation_id;
    SELECT '--------------------------------------------------------------------------------'
    from dual;
    spool off
    set head on
    set feedback on

    High level description
    Full documentation
    Note that the UTL_ and DBMS_ packages are all covered in the PL/SQL Packages and Types Reference.
    You may also want to read up on the CREATE DIRECTORY statement, which lets you refer to an actual OS directory (which you create separately) via a database object.

  • Velocity Templates - output an XML File

    Greetings,
    I'm a bit stuck on finding a way to have a Servlet using Velocity Templates, output an XML file. I know how to set the mime type and all that jazz in the Velocity Template. My problem is that all templates seem to be wrapped with the .htm extension.
    Program flow is basically calling the template from a servlet and displaying the XML in the template.
    So, using Velocity templates is their a way to:
    a. change the file extension that is served
    b. any other way to accomplish having an XML file served from a template
    Thank you in advance!
    -peter

    Try this code below:
    data  l_xml_table2  type table of xml_line with header line.
    W_filename - This is a Path.
      if w_filename(02) = '
        open dataset w_filename for output in binary mode.
        if sy-subrc = 0.
          l_xml_table2[] = l_xml_table[].
          loop at l_xml_table2.
            transfer l_xml_table2 to w_filename.
          endloop.
        endif.
        close dataset w_filename.
      else.
        call method cl_gui_frontend_services=>gui_download
          exporting
            bin_filesize = l_xml_size
            filename     = w_filename
            filetype     = 'BIN'
          changing
            data_tab     = l_xml_table
          exceptions
            others       = 24.
        if sy-subrc <> 0.
          message id sy-msgid type sy-msgty number sy-msgno
                     with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        endif.

  • Multipart/form-data and file attachment

    Hi ,
    This question has probably been asked before, but if not then here it is. Any replies will be appreciated:
    Q. When using "Enctype=Multipart/form-data", with file attachment alongwith other form fields, is it mandatory to attach a file ? What if user selects no file to attach?
    Q. If no, then how can it be possible that a form can be submitted without attaching a file since when I try to submit a form with no file attached to it, it gives me error message saying :java.lang.NullPointerException
    Q. Does it mean that I can't have a form with a blank "File" input field, if the form's Enctype is "multipart/form-data"? Since users may not select a file to attach to the form, in other words it is an optional.
    I hope I was clear enough in explaining my questions.
    Thanks in advance.

    I am using Orielly's file attachement pacakge.
    Here's what I am doing in my JSP page: It does the following:
    int maxFileSize = 10 * 1024 * 1024; // 5MB max
    String uploadDir = "/direct/files/upload/";
    String FormResults = "";
    String FileResults = "";
    String fileName = "";
    String fileName2 = "";
    String paramName="";
    String paramValue="";     
    File f;
    int filecounter=1;
    first get the form fields using following code:
    MultipartRequest multi = new MultipartRequest(request, uploadDir, maxFileSize);
    Enumeration params = multi.getParameterNames();
    //Get the form information
    while (params.hasMoreElements())
         paramName = (String) params.nextElement();     
         paramValue = multi.getParameter(paramName);
         if (paramName.equals("emailconfirm"))
              emailconfirmation = paramValue;
         else if (paramName.equals("Requester"))
              Requester = paramValue;
         else if (paramName.equals("TodaysDate"))
              TodaysDate = paramValue;
         else if (paramName.equals("Extension"))
    }//end while
    Then it gets the file information using the following code: I have two file fields in my form so that's why I am using a filecounter to find out if user has attached two files or just one:
    Enumeration files = multi.getFileNames();
    while (files.hasMoreElements())
         String formName = (String) files.nextElement();
         if (filecounter == 2)
    fileName2 = multi.getFilesystemName(formName);
         String fileType = multi.getContentType(formName);
              f = multi.getFile(formName);
         FileResults += "<BR>" + formName + "=" + fileName2 + ": Type= " + fileType + ":
    Size= " + f.length();
         else
         {     fileName = multi.getFilesystemName(formName);
              String fileType = multi.getContentType(formName);
              f = multi.getFile(formName);
              FileResults += "<BR>" + formName + "=" + fileName + ": Type= " + fileType + ":
    Size= " + f.length();
         filecounter=filecounter+1;
    Then after composing the mail message I send email with the form fields and file attachments using following code:
    Properties props = new Properties();
    MimeBodyPart mbp1 = new MimeBodyPart();
    MimeBodyPart mbp2 = new MimeBodyPart();
    MimeBodyPart mbp3 = new MimeBodyPart();
    URLDecoder urlDecoder = new URLDecoder();
    String to1 = urlDecoder.decode(toemail);
    String from1 = urlDecoder.decode(fromemail);
    String cc1 = urlDecoder.decode(ccemail);
    props.put( "mail.host", host );
    Session session1 = Session.getDefaultInstance(props, null);
    // Construct the message
    Message msg = new MimeMessage( session1 );
    msg.setFrom( new InternetAddress( from1 ) );
    msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to1, false ) );
    msg.setRecipients( Message.RecipientType.CC, InternetAddress.parse( cc1, false ) );
    msg.setSubject( subject );
    msg.setHeader( "X-Mailer", "ExceptionErrorMail" );
    msg.setSentDate( new Date() );
    mbp1.setText(mail_message);
    mbp1.setContent(mail_message, "text/html");
    // Send the email message
    FileDataSource fds = new FileDataSource(uploadDir + fileName);
    FileDataSource fds2 = new FileDataSource(uploadDir + fileName2);
    mbp2.setDataHandler(new DataHandler(fds));
    mbp3.setDataHandler(new DataHandler(fds2));
    mbp2.setFileName(fileName);
    mbp3.setFileName(fileName2);
    Multipart mp = new MimeMultipart();
    mp.addBodyPart(mbp1);
    mp.addBodyPart(mbp2);
    mp.addBodyPart(mbp3);
    msg.setContent(mp);
    Transport.send( msg );
    //email sent...
    //delete the two files from the server..
    File f2 =new File(uploadDir + fileName);
    f2.delete();
    File f3 =new File(uploadDir + fileName2);
    f3.delete();     
    //End of code
    So when I don't attach a file and submit my form , I get the error message that I mentioned in my previous post.
    Any more ideas?

  • Jazn-data.xml file, authentication in web.xml and embedded oc4j

    I've defined new security-roles, security-constraints and an authentication method in my web.xml file and i've created a new jazn-data.xml file that holds the different users and their groups.
    If I want to link the security-roles of the web.xml file to the roles in the jazn-data.xml file I always need an orion-application.xml file, is this correct?
    If I want to deploy an application as this to the embedded container the security won't work, I'm always getting the '403 forbidden' page.
    Can somebody point me out how I need to define security for an embedded and standalone environment when using authentication and jazn-data.xml file + how do I deploy this to a standalone oc4j and how to get this same application to work in the embedded oc4J.

    hi "romanna"
    Part of the answer to "Can somebody point me out how I need to define security ..." can probably be found in the "Oracle ADF Developer's Guide" that has "18 Adding Security to an Application".
    success
    Jan

  • Spool output to .csv file - having issues with data display

    Hi,
    Need to deliver the output of a select query which has around 80000 records to a .csv file. A procedure is written for the select query and the procedure is being called in the spool script. But few of the columns have comma(,) in the values. For Example, there is a personal_name column in the select query which says the name as " James, Ed". Then output is displayed in different columns. Hence the data is being shifted to the right for the remaining columns.
    Could some one help fix this issue. I mainly used a procedure as the select query is about three pages and hence want the script to look clear.
    Script is,
    set AUTOPRINT ON ;
    set heading ON;
    set TRIMSPOOL ON ;
    set colsep ',' ;
    set linesize 1000 ;
    set PAGESIZE 80000 ;
    variable main_cursor refcursor;
    set escape /
    spool C:\documents\querys\personal_info.csv
    EXEC proc_personal_info(:main_cursor);
    spool off;

    Hi,
    set PAGESIZE 80000 ;is not valid and it will print header as default every 14 rows.
    You can avoid printing the header in this way:
    set AUTOPRINT ON ;
    set heading ON;
    set TRIMSPOOL ON ;
    set colsep ',' ;
    set linesize 1000 ;
    set PAGESIZE 0 ;
    set escape /
    set feedback off
    spool c:\temp\empspool.csv
      SELECT '"'||ename||'"', '"'||job||'"'
      FROM emp;
    spool offThe output will look like this in this case
    "SMITH"     ,"CLERK"
    "ALLEN"     ,"SALESMAN"
    "WARD"      ,"SALESMAN"
    "JONES"     ,"MANAGER"
    "MARTIN"    ,"SALESMAN"
    "BLAKE"     ,"MANAGER"
    "CLARK"     ,"MANAGER"
    "SCOTT"     ,"ANALYST"
    "KING"      ,"PRESIDENT"
    "TURNER"    ,"SALESMAN"
    "ADAMS"     ,"CLERK"
    "JAMES"     ,"CLERK"
    "FORD"      ,"ANALYST"
    "MILLER"    ,"CLERK"You can also consider creating a unique column by concatenating the columns in this way:
    spool c:\temp\empspool.csv
      SELECT '"'||ename||'","'||job||'"' In this case the output will look without spaces between columns:
    "SMITH","CLERK"
    "ALLEN","SALESMAN"
    "WARD","SALESMAN"
    "JONES","MANAGER"
    "MARTIN","SALESMAN"
    "BLAKE","MANAGER"
    "CLARK","MANAGER"
    "SCOTT","ANALYST"
    "KING","PRESIDENT"
    "TURNER","SALESMAN"
    "ADAMS","CLERK"
    "JAMES","CLERK"
    "FORD","ANALYST"
    "MILLER","CLERK"Regards.
    Al
    Edited by: Alberto Faenza on May 2, 2013 5:48 PM

  • Trim whitespace in output file using spool program

    hi all,
    How do i can trim the space between the output?
    1000064426                                                   16-MAR-10 60355230028
    1000064269                                                   16-MAR-10 60355230002
    1000064251                                                   16-MAR-10 60355230000 Expected output :
    1000064426 16-MAR-10 60355230028
    1000064269 16-MAR-10 60355230002
    1000064251 16-MAR-10 60355230000 Kindly help me.
    Many thanks
    Edited by: BluShadow on 16-Mar-2011 10:22
    added {noformat}{noformat} tags so the issue can actually be seen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    In your SQL, concatenate the columns.
    for e.g
    select object_id||object_name||owner
    from all_objects
    You'll always get a space between columns if you spool the output from sqlplus as the defualt column separator is a space. Also, it is generally best to have the columns delimited by a pre-defined character, so that any program that reads the file will know the start and end of a field or column.
    If you do want a fixed-length format file, you can use functions like LPAD or RPAD.
    e.g.
    select RPAD(object_id,10,'0')||RPAD(object_name,20,'N')||RPAD(owner,30,'N')
    from all_objects

  • Is it possible to have 2 different output config XML files and index the data into 2 endeca apps using the same indexing component ProductCatalogSimpleIndexingAdmin

    Hi ,
    We have a catalog that defines 2 types of products (they have too many different properties), so wanted to keep them on two different MDEX engines and serve the applications requests. Here DB catalog and front end ATG application is same for both the MDEX instances.
    Is it possible to have 2 different output config XML files and index the data into 2 endeca apps using the same indexing component ProductCatalogSimpleIndexingAdmin?
    Thanks
    Dev

    Hi, also have had some problem some monthes ago - I created separete component ProductCatalogSimpleIndexingAdminSecond. After that one of my colleage gave me some advice:
    The creating separate component like ProductCatalogSimpleIndexingAdmin for the second IOC is possible way for resolving your situation. But I afraid that this way will be required creating mane duplicates for already existed components.
    In my opinion the better way is the following:
    starting from AssemblerApplicationConfiguration and ApplicationConfiguration component. It contains details for connecting between ATG and Endeca. Of course you should configure different components for different Endeca Apps.
    After that:
    Find all components that uses AssemblerApplicationConfiguration and ApplicationConfiguration. Customize these components for using one or another  *Configuration component depending on what index works. (many variants released it: the most simple global custom component with flag.)
    Then customize the existed ProductCatalogSimpleIndexingAdmin. Using one or another IOC  and setting the flag in global custom component when index started. You can add some methods into your custom ProductCatalogSimpleIndexingAdmin like:
    Execute baseline index for both IOC (one by one)
    Execute baseline for IOC 1
    Execute baseline for IOC 2.
    Note: you should be afraid about incremental (partial) index in this configuration. But resolving conflicts in incremental index should be done after full implementation these changes.
    Regards

  • What is an appropriate method to use spool data for further processing?

    Hello SCN!
    First of all, i am new to both: ABAP & SCN. So please be considerate
    I have a given spool and want to search for specific error lines in it to use the information for futher processing. I already serached for answers, but maybe with the wrong keywords. Therefore i have some questions:
    What is the basic principle spools are stored in the SAP-System? I already found the tables tsp01, tsp02... but i dont understand the basic concept. For example i dont know where the spool content itself is provided.
    What is the best way to get spool data in my ABAP program? I testet RSPO_RETURN_ABAP_SPOOLJOB with a positive result, but i am not sure if this is a good way for large spools. And maybe there are better ways i would be pleased to hear.
    Is it common to use spools in the way i plan it, or must i rethink my approach. Catch my lines in the spool generation process for example, but this would be pretty hard in my concrete case...
    I am looking foreward to your suggestions and i am thankful for every input.

    What is the basic principle spools are stored in the SAP-System? I already found the tables tsp01, tsp02... but i dont understand the basic concept. For example i dont know where the spool content itself is provided.
    Spools and information on those are stored in database and sometimes in file system (AL11)
    Header entry in table TST01 (TemSe objects)
    Object associated with the header entry; it can be stored in the file system or in the database table TST03 (TemSe data of the object)
    Entry in table TSP01 (spool requests)
    Entry in table TSP02, if output requests exist
    What is the best way to get spool data in my ABAP program? I testet RSPO_RETURN_ABAP_SPOOLJOB with a positive result, but i am not sure if this is a good way for large spools. And maybe there are better ways i would be pleased to hear.
    This FM will perform well for ABAP list, and you may get problem with spools generated by tools like Smartforms or Sap Script
    Is it common to use spools in the way i plan it, or must i rethink my approach. Catch my lines in the spool generation process for example, but this would be pretty hard in my concrete case...
    For error log processing, look at tools related to a transaction as SLG1, and documents like Create application log. Use of spool report if manual processing expected.
    Regards,
    Raymond

  • How to output data to a file in SCC-SG04?

    I am using SCC-2345 with SCC-SG04 connected to NI-6221 in Windows 2000 in VC6.
    How to output data to a file like data1.dat in VC6 or in Labwindows/CVI?

    Hello mwibm,
    If you just want to do file input/output in LabWindows/CVI, I would take a look at the Formatting and I/O CVI library or the ANSI File I/O functions. For example, if you just want to write an array of data to a file, I would look at the ArrayToFile function or the fwrite/fputs/fprintf ANSI C functions included in stdio.h. The ANSI C functions will also work in Visual Studio. More information on the LabWindows/CVI File I/O functions can be found in CVI help, and more information on ANSI C functions can be found in CVI Help and online at various websites.
    Maybe you could further clarify what problems you are having and what kind of data you want to write to a file.
    Thanks.
    Wendy L
    LabWindows/CVI Developer Newsletter - ni.com/cvinews

  • Convert Script output data to Text(.txt) file & send mail with attachment.

    Hi All,
    Requirement: I shulb be able to conver th Script output data to Text(.text) file & send a maill with attachment with this text file. Formant of text file should be like output of Print priview.
    Plese sugget with Function modules to cover as Text file.
    I am able to converting the Script output data to PDF and sending mail with attachment. So I don't want PDF file now.
    Thanks in advance.

    Hi, Thanks for responst.
    We can convert the Scirpt output to PDF file by using OTF function module and the PDF file looks like Print Privew output.
    Same like this I want Script out in NOTEPAD (.txt). Is that possible, Plz sugget with relavent Function Modules.
    Thanks.

  • Redirecting spool output to a file on app. server

    I'm running a SAP report as a background job.
    I hve a requirement to send the spool output to a file on app. server. This needs to happen automatically in background.
    I'll appreciate any suggestion.

    Hi,
    use report from Re: output to pdf format and substitute pc-download with file transfer
    good luck
    Andreas

  • SQLPLUS spool to create .dat files - problems

    I am using spool from sqlplus to generate
    .dat files for sqlldr. The problem is with
    numeric fields. I have SET numwidth, numformat to no avail. The fields defined with specific numeric size number(n) always get spooled with a longer column size.
    Also, the COLSEP character does not appear
    after all columns. Any ideas out there ?
    (I realize export/import is an easier solution )

    Try using TO_CHAR, LPAD, SUBSTR and other character functions to achieve the same. Also, if you have not SET HEAD OFF, then do that, or use alias for the formatted columns in case you need headings.

Maybe you are looking for

  • Can't find serial number on Acrobat X

    I purchased a Fujitsu ScanSnap scanner that was bundled with Adobe Acrobat X Standard.  The serial number for activation of Acrobat was not on the CD envelope or anywhere else in the packaging.  Fujitsu says that they do not keep track of the serial

  • Two ways to get dynamic text into my s:RichEditableText

    font styling doesnt work with.. textFlow="{TextConverter.importToFlow( articleText, TextConverter.TEXT_FIELD_HTML_FORMAT )}" images dont work with.. textFlow="{TextFlowUtil.importFromString(articleTe  xt)} the problem is one way shows the images i ha

  • PO with BWVORG = 008

    Dear coleagues, i need charge PO with field BWVORG = 008 into BW, if you run the extractor2LIS_02_ITM on RSA3 you can see this PO's, when you try to charge this one on BW you can't because the start routine deleting this kind of BWVORG, please how ca

  • OM - Change in Text

    Hi all, My client has got a requirement.  I will give an example of it. Position Mgr HR is created from 01/01/2009 Person Hired from 03/01/2009 From 04/01/2009 position text copied and changed from Mgr HR to Mgr Comp (We are copying it as they want t

  • Oracle text thesaurus management

    Does anyone know if oracle supports a user interface for management of the thesuarus used in text search? ie browsing and editing this thesaurus? (I know indexes etc will need to be re-created to use the changed thesaurus) Anyone heard of another pro