Exception Handling Tutorial (Windows & OS/2) | GUI Programming Tutorial (Windows & OS/2) |
Requirements-based vocabulary is a feature unique to Micro Focus Object COBOL. Requirements-based vocabulary enables you to create new verbs and functions related to types of application you are working on. This tutorial demonstrates this new feature, using the bank account classes introduced in the Inheritance tutorial.
This tutorial consists of the following sessions:
Approximate time to complete: 10 minutes.
In this section you will load the Bank example and look at its components. Follow the steps below:
>>To look at the Bank vocabulary example
This starts the on-line Requirements-based Vocabulary Tutorial tutorial.
This starts the Browser with the source files for the Account classes and a program called Bank2 loaded in. The Browser shows the hierarchy of the account classes.
Account and its subclasses are the same class
programs as used in the Inheritance tutorial. Bank2 is similar
to Bank1, also used in the Inheritance tutorial, but uses verbs
and functions defined with Requirements-based Vocabulary instead of
the invoke
verb.
Account.if and saccount.if are copyfiles used by Bank1. They are the class interface files which define new vocabulary for use with the Account and SavingsAccount classes. Because the methods of Account are inherited by all types of account, with no interface changes, the vocabulary defined in account.if applies to all the account classes. The saccount.if file defines extra vocabulary appropriate to SavingsAccount (and HighRateAccount which is a subclass of SavingsAccount).
Look at the class-id
header; it defines
account.if as an external class. The Compiler does not generate
any code for external classes.
This has the same method-id
, linkage
section
and procedure division
header
as the "openAccount" method in account.cbl. However, there are
no executable statements in the procedure division. Instead, there
is a syntax definition of a new verb, Create
.
The definition starts with the phrase invoked as
.
The syntax for defining new verbs and functions is covered in the
chapter Requirements-based Vocabulary.
This is the end of the first session. In the next session you will look at some code which uses the new syntax.
This session animates some source code which uses requirements-based vocabulary.
>>To animate the vocabulary example source code
The message to open a new CheckAccount is sent by the new verb
create
, which is defined in account.if.
Execution switches to the "openAccount" method of Account (CheckAccount
inherits the "openAccount" method from Account).
create
verb. This is in the account.if file. Press ctrl+home
to go to the top of Bank2. Find the line copy "ACCOUNT.IF"
.
Animator V2 defaults to showing the code inside the copyfile, so press
page-down until you see the line below tag I001 (method-id.
"openAccount"
).
Below the procedure division
header, is
the invoked as
phrase. The words in brackets [ ]
are noise-words, included for readability. You don't have to include
them when you use the create
verb.
Words inside angle brackets <> are the parameters to the routine,
with the exception of <self>
. <self>
is the object reference to the object which receives the message.
Every parameter in the definition of the verb is in the procedure
division
header using
and returning
clauses
The procedure division
header and linkage
section
match exactly those in the openAccount
method of the Account class itself.
As you step through the code, you can see how the same verbs can be used for SavingsAccounts and CheckAccounts.
if balance(asAccount)...
).
This conditional statement uses the balance
function. This is an example of a function definition. You can use
it in the same sorts of ways as you can use an intrinsic COBOL function;
for example in a conditional statement or as part of a compute
statement.
Select Exit from the Animator V2 File menu to quit Animator V2.
This ends this tutorial on Requirements-based Vocabulary. You can study account.if and saccount.if to see how you can define vocabulary for any objects you create.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Exception Handling Tutorial (Windows & OS/2) | GUI Programming Tutorial (Windows & OS/2) |