JSFIELD Utility Program Documentation
(Ver 2.2)

Author: Johnathan Mark Smith


THE OLD DISCLAIMER

  This software and manual are sold "as is" and without warranties
  as to performance or merchant ability or any other warranties
  whether expressed or implied. Because of the various hardware and
  software environments into which this program may be put, no
  warranty of fitness for a particular purpose is offered.

  The user must assume the entire risk of using and evaluating this
  program. Any liability of  Johnathan Mark Smith Technology will be
  limited exclusively to product replacement or refund of purchase
  price. If you find these terms unacceptable, do not use this
  product.

Introduction


	programmers are frequently asked to extract and format
 data for the PC.  It is not enough for the programmer simply to 
pull off the records of interest to the user.  Usually, the records must be
formatted to create a set of fields appropriate for "importing"
into the PC worksheet.  In a typical company, hundreds of man-hours
are spent each year in creating the small ad-hoc programs required
to generate such data.

 The JSFIELD utility greatly simplifies the task of manipulating
 data for use in a PC environment.  JSFIELD provides the following
 features:

 1.  Selective extraction of fields from an input record

 2.  Data output in either delimited ASCII or non-delimited ASCII
     format.

 3.  Selectable column position ordering of extracted fields.

 4.  Ability to write the same input data into multiple output
     fields.

 5.  Record selection capability based on record field contents.

 6.  Optional output record count limit parameter.

 7.  Formatting of string field with quote marks and numeric
     fields with explicit zeros.

 8.  Suppression of unwanted characters within selected fields.

 9.  Creation of constant string output fields.

10.  Conversion data from EBCDIC to ASCII format.




	The JSFIELD program must be provided with control information 
to govern its execution. This information is read from a control file. 
The control file is a standard PC text file that can be created 
with any ASCII text editor.

 To run JSFIELD type at the prompt: JSFIELD [options] <Control file name> .

 THE CONTROL FILE
 ----------------

 The first line of the control file identifies the input file name.

 The second line of the control file identifies the output file name.

 Subsequent lines of the file provide field extraction control information.
 Each field exaction control line contains the type of field ,starting byte
 position of the field, length of the field and a mask if needed.

 The following sample control file illustrates how control
 information is provided to the JSFIELD program.

 Contents of a sample JSFIELD control file, JSFIELD.CTL:

C:\DATA\STC.TXT
C:\DATA\only100.TXT
c,2,4,<>,John
n,10,1,=,1
C,5,3
N,24,7,<,10000



The input file name is C:\DATA\STC.TXT.

The output file name is C:\DATA\LESS100.TXT.

The first field extract control record (c,2,4,<>,John) indicates that
the data to be extract is a string field(characters to be surrounded by
quotes) will be extracted from byte position 2 and The logical length
of the field is 4 characters. The selection data indicate that the input
record will be discarded if the field value is equal to John.

The second field extract control record (n,10,1,=,1) indicates that the
data to be extract is a numeric field and it will be extracted from
byte position 10 and the logical length of the field is 1 character.
The selection data indicate that the input record will be discarded
if the field value is not equal to 1.

The field extract control record (C,5,3) indicates that the data to be
extract is a string. The leading and trailing spaces will be removed because
you used a Upper case 'C' character. The field will be extracted from
byte position 5 and the logical length of the field is 3 characters
long.

The field extract control record (N,24,7,<,10000) indicates that the data to
be extract is a numeric field and it will removed leading zeros because
you used a upper case 'N' character. The field will be extracted from
byte position 25 and the logical length of the field is 7 characters long.
If the field is not less then 10,000 the input record will be discarded.


JSFIELD Output field type codes
-------------------------------

  The following are valid codes for designating output field types:

STRING FIELDS
-------------
1) c (Lower case)   String field. (Surrounded by quotes).

2) C (Upper case)   String field. (Surrounded by quotes, Leading and
                    trailing spaces will be removed).

3) u (Lower case)   String field. This will convert the string to
                    all uppercase. (Surrounded by quotes).

