
---:GREETZ:------------------------------------------------------------

Greetings! Below is a micro-summary of the files in the AutoRexx plugIn range.

All AutoRexx PlugIns are copyrighted by the Author stated in each entry.

You are welcome to modify the code to suit your own setup, but if you use it
to build another plug-in, please send me a copy with microdox at a minimum
please, and I'll include it in the archive with your permission.

     If you would prefer I not distribute it, please state so CLEARLY,
     otherwise permission WILL BE ASSUMED.


---:BLURB:-------------------------------------------------------------

I started using DB and found it to be a bitch to get the hang of.  Internal
editing was bitchy-hard without any real GUI builder (see note.1) and the
output file was confusing to say the least.  Since there seems to be no real
structure to the RFF, it's flexible, but annoying.  So, with a peek through
the samples, and what dox there are, and some good pointers from a friend who
introduced me to DB, I started building the AutoRexx range of DB PlugIns.

Note.1:  I love DB, don't get me wrong, it's just no where near finished, and
thus is still a mess to use internally, and confusing manually. There is, as
yet, no really effective internal designer, so we still have to play manually.

     Anyways, if you like, please use. A note to say 'Howdee' would be nice,
but not required.If you alter, please don't remove any of my copyright notes.
Fair's fair, y'know. If you use as a basis for new AutoRexx plugIns, please
send me a copy, as requested above.

     Karl Mottram - karl@bifrost.manawatu.gen.nz - 19961228 23:30:00

Now, on to the MicroDox...


---:MICRODOX FORMAT:---------------------------------------------------

- <filename> - <quickdescription>
     Auth: Code author - code is copyrighted by this person.

     Args: Args to pass it on invocation. C= standard /<codes> please.
     Func: Quick function summary.
     Incl: Sample entry, with syntax. NAME= -> NEXT= please.
     Note: Any notes the author wants pointed out.

     Head:
<sample DB database, excluding entries, to demo applied code in action.>

     History:
     vX.x - <blurb>

---:MICRODOX:-------------------------------------------------

- XportSumm.rexx - Collects, collates and writes summary data.
     Auth: Karl Mottram

     Args: None
     Func: To automate a summary system for fiscal accounting.
     Incl: NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,AUTORXFILE="DB:Rexx/XportSumm.rexx",NEXT=nl
     Note: Output file may not be suitable, feel free to modify/junk this.

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - Basic structure, fairly flakey, but workable.
     v1.1 - Minor update. Added running total functions.
     v1.2 - Added EnforcePort codes to counter multi-invocation problems.

     
- AddDate.rexx - DB PlugIn : Auto-Insert current date into DB field.
     Auth: Karl Mottram

     Args: TagField/A OutField/A
     Func: Auto-insert current date into target DB database.
     Incl: NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate",NEXT=nl
     Note: Could be launched from Trigger.rexx if you removed TagField code.

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - The beginnings...
     v1.1 - Argument support...
     v1.2 - Added EnforcePort codes to counter multi-invocation problems.


- AIClient.rexx - DB PlugIn : Auto-Insert Client name into database
     Auth: Karl Mottram

     Args: None
     Func: Checks in list, and inserts applicable label
     Incl: NAME="Job _#",OFFS=0,SIZE=7,AUTORXFILE=DB:PlugIns/AIClient.rexx,NEXT=nl
     Note: Edit script file paths for custom usage.

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - The very basics... pretty much worked first time.
     v1.1 - Just a bit of alteration. Wiped ClientName if you altered JobNum.
     v1.2 - Added EnforcePort codes to counter multi-invocation problems.


- GetClient.rexx - DB PlugIn : Sets DB to start of Client entries
     Auth: Karl Mottram

     Args: CDat/A Flag/A
     Func: Searches database for search-string, and sets CURRENTRECORD to entry
     Incl: Best set to run from within Trigger environment.
     Note: See code for acceptable FLAG args and functions derived.

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - The basic structure. Didn't work.
     v1.1 - Cleaned it up, it works, barely.
     v1.2 - Added debug mode to show me what's wrong.
     v1.3 - Checks: Search=Num then NumSearch; Search=Alpha then NameSearch.
     v1.4 - Removed obsolete code and cleaned it a bit more.
     v1.5 - Added EnforcePort codes to counter multi-invocation problems.
            Also removed the CheckDB routine. It was obsolete.


