[[https://www.revelation.com/|Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community]] ==== V119 not merging sort file (OpenInsight Specific) ==== === At 04 FEB 1998 05:19:33AM Dom Glennon wrote: === {{tag>"OpenInsight Specific"}} I'm having difficulty getting V119 to merge the external sort file and then read the results in. When I read the results (using Function code 'V' in a loop), they are in sorted blocks just as if the merge call never had any effect. Also, it reads in far more (at least twice as much) as I wrote. The sort record contains a word and three numbers, all of which are sorted on, plus a string of characters (which may contain \00\) as satellite data. The file is empty at the start of the operation. Here's the basic code (somewhat simplified): V119("I", SORT.FILE$, "", "", "", Flag) IF Flag ELSE Debug Bys=AAAA" Justs=LRRR" LOOP GOSUB CREATE_SORTBLOCK WHILE LEN(SortBlock) * Remove trailing @RM SortBlock-1,1=" * Sort and write to C:\SORT.DAT V119("S", "", Bys, Justs, SortBlock, "") V119("W", SORT.FILE$, "", "", SortBlock, Flag) IF Flag ELSE DEBUG SortBlock=" REPEAT IF LEN(SortBlock) THEN SortBlock-1,1=" * Sort remaining data V119("S", "", Bys, Justs, SortBlock, "") * Write sorted block to DOS file V119("W", SORT.FILE$, "", "", SortBlock, Flag) IF Flag ELSE DEBUG END * Merge sorted block V119("M", SORT.FILE$, Bys, Justs, "", Flag) IF Flag ELSE DEBUG * Read sorted file in in 32K blocks V119("V", SORT.FILE$, "", "", SortBlock, Flag) IF Flag ELSE DEBUG SortBlock-1,1=" BlockLen=LEN(SortBlock) LastWord=" LOOP WHILE BlockLen SortRec=SortBlockSpos, @RM Spos=Col2()+1 ThisWord=SortRec1, @FM ThisPos=SortRecCol2()+1, @FM SearchWordNum=SortRecCol2()+1, @FM Offset=SortRecCol2()+1, @FM CiteInfo=SortRecCol2()+1, @FM IF ThisWord # LastWord THEN GOSUB PROCESS_WORD LastWord=ThisWord END ELSE GOSUB ADD_TO_STATISTICS END IF Spos ] BlockLen THEN * Read another block V119("V", SORT.FILE$, "", "", SortBlock, Flag) IF Flag ELSE DEBUG SortBlock-1,1=" Spos=1 BlockLen=LEN(SortBlock) END REPEAT Many thanks for your time of you can help me on this one. Dom Glennon Cambridge University Press dglennon@cup.cam.ac.uk ---- === At 04 FEB 1998 07:13AM Dom Glennon wrote: === It's okay - the problem was in removing the trailing @RM from the sort block before writing to the file. Dom [[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=NONWORKS_READ&SUMMARY=1&KEY=BF1416A986E72B39852565A10038B8F3|View this thread on the forum...]]