home *** CD-ROM | disk | FTP | other *** search
/ ftp.robelle3000.ai 2014 / 2014.06.ftp.robelle3000.ai.tar / ftp.robelle3000.ai / newsletter / 2000 / w2000-01.txt next >
Text File  |  2000-02-22  |  23KB  |  600 lines

  1. What's Up, DOCumentation?
  2.  
  3.  
  4.  
  5.        Robelle Consulting Ltd.
  6.        Unit 201, 15399-102A Ave.
  7.        Surrey, B.C.  Canada  V3R 7K1
  8.        Toll-free:    1-888-ROBELLE
  9.                     (1-888-762-3553)
  10.        Phone:       (604) 582-1700
  11.        Fax:         (604) 582-1799
  12.        E-mail: support@robelle.com
  13.        Web: www.robelle.com
  14.  
  15. Date:  February 2000
  16.  
  17. From:  Robert M. Green, CEO
  18.        David J. Greer, President
  19.        Hans Hendriks, Editor pro tem
  20.  
  21. To:    Users of Robelle Software
  22.  
  23. Re:    News of the HP 3000 and of HP-UX, 2000 #1
  24.  
  25.     What You Will Find in This News Memo:
  26.  
  27.     MPE/iX 6.5 Is On the Way
  28.     Web Enabling Your HP 3000
  29.     The Computer is Missing! Tale of a Real Disaster Recovery
  30.     Qedit Scripting Solves System Administration Problems
  31.     Y2What?
  32.     TZ and the HP 3000's clocks (revisited)
  33.     Staff Spotlight: Jennifer Franklin
  34.     Suprtool Training March 13-14 in Oregon
  35.     Robelle Products, Problems, Solutions, Suggestions
  36.         Checking for Duplicate Records
  37.         Moving Big Data
  38.         Regular Expressions Do the Job
  39.     Another Happy User
  40.  
  41.  
  42.  
  43. MPE/iX 6.5 Is On the Way
  44. ========================
  45.  
  46. This past year the Suprtool development team made two trips to HP in 
  47. Cupertino to get very early access to MPE/iX 6.5, to test compatibility of 
  48. the Robelle products with some of the changes CSY made to support files 
  49. greater than 4Gb. Our visits were in collaboration with the CSY team, who 
  50. identified Suprtool as the primary data extraction and manipulation tool for 
  51. most of the HP 3000 sites requesting the enhancements that CSY included in 
  52. this new version of MPE/iX. It was therefore critical that Suprtool support 
  53. the new extended file structures by the time MPE/iX 6.5 reached Vab Prep 
  54. status.
  55.  
  56. Suprtool version 4.3 and its associated programs (Suprlink and STExport) are 
  57. capable of handling files greater than 4Gb. We have sorted, linked and 
  58. exported files up to the 20Gb available on the test systems available, and 
  59. have incorporated changes to support file sizes up to the new MPE/iX maximum 
  60. of 128Gb. Suprtool version 4.3 is due for distribution in North America 
  61. toward the end of April 2000, but if you need this capability now you can 
  62. contact Robelle for the latest Suprtool pre-release.
  63.  
  64. With MPE/iX 6.5 no longer in VAB Prep status, the impending release of the 
  65. latest version of MPE has an impressive list of new features, capabilities 
  66. and most of all a huge increase in limits.
  67.         
  68.                                  Old Limit       New Limit
  69. Main Memory                      3.75Gb          16Gb
  70. Disk devices per system          255             511
  71. Disk devices per device class    255             511
  72. DSTs per system                  16384           65535
  73. Ordinary fixed-length files      4Gb             128Gb
  74. KSAM Files                       4Gb             128Gb
  75. VT Sessions                      2000            2600
  76. TIO Connections                  2750            3300
  77. TCP Connections                  10240           20000
  78. UDP Connections                  4096            10000
  79.  
  80. Some of these limits are limited by the hardware you have, but the HP 3000 is 
  81. definitely able to support your growth needs with this new version of the OS.
  82.  
  83. In order to support many of these new limits many other products, languages 
  84. and utilities have also been enhanced:
  85.  
  86. - FTP/iX supports large file transfers
  87.  
  88. - C/iX now supports 64-bit Integers
  89.  
  90. - Store/Restore now supports large files.
  91.  
  92. Over the next few editions of What's Up Doc we will investigate and report on 
  93. more MPE/iX 6.5 enhancements, including the NEWCI command, the SDK for Java, 
  94. LDAP, Apache, and much more.
  95.  
  96. [Neil Armstrong]
  97.  
  98.  
  99. Web Enabling Your HP 3000
  100. =========================
  101.  
  102. The CSY division of Hewlett Packard (the people who bring you the HP 3000) 
  103. have published a White Paper called "Web Enabling Your HP 3000 Applications 
  104. and Data Access". You can view the entire paper at: 
  105. http://www.businessservers.hp.com/solutions/internet/accesswp.html
  106.  
  107. The paper is approximately 50 pages long, so we will summarize some of the 
  108. main points here. The paper identifies four major Web categories for HP 3000 
  109. applications:
  110.  
  111. 1. "Webify" existing applications (leverage your existing investment by 
  112.    adding a browser interface to your current applications).
  113.  
  114. 2. E-Commerce applications (typically those that involve multiple 
  115.    applications and which require fast time-to-market with a Web solution).
  116.  
  117. 3. Enterprise solutions (where HP 3000 applications must fit into an overall 
  118.    corporate Web strategy).
  119.  
  120. 4. E-services solutions (apps on tap such as Open Skies).
  121.  
  122. Depending on which category fits your situation, different software and 
  123. solutions will be required to Web-enable your application. What is not 
  124. mentioned in the White Paper is that HP suggests that to Web-enable either an 
  125. HP 3000 application or an HP 9000 application, an N-tier approach should be 
  126. used. In an N-tier implementation, there are at least three different 
  127. computers that interact to provide a Web solution:
  128.  
  129. 1. Client computer running a browser
  130.  
  131. 2. Web server computer (the client connects to the Web server)
  132.  
  133. 3. Database server (i.e., your HP 3000)
  134.  
  135. This solution is 3-tier, but other tiers (e.g., security servers, application 
  136. servers, etc) could be added to the overall solution. There are a variety of 
  137. technologies outlined in the White Paper that enable the middle tier (the Web 
  138. server) to communicate in a bi-directional manner with the HP 3000.
  139.  
  140. If you are thinking of Web-enabling your HP 3000 application, we recommend 
  141. that you review the White Paper. We are also available to share our extensive 
  142. Web experience in helping you to find a solution for providing Web-access to 
  143. your HP 3000.
  144.  
  145. [David Greer ]
  146.  
  147.  
  148. The Computer is Missing! 
  149. Tale of a Real Disaster Recovery
  150. ================================
  151.  
  152. The month of December was a busy one for the I.S. department at Robelle, as 
  153. we were installing our new e-mail MS Exchange server.
  154.  
  155. All went fairly smoothly: setting up users, setting up and confirming a 
  156. backup regimen, converting HP 3000-based e-mail data to The Microsoft Way, 
  157. configuring the internet components, etc. We staged the process so that it 
  158. took a leisurely two weeks to convert just about everyone. The last mail 
  159. user, David Greer, would be converted after he came back from holidays in 
  160. January.
  161.  
  162. Then disaster struck. The first Wednesday in January, thieves broke in to the 
  163. Robelle office, stole a number of PC's, and our new e-mail server!
  164.  
  165. Because E-mail is core to our business, we had to act fast to fix our 
  166. problem. We reverted all of the e-mail users back to using Internet Client 
  167. mail connecting to our HP-UX POP server. We installed older machines on 
  168. people's desks who were missing PC's. We contacted our Dell sales-rep right 
  169. away, but the quickest that Dell could get replacements to us was in five to 
  170. eight business days. You may recall that Robelle is situated in Western 
  171. Canada. Dell assembles the PCs in Texas, then ships them by ground to 
  172. Toronto. After being certified and Canadianized in Toronto, the systems are 
  173. then shipped by ground out to the customer.
  174.  
  175. We then called a local supplier, Data Terminal Mart, who had put in a bid 
  176. when we were initially looking for servers. DTM could get an HP Netserver out 
  177. to us that evening. That sounded great! We went ahead and ordered the HP 
  178. Netserver from DTM, while ordering replacement desktops from Dell.
  179.  
  180. The Netserver did arrive that evening, but too late for the local supplier's 
  181. engineer to put all of the pieces together. He came back the next day and 
  182. spent the morning configuring the RAID disk array, and then left us to 
  183. install the operating system. The installation went very smoothly, up until 
  184. the point of recognizing the DAT drive. The tech had installed it, but didn't 
  185. test it. A quick inspection inside the cabinet showed the databus wire 
  186. dangling from the DAT drive, sucking bits from air. After a quick call to DTM 
  187. to verify where the wire should be plugged in, we were up and running. The 
  188. Dell server and the HP server were almost identical in options, except that 
  189. the HP came with a RAID disk array. There was also a difference in size: the 
  190. HP NetServer weighs in at around 150 pounds, while the Dell was around 50. (A 
  191. good thing, as it turns out.)
  192.  
  193. Disaster number two: Somehow, somewhen, during the installation of subsequent 
  194. software on our original machine, our backup strategy for our e-mail server 
  195. had been corrupted, and every single backup tape was blank. We'd been 
  196. faithfully inserting backup tapes, but hadn't thought of regularly re-
  197. verifying that the tapes were still being written effectively. Groan! We re-
  198. configured our MS Exchange server and loaded everyone's e-mail back in, from 
  199. Outlook ".pst" files saved before switching to MS Exchange, thus losing all 
  200. messages from the three weeks we had used the new system. In retrospect, if 
  201. the thieves had arrived a month later, things would have been much worse. One 
  202. bright note: David Greer's e-mail hadn't been converted, so he didn't lose 
  203. anything.  :-)
  204.  
  205. We took extra precautions to ensure that the backup was working properly, and 
  206. took a paranoid snapshot to move off-site, just in case the burglars came 
  207. back.
  208.  
  209. We beefed up our physical security, installing additional burglar-proofing at 
  210. the entrance to the office, and a steel accordion-style expanding security 
  211. gate behind our regular front door.
  212.  
  213. The new desktops arrived within five days, and we were able to quickly 
  214. configure them to the Robelle Common Operating environment. Things were back 
  215. to normal, when ...
  216.  
  217. Disaster Stuck Again!
  218. ---------------------
  219.  
  220. About three weeks later, thieves broke in again. They were in, out and gone 
  221. in less than the five minutes it took the police to arrive. The bad guys 
  222. crowbarred our new lock, broke the lock off the accordion gate, and stole off 
  223. with four more desktops PCs: three fast Dell Optiplex machines, and a clunker 
  224. P/166 that had been giving us trouble. This time they didn't take our e-mail 
  225. server, probably because it was too heavy. 
  226.  
  227. So we're once again replacing computers and beefing up our security. And of 
  228. course we're verifying our nightly backups on our mail server.
  229.  
  230. [Ken Robertson]
  231.  
  232.  
  233. Qedit Scripting Solves System Administration Problems
  234. =====================================================
  235.  
  236. After our MS Exchange server disappeared, and we discovered that our NT 
  237. backups were blank, it became obvious that we needed better control on those 
  238. backups. 
  239.  
  240. So I wrote the following QSL (Qedit Scripting Language) script to read the 
  241. backup log files from our 3 NT servers, summarize them, then e-mail me the 
  242. results.
  243.  
  244. The script is invoked from a nightly scheduled NT script which has 2 
  245. commands:
  246.  
  247.    qwin32.exe -r c:\robelle\qedit\user\scripts\backupcheck.qsl
  248.    mailfile alpha paul "backup summary" c:\robops\log\backupck.log
  249.  
  250. The first command invokes Qedit for Windows and tells it to run the QSL 
  251. script called backupcheck. The second command mails the summary file to me, 
  252. using a WINBATCH script. 
  253.  
  254. The QSL script is very simple: 
  255.  
  256. 1. opens a new empty file
  257.  
  258.    outfile=newfile();
  259.  
  260. 2. opens the ntbackup.log file from one server
  261.  
  262.    file = open("\\alpha\c\robops\log\ntbackup.log");
  263.  
  264. 3. calls an subroutine to save the lines with "Backup" and ":" in them
  265.  
  266.    Liststring(file,outfile) ;
  267.  
  268.    The Liststring subroutine looks like this:
  269.  
  270.    sub ListString(file,outfile)
  271.    
  272.        list = {};
  273.        list = list + file.fullfilename;
  274.        list = list + "";
  275.    
  276.        outfile.insert(list);
  277.    
  278.        found = file.find( regexp:".*Backup.*:", startattop:true);
  279.         
  280.        repeat while found
  281.            line = file.gettext( startline: file.lastfoundline );
  282.            s = string(file.lastfoundline) + "??t" +  line[1];
  283.            list = {};
  284.            list = list + s;
  285.            list = list + "";
  286.            outfile.insert(list);
  287.            writelog(s);
  288.            if file.lastfoundline + 1 > file.linecount then
  289.                found = false;
  290.            else
  291.                found = file.find( regexp: ".*Backup.*:", startline:
  292.                    file.lastfoundline + 1 );
  293.            endif
  294.        endrepeat
  295.    endsub
  296.  
  297. 4. does the same for the other 2 servers
  298.  
  299. 5. removes any null characters that NT backup insists on putting in its log 
  300.    files 
  301.  
  302.    mynull = character(0);
  303.    cleanup = outfile.find(string: mynull, entirefile: true, replacewith:" ");
  304.  
  305. 6. saves the new summary file on one of the NT servers.
  306.  
  307.    Outfile.saveas( filename: "\\alpha\c\robops\log\backupck.log",
  308.       forceoverwrite: true);
  309.  
  310. The complete QSL script can be viewed at: 
  311.  
  312.    http://www.robelle.com/support/qwin/backupck.txt
  313.  
  314. It's a good example of automating an operations task that requires some 
  315. scripted text editing.
  316.  
  317. [Paul Gobes]
  318.  
  319.  
  320. Y2What?
  321. =======
  322.  
  323. At Robelle, as with most of the world, New Year's Day came and went without 
  324. any serious problems. 
  325.  
  326. Just a few calls during the first week of the year from customers who thought 
  327. Suprtool would "automagically" know that "00" was greater than "99". For 
  328. those customers we were able to show them the new $STDDATE function.
  329.  
  330. Another common call was from sites that were adopting the "AAMMDD" date 
  331. format and needed to change their ITEM commands to reflect this.
  332.  
  333. As for own internal computers we had one software package that stopped, but 
  334. after a quick call to the vendor, found out that they had already shipped us 
  335. out a new version months ago. Within ten minutes it was installed.
  336.  
  337. We even had a one sharp customer (Rick Gilligan of CASE) find a Y2K problem 
  338. in PROSE, the program that prints our manuals. It was printing the date as 
  339. "04 Jan :0". Within a couple of hours Dave Lo had found and fixed that 
  340. problem.
  341.  
  342. So, yes there was a lot of hype. But all the preparation work done by all of 
  343. us in the computing industry made it into a non-event. Well done, everyone!
  344.  
  345. [Paul Gobes]
  346.  
  347.  
  348. TZ and the HP 3000's clocks (revisited)
  349. =======================================
  350.  
  351. The article in the previous issue of What's Up Doc, regarding the TZ variable 
  352. and the hardware and software clocks on the HP 3000, stirred up a few 
  353. responses from our wise readership:
  354.  
  355. 1. The article says that the only way to set the hardware clock is through 
  356.    the ISL CLKUTIL utility at boot time. This is not true; the SETCLOCK 
  357.    command also adjusts the hardware clock. Thanks to Gilles Schipper for 
  358.    testing and verifying this.
  359.  
  360. 2. Jeff Vance pointed out that the sample job, if run daily (as mentioned in 
  361.    the article), would adjust the clocks on 1st April and 1st October, rather 
  362.    than the first Sunday of those months. The job should be run only on 
  363.    Sundays, or should include "and HPDAY=1" as a condition for execution.
  364.  
  365. 3. The job shown was originally written by Shawn Gordon, and posted on 
  366.    HP 3000-L. Shawn's original post suggested running it weekly, on Sundays.
  367.  
  368. [Hans Hendriks]
  369.  
  370.  
  371. Staff Spotlight:
  372. Jennifer Franklin
  373. =================
  374.  
  375. Most customers who have had administrative dealings with Robelle probably 
  376. know Jennifer Franklin. She has been handling customer accounts since 1989 
  377. and currently manages that department. Regular callers will have noticed that 
  378. Jennifer has been notably missing in recent months. That's because she now 
  379. also manages a brand new baby boy, Caleb, who is 6 months old. Jennifer has 
  380. returned to work, but splits her time between working in the office and 
  381. remotely from home.
  382.  
  383. She used to have other interests like playing baseball, doing yoga and 
  384. working on projects around the house, but as anyone who's had a newborn 
  385. knows, things change. 
  386.  
  387. [Paul Gobes]
  388.  
  389.  
  390. Suprtool Training March 13-14 in Oregon
  391. =======================================
  392.  
  393. The next off-site training session for Suprtool will be on March 13-14, 2000. 
  394. Once again we will be hosted by Lund Performance Solutions in Albany, Oregon. 
  395. Call Tammy at 1-888-ROBELLE or e-mail tammy_roscoe@robelle.com for details.
  396.  
  397. Topics to be covered by Hans Hendriks will include 
  398.  
  399. - Speed of Chain versus Get
  400.  
  401. - Exporting Data to the World
  402.  
  403. - Tables are like grocery lists
  404.  
  405. - Linking data from multiple sources
  406.  
  407. - Turbo-charging Quiz using Suprtool
  408.  
  409. Lund is holding System Performance Training around the same time. For more 
  410. information call Lund Performance Solutions at 1-541-926-3800.
  411.  
  412.  
  413. Robelle Products, Problems, Solutions, Suggestions
  414. ==================================================
  415.  
  416. Checking for Duplicate Records
  417. ------------------------------
  418.  
  419. In December, Leonard Berkowitz posted the following question on the HP3000-L 
  420. discussion list:
  421.  
  422.    In Suprtool DUPLICATE ONLY RECORD:
  423.  
  424.    If only one field is extracted to the output file, is the RECORD ONLY 
  425.    criterion applied only to that field or still to the entire dataset entry?
  426.  
  427. I replied as follows:
  428.  
  429. DUPLICATE ONLY RECORD is an output operation, so checks the output record for 
  430. "duplicate-ness". As such, it checks only the fields included in the output 
  431. record. This is different from using DUPLICATE ONLY KEYS, which forces 
  432. Suprtool to check all the sort keys, irrespective of whether they're included 
  433. in the output record. 
  434.  
  435. So if you want to check the entire input record for duplicate-ness, but only 
  436. extract a subset of fields, you can force this by declaring the entire record 
  437. as a sort key, then using DUP ONLY KEYS:
  438.  
  439.    get D-SALES
  440.    define entirerecord,1,80
  441.    sort entirerecord
  442.    duplicate ONLY keys
  443.    extract ....etc.
  444.  
  445. [Hans Hendriks]
  446.  
  447.  
  448. Moving Big Data
  449. ---------------
  450.  
  451. Robelle is in the business of working with large amounts of data. Generally, 
  452. the larger the data source, the better Suprtool performs, relative to other 
  453. serial retrieval methods. Historically, Suprtool is used to extract a subset 
  454. of data from a large data source, which is then passed to another application 
  455. for further processing. Traditionally, that's been another application on the 
  456. same host computer. But for several years now, Suprtool has had the ability 
  457. to prepare extracted data for use by non-HP 3000/9000 systems.
  458.  
  459. For example, let's say that your company's decision-makers are familiar with 
  460. Microsoft Excel. Rather than generating voluminous paper or on-line reports, 
  461. here's a real easy way of keeping them supplied with fresh data, which they 
  462. can query in their tool of choice, thus removing their query overhead from 
  463. your host machine:
  464.  
  465. 1. Use Suprtool and Suprlink to extract the data fields they require:
  466.  
  467.    !run suprtool.pub.robelle
  468.    base store 
  469.    get m-customer          {get customer records}
  470.    sort cust-account
  471.    output custfile,link
  472.    xeq
  473.    get d-sales             {get sales records}
  474.    sort cust-account
  475.    item deliv-date,date,yyyymmdd
  476.    item purch-date,date,yyyymmdd
  477.    item product-price,decimal,2
  478.    item sales-tax,decimal,2
  479.    item sales-total,decimal,2
  480.    out salefile,link
  481.    xeq
  482.    link input salefile     {link customer info to sales info}
  483.    link link custfile 
  484.    link output custsale
  485.    link xeq
  486.    exit
  487.  
  488. 2. You now have the data you require, in a self-describing file. Use STExport 
  489.    to format this into a comma-delimited ASCII file, reformatting date fields 
  490.    into a format that Excel will understand:
  491.  
  492.    !run stexport.pub.robelle
  493.    input custsale 
  494.    date DDMMYYYY "/"
  495.    heading fieldnames
  496.    output csalecsv
  497.    exit
  498.    
  499.    And this is what the resulting file looks like:
  500.    
  501.    "CUST-ACCOUNT","DELIV-DATE","PRODUCT-NO","PRODUCT-PRICE","PURCH-DATE",....
  502.    10003,16/10/1999,50511501,98.31,16/10/1999,1,13.76,112.07,"Richmond",.....
  503.    10003,16/10/1999,50512501,145.62,16/10/1999,1,20.39,166.01,"Richmond",....
  504.    10003,16/10/1999,50513001,192.20,16/10/1999,1,26.91,219.11,"Richmond",....
  505.    10010,20/10/1999,50533001,69.92,20/10/1999,1,9.79,79.71,"Vancouver",......
  506.    10016,20/10/1999,50521001,24.59,20/10/1999,3,10.33,84.10,"Edmonton",......
  507.    10016,20/10/1999,50532001,139.85,20/10/1999,1,19.58,159.43,"Edmonton",....
  508.    .....etc
  509.    
  510.    Notice that date fields have been reformatted to DD/MM/YYYY format, and 
  511.    decimals have been inserted into the "money" fields.
  512.  
  513. 3. This file can be transferred to a network server, or to individual PCs, 
  514.    or, if you have your HP 3000 or 9000 configured as a Samba server, just 
  515.    moved to the appropriate directory.
  516.  
  517. 4. Doing simple File/Open in Excel, specifying file type as ".csv" loads the 
  518.    file directly:
  519.  
  520. [Hans Hendriks]
  521.  
  522.  
  523. Regular Expressions Do the Job
  524. ------------------------------
  525.  
  526. "Any sufficiently useful regular expression will resemble random keystrokes" 
  527. - Dave Lo
  528.  
  529. We discovered some web pages that contained incorrect HTML. There were no 
  530. quotes around anchors references, which is technically wrong. For example, 
  531. <a href=file.html> instead of <a href="file.html">.
  532.  
  533. A single Qedit change command, using regular expressions, fixed this problem:
  534.  
  535.    search for  : <a (.*)=([^>]*)>
  536.    replace with: <a \1="\2">
  537.  
  538. Explanation of each part of the regular expressions:
  539.  
  540. Portion      explanation                                   matches
  541. -------      -------------------------------------------   ---------
  542. <a           Start of anchor tag                           <a
  543. (            Remember 1st () expression which is     
  544. .*           a sequence of any characters                  href
  545. )                    
  546. =            ... until an equal sign                       =
  547. (            Remember 2nd () expression which is     
  548. [^>]*        a sequence of any characters except for a >   file.html
  549. )                    
  550. >            ... until the closing tag                     >
  551. \1           1st () expression                             href
  552. \2           2nd () expression                             file.html
  553.  
  554. Like I said, regular expressions may look incomprehensible, but they are a 
  555. very powerful feature of Qedit.
  556.  
  557. [Dave Lo]
  558.  
  559.  
  560. Another Happy User
  561. ==================
  562.  
  563. Early in January, we received the following message from Randy Medd in our 
  564. Support mailbox:
  565.  
  566.    Hans/Francois/Paul/et al:
  567.    
  568.    Since I only normally communicate with y'all when something goes wrong, I 
  569.    thought I'd pass on a success story.
  570.    
  571.    This may be trivial to you guys....
  572.    
  573.    Our PBX system was updated on 12/8/99, and the format of some of the SMDR 
  574.    records changed. I needed to change the file, inserting a blank in each 
  575.    record (at column 28), but only on records where there originally was a 
  576.    non-blank character in column 28.
  577.    
  578.    In Qedit, I used:
  579.    
  580.       c28' ' ' '(28/28 nom)1/1405
  581.    
  582.    and I was done. Not exactly the King's, (uh, Queen's) English, but it did 
  583.    the trick, first time.
  584.    
  585.    Not to mention our having to patch Unison's (Tivole/ROC) Backpack for 
  586.    MPE/V. The built-in SYSDUMP code was performing a future-date dump for 
  587.    12/30/99, which wasn't going to work quite correctly after last weekend. 
  588.    Simply texting-in the file, and doing 
  589.    
  590.       cq"12/30/99"12/31/26"@ 
  591.    
  592.    did the trick.
  593.  
  594. Hey, it's nice to get some good news too, sometimes :-)
  595.  
  596. [Hans Hendriks]
  597.  
  598.  
  599.  
  600.