Opened 2 years ago

Last modified 5 months ago

#75 assigned defect

SVN r359 and r340 Cannot sort dBase file

Reported by: herwigb Owned by: martini
Priority: major Milestone: Future
Component: IFS Version:
Severity: high Keywords:
Cc:

Description

It seems I am unable to sort a dBase file using RexxBase driven App on these FAT32 revisions. This works normally with FAT32 0.9.12.

The original filesize is around 640K, while the sorted file with r340 and r359 is only 4K.

Change History (6)

comment:1 Changed 2 years ago by Valery V. Sedletski

Can you give me some test dBase files, plus explain where I could take RexxBase?? Can you also find last working version? (I have a build archive at ftp://osfree.org/upload/fat32/, you can use binary search (take a [last working, last non-working] versions segment, take a middle (arithmetic average between segment ends), test the corresponding version. If it works, then use a segment [middle, previous non-working]; or if it's not working, use [previous working, middle], and so on)).

comment:2 Changed 2 years ago by herwigb

RexxBase can be found here http://hobbes.nmsu.edu/download/pub/os2/apps/database/rxbas223.zip

I will check your archive and report back

comment:3 Changed 2 years ago by Valery V. Sedletski

2Herwig: What DBF files does it understand? dBASE III and IV? I found only FoxPro? .dbf files, which seems to not work completely. It tries to find *.mdx (indexes?) but I see only *.cdx nearby. Though, it seems to find a field list correctly. Not sure, how should I sort the records. Can you give me some example .dbf?

PS: I was able to open a record list of my .dbf (a phone book) and see the record list. But it crashed soon (it did not found the *.mdx file).

PPS: Or, you use a REXX DLL for sorting records? I tried to open a file via RexxBase?.exe. Have you an example of a REXX script, if so?

Last edited 2 years ago by Valery V. Sedletski (previous) (diff)

comment:4 Changed 2 years ago by herwigb

Just retried the 361 version and the dbf file is still truncated after 3396 bytes of 603928 bytes

I will setup an example dbf file and give you the program that sorts the dbf. Basically this is a VX REXX application that runs the following code:

    ok = rexxbase_opendbf('dbname')
    dbname.sortfield.0 = 2
    dbname.sortfield.1 = ZUNAME
    dbname.sorttype.1 = '+'
    dbname.sortfield.2 = VORNAME
    dbname.sorttype.2 = '+'
    SortedDBF = filespec('drive',dbname)''filespec('path',dbname)'SORTED.DBF'
    BackupDBF = left(dbname,length(dbname)-4)'.BKF'
    say BackupDBF
    ok = rexxbase_sortdbf('dbname',SortedDBF)
    ok = rexxbase_closedbf('dbname')
    ok = rexxbase_CloseAllDBF()
    call SysFileDelete(BackupDBF)
    ok = VRRenameFile(dbname,BackupDBF)
    say 'Rename DBF -> BKF: 'ok
    ok = VRRenameFile(SortedDBF,dbname)
    say 'Rename Sort-> DBF: 'ok

comment:5 Changed 2 years ago by Valery V. Sedletski

Hi, Herwig. Where is "VRRenameFile" from? Is it from REXXBASE utility DLL? Sorry, I never tried to use VXREXX yet. Is it possble to give a complete REXX program?

comment:6 Changed 5 months ago by martini

Owner: set to martini
Status: newassigned

Hi Herwig

Please let us know if we can get more feedback on this issue. Otherwise we can close it and can be reopen once we get more information.

Regards

Note: See TracTickets for help on using tickets.