- Trigger.rexx - DB PlugIn : A simple trigger to tag checkboxes
     Auth: Karl Mottram

     Args: PlugIn/A
     Func: Simple dumb-trigger which resets itself.
     Incl: NAME="",FTYP=checkbox,OFFS=11,SIZE=8,AUTORXFILE="DB:PlugIns/Trigger.rexx <PlugIn>",NEXT=nl
     Note: Handy for tagging checkboxes mainly.

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - Simple launcher, no real updates required.
     v1.1 - Added EnforcePort codes to counter multi-invocation problems.


- GetFile.rexx - DB PlugIn : Gets filename and inserts into DB
     Auth: Karl Mottram

     Args: TargField/A
     Func: A nasty patch to get filenames and insert into DB
     Incl: NAME='',OFFS=11,SIZE=3,AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
     Note: Since the RexxARP/RexxReqTools.library's stuff up on me,
           I had to patch through the shell command RequestFile... Nasty! :}

     Head:
JNum	Client	Date	Amount	QTY	File	Desc	Paid	PDate	Costs	Summ	Trig1	Trig2
@RFF=1.1,TYPE=internal,CMNT=" 1996 Karl Mottram - Teknofile Services",RXPORTNAME=TFJOB	AUTORXFILE=DB:PlugIns/AIClient.rexx							AUTORXFILE="DB:PlugIns/AddDate.rexx Paid PDate"			AUTORXFILE=DB:Rexx/XportSumm.rexx	AUTORXFILE="DB:PlugIns/Trigger.rexx GetClient.rexx x -p"	AUTORXFILE="DB:PlugIns/Trigger.rexx GetFile.rexx File"
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=QuickScan	NAME="Job #",OFFS=0,SIZE=5,NEXT=tab	NAME=Paid,OFFS=7,SIZE=2,NEXT=space	NAME=Summ,OFFS=10,SIZE=2,NEXT=nl	NAME=Client,OFFS=1,SIZE=27,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=3,NEXT=nl
@RFF=1.1,TYPE=form,TABSIZE=10,LNAM=FullScan	NAME="Job _#",OFFS=0,SIZE=7,NEXT=tab	NAME="Job _Date",OFFS=2,SIZE=10,NEXT=tab	NAME=_Paid,FTYP=checkbox,OFFS=7,SIZE=2,NEXT=space	NAME=on,FTYP=text,OFFS=8,SIZE=9,NEXT=nl	NAME=_Client,OFFS=1,SIZE=30,NEXT=space	NAME="",FTYP=checkbox,OFFS=11,SIZE=8,NEXT=space	NAME=Su_mmarised,FTYP=checkbox,OFFS=10,SIZE=2,NEXT=nl	NAME=_File(s,OFFS=5,SIZE=52,NEXT=space	FTYP=checkbox,NAME="",OFFS=12,SIZE=3,NEXT=para	NAME="_Amount $",OFFS=3,SIZE=23,NEXT=space	NAME="Costs _$",OFFS=9,SIZE=23,NEXT=para	NAME=_Qty,OFFS=4,SIZE=8,NEXT=nl	NAME=Desc,FTYP=textfield,ROWS=5,OFFS=6,SIZE=57,NEXT=nl

     History:
     v1.0 - Basic bare bones really... attempting to use Rexx libs...
     v1.1 - Rexx[ARP|ReqTools].library failed, and locked out RexxMast.
            Had to patch into Shell command RequestFile and reroute output.
     v1.2 - Added EnforcePort codes to counter multi-invocation problems.


- DBStartUp.rexx - DB PlugIn : Start DB with a selected file pre-loaded
     Auth: Karl Mottram

     Args: None - Edit script.
     Func: Pre-load a file when you call DB to open. Handy if you use Docks.
     Incl: None - external PlugIn.
     Note: Call from, say, ToolManager as an ARexx script. Easy.

     Head:
<none>

     History:
     v1.0 - The basics only - nothing more needed really, until I can get
            some ARexx-internal file-requester system WORKING for once. :}