4) U (Upper case)   String field. This will convert the string to
                    all uppercase. (Surrounded by quotes, Leading and
                    trailing spaces will be removed).

5) l (Lower case)   String field. This will convert the string to
                    all lowercase. (Surrounded by quotes).

6) L (Upper case)   String field. This will convert the string to
                    all lowercase. (Surrounded by quotes, Leading and
                    trailing spaces will be removed).

NUMERIC FIELDS
--------------
1) n (Lower case)   Numeric field (Leading and trailing spaces will
                    be removed).

2) N (Upper case)   Numeric field (Leading and trailing spaces will
                    be removed. also Leading zeros will be removed).


JSFIELD Output file mask code
_____________________________

  The following are valid codes for designating output field mask:

1) <>               Take all record not equal to the value of the
                    data field.

2) <                Take all record less then the value of the data
                    field.

3) >                Take all record greater then the value of the
                    data field.

4) =                Take all record equal to the value of the data field.




OPTIONS
-------
1) -bz   This option will tell the utility that the input file is not
         CRLF and the record length is z long, also make the output file
         without CRLF.

2) -Bz   This option will tell the utility that the input file is not
         CRLF and the record length is z long, also this will add CRLF
         to the output file.

3) -ez   This option will tell the utility that the input file is EBCDIC
         and the record length is z long, also make the output file ASCII
         without CRLF.

4) -Ez   This option will tell the utility that the input file is EBCDIC
         and the record length is z long, also the output file will
         be ASCII with CRLF..

5) -A    This option will tell the utility that the input file is CRLF
         but don't make the output CRLF.

6) -d    This will tell the utility to make the output file delimited.

7) -a    In some system a delimiter after the last field on the record
         will be needed. This option will insert a delimiter after the
         last field on each record.

8) -nz   This option will tell the utility to only extract z number of
         record(s).

9) -s    This option will put the utility into fast and stealth mode.
         fast and stealth mode will surpress the graph that shows on
         the screen when JSFIELD is executed and the counters will
         only be displayed at program termination. The advantage
         of using this option is that the utility will run
         MUCH, MUCH FASTER.
         (Try It !)




Registration

  I will keep improving the program if I know enough people are
  finding it useful.

  My registration policy is very flexible. The nominal fee are listed
  in the file REGISTER.TXT. If you don't feel you will get your money
  worth of use out of JSFIELD, send whatever it is worth to you.

  If you are impoverished and can't afford to pay anything,
  enclose a stamped self-addressed envelope
  and I will send you a registration.

  This is not freeware or public domain. Shareware is simply a means
  of marketing commercial software. You are required to register if
  you intend to use this program after a reasonable trial period.

  When registering, please tell me the version number you have 
  and where you obtained your copy of JSFIELD.

  See REGISTER.TXT for details.

  JSFIELD should be registered for the maximum number of copies that
  can be used simultaneously at your site. Site fees for commercial
  users can be negotiated.

  If you register for the full fee, and enclose a Shipping and
  Handling fee of $3 I will send you the latest versions of JSFIELD and
  Some Free Demo's.  if you decide to use it after a trial period. I will 
  also send other File related shareware programs.


Registered version features

* CUSTOM DEFAULT SETTINGS

* DISCOUNTS ON SHAREWARE




Program Abort

    Hitting Control-C (or Control-Break) will terminate the program
    immediately. 


Distribution

    Permission is hereby given to copy and distribute this program
    as long as no more than $5 is charged. It must be made clear to
    the buyer that this is only a handling charge and not a
    registration fee. You must include all files in their original
    unmodified form when distributing this program. .

    Permission to distribute may be revoked by the Johnathan Mark Smith 
    at any time for any reason.

    YOU MUST NOT DISTRIBUTE ANY COPY WHICH HAS BEEN BRANDED WITH
    A REGISTRATION CODE. 

All trademarks used in this document are the property of their
owners.

		-Johnathan Mark Smith-


Questions or suggestions regarding JSFIELD should be directed to the author
at the following address:

	Johnathan Mark Smith
	2039 85 STREET
	BROOKLYN, NY 11214

	Telephone: 718-373-3886



