0% found this document useful (0 votes)
140 views

Jbase Intro

The document provides an overview of the objectives and agenda of a jBase Foundation course, which aims to introduce participants to the features and architecture of jBase, how to log in and use utilities, file management, programming basics using jBasic, and core T24 routines. The course agenda covers topics such as the introduction to jBase, features, architecture, logging in, directory structure, tools, programming in jBasic, and debugging with workshops included.
Copyright
© © All Rights Reserved
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views

Jbase Intro

The document provides an overview of the objectives and agenda of a jBase Foundation course, which aims to introduce participants to the features and architecture of jBase, how to log in and use utilities, file management, programming basics using jBasic, and core T24 routines. The course agenda covers topics such as the introduction to jBase, features, architecture, logging in, directory structure, tools, programming in jBasic, and debugging with workshops included.
Copyright
© © All Rights Reserved
Available Formats
Download as PPS, PDF, TXT or read online on Scribd
You are on page 1/ 100

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

You might also like