RexxBase (Run Report, 17/9/2001, Chris Angelico) |
Readme/What's new |
Uses REXXBASE (previously available from American Coders and good shareware sources) to generate a report based on a DBase database. The report file format is based largely on the original style invented by Jim Button for PC-File, but has been extended to allow REXX code in reports.
The report file should be plain text, with the following structure:
text here will be ignored - can have a brief description
:COVER
Lines to be output once at the beginning of the report
:HEADING
Lines to be output at the top of each page
:DETAIL
Lines to be output for each record selected from the database
:FOOTING
Lines to be output at the bottom of each page
:TOTAL
Lines to be output once at the end of the report
In each section lines are processed in order, top to bottom. Each line can be any one of the following:
Literal text enclosed in double quotes " "
Database field enclosed in angle brackets < > for spaces trimmed, or square brackets [ ] for not trimmed
A newline marker - a slash followed by the quantity of newlines (eg /1 to go to the next line, or /2 leave a blank line as well)
A REXX expression prefixed with a * - the result of the expression will be inserted
A PC-File Dot command - see PC-File documentation or RunReport.CMD for details.
To use this inside a larger program, perform the following steps:
Please contact me, especially if your program is for commercial use. RunReport.CMD is copyright, and you may not use it in a commercial program without permission.
Copy ALL the functions from RunReport.CMD (bracketed by obvious comment lines about the "RunReport functions by Chris Angelico" - KEEP THE COMMENTS!) and include them in the code of your program
Copy the code from the main routine of RunReport (bracketed by obvious comment lines about the "RunReport code by Chris Angelico" - again, KEEP THE COMMENTS!) into the location at which the report is to be run
Ensure that all required variables are set correctly (DBF=DBase file name, REP=report file name, OUT=output file name, PAGELEN=lines to be put on one page), the database has been opened with REXXBASE, and the filter (if any) has been set.
Run your program!
File: RunReport.ZIP
Requires: REXX, REXXBASE
Installation: None.
Operation: Run and follow the prompts.
De-installation: Delete.
Distribution: Donationware. |
RexxBase v. 2.23 (31/3/1998, American Coders Ltd., Joe McVerry) |
Readme/What's new |
Version 2.23 - Mar. 31, 1998
- Date validation routine would not allow 2000/02/29 date.
Version 2.22 - Jul. 31, 1998
- Corrected crash in CreateIndex function.
- Improved indexing logic
- Verified Y2K situation
Version 2.21 - Apr. 30, 1997
- CreateIndex and AddTagToMDX ignored the RexxBase.Unique value.
- Memo Field wiped out during update if the field is preceded by a date field
Version 2.20 - Sept. 30, 1996
- Added new Control variable RexxBase.IncludeCentury. If it is set to YES then
all date logic and routines require century to be used in date fields.
- Corrected date calculation logic.
- ScanForRecord (rv) failed to set file positioning parameters when BOF was reached.
- SummarizeDBF correction.
- GotoRecord Function failed with MDX files.
- Added ADDON.EXT file for VisPro REXX users.
Version 2.11 - May 1, 1996
- Unique logic corrected, duplicate keys were added to indexes even with unique switch set to true.
- Simplified and improved export/import functions.
- Current key not set correctly. Broke update logic.
- Improved indexing logic for tags.
- Packing logic improved.
Version 2.10 - March 21, 1996
- Added new function to registered DLL(rv). RexxBase_WriteDBFWithLock. This will allow serialization
of database writes and prevent errors when multiple hits occur to the same database file and associated
index and text files.
- Added database variable "databasename".dbasefileformat. This returns dBase3 or dBase4, based on
the dbf's format. Note: without MDX files or MEMO fields a DBF file format defaults to dBase3.
- Added internal record locking to registered version (rv) through the use of semaphores.
- DLL program would allow for only 3 MDX tags.
- EXE program could not create indexes with numeric fields.
-Recompiled INSTALL.EXE and REXXBASE.EXE with newest version of VisPro/REXX. (3.01).
- Modify function was using the current file's dBaseFileFormat field instead of the global field. Thereby,
preventing conversions of files from one format to another.
-Added Drag and Drop to EXE main window. If you have a DBF with an OS/2 setting type of "DBF",
then you can drag onto the EXE, while it's running, and have it added to the list.
- Documentation failed to fully describe the RexxBase.ERROR control variable.
-Corrected documentation with regards to specifying a TAG name when opening a file.
-Writes followed immediately by an Update would not create valid indexes and caused SYS3175 errors.
-Corrected EXE errors when catalog file contained a DBF that doesn't exist.
-Corrected problem when adding an MDX tag in the EXE. The tag name would not show up.
-PackDBF function didn't update the header correctly.
Version 2.06 - January 22, 1996
- Install program was marked as not executable.
- No changes to DLL.
Version 2.05 - January 2, 1996
- Install program now looks for config.sys in BOOTed drive
- If unable to allocate memory in OPEN function was causing a 3175 error.
- Enhanced record scope.
- Added logic to allow binary data to be stored in CHAR and MEMO fields.
RexxBase.UseStringLengths = "YES|NO"
- Corrected ModifyDBF function causing a 3175 error and dropping memo data.
- Added code to registered version to prevent copyright notice from being displayed.
- Improved Export/Import function handling of signed numeric data.
Version 2.04 Sept. 30, 1995
- ReadPrevDBF and others failed when GOTORecord(bottom) was used.
- UpdateDBF failed for both NDX and MDX indexes.
- Packing dBase IV style DBT files used incorrect blocking factor. This could
and most likely did create exception conditions.
- Packing dBase IV MDX files got larger in size.
- Reset Index Logic failed to verify if any TAGs were in use.
Version 2.03 Aug. 1, 1995
The switch AllowDuplicateIndexes was defaulting to NO, The default value is now YES.
The switch AllowDuplicateIndexes now works in conjunction with the index file
indicator Duplicates Allowed.
MDX indexing algorithm improved and corrected.
NDX file links updated incorrectly for large files.
SummarizeDBF function corrupted field that was before a numeric field.
Included VX-Rexx macro package.
INSTALL program was not HPFS aware.
Version 2.02 June 15, 1995
Corrected documentation error. RexxBase.SkipDeleted switches use YES
or NO.
Corrected DLL to reflect documentation: RexxBase.dBaseFileType should
be RexxBase.dBaseFileFormat. Use RexxBase.dBaseFileFormat.
Corrected DLL to reflect documentation: RexxBase.dBaseFileType default
value is "dbase3".
Improved GotoRecord function. Specifically TOP parameter and indexes
now in synch.
CREATE and PACKING functions failed for dBase IV memo fields.
Corrected documentation error. References to RexxBase.AllowDuplicateIndex
corrected to RexxBase.AllowDuplicateIndexes.
Corrected Reindex problem. Not building control blocks correctly. Function
required closing DBF before using again.
Patched Reindex function memory leak.
CreateDBFFrom function required closing source DBF before using again.
Restored CloseAllDBF to unregistered version.
Filter routines recalculated dates twice to produce incorrect results(rv).
REXXBASE.EXE concatenated INDEX filenames incorrectly.
Version 2.01 May 16, 1995
Shareware zip file missing component file for Install process.
Version 2.00 May 15, 1995
- Added logic to create a DBT file for SummarizeDBF function. (rv).
- Corrected logic in ModifyDBF function.
- Modified (extensively) REXXBASE.EXE.
Version 2.00 BETA Apr. 15, 1995
Added dBase IV functionality.
Update DOCS
Added several new functions that work with MDX files.
Removed CloseAllDBF from unregistered version.
Added several new control words.
Added several new access words.
Version 1.36 Feb. 6, 1995
Corrected memory leak.
Corrected problem with GOTORECORD TOP|BOTTOM
Corrected Create/ModifyDBF functions and numeric field definition problems.
RexxBase_FindRecord was not resetting filestatus
Fixed problem with updates when a logic field precedes a memo field
Minor documentation updates.
Released BETA of Front-End GUI program.
Version 1.35 Jan. 12, 1995
Corrected SYS3175 access violation with CloseDBF function
Version 1.34 Sept. 4, 1994
Corrected reindex problem. Program would not reindex the first index in
the opendbf list.
Version 1.33 July 20, 1994
Corrected problem with indexes. If you created or recreated indexes and then
immediately added or updated fields associated with the indexes the index
file was corrupted.
Version 1.32 July 12, 1994 (Bug fix)
- Character Fields were stored right justified
Version 1.31 June 23, 1994 (Bug fix)
- Memo Fields were not updated in DBT file correctly.
- Write, Update, and Pack routines would only process first memo field
of a record.
- Improved Pack function.
- Recompiled with C Set++ Version 2.1 compiler.
Version 1.30 May 27, 1994
- Simplified MEMO field access. MEMO fields are returned as simple
REXX variable names. Previous versions had MEMO fields stored as
complex (STEM) variables, like arrays.
- Added a new function Rexxbase_SummarizeDBF to registered version.
- Added a new function Rexxbase_ChangePrimaryIndex to registered version.
- Added a new function Rexxbase_Soundex to registered version.
Fixes in Version 1.30
- Added logic to update index pointers when RexxBase_GotoRecord function
used TOP or BOTTOM options.
- RexxBase_FindRecord is used against a database with no records created
a system error SYS3175.
- RexxBase_SortDBF added an extra byte to header. Data fields off by 1.
- For indexes with numeric fields, Rexxbase_WriteDBF was not passing correct
index value.
- RexxBase_CreateDBF used in correct data buffer offset. If used in
conjunction with WriteDBF, data was written to dbf incorrectly.
Version 1.23 Mar 15, 1994 (Bug fix)
- Forgot to define Rexxbase_ShutDown for LINKER in shareware.DEF file.
Caused function not found condition.
- Forgot to define Rexxbase_ShutDown
Rexxbase_FilterDBF
Rexxbase_ScanForRecord
Rexxbase_JoinDBF for LINKER in registered .DEF file.
Caused function not found condition.
- When opened with an index, ReadPrev would get lost within the database
when a TOF condition is present.
- When opened with an index, if ReadDBF done first, function returned
second record in index.
- Sort routine checked Join connection too soon. No sorts would work.
- Delete and Undelete functions were creating index records.
- When writing records to the database an invalid character was
used for the NON-DELETE indicator. It was set to /x00 now sets to /x20.
- Corrected error in CreateDBF function. NUM FIELDS with DECIMAL POSITIONS
were rejected.
- Corrected error in field truncation. NUM fields with sizes > 9 and
no DECIMAL POSITIONS were limited to about 2 billion. Any number greater
than that was truncated. Still some rounding errors for fields with
sizes greater 17 and with decimal positions. This may be a limitation of
REXX because the numbers store correctly in DBF.
Version 1.22 Mar 1, 1994 (Enhancements and fixes)
- Prevented Rexxbase_UpdateDBF from executing when the record pointer
is at TOF or BOF.
- Corrected Rexxbase_CloseDBF function. The database name passed was not
being freed from the list.
- Added new function to shareware version:
Rexxbase_ShutDown
- Added new functions to registered version:
Rexxbase_FilterDBF
Rexxbase_ScanForRecord
Rexxbase_JoinDBF
- Added new control variable
Rexxbase.UpdateHeaderCounter
- Added the option TOP to the Rexxbase_GotoRecord function.
- Added the option BOT or BOTTOM to Rexxbase_GotoRecord function.
Version 1.21 Feb 14, 1994 (Bug fix)
- Updated ReadDBF function for first Index update pointer logic.
- Updated CreateIndex function to get field names in a quoted string.
- Indexing control variable too small, limited record counts to < 128.
- Problem when passing an empty string i.e. RexxBase_FindRecord('dbf','')
- REXXBASE.RECORDNUMBER was misspelled in DLL.
- Rexxbase_ReadPrev would go back two records.
- Rexxbase_GotoRecord abended when run right after Rexxbase_CreateIndex
Version 1.20 Feb 2, 1994 GA Release
- EQUALS parameter to RexxBase.FindRecord
allows for exact key matching.
- Corrected problem with NDX files not being sharable.
Version 1.18 Beta Jan 20, 1994
- Added new variable Rexxbase.Version, which contains the
current version number of RexxBase.
- Corrected problem with records created with Clipper.
- Update of index records work only when record was read with
Rexxbase_FindRecord. Corrected so that index records are updated when
used with any read function.
- Rexxbase_PackDBF abended if file was opened WITHOUT indexes.
Version 1.17 Beta Jan. 10, 1993
- Added record locking functions.
- Corrected bug that did not allow multiple database processing.
- Corrected numeric key field length - was too small.
- Added logic to prevent creating keys greater than 100 bytes.
- Documentation updates.
Version 1.16 Beta Jan. 3, 1993
- Correct field alignment in DBF file. You will have to recreate
your files due to this error.
- Logical fields not stored correctly.
- Logical fields not set correctly.
- Removed zero padding from numeric fields.
Version 1.15 Beta Dec. 21, 1993
- Last update field not set correctly, mainly effected create
functions.
- Invalid date field should be set to spaces not zeroes.
- Corrected errors in updating numeric fields
- Corrected record alignment
Version 1.14 Beta Dec. 15, 1993
- Corrected errors in updating numeric fields
- Corrected documentation
Version 1.13 Beta Dec 7, 1993 - NOT RELEASED
- Corrected errors in index functions - files not closed.
- Corrected documentation
Version 1.12 Beta Dec. 1, 1993
- Corrected errors in CreateDBF and CreateFromDBF functions
- Corrected documentation
Version 1.11 Beta Nov. 22, 1993
- CHANGED DATE FORMATTING TO BE COUNTRY CODE SPECIFIC
- Corrected errors in CreateDBF and CreateFromDBF functions
- Corrected documentation
Version 1.10 Beta Nov. 15, 1993
- Multi file access
- Index access and other functions
- Create functions
- Modify structures
- Improved Initialization Routine
- Improved error reporting
- Improved documentation
Version 1.02 Alpha Oct. 15, 1993
- Bug fix.
Version 1.01 Alpha Sep 1, 1993
- Initial release. |
Comments
Martin Iturbide
Tue, 08/08/2023 - 23:20
Permalink
New Link: https://hobbes.nmsu
Add new comment