Jbase Foundation
Knowledge Impact Center
1
OBJECTIVE
Objectives of the course are:
• To introduce jBase with special features and architecture
• How to login jBase
• Understand Utilities
• Comprehend File Management and tools
• Learn Programming basics
• Appreciate Core T24 routines using jBasic
2
COURSE AGENDA
• Introduction to jBase • jED – Editor of jBase
• Features of jBase • jBasic – Programming
language of jBase
• jBase Architecture
• Functions in jBasic
• Login jBase
• User defined Functions
• jBase Directory Structure
• jDB – Debugger tool
• jShell
• Core T24 subroutines
• File Management
• Workshop
• Tools & Utilities
• jQL
• Workshop
3
Introduction to jBase
4
Introduction to jBase
• jBase is a database management environment that runs on UNIX or
Windows NT Operating system etc...
• Globus Applications are developed in jBase Environment Using Info
Basic and runs in jBase.
• Portable across hardware platforms
(HP-Unix, Aix, SCO Unix, Windows etc)
• jBase provides a complete Development and Runtime environment.
5
Technical Layer
AC LD MM … … … Applications
T24/GLOBUS
jBase / UniVerse DBMS
Unix / Windows OS
• Globus works on Unix/Windows platform and uses jBase/ UniVerse
as its database during runtime environment.
6
jBase Terminology
jBase Microsoft Office
Account Database
File Table
Record Record
Field Field
Value Value
Multi Value no comparison
Sub Value no comparison
7
Features of jBase
8
jBase Features
Unique feature in jBase are
• Can store variable length records.
• Unlimited number of files.
• Most efficient method of data storage, access and retrieval.
9
Relationship of OS and jBase
• jBase has its own command processor that includes many OS
commands.
Example: pwd
We can administer jBase from OS.
Example:
Backing up and Restoring system files, Keeping records, etc...
10
jBase Architecture
11
jBase Architecture
12
ARCHITECTURE
The jBase architecture consists of three components
• Application Development Environment (ADE)
• Middle-ware components
• Database Management System
13
ARCHITECTURE
• The first component is the
Application Development Environment.
• This consists of several products.
• First and primary is the
Basic language (jBC)
14
ARCHITECTURE
•The second component is Middleware
• The most important part of the
jBase middleware component is the
jBase External Database Interface (jEDI)
15
ARCHITECTURE
The third and final component of jBase
is the Database Management System.
16
ARCHITECTURE
Application Development Environment (ADE)
It consists of the following tools/products
• jBase Basic language compiler(jBC)
• jBase OBjEX
• jBase Web Builder (jWB)
17
Application Development
Environment
jBase Basic language compiler ( jBC )
• It is traditional language for developing applications in jBase.
• It deals efficiently with multi-dimensional database architecture.
• jBC converts the BASIC code into "C" and invokes the native "C"
compiler to convert the "C" source code into a machine native
object file.
18
Application Development
Environment
jBase OBjEX
• It provides an interface from two environments, Microsoft's COM
and Java-based applications.
• The COM based OBjEX allows access to jBase database from Visual
Basic and Delphi.
• jBase OBjEX provides a similar capability for Java based
development tools, such as JBuilder…
19
Application Development
Environment
jBase Web Builder ( jWB )
• It is both an integrated development environment and a Web
application server
• It is used for writing and implementing internet and intranet
applications
20
ARCHITECTURE
Middle-ware component consists of two products.
• jBase External Device Interface ( jEDI )
• jBase Data Provider ( jDP)
21
Middle-ware
jBase External Device Interface ( jEDI )
• It is used by all Input and Output operations within the jBase
system. jEDI itself consists of two layers of interfaces.
• The first interface is between the application and jEDI.
• The second interface is between jEDI and the database
22
Middle-ware
When an application requests data from a data source ( using Java,
jBC, ODBC or directly from a 'C' program )
• The first interface turns that request from a language-dependent
form into the canonical form.
• The second interface converts the canonical-form into a form the
data source can understand.
23
Middle-ware
jBase Data Provider ( jDP)
• This provides a standards based interface to the jEDI.
• Any application using the ODBC, OLE DB, JDBC or ADO standards
can retrieve data from the jEDI interface.
24
Data-Base Management
Systems
Efficient Resource Management
• a Non First Normal Form database, having multi-value capabilities.
(ie. To embed tables within tables)
Transaction Management
• It enables lock mechanism and ensures either a transaction is
completed fully or reversed back to its original state
Effective Distribution
• Distribution of data in the database through Hashing algorithm
enables faster retrieval of data.
25
Login jBase
26
Login jBase
STEPS TO LOG ON TO T24 RUNNING ON jBase
• Log on to Unix by specifying user name and password
• user name and password are verified
• Remote.cmd or .profile file is executed
• Remote.cmd or .profile has the jBase environment set
27
Login jBase
Using REFLECTION software
• Invoke Reflection to login to the server running jBase
28
Login jBase
• It will automatically start prompting the user to enter user-name
and password.
29
Login jBase
30
Login jBase
• jBase shell can be recognized by the appearance of the following
prompt :
jsh <user-name> <current-working-directory> -->
31
jBase Directory Structure
32
jBase Directory Structure
/jBase
/jBase
bin
bin config
config jspooler
jspooler lib
lib tmp
tmp dev
dev
33
jBase Directory Structure
/bin
– Contains all the binary executables that make up the jBase system
including the compilers.
/config
– Contains various configuration files for systems such as background
processing and the j-file(s) lock daemon. (jRLA )
34
jBase Directory Structure
/dev
– All external devices on the current system are described here.
/jbcmessages
– Contains all jBC error messages
– It may be edited by the user.
35
jBase Directory Structure
/include
– Various include files required at compile time are stored here.
/lib
– Contains all the libraries required for linking & executing jBC compiled
programs.
36
jBase Directory Structure
/src
– This directory contains any source code files that are distributed with
the current jBase release.
– It contains extended user exit support, templates for Makefiles and jEDI
interface code.
/tmp
– This is a general purpose temporary directory for runtime use.
37
jBase Directory Structure
• bin - Executable files
• config - Configuration files
• dev - External device information
• jbcmessages - Error messages
• include - Include files
• lib - Library files
• src - Source code files
• tmp - Temporary files
38
jShell
39
jShell
• Why jShell?
– jShell provides a command line environment equivalent to DOS and
UNIX terminal modes.
• Features of jShell
– Easily customisable command line prompt
– Easy command recall.
40
Navigation in jShell
• BK
from globus gets you down to the jsh prompt
• jsh > pwd
present working directory
• jsh > jdir
list files and directories under current directory
• jsh > ls -l (unix installation)
list files and directories and their permissions
• jsh >more (unix installation)
used with record name to display contents of the record
• jsh > cd
move to directory or file
• jsh> exit
exits unix
41
Sentence Stack commands
Cursor keys migrate through commands and position cursor for editing
- Home and End keys will also work if properly mapped
Control keys can also be used
p - previous command
n - next command
k - clear to end of line
b - left one character
w - delete to end of word
a - move to beginning of command
e - move to end of command
o - toggle insert/overwrite
42
jShell COMMANDS
jshow - Displays locations of files, programs
and subroutines
jfind - Provides the UNIX find capability for
Windows
jgrep - Provides the UNIX grep capability for
Windows
jstart - To start up a process in the same
window or in a new window or in the
background
43
jShell COMMANDS
jdir - Displays list of files in a directory
jfb - Generates formatted jbc source code
jrm - Removes a file
jmv - Moves oldfile to newfile
44
COMMAND SYNTAX
jshow -Options <name>
<name> - Name of file, subroutine, program or dll/shared object.
Where Options can be:
-a display subroutine names in dll/shared object (note: under Unix,
this must be the complete path to the shared object)
-c display compile time and source file
-f file name only search
-h display this help screen
-p program name only search
-s subroutine name only search
-v verbose mode
45
COMMAND SYNTAX
jfind <path> Options
<path> - Path in which the file has to be
searched for.
Where Options can be:
-name pattern - finds files whose name matches pattern
-print - prints the pathname for files found
-type d|f - find directories or files
46
COMMAND SYNTAX
jfb -Options <file_name> <record_name> (Options
-A or (A - alternate indenting of CASE statements.
-C or (C - indent comments with the source code not column 1
-Ln,m or (Ln,m - set indentation to n spaces, with initial set at n*m
-Mnn or(Mnn - set maximum number of indentations to nn, default 10
-N or (N - do wait for keyboard input between pages
-P or (P - send output to the current printer queue
-Snn or (Snn - set the percentage split of code to comments to nn%
-V or (V - display indentation with + character
47
COMMAND SYNTAX
jdir {<file_name>}
<file_name> - Name of the directory (BP file)
File name is optional.
By default the current directory files will be listed.
48
COMMAND SYNTAX
jrm –r <file_name>
<file_name> - Name of the directory (BP file) to
be removed
jrm <record_name>
<record_name> - Name of the record in the file to
be removed
Note: To remove a record the command will be executed under
the file where the record exists.
49
COMMAND SYNTAX
jmv <old_file> <new_file>
<old_file> - Old file name or record name to be
changed
<new_file> - New file name or record name to be
renamed with.
Note: To rename a file or record this command is used.
50
COMMAND SYNTAX
jgrep -Options <SearchString> <FileName> (Options
-c or (C) make search case in-sensitive
-i or (I) interactively ask for one or more SearchString"s
-k or (K) search in record KEY only for string
-l or (L) simply list the record keys they were found in
-n or (N) do not wait for keyboard input between pages
-p or (P) send output to printer
-s or (S) sub-directory searches
-t or (T) trims redundant spaces from search patterns
-r or (R) raw display exclusive of dollar items
51
File Management in jBase
52
Files in jBase
Every file created in jBase contains two parts
• Data portion
• Dictionary portion
Data portion Dictionary portion
Contains field name and its
Contains records
properties
Data : Records in turn has many fields.
Dictionary : Contains field name and its attributes like
eg. Length, Max.range etc.,
53
File Types
jBase database files are created with the CREATE.FILE command.
Before creation of any file its type has to be determined.
• Directory or Non-hashed
• Hashed
54
Non-hashed Files
• Contains Sequential files
• Unix level directories
• Used to store programs or generated reports
• Records in a directory file are operating system files.
• Name cannot exceed 255 chars, determined by OS.
• Spooler files used by GLOBUS to store printed reports are directory
files.
55
Non-hashed Files
• Report size varies greatly, therefore, records are stored in a non-
hashed file.
• BASIC programs, executables and subroutines are generally stored
in directory files since they have no set key, length or structure,
and record sizes vary greatly.
• Type is always equal to ‘UD’
56
Hashed Files
• Data files are stored as hash files
• Use Hash Algorithms to dynamically read and write data
• Two types of Hashed files – j3 and j4
• Data and dict portions are divided into groups called Modulos
• Default sizes -- j3 – 1024 bytes j4 – 4096 bytes
• All Globus – T24 files are hashed files of type j4
• Modulo size is determined by separation
• Separation -- Multiplying factor of Modulo
57
Structure of Hashed file Type J3
4*1024= 4*1024= 4*1024= 4*1024= 4 *1024=
4096 Bytes 4096 Bytes 4096 Bytes 4096 Bytes 4096bytes
Modulo1 Modulo2 Modulo3 Modulo4 Modulo 5
Data Portion of Hashed file of Type=J3
for Modulo=5 and Seperation=4
58
Structure of Hashed file Type J4
3*4096= 3*4096= 3*4096= 3*4096=
12298 Bytes 12298 Bytes 12298 Bytes 12298 Bytes
Modulo1 Modulo2 Modulo3 Modulo4
Data Portion of Hashed file of Type=J4
for Modulo=4 and Seperation=3
59
Hashed Files
• Modulo and Separation specify the disk space allocated to a hashed
file.
• The choice of file type, modulo, and separation can have dramatic
effect on jBase’s performance in accessing a file.
• Size of the Data and Dict Portions can be specified while creating file.
60
CREATION AND MAINTENANCE OF FILES
61
How to create a Non Hashed file?
• To create a file in jBase use CREATE.FILE command.
SYNTAX
CREATE.FILE <file name> TYPE=UD
This command Creates the data file and dict file.
62
How to create a Hashed file?
• To create a file in jBase use CREATE.FILE command.
SYNTAX
CREATE.FILE <file name> TYPE=<file type> <dict portion> <data portion>
This command Creates the data file and dict file.
63
WORKSHOP
• Create a Non hashed file
• Create a Hashed file with J3 type
• Create a Hashed file with J4 type
64
Non – Hashed File
Ex : CREATE.FILE JSL.BP TYPE=UD
Output :
File JSL.BP]D created, type = UD
File JSL.BP created, type = UD
65
Hashed File
Ex : CREATE.FILE F.JSLEMP TYPE=J4 4,2,3 4,3
Dict Modulo : 4
Dict Separation : 2
Dict Secondary Buffer size : 3
Data Modulo : 4
Data Separation : 3
Data Secondary Buffer size : Default
Output :
File F.JSLEMP]D created , type = J4
File F.JSLEMP created , type = J4
66
Hashed File
Dict Portion of Hashed file of Type=J4
for Modulo=4 and Separation=2,secondary buffer size=3
2*4096= 2*4096= 2*4096= 2*4096=
8192 Bytes 8192 Bytes 8192 Bytes 8192 Bytes
Modulo1 Modulo2 Modulo3 Modulo4
3*8192 3*8192 3*8192 3*8192
Secondary buffer size is allocated only when there is data overflow
67
Hashed File
Data Portion of Hashed file of Type=J4
for Modulo=4 and Seperation=4 and Default secondary buffer size
4*4096= 4*4096= 4*4096= 4*4096=
16384 Bytes 16384 Bytes 16384 Bytes 16384 Bytes
Modulo1 Modulo2 Modulo3 Modulo4
2*16384 2*16384 2*16384 2*16384
Secondary buffer size is allocated only when there is data overflow
68
Tools & Utilities
69
FILE SIZING
• A badly sized file will result in low performance of the system.
Therefore it is absolutely necessary to resize files periodically.
70
JSTAT
• It is used to get the statistical information about static hashed files.It displays the file
type, modulo, number of bytes in the file and number of groups in the file.
Example : JSTAT FBNK.ACCOUNT
OUTPUT:
File ..\bnk.data\ac\FBNK.ACCOUNT
Type=J4 , Hash method = 4
Groups = 53 , Frame size = 4096 bytes , Secondary Record Size = 8192 bytes
Record Count = 608 , Record Bytes = 272508
Bytes/Record = 448 , Bytes/Group = 5141
Primary file space: Total Frames = 97 , Total Bytes = 272508
Secondary file space: Total Frames = 0 , Total Bytes = 0
71
RESIZE
• JRF is the command used to reorganize a file with a new file type, modulo,and
separation, or to change an existing non dynamic file to a dynamic file.
Example : jrf -S19 ../bnk.data/st/FBNK.CUST000
• Resizes the file FBNK.CUSTOMER with new modulo of 19
Note: Ensure that you give the full path
for the file that has to be resized
72
MAINTENANCE OF FILES
COPY
SYNTAX:
COPY FROM [SOURCE FILE]TO [TARGET FILE] record names
Eg: COPY FROM JSL.BP TO JSL1.BP RECORD.NAME
This command copied the record from JSL.BP to JSL1.BP.
73
MAINTENANCE OF FILES
CLEAR.FILE
To delete all records in dictionary or data file. You cannot use this
statement to delete the file itself.
Syntax :
CLEAR.FILE <file name>
DELETE.FILE
Deletes the data file or dictionary file.
Syntax :
DELETE.FILE <file name>
74
COMO
Como is a Utility that is used to record the details which takes
place in the terminal and this in-turn is stored as a record in
COMO.
Record will be stored in a directory &COMO&
• Como can be initiated from jsh prompt by COMO
ON <record name>
• Como can be stopped by
COMO OFF
During EOD process, COMO will be initiated automatically and it
records the details for every process
75
WHERE & WHO
WHERE
• will display the details of processes executing jBase programs.
• It has to be executed from jShell prompt.
WHO
• Utility that displays the port number and the user for the
current process.
76
CT
CT command used to display a record from a file to the terminal.
Syntax : CT <filename> <record>
CT VOC FBNK.CUSTOMER
001 F
002 ../mbdemo.data/st/FBNK.CUST000
003 ../mbdemo.dict/F.CUSTOMER]D
77
OFF
The OFF command will close down all current jBase programs.
78
jQL
79
JQL
The jBase Query Language (jQL) provides the facility, which allows
to retrieve data from the database in a structured order and to
present the data in a flexible and easily understood format.
It is used to process data in the database and to generate reports.
They are
• Record selection for processing
• Report formatting
• Sorting
• Data field manipulation capabilities
Enter JQL statements in the jBase prompt to see how each one
works.
80
List
List
To list all the records in a file for the given fields.
List File Fields
Eg. LIST FBNK.CUSTOMER MNEMONIC SHORT.NAME NAME.1
Explicit List
This list will select only those records which are given explicitly.
List File Record
Eg. LIST FBNK.CUSTOMER "100161" "100068"
81
List
List Like
List file with Fields like ....
LIST FBNK.CUSTOMER WITH NAME.1 LIKE ...S...
Will list all the records which has ‘S’ in the name.
LIST FBNK.CUSTOMER WITH NAME.1 LIKE S...
Will list only records whose name starts with ‘S’
LIST FBNK.CUSTOMER WITH NAME.1 LIKE ...S
Will list only records whose name ends with ‘S’
82
List
Listing of Specific records
LIST FBNK.CUSTOMER WITH NAME.1 = “SUNN" “SAI" “BABU“
This will list those records whose Name.1 matches the above mentioned value.
LIST FBNK.CUSTOMER WITH NAME.1 = “SAI" AND WITH SHORT.NAME= “SAIRAM“
If both Name.1 and Name.2 matches then only the record will be retrieved.
Soundex Selection
LIST FBNK.CUSTOMER NAME.1 WITH NAME.1 SAID "SUNN“
Will list only those records which sounds like “SUNN” and the retrieved value will
have ‘S’ as the starting letter.
83
Sort
Sort
Sort will sort the record in ascending order. If you want to sort the records in descending
order we have to explicitly mention in the sort statement. By default it will sort in ascending
order.
Sort File By Field Fields
SORT FBNK.CUSTOMER BY NAME.1 NAME.1 NAME.2
This command will sort the record by Name.1 in ascending order. Though it is not specified
in the sort command by default it will take ascending order.
SORT FBNK.CUSTOMER BY-DSND NAME.1
This command will sort the record by Name.1 in descending order.
SORT FBNK.CUSTOMER BY @ID BY NAME.1
This command will sort the record by id and name in ascending order.
Break-on
SORT FBNK.CUSTOMER BY NAME.1 BREAK-ON NAME.1
This command will insert a break each time the value in the Break-On field changes.
(I.e) when the Name.1 changes there will be some spaces between records.
84
Sort
SORT FBNK.CUSTOMER BY NAME.1 BREAK-ON “‘P’” NAME.1
This command will break on NAME.1 and each record will be displayed in a
new page when you give ‘P’.
Calculations
TOTAL Calculate and display totals for numeric fields.
COUNT To count the number of records in a report.
LIST FBNK.ACCOUNT BY CUSTOMER BREAK-ON CUSTOMER TOTAL
WORKING.BALANCE
This command will give the grand total for each Customer along with the
break.
SORT FBNK.ACCOUNT BY CUSTOMER BREAK-ON "'P'" CUSTOMER TOTAL
WORKING.BALANCE
This command will give the grand total for each Customer and each record
will be displayed in a new page.
85
Count
Count
Count FBNK.ACCOUNT
Count is used to count the total number of records in a file.
Suppress
DET-SUPP Details suppress
SORT FBNK.ACCOUNT BY CUSTOMER BREAK-ON "'P'" CUSTOMER TOTAL WORKING.BALANCE
DET-SUPP
The command will list the total working balance for each customer without the account detail.
Only the grand total of each customer will be listed. If DET-SUPP is not given then the command
will list all the account and working balance for each customer along with the grand total of each
Customer.
ID-SUPP
Suppress the record ID from being displayed as the first field in any report.
SORT FBNK.ACCOUNT BY CUSTOMER BREAK-ON "'P'" CUSTOMER @ID WORKING.BALANCE ID-
SUPP
By default the id of each record will be displayed even if the id column is not given. To suppress
that id column we have to give Id-Supp.
86
ESEARCH
This command will search for the string OFS in Globus.BP.
ESEARCH GLOBUS.BP
STRING:RADAR
STRING:
4 record(s) selected to SELECT list #0.
COUNT
To count the number of records in a file.
COUNT GLOBUS.BP
COUNT FBNK.CUSTOMER
87
Programming Basics in jBase
88
jED – Editor of jBase
89
jED
• It is the preferred editing tool for the jBase – operating
environment and suited to the editing of jBASIC programs.
• jED editor is a full screen, context sensitive, screen editor
designed specifically for ease of use and learning
• It incorporates many powerful facilities for manipulating text and
data, and contains all the features that programmers expect.
• Configurable and customizable command keystrokes.
90
jED Command Syntax
Syntax:
jed pathname {pathname..}
jed {DICT} filename{,filesection} {record-list} {(options)}
DICT - This modifier is only required if you wish to edit records in the
DICTionary of a j-file.
filename - This is the name of the "file" containing the records.
filesection - This is the file section name, as used in a j-file.
record-list - It is possible to furnish a list of records to be successively
edited. This can be a list of records separated by a space, or "\*" to
indicate all records in the file.
91
jED Editor screen
Editor screen is divided into three sections
1. The editor status line at the top
Eg. File PROGS, Record cust_rep.b Insert 10:45:17
2. The Command line
Eg. Command
3. The data editing area, which fills the rest of the screen.
92
jED COMMANDS
Ctrl G Mark Block, 1st Start Blk, 2nd End Blk, 3rd Remove Mark
CBn Copy Marked block before current line, n times
CAn Copy Marked block after current line. n times
/string or L Locate the next occurrence of "string"
MB Move Marked block before current line
MA Move Marked block after current line
BI Format BASIC code
BION Turn on Format indentation
! Cmd Execute Command
!! Re-execute last ! Cmd
HX or HEX Toggle the display of the record in Hexadecimal
93
jED COMMANDS
<Ctrl A><Home> Moves cursor to start of the current line.
<Ctrl E>/<End> Moves the cursor to the end of the current line.
Left Arrow Moves the cursor one character position to the left.
Right arrow Moves the cursor one-character position to the right.
Up arrow Moves the cursor to the previous line.
Down arrow Moves the cursor to the following line.
<Tab> Moves the cursor to the start of the next tab position
on the line
<Shift Tab> Moves the cursor to the previous tab position on the
line.
[[
<Esc> Moves the cursor to the Command LINE.
<Ctrl W> Deletes from the cursor to the end of the word,
including the following whitespace characters.
94
jED COMMANDS
<Ctrl K> Clears text to the end of the line. If the cursor is
situated at the end of the text line, then this Command
will join the following line with the current line.
<Back Space> Performs a destructive backspace.
<Ctrl D> Deletes the current line. By default, this key must be
pressed twice to delete the line. This is to avoid
accidental deletion by users familiar with vi. To
override, place "set delete-line = ^D" in the .jedrc file.
<Ctrl G> Sets the start or end position for marking a block of
text. The first <Ctrl G> will mark the start of a block or
mark a single line. The second <Ctrl G> with the cursor
on a different line will mark a complete block. The block
can be unmarked by pressing <Ctrl G> a third time.
95
jED COMMANDS
<Ctrl P> Locates the previous occurrence of a earlier located
string.
<Ctrl R> Redisplays the screen and discards the most recent
updates (since the last carriage return).
<Ctrl T> Copies the character at the corresponding cursor
position on the line above the current line.
<Ctrl V> Performs jBC program indentations on the current
screen window.
<Ctrl X> Exits the current record without writing away any
updates. If the record has been changed within the
current editing session then the editor will ask for
confirmation to exit the modified record.
<Enter> Opens a new line. Any characters on the current line
after the current cursor position are moved to the start
of the new line.
96
REPLACE
Position the cursor on appropriate line and move to the
Command-> Prompt
R/OLD/NEW : Changes first OLD to NEW on current line.
R/OLD/NEW/3 : Changes first 3 OLD to NEW on current line.
R3/OLD/NEW : Changes first OLD to NEW over 3 lines.
RU/OLD/NEW : Changes all OLD to NEW on current line.
RU3/OLD/NEW : Changes all OLD to NEW over 3 lines.
97
Copy and Move -
Blocks
Select the Block using Ctrl G and move to the Command->
Prompt
CA : Copies block after line you are on.
CA4 : Copies block 4 times after line you are on.
CB : Copies block before line you are on.
CB4 : Copies block 4 times before line you are on.
MA : Moves block after line you are on.
MB : Moves block before line you are on.
DB : Deletes Block.
98
WORKSHOP
99
WORKSHOP
• Create a non-hashed file to store programs and templates
• Copy a file from one non-hashed file to another.
• Resize the modulo portion of a hashed file.
• Create a saved list of the selected records from a file.
• Practice till gaining confidence in jsh, jed and tool and utility
commands.
100