Professional Documents
Culture Documents
Advanced Recall
Advanced Recall
Instructor
121.1.1
Columbia Ultimate
4400 NE 77th Avenue, Suite 100
Vancouver, WA 98662
(360) 256-7358
www.columbiaultimate.com
Acknowledgments
The information in this manual is proprietary to Columbia Ultimate. This publication may not be
reproduced in part or in whole without prior written permission of Columbia Ultimate, 4400 NE 77th Ave
Ste 100, Vancouver, WA 98662. The sale or other unauthorized distribution of any of the information
contained in this publication is strictly prohibited. Violators will be prosecuted to the fullest extent of the
law.
Disclaimer
Columbia Ultimate makes a sincere effort to ensure the accuracy and quality of its published materials;
however, no warranty, expressed or implied, is provided. Columbia Ultimate disclaims any responsibility
or liability for any direct or indirect damages resulting from the use of the information in this manual or
products described in it. Mention of any product does not constitute an endorsement by Columbia
Ultimate of that product. All sample files are intended to be fictional; any resemblance to real persons or
companies is coincidental.
Trademark Notices
Ajent, Ajility, The Collector System, ManageMed, QuickFlow, Revenue Plus, the CU•Family of products
and services and the Columbia Ultimate logos are registered trademarks of Columbia Ultimate Business
Systems, Inc., and all affiliated companies, registered U.S. Patent and Trademark Office, and in many
other countries. All other trademarks are the properties of their respective owners.
i
Contents
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Creating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Conversion Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Formatting Dollar Amounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Converting Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Extracting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Retrieving Groups of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Pattern Matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Using A-Correlatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Combining Conversion Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Using If/Then/Else Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A-Correlatives Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Using F-Correlatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Combining Conversion Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
F-Correlatives Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Creating the Paragraph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Examples of Paragraphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
In Line Prompting with Paragraphs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Controlling Paragraph Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
ii
Introduction
Many concepts in this workshop build on those
taught in Beginning Recall. As a result, you need to
be comfortable with the material in the Beginning
Recall Workshop before attending Advanced Recall.
2 Introduction
Introduction 3
Workshop Overview
Use this overview to learn about the manual, handouts, objectives, and dictionary
items.
The Manual
This manual has been designed for use in this workshop and as a future reference
tool.
Handouts
In additional to this manual, you will also need to have a copy of the Collector
System File Layout.
Objectives
Upon completion of this workshop, you will be able to:
• Identify how dictionary items, data items, and Recall statements interact to
produce custom reports.
• Use the Columbia Ultimate Editor to look at, change, and create data and
dictionary items.
• Customize dictionary items to produce specific results.
• Use custom dictionary items in Recall statements.
Dictionary Items
Dictionary items control many areas of any custom report. These include:
• Column headers
• Column widths
• Data display
• Text justification
• Date formats
• Dollar amount formats
• Arithmetic calculations on data
4 Introduction
Chapter 2 5
Topic Page
Looking at Data 7
Modifying Data 10
6 Using the Editor
Looking at Data 7
Looking at Data
The first step in understanding the Editor is to use it to look at existing data. The
editor allows you to see the data on your system as it is actually stored, which
may be different than what displays on a Collector System screen.
3. The cursor blinks next to a period, which is the Editor prompt. At the
Editor prompt, you type Editor commands.
The following is a quick glance at all covered Editor commands:
Command Description
ED Edit an item in a file.
T Bring back to TOP of item.
Ln LIST n number of lines.
P Show a PAGE of information (20 lines = a page).
n Go to the specific line number indicated (n).
L/<text> LOCATE the first occurrence of text in the item.
L999/<text> LOCATE the text in 999 lines of the item.
R/<old text>/<new text> REPLACE the first occurrence of the old string with
the new string for the line that you are on.
RU/<old text>/<new text> REPLACE every occurrence of the old string with
the new string for the line that you are on.
RU999/<old text>/<new text> REPLACE every occurrence of the old string with
the new string for 999 lines.
R999/<old text>/<new text> REPLACE the first occurrence of the old string with
the new string for 999 lines.
FI FILE ITEM.
A AGAIN ***relates to the L/<text>, it will repeat the
last search.
The Editor displays the word Top to let you know your cursor is back at the top of
the item. Your cursor is still at the Editor prompt.
Looking at Data 9
The system displays the number of lines requested and positions your cursor
back at the Editor prompt.
The Editor displays the line number you entered and leaves your cursor at the
Editor prompt.
Modifying Data
An editor is not very useful if all you can do is look at data. The power in this
Editor is the ability to change and add data as well as display it.
WARNING
Remember that you are changing raw data and there is no
audit trail if mistakes are made. A general rule before
changing data is to copy or backup the data prior to
making any changes.
Locating Data
To edit data, you must first locate it. When searching a large item for a certain
piece of data, use the L/ command at the Editor prompt.
Type L/ <text>, where <text> is the text you are searching for:
For example, if you are searching DEBTOR record 2142 for the status code ACT,
but you do not know which line is is on, type L/ACT at the Editor prompt.
The system displays the line that contains the text you are searching for:
Once your cursor is positioned on the correct line, you may make changes to that
line.
You can use the A command (meaning again) to search for the same text further
down in the item.
Changing Data
To change or replace existing data, use the R command at the Editor prompt.
Type Rn/<old text>/<new text>/{U}
The n is the number of lines you want to change, <old text> is the text you want to
change and <new text> is the text you want to replace the old text. The U stands
for universal and is optional. If you use it, the Editor replaces every occurance of
the old text with the new text.
Modifying Data 11
In the following example, use the R command to change the words in line 003
from DT ASSIGN to Assigned Date.
NOTE When you flip the buffer, the first buffer is deleted
and the data that was in the second buffer is
moved into the first buffer. If you exit this item
without saving “EX” the data will be restored to its
original state.
For example, in the previous section you changed the text DT ASSIGN to
Assigned Date. Once the Editor makes the change it stores the changed version
of the dictionary item in buffer two.
If you use the T command to go to the top of the item and then the P command to
view the change, the Editor displays buffer one which still contains the old version
of the dictionary item.
To view the changed version, flip the buffer by typing F at the Editor prompt.
Modifying Data 13
When this prompt displays, type Y to exit the item without saving your changes.
Deleting Data
To delete many consecutive lines, type DEn (n indicating the number of lines to
delete, including the line your cursor is on).
When you use this command you must position your cursor at the line you want to
delete. The DE command deletes lines starting at the last line shown at the
Editor prompt (.). In the following example you delete line seven of a dictionary
item.
1. Position your cursor at line 007 by typing 7 or by pressing ENTER seven times
from the top of the item.
14 Modifying Data
2. To delete line 007, type DE at the Editor prompt and press ENTER.
The system deletes the line above the Editor prompt and displays another
Editor prompt.
3. To see the item now that the line is deleted, flip the buffer using the F
command.
4. Use the P command to page down and see the item’s contents.
The system displays the item in the new form. After the system deletes a line the
data in the lines after the one deleted move up to the next line. For example, what
was in line 010 is now in line 009 and what was in line 009 is now in line 008.
Appending Data
To add data to the end of an existing line, use the AL command. Type AL/ <text>.
For example, you want to change the column header in this dictionary item from
DT ASSIGN to DT ASSIGNED:
EXERCISE
1. Display the contents of the item called CITY in the dictionary of the ACCOUNT
file. Write the TCL command you use to edit the item.
ED DICT DEBTOR CITY
2. Write down the first 10 characters of the data that resides in line eight of the
item called TOTAL-BAL in the dictionary of the ACCOUNT file.
A;N(15)+N(17)+N(18)+N(19)+N(31)-N(16)-N(21)-N(25)-N(26)-N(27)-N(32)-
N(66)
5. What command would you enter to display the next 10 lines of an item?
L10
6. Change line 003 of DICT CLIENT COUNT from CNT to COUNT. Once you
have made the change, go to the top of the item and page down to view the old
contents, then flip the buffer to view the changes.
27, and an A will find another on 35.
7. The item called TESTDICT in the dictionary of the TRANS file has too many
lines. Delete line 011 and file the changes.
At line 003, enter the command “R/CNT/COUNT”. Type a T to go to the Top
and a P to Page Down, then an F to flip the buffer and another P to Page
Down.
8. Edit DICT TRANS TESTDICT again and delete lines 007 through 009. Flip the
buffer and look at the changes, then exit the item without saving the changes.
ED DICT TRANS TESTDICT, go to line 011, type DE and press Enter.
Creating Data
Beyond viewing and changing existing data, you can
use the Editor to add new data to an existing item or
to entirely create a new item.
18 Creating Data
Inserting Data 19
Inserting Data
To insert data into a new or existing item, use the I command. This command
causes the system to enter Insert Mode.
To use the I command, it must be entered at the (.) Editor prompt. There are no
other options.
NOTE The Editor inserts the new data after the current
line.
1. To insert data into an existing item, position the cursor just before the line
where you want the new data to go. For example, to enter new data into line
003, position the cursor at line 002.
In this dictionary item, the column header that is normally in line 003 is
missing:
2. To insert the column header into line 003 position the cursor at line 002 by
typing 2.
3. Type I to access Insert Mode.
4. Type DT ASSIGN and press ENTER. You are now putting raw data into this
line.
5. Press ENTER again to exit Insert Mode and return to the Editor prompt.
20 Creating Data
The system does not save a blank line. It only saves the lines in which you
Show some entered data.
common mistakes
6. File the item to save your changes (FI).
like forgetting to exit
This section is not printed in the student manual. Teach it or leave it out at your
Insert Mode. discretion.
Merging Data
PICK’s version of cut and paste is called merging. Most likely you use merging
only rarely, but it can be helpful if you need to copy a large section of an existing
PROC to a PROC you are creating. To merge data from one PROC to another,
use the ME command. When using the ME command, type ME<number of lines to
merge>/<item to merge from>/<line number to start merging from>. For example,
the command to merge 12 lines from the item called EMPLOYERS starting at line
007 would be ME12/EMPLOYERS/7.
EXERCISE
1. Create a line in the LETTER-TEXT file item called NTC1. Insert this new line
below line 25. Enter the value “WE ENJOY LEARNING”. Press ENTER two
times and the line will be saved. Save all of your changes to this item by
flipping the buffer and the use the P command to review your changes. File out
of the item NTC1.
21
Topic Page
Reviewing File Layout 23
Anatomy of a Dictionary Item 23
Creating a Dictionary Item 26
Copying a Dictionary Item 28
22 Making a Basic Dictionary Item
Reviewing File Layout 23
Data
The rest of the item is filled with data. For example, the DEBTOR file holds
demographic, financial, and other information about the accounts on the system.
The TRANS file holds information about every trust account transaction entered in
the current month.
Line Data
002 - Attribute Number Holds the number of the attribute this dictionary item manipulates.
The example displays the contents of attribute 14, the assigned
date.
003 - Multi-value 003 - Optional Column Any text in this line becomes the column header. If this line is blank
makes multi-line Header then a Recall statement using the dictionary item displays the dictio-
header. Saves room nary item name as the column header.
on screen. In this example, the dictionary item has an optional column header
of DT ASSIGN.
008 - Correlative Codes Contains codes that manipulate the data before the system sorts
and selects the data.
009 - Justification The valid values for this field are: L, R, and T. L left justifies the data
in its column. R right justifies the data in its column. T text justifies
the data in its column. That means that if the data is too long for the
column and the system has to wrap it to the next line, it will not
break in the middle of a word.
This example right justifies the date.
010 - Column Width Contains a number that defines how wide the column is that dis-
plays the data in a Recall report.
This example has a column width of eight characters.
Reviewing File Layout 25
ATTR10
Use “R” for numbers
& dates as it is
important for
sorting.
This dictionary item, PHONE-RES, points to attribute 008 in the DEBTOR file. >LIST DEBTOR 2 8 15
Attribute 008 holds the phone number. When used in a Recall statement, PHONE-
RES displays the phone number.
This dictionary item, called 6, retrieves the account status code which is stored in
attribute 006 in the TRANS file. Line 009 contains an R which means it right
justifies the status code and line 010 indicates it displays the status code in a
column of four spaces.
26 Making a Basic Dictionary Item
This sample dictionary item called NAME points to the CLIENT file:
This dictionary item retrieves the client name stored in attribute 001 of the CLIENT
file. Lines 009 and 010 cause the data to display left justified in a column 31
characters wide.
This sample dictionary item, called NXT.ACT, retrieves data from the file for
collector 1:
Try NEXT-STEP a
good way to
maximize the header
space.
NXT.ACT retrieves the next step information for the accounts on desk 1. It
displays the data in a 12 character column that is left justified.
2. Type I to enter Insert Mode. The system positions your cursor at line 001:
3. Type these lines (HINT: Remember, to make a line a blank line use the
CTRL+SHIFT+6 key combinations and press ENTER):
The system displays the word Top and positions your cursor at the top of the
item.
4. Use the P command to page down and view the completed item.
28 Making a Basic Dictionary Item
WARNING
Do NOT change the default dictionary items that come
with your system. If you do, you may change the format of
many existing reports.
Reviewing File Layout 29
To copy an existing dictionary item, type COPY DICT <filename> <item name> at
the TCL prompt. When prompted, type the new item name.
For example, the following screen shows how to copy the DEBTOR dictionary
item called TOTAL-BAL:
Once you copy an item you can make any desired changes to the copy.
EXERCISE
1. Create a dictionary item called SUPPORT.DESK in the CF1 file that displays
the support desk in a right justified column five characters wide and with a
column header showing SUPP. Test your dictionary by running this Recall
statement: LIST CF1 WITH SUPPORT.DESK SUPPORT.DESK.
001 A
002 14
003 SUPP
004
005
006
007
008
009 R
010 5
30 Making a Basic Dictionary Item
2. Create a dictionary item that lists the debtor’s client reference number in a left
justified column 12 characters wide. Make the column header Client Ref. Use
your new dictionary item in a Recall statement to make sure it works.
001 A
002 11
004
005
006
007
008
009 L
010 12
3. Copy the dictionary item called 11 in the CLIENT file. Change the column
header from SALESMAN to SALESMAN#. Please write down the steps you
take to change this dictionary item.
Topic Page
Why Data Must Be Converted 19
ED DEBTOR 100
and attr 15 have
no $ or decimal
point.
The number 13614 doesn’t mean anything to you, but the BDATE command
displays this date in a logical and readable format:
The number 13614 is called an internal date, or raw data. When the same date is
displayed as 04-09-2005 or in any other format that a user can recognize it is
called a converted date or converted data.
The date is stored as an integer because it is easier for the computer to
manipulate. Dictionary items use special codes, called conversion codes, to
convert raw data into data that is recognizable to you.
Conversion codes are not used exclusively with dates. There are codes to change
dollar amount formats, text from upper to lower case, and many other
conversions. In the following chapters you will learn what codes have what type of
effect on raw data.
Emphasize this Unlike the Correlative field, the Conversion field is processed only after the
paragraph system has already made decisions about how to sort or whether to select the
data for processing.
The bottom line is that if you want the system to make decisions about sorting or
<ED DICT DEBTOR
selecting based on what your dictionary item does to the data, put the codes in the
TOTAL-BAL
Correlative field. Otherwise, put the codes in the Conversion field where have
>SORT DEBTOR BY- an effect only on how the system displays the data.
DSND TOTAL-BAL
Conversion vs. Correlative Fields
Sort and
Selection
Raw Data Correlative Criteria Conversion Display
Maniplated
Data
Displayed
DATA DATA
These steps take you through an exercise on the difference between Conversion
and Correlative fields.
2. Enter the following dictionary item, putting the date conversion code, D, in line
007.
Conversion vs. Correlative 35
This conversion code changes the internal data from a number that a user
cannot understand to a readable date format.
3. Type this Recall statement at TCL: SORT DEBTOR BY DATE.CONV
DATE.CONV
The system displays a list of debtor records, sorted in order by the date
assigned.
Emphasize
Because the conversion code is stored in line 007 of the dictionary item
DATE.CONV, the system sorts the records by date before the data is changed
into a user-friendly format. The data is sorted correctly.
If the conversion code is stored in line 008 of the dictionary item, the system
sorts the data differently.
4. Type ED DICT DEBTOR DATE.CORR at TCL. The system displays New item
to indicate that this is a new dictionary item.
36 Conversions and Correlatives
5. Enter the dictionary item show in the following box, this time putting the date
conversion code, D, in line 008.
Emphasize
EXERCISE
1. T F Line 007 is the Correlative field.
False. Line 007 is the Conversion field.
2. T F Conversion codes can be used in either the Conversion or
Correlative fields.
True.
3. T F The Correlative field holds codes that change the data for display
purposes only.
False. The Conversion field does.
4. T F The Conversion field holds codes that change the data for display
purposes only.
True
5. Put a number by each action in the order it is completed.
4 The system changes the data based on what code is stored in line
007 of the dictionary item.
5 The system justifies the data and defines the column width based
on what is stored in attributes 009 and 010 of the dictionary item.
2 The system changes the data based on what code is stored in line
008 of the dictionary item.
3 The system sorts and selects the data based on the criteria in the
Recall statement.
38 Conversions and Correlatives
39
Conversion Codes
Dictionary items retrieve and manipulate data for
reporting purposes. Special codes tell the system
how you want the data changed. This section
focuses on changing the data from the raw or
internal format to different formats useful to the user.
This chapter includes the following topics:
Topic Page
Converting Dates 41
Formatting Dollar Amounts 46
Converting Characters 49
Extracting Text 52
Retrieving Groups of Data 54
Pattern Matching 56
Converting Dates
Dates are stored in the PICK system in an internal format. Each time the system
clock passes 24:00 hours, the system adds one to update the internal date. This
format is easy for the computer to work with, but difficult for a user to understand.
As an example, attribute 14 in the following account record stores the assigned
date:
Show >BDATE
Attribute 14
D2-
The number 13614 doesn’t mean anything to a user, but the BDATE command D4
displays what it means to the computer.
The number 13614 is the internal date. When the same date is displayed as 04-
09-2005 or in any other format that a user can recognize it is called a converted
date or converted data.
Because the date is stored as an integer, it is easier for the computer to sort and
select dates. They are easier to manipulate, but they are not easy for a user to
read.
To convert dates to a user-friendly format, use the D conversion code. Using the D
conversion code, you tell the system how many digits to display in the year and
what character should separate the month, day, and year. Type D{year length}
{separator}.
For example, to display the date in MM/DD/YY format, type D2/.
The D tells the system you are changing the data from the internal format to a
converted date format. The 2 tells the system that you want the year to appear
with only two digits (for example, 04/09/05 instead of 04/09/2005). The / tells the
system you want the slash character (/) to appear between the month, day, and
year.
Example
This is an example of how the D conversion code changes data from the
unreadable internal format to the readable converted format.
1. Create the dictionary item called TRANS.DATE in the DICT TRANS file.
This dictionary item retrieves the raw transaction date from the TRANS file.
2. Type LIST TRANS WITH TRANS.DATE TRANS.DATE
This Recall statement lists the transaction date for those transactions that
contain a transaction date. The system displays the date as an integer since
there is no conversion code in either line 007 or 008.
3. Type D2/ in line 007 of the dictionary item TRANS.DATE.
This dictionary item converts the internal date using the D2/ conversion code.
4. Type this Recall statement at TCL: LIST TRANS WITH TRANS.DATE
TRANS.DATE
This is the same Recall statement entered previously, but the system now
displays the date in a converted format that is easier to understand.
Converting Dates 43
D- MM-DD-YYYY 05-26-2002
D0 DD MMM 26 MAY
DD DD 26
DM MM 05
DQ Numeric Quarter 2
DW Numeric Weekday 3
DY YYYY 2002
D2Y YY 02
EXERCISE
1. Create a dictionary item that displays only the internal assigned date in PICK
format.
ED DICT DEBTOR ASSN-DT
DICT Name
001 A
002 14
003 ASGN DT
004
005
006
008 DEBTOR
009 R
010 10
44 Conversion Codes
2. Create a dictionary item that displays the account’s last charge/last pay date in
MM/DD/YYYY format.
ED DICT DEBTOR LST.CHG.LST.PAY
DICT Name
001 A
002 14
004
005
006
007 D/ or D/4
008
009 R
010 10
3. Create a dictionary item that displays the alphabetical day of the week the
account was assigned.
ED DICT DEBTOR ASSN-DT
DICT Name
001 A
002 14
003 ASGN DT
004
005
006
007 DWA
008
009 L
010 10
Converting Dates 45
4. Create a dictionary item that displays only the year the account was assigned.
Make sure you can use this dictionary item to sort by year.
ED DICT DEBTOR DT-ASSN
DICT Name
001 A
002 14
003 DT-ASSN
004
005
006
007
008 DY
<Put it here because you need to sort on it>
009 R
010 10
5. Create a report that uses the dictionary item you created in the last exercise
that displays how much was assigned per year. Make this report display only
subtotal and total lines.
SORT DEBTOR BY DT-ASSN BREAK-ON DT-ASSN TOTAL CNT TOTAL 15
To include spaces between the data fields, type SPC between output lines as
in the example recall statement that follows:
SORT DEBTOR BY DT-ASSN BREAK-ON DT-ASSN SPC SPC SPC TOTAL
CNT SPC SPC SPC TOTAL 15
46 Conversion Codes
F o r m a t t i n g D o l l a r A m o u n ts
Many PICK systems store dollar amounts in an integer format. For example,
$2500.32 would be stored as 2500.32. To convert integers into a dollar and cents
format, use the MR code. Type MR{precision} {Z} {,} {$} to use the MR code.
Use the following table to understand the different elements of the MR code
syntax.
MR Code
Use This To
Element
Precision Tell the system how many character positions from the right the decimal
should be placed.
Z Suppress any output if the dollar amount is zero, causing a blank space in
the report.
1 $200.00 200
2 $200.10 200.1
3 $200.11 200.11
Because the system stores dollar amounts in these three different formats,
dictionary items that point to dollar amounts must use a special code in line 008.
This code changes any of these three different formats into the integer format.
For example, if the dollar amount is stored as 200, a special code in line 008
changes the data to 20000. If the amount stored is 200.1, the code changes the
data to 20010. And finally, if the amount stored is 200.11, the code changes the
data to 20011.
Converting Dates 47
The dictionary item AMT in the DICT DEBTOR file is an example of an item that
contains this special code in line 008. AMT points to attribute 15 in the DEBTOR
record, the principal amount assigned:
In the AMT dictionary item, line 002 points to attribute 15, but there is also a 15 in
two places in line 008. To use this code with any other dollar amount, simply
replace the 15 with the appropriate attribute.
Once the code in line 008 changes the data to the integer format, the MR code in
line 007 formats it correctly for display purposes.
48 Conversion Codes
EXERCISE
1. Create a dictionary item in the TRANS file that displays the transaction amount
in this format ##.##. Make sure that no data is displayed if the amount is zero.
ED DICT TRANS TRANS.AMT
001 A
002 4
003 TRANS.AMT
004
005
006
007 MR2Z
008 F;4(G.1);4(G1.1);C00;:;(T1,2);:
009 R
2. Create a dictionary item in the CLIENT file that displays the month-to-date
dollar amount assigned in this format $#,###.##.
ED DICT CLIENT MTD.AMT
001 A
002 13
003 MTD.AMT
004
005
006
007 MR2,$
008 F;13(G.1);13(G1.1);C00;:;(T1,2);:
009 R
Code Description
You use this dictionary item to make sure that all debtor names are displayed
properly in a Recall report regardless of user input. The following example uses
the statement LIST DEBTOR TITLE.NAME 8 TOTAL-BAL 10:
Converting Dates 51
EXERCISE
1. T F Titlecase means all characters are uppercase.
001 A
007
009 L
010 31
3. Create a dictionary item that converts all account status codes to lowercase.
001 A
002 23
003 ST.SM
004
005
006
008
009 L
010 3
52 Conversion Codes
E x t r a c t i n g Te x t
ATTR 8 A custom dictionary item using text extraction retrieves certain characters based
on their positions in the string as a whole.
To use text extraction, type T{position to start with}, {how many characters to
retrieve}
11, 4
Start in position 1 Examples
and grab the first 4 To use the text extraction conversion code effectively, the data you are working
characters of data. with must have the same types of text in the same positions in every record.
A telephone number, for example, is normally entered using this format:
###-###-####
To select the area code from a telephone number using this format, the
conversion code would look like this: T1,3. The system would start to display on
position one and retrieve three characters.
A dictionary item that retrieves the area code would look like the following:
The following table shows an example of sample data, the conversion code, and
the resulting converted data:
EXERCISE
1. Create a dictionary item called NAME.15 that displays only the first 15
characters of the client name. Why?
To save space on
ED DICT CLIENT NAME.15
the report.
001 A
002 1
003 NAME.15
004
005
006
007
008 T1,15
009 L
010 15
2. Create a dictionary item that displays only the last four numbers of the
account’s Social Security Number.
ED DICT ACCOUNT SSN4
001 A
002 20
003 SSN4
004
005
006
007
008 T8,4
009 L
010 4
54 Conversion Codes
R e t r i e v i n g G r o u ps o f D a ta
Text extraction requires that you know the exact position of the characters you
want to retrieve. However, some data varies in position and length. When you
want to retrieve a subset of data from a string of characters, but you don’t know at
what character position the data you want begins, you use group extraction.
When using group extraction, type G{how many groups to skip} {separating
character} {how many groups to get}.
Example
As an example, suppose you want to retrieve the account’s last name. Assuming
that the account name is entered LASTNAME, FIRSTNAME, you do not know at
what character position the first name begins. What you do know, however, is
what character separates the last name from the first name, a comma.
Group extraction uses any character you specify as a delimiter, or separator. This
character divides the string of characters into groups. Once the string of
characters is divided into groups, you specify how many groups you want the
system to skip and how many groups you want the system to retrieve.
Suppose the account’s name were stored as: BRADY, RICHARD CHARLES
To retrieve only the last name, you would use the conversion code G0,1.
G0,1 Translated into layman’s terms, this tells the system Divide the characters into
Will grab all last groups using the comma as a separator and then skip zero groups and get one
names as a group. group.
Delimiter
The dictionary item LASTNAME in the DEBTOR file uses group extraction to
retrieve only the debtor’s last name:
Converting Dates 55
EXERCISE
Write what the converted data would be, given the original data and the
conversion code:
Pattern Matching
Short Test: The pattern matching conversion code allows you to retrieve only data that
matches a specific pattern. Pattern matching can be especially helpful when trying
Show dollar amt to locate data that has been input incorrectly.
with a dollar sign but This code allows you to see if data matches specified:
with no cents. Length
Data Type (numeric, alphabetical, and alphanumeric)
007 MRZ,$
Literal Text
008 GO.1 or
007 GO.1]MRZ,$ Type P{nX}{nA}{nN} <text>, when using pattern matching.
Use the following table to understand the different elements of the pattern
matching code syntax:
nX n alphanumeric characters
nA n alphabetic characters
nN n numeric characters
Example
Suppose you want to find out if all debtor account numbers have been entered
correctly, according to a numbering convention of six numeric digits. The pattern
matching conversion code would be P(6N).
The following dictionary item shows only those debtor items whose account
numbers match this pattern:
Converting Dates 57
Using the Recall statement, LIST DEBTOR 6DIGITS, the dictionary item causes
the system to display only those accounts with six digits in the item number:
The most effective use of the pattern matching conversion code is to search the
database for those that do not match the pattern, as in the following example: Emphasize
LIST DEBTOR WITH NO 6DIGITS NAME PHONE-RES.
the pattern match code to create a code that correctly checks for a proper Social
Security Number match: P(3N-2N-4N).
Applying this principle, suppose your agency has a numbering convention for new
client records. This convention may be three alphabetical characters followed by
three numeric characters. For example, Al's Autobody Inc. might be AAI100. To
check for this type of numbering convention, the code would be P(3A3N).
EXERCISE
s
1. Create a dictionary item that displays all debtor accounts with telephone
numbers that have no area code.
ED DICT ACCOUNT NO-AREA
001 A
002 8
003 NO-AREA
004
005
006
007
008 P(3N-4N)
009 R
010 8
Converting Dates 59
2. Create a dictionary item that displays client ZIP codes only if they are made up
of five numeric digits.
ED DICT CLIENT GOOD-ZIP
001 A
002 5
003 GOOD-ZIP
004
005
006
007
008 P(5N)
009 R
010 5
3. List those debtor records that have incorrect data stored in the STATE field
(HINT: The STATE field stores data such as California as CA.) Display the
name, state, and client number.
ED DICT DEBTOR GOOD-ST
001 A
002 5
003 GOOD-ST
004
005
006
007
008 P(2A)
009 L
010 2
4. Create a saved list called GOOD.PHONES with all the debtor numbers whose
records contain an incorrectly formatted telephone number (assuming the
format should be ###-###-####). Write down the first debtor in the list.
ED DICT DEBTOR GOOD-PHONES
001 A
002 8
003 GOOD-PHONES
004
005
006
007
008 P(3N-3N-4N)
009 L
010 14
You should use the DICT item in a statement like the following:
SELECT DEBTOR WITH NO GOOD-PHONES or SELECT DEBTOR WITH
GOOD-PHONES = ““
61
Primary File
The Primary file is the file that you list in your Recall statement. In the previous
example, ACCOUNT is the primary file.
Translate File
The Translate file is the file that stores the data you are trying to retrieve. In the
previous example, CLIENT is the translate file.
To illustrate how the CNAME dictionary item works, look at debtor 2644 and its
corresponding client, American Biotech Controls, Inc.:
Translate Dictionary Item 65
The following graphic shows how the CNAME dictionary item retrieves the client
name for debtor 2644:
1. The dictionary item gets the key to the record in the file that stores the
information you are trying to retrieve.
2. It uses that key to find the right record in the translate file.
Review this graphic
3. The dictionary item retrieves the right information from that record and displays a couple times, this
it in your report. is a difficult concept.
Primary File Translate File
1 2
3
66 Listing Data From More Than One File
In any translate dictionary item, line 002 stores the attribute that contains the key
to the record in the translate file. In this example there is a 1 in line 002 because
the CLIENT# is stored in attribute 001 in the ACCOUNT file.
Line 008 stores the translate code. The following explains the different elements in
the translate conversion code:
Multi-value indicator Delimiter
Retrieving Multivalues
When the Collector System stores more than one piece of information in an
attribute, the values in the attribute are called multivalues.
For example, attribute 002 in the ACCOUNT file stores both NAME 1 and NAME
2. NAME 1 is considered multivalue one and NAME 2 is considered multivalue
two.
If you need a dictionary item that retrieves just one of the multivalues from the
attribute (instead of all of the values in the attribute), use the translate conversion
code.
Examples
Consider these three dictionary items in the DICT ACCOUNT file: NAME, NAME1,
and NAME2. Each dictionary item accesses attribute 002, but NAME1 and
Translate Dictionary Item 67
NAME2 retrieve only those multivalues indicated in their names, while NAME
retrieves both values.
The following table shows the differences between these three dictionary items:
002 0 0 0
004
005
006
The only significant difference between these dictionary items is the multivalue
indicator in line 008.
NAME contains only an X which tells the system to retrieve the whole
attribute.
NAME1 contains X1 which tells the system to retrieve the first multivalue.
NAME2 contains X2 which tells the system to retrieve the second multivalue.
When used in the Recall statement, LIST ACCOUNT NAME NAME1 NAME2,
these dictionary items display the data like as follows:
68 Listing Data From More Than One File
002 1 1. Create a dictionary item to use in the ACCOUNT file that displays the
003 salesman number.
Salesman]Longname
ED DICT DEBTOR SALESMAN#
008 TCLIENT;X;11;11]
TSALESMAN;x1;49;
49 DICT Name SALESMAN#
009 T
001 A
002 1
003 SALESMAN#
004
005
006
007
008 TCLIENT;X;11;11
009 R
010 5
Translate Dictionary Item 69
2. Create a dictionary item to use in the TRANS file that displays the account
name.
ED DICT TRANS DEBTOR.NAME
001 A
002 1
004
005
006
007
008 TDEBTOR;X;2;2
009 T
010 30
3. Create a dictionary item for the TRANS file that displays the port a posting was
entered on. (HINT: The port is stored in attribute 22, multivalue 2.)
ED DICT TRANS POST.PORT
001 A
002 0
003 POST.PORT
004
005
006
007
008 TTRANS;X2;22;22
009 R
010 5
70 Listing Data From More Than One File
4. Create a dictionary item to use in the CLIENT file that displays the statement
frequency.
ED DICT CLIENT STAT.FREQ
001 A
002 0
003 STAT.FREQ
004
005
006
007
008 TCONTROL;X;1;1
009 L
010 10
5. Create a dictionary item called S49.1 in the CLIENT file that displays just the
salesman’s long name.
ED DICT CLIENT S49.1
001 A
002 11
003 S49.1
004
005
006
007
008 TSALESMAN;X1;49;49
009 L
010 31
71
Using A-Correlatives
Use the A conversion code when you want to
perform arithmetic calculations, combine different
conversion codes, or perform an if/then type of
evaluation. The A conversion code is often called an
A-correlative because it is almost exclusively used ATTR 8
in line 008 of the dictionary item, the Correlative
field.
A-correlatives:
Perform mathematical calculations
Use the results of other dictionary
items
Combine conversion codes
Use IF/THEN criteria to evaluate data
Topic Page
Anatomy of an A-Correlative 73
Combining Conversion Codes 75
Using If/Then/Else Expressions 75
A-Correlatives Examples 77
72 Using A-Correlatives
Anatomy of an A-Correlative 73
Anatomy of an A-Correlative
This section describes how to use an A-correlative.
Line 002
The syntax for an A-correlative not only varies from other codes on the line that
you put the code on, but it also affects what should be entered in line 002.
When creating a new dictionary item, you normally enter the attribute of the data
you want to manipulate in line 002. However, when you use an A-correlative, the
system ignores what is in line 002 of the dictionary item.
Line 008
Though they work in either line 007 or 008, A-correlatives are almost always
entered in line 008. This is because you typically use the A-correlative to
manipulate the data in such a way that you will want the data changed before you
do any sorting and selecting on the data and not after. (See also “Conversion vs.
Correlative” p. 19..)
To use the A-correlative, type A;{expression}
The A indicates the arithmetic conversion code. The semicolon (;) visually
separates the expression from the A.
Operator Description
+ Add
- Subtract
* Multiply
/ Divide
page 1 of 2
74 Using A-Correlatives
Operator Description
= Equals
> Greater Than
>= Greater Than or Equal To
< Less Than
<= Less Than or Equal To
: Concatenate
page 2 of 2
While these operators are self-explanatory, the concatenate operator may require
an explanation.
The Concatenate operator (:) acts like electronic glue and combines different
operands together.
For example, if you want to create a dictionary item that lists the employer's
address, city, state, and ZIP, line 008 would look like this (this dictionary item
would be created in the FISCAL file): A;34:" ":35
The concatenate operator combines what is in field 34 with a literal space. Then
that is concatenated with what is in field 35. The result might look something like:
350 E BUSINESS DR. VANCOUVER, WA
A-correlative Operands
The following table lists the valid A-correlative operands:
Operand Example
Operands
Whole numbers
A whole number without quotation marks around it refers to the attribute number. As
an example: A;16-15. This example subtracts what is in attribute 15 from what is in
attribute 16.
Literal values
A number or text with surrounding quotation marks refers to the actual number or text
listed, not to the attribute. As an example, A;”16”-”15”. This example subtracts the
number 15 from the number 16.
Anatomy of an A-Correlative 75
Operands
Other DICT items
The letter N, followed by an open parentheses, a dictionary item name, and a closed
parentheses refers to the results of that dictionary item. Any further manipulations the
A-correlative does will perform it on the results of that dictionary item. This example
divides the results of another dictionary item by a literal number: A;N(TOTAL-BAL)/
”2”. In the example, the system retrieves the results of the dictionary item TOTAL-BAL
and divides the results by the literal number 2.
Current Date
Using a D in the A-correlative retrieves the current date. For example, this A-
correlative subtracts 30 days from the current date: A;D-”30”.
In this example, the A-correlative displays a one if the account record contains a
different interest rate than the client record:
When listed out next to dictionary items that display both the account interest rate
and the client interest rate the system displays a report like the following (Recall
command: LIST DEBTOR 44 C8 44DIFF):
Suppose you want to list in a report only those debtor account that are accruing
interest at a different rate than the client record indicates. Using this IF/THEN/
ELSE dictionary item (44DIFF) in conjunction with this SELECT statement, you
can create a select list of all those who have different interest rates: SELECT
DEBTOR WITH 44DIFF = "1"
Because 44DIFF displays a 1 if they are different, this SELECT statement will
retrieve all those that are different. The comparison happens in the A-correlative.
Anatomy of an A-Correlative 77
If you follow the SELECT statement with a SORT statement, the system displays
the account records with different interest rates: SORT DEBTOR BY 1 1 CNAME
44 C8
A-Correlatives Examples
This section displays several different A-correlative dictionary items that illustrate
how to use different expressions.
The Collector System does not store the total account balance in a field; it is a
calculated number. TOTAL-BAL sums the results of many dictionary items
(amounts owing) then subtracts the results of other dictionary items (amounts
collected) to produce the balance.
78 Using A-Correlatives
The following is another example that uses the results of other dictionary items to
perform mathematical calculations. This dictionary item in the CLIENT file
calculates the month-to-date percentage collected:
This DICT item multiplies the amount assigned by 10000 because of the following
rule:
EXERCISE
1. Copy the dictionary item TOTAL-BAL in the ACCOUNT file and name it
TOTAL-BAL-I. Make this dictionary item calculate the balance minus interest
owing.
COPY DICT DEBTOR TOTAL-BAL to DICT DEBTOR TOTAL-BAL-I
002 0
004
005
006
007 MR2Z
008 A;N(15)+N(18)+N(19)+N(31)-N(16)-N(25)-N(26)-N(27)-N(32)-
N(66)
009 R
010 10
2. Create a dictionary item in the CONTROL file that retrieves the CLIENT phone
number and displays only the area code (assuming the area code is he first
three characters).
ED DICT CONTROL AREA.CODE
001 A
002 0
003 ACD
004
005
006
007
008 A;0(TCLIENT;X;6;6)(T1,3)
009 R
010 3
80 Using A-Correlatives
001 A
002 0
003 NOPAY
004
005
006
007
009 R
010 1
81
Using F-Correlatives
F conversion codes provide many facilities for
arithmetic, relational, logical, and concatenation
operations. Used almost exclusively in attribute 8 of ATTR 8
the DICTIONARY item, it often referred to as the F-
Correlative.
F-correlatives:
• Perform mathematical calculations,
relational and logical operations
• Embed format codes to control
selection, sorting, and formatting of
the results of the F-Correlative
•Combine conversion codes and pull
data in from remote files.
Topic Page
Anatomy of a F Correlative 83
Combining Conversion Codes 86
F- Correlative Examples 87
82 Using F-Correlatives
Anatomy of an F-Correlative 83
Anatomy of an F-Correlative
Unlike like other custom dictionary items and like the A-correlative, the F-
correlative (conversion code) has some unique features in how the dictionary item
fields are used. See the following example:
Line 002
The syntax for an F-correlative not only varies from other codes on the line that
you put the code on, but it also affects what should be entered in line 002.
When creating a new dictionary item, you normally enter the attribute of the data
you want to manipulate in line 002. However, when you use an F-correlative, the
system ignores what is in line 002 of the dictionary item.
Line 008
Though they work in either line 007 or 008, F-correlatives are almost always
entered in line 008. This is because you typically use the F-correlative to
manipulate the data in such a way that you will want the data changed before you
do any sorting and selecting on the data and not after.
The syntax for the F-Correlative is F;{elem};{elem};. The ; is the element
separtor and the elelments can be any one of the following: A data location or
string, an operator, or a logical operator.
Order of Operation
F Correlatives use the Reverse Polish notatation system. Reverse Polish is a
postfix notation system where the operator follows the operands. The expression
for adding two elements together is a;b;+. The usual algebraic system is an infix
notation system where the operator is placed between the operands, for example
a+b.
Stack Operation
In additon to the order of operations, the F correlative also uses stack operations
to manipulate the data. The F-Correlative operators push data onto the stack,
84 Using F-Correlatives
perfrom arithmetic and other operations on the stack entries and “pop” values off
of the stack.
The term “push” is used to indicate the placing of an entry onto the top of the stack
so that the stack entries are pushed down one level. “Pop” means to remove an
entry from the top of the stack so that existing entries pop up one level. Arithmetic
functions typically begin by pushing two or more enteries onto the stack. Each
operation then pops the top two entries and pushes the result back onto the top of
the stack. F Correlative operations then are typically expressed as “F;{Push a
value onto stack entry 1};{Push another value onto stack entry 1 (and push
current value of Stack Entry 1 down to Stack Entry 2)};{operation}” and
evaluated as “{Value of stack2} {operation} {Value of stack1}”.
Examples
{F;C3;C5-} Push a value of 3 (Cn signifies a constant) onto the stack as stack
entry 1. Push a value of 5 onto the stack as Stack Entry 1 and push existing Stack
Entry 1 value to down to Stack Entry 2. Take stack entry 2 (3) and subtract stack
entry 1 (5) and push the result of -2 onto the stack as stack entry 1:
Push 5 5 3
Stack 2 - Stack 1 -2
Push 11 11 2
Push 3 3 11 2
The F correlative has operators to push operands on the stack. Other operators
perform arithmatic, relational, and logical operations on stack elements and data.
An operator is a symbol or code that performs some action on a piece of data. An
operand is the data or a symbol that represents the data.
For example, in the mathematical expression 2+2 the plus sign (+) is the operator You may want to
and the numbers are the operands. In this example, the operator adds the two explain the 2+2
operands together. example on the
white board.
F-correlative Operators
This table lists valid F-correlative operators:
Operator Description
+ Add
- Subtract
* Multiply
/ Divide
= Equals
> Greater Than
] Greater Than or Equal To
(Note this is not the crtl+]
that is used for a value
marker.)
: Concatenate
While these operators are self-explanatory, the concatenate operator may require
an explanation.
The Concatenate operator (:) acts like electronic glue and combines different
operands together.
For example, if you want to create a dictionary item that lists the employer's
address, city, state, and ZIP, line 008 would look like this (this dictionary item
would be created in the FISCAL file): F;34;” “;35:;:. Notice once again the
formatting and the order of the operands versus the operators
The concatenate operator (:) combines what is in field 34 with a literal space.
Then that is concatenated with what is in field 35. The result might look something
like: 350 E BUSINESS DR. VANCOUVER, WA
F-correlative Operands
The following table lists valid F-correlative operands:
86 Using F-Correlatives
Operand Example
Operands
Whole numbers
A whole number without quotation marks around it refers to the attribute number. As
an example: F;16;15;-. This example subtracts what is in attribute 15 from what is in
attribute 16.
Literal values
A number or text with surrounding quotation marks refers to the actual number or text
listed, not to the attribute. As an example, F;”16”;”15”;-. This example subtracts the
number 15 from the number 16.
System Date
Using a D in the F-correlative retrieves the current date. For example, this F-
correlative subtracts 30 days from the current date: F;D;”30”;-.
Emphasize. This is an example of a dictionary item that could be set up in DICT DEBTOR file:
F;1(TCLIENT;X;11;11]TSALESMAN;X1;49;49]MCT)
Anatomy of an F-Correlative 87
This example retrieves the salesman number from the CLIENT file, uses that
salesman number to retrieve the salesman name from the SALESMAN file, then
uses the MCT code to convert the name to titlecase.‘
F-Correlatives Examples
This section displays several different F-correlative dictionary items that illustrate
how to use different expressions.
The A-Correlative will interpuret the N(Dictionary Item) as “Get the Results” of the
dictionary item and return that to the correlative for processing. Look at the same
dictionary item expressed as an F-Correlative:
88 Using F-Correlatives
The F-Correlative includes all of format, extraction, and math operations on the
data as it is stored in the record and then it formats the data and performs the
required operations defined in the F-Correlative.
This DICT item takes the value of attribute 15 places it onto the stack and then
using a series of data manipulations, formats the output in a consistent fashion.
Using the stack representation below, see how the F-Correlative performs the
specified operations. (Assume that the value that is stored in attribute 15 is
1231.12):
Anatomy of an F-Correlative 89
The conversion code in line 7 (MR2Z) will then take the results of the correlative
and convert the output to 1231.12. It seems like a lot of work to go through to
display the data exactly as it is stored! However, if the value in attribute 15 is
100.00 then it is stored as 100. If the stored value in 15 is 100.10 is stored as
100.1. If the stored value in 15 is 100.11 it is stored as 100.11. The F-Correlative
will properly format and present the data for display regardless of how the values
are stored in the attribute.
EXERCISE
1 .Create a new dictionary in the DEBTOR file that uses an F-Correlative to
calculate and present the current balance of the account based upon assigned
principal and accrued interest. Format the output to display the $ and , when
appropriate.
ED DICT DEBTOR CUR_BAL
001 A
002 0
003 CUR_BAL
90 Using F-Correlatives
004
005
006
007 MR2Z,$
008 F;15(G0.1);15(G1.1);C00;:;(T1,2);:;16(G0.1);16(G1.1);C00;:;(T1
,2);:;-;17(G0.1);17(G1.1);C00;:;(T1,2);:;+
009 R
010 12
2 Create a dictionary item in the CFD1 file that retrieves the DEBTOR phone
number and displays only the area code (assuming the area code is he first
three characters).
ED DICT CFD1 AREA.CODE
001 A
002 0
003 ACD
004
005
006
007
008 F;0(TDEBTOR;X;8;8);(T1,3)
009 R
010 3
001 A
002 0
Anatomy of an F-Correlative 91
003 ADDR_BLK
004
005
006
007 MCT
009 L
010 30
92 Using F-Correlatives
Automating Your Recall With Paragraphs 93
Topic Page
The Structure of the Paragraph 95
Examples of Paragraphs 96
In Line Prompting with Para- 98
graphs
Controlling Paragraph Flow 99
Adding a Paragraph to a Custom 101
Menu
94
The Structure of the Paragraph 95
001 PA
002 * AUTOMATE RECALL FOR TRANS FILE REPORT OUTPUT
003 SELECT TRANS WITH 4 GT "50"
004 SAVE-LIST DJW4
005 GET-LIST DJW4
006 SORT TRANS BY-DSND 4 BY 5 1 2 15
Term Description
PA Keyword always on line 1 to
identify this MD/VOC item as a
paragraph.
Run the paragraph from the command line by typing: PARA_1. The results will be
similar to the following:
Examples of Paragraphs
The following paragraph examples demonstrate the basic layout of the paragraph
and demonstrate how any command or recall statement can be included in the
paragraph. If the command calls up a routine, once the routine is complete it will
return control back to the paragraph.
The Structure of the Paragraph 97
The following paragraph will create a saved list of accounts that meet certain
balance requirements, call up Recall-PC, and once the Recall-PC is complete,
control will be returned to the paragraph to display a screen report to the user.
Once the user is finished the screen report e.g., typing in the Q command to quit
the screen report, the user will be returned to the Main Menu.
ED MD PA_DJW7
001 PA
002 * HIGH BALANCE PARAGRAPH - AUTOMATION OF THE RECALL
PROCESS
003 SELECT DEBTOR WITH 15 GT "3000" AND WITH 16 GT "100"
004 SAVE-LIST DJW7
005 GET-LIST DJW7
006 RECALL-PC
007 GET-LIST DJW7
008 LIST DEBTOR BY-DSND 15 1 2 15 16
009 M0
________________________________________________________________
The following example will produce a screen report from the TRANS file, call the
previous example paragraph and return control back to the original paragraph,
produce a screen report and when the user is finished reviewing the screen
report.
ED MD PA_DJW8
001 PA
002 * AUTOMATE RECALL FOR TRANS FILE REPORT OUTPUT
003 SELECT TRANS WITH 4 GT "50"
004 SAVE-LIST DJW8
005 PA_DJW7
006 GET-LIST DJW8
007 SORT TRANS BY-DSND 4 1 2 3 4 5
008 M0
________________________________________________________________
The last example demonstrates that the user can include recall macros that have
been defined to simplify the recall statements. Recall macros are covered in the
tips and tricks chapter. In addition if your agency has created aliases for certain
commands (e.g., SAVE-LIST = SL, GET-LIST = GL) those can be used as
commands
ED MD PA_DJW9
001 PA
002 * THIS PARAGRAPH WILL AUTOMATE SELECTED RECALL
STATEMENTS
003SELECT DEBTOR WITH 15 GT "1000" AND WITH 16 GT "0"
004 SL DJW9
98
005 GL DJW9
006 LIST DEBTOR STD.SSD
Note the use of the ““ around a value indicates a literal. If the user needed to
specify an attribute or dictionary item it would look like the following:
001 PA
002 SELECT DEBTOR WITH <<A, ENTER DEBTOR DICTIONARY ITEM>> GT
“<<A, ENTER AN ASSIGNED AMOUNT>>”
003 SAVE-LIST DJW11
004 GET-LIST DJW1
005 SORT DEBTOR BY-DSND 15 1 2 15 TOTAL-BAL
006 M0
The user will be prompted to enter the attribute number, then prompted to enter
the assigned amount. The prompt syntax is:
<<A (Always prompt), Prompt ID (Text), Mask (Input mask if e.g., 2N (2 numeric
characters)>>. e.g., <<A, ENTER AN ASSIGNED AMOUNT ,NO MASK>>
If the prompt is not included as a part of a recall sentence or command, the
system will try to execute the prompt.
Code Description
Code Description
The following example demonstrates the use of the IF/THEN command with the
GO command.
ED MD PA_DJW5
001 PA
002 *THIS WILL AUTOMATE A REPORT OR A RETURN TO DATA ENTRY OR
MAIN MENU
003 IF <<WANT A REPORT?>> = "N" THEN GO NEXT
004 LIST DEBTOR BY-DSND 15 WITH 15 GT "1000" 1 2 15
005 NEXT: IF <<WANT THE DATA ENTRY MENU>> = "N" THEN GO MAIN
006 M1
007 MAIN: M0
________________________________________________________________
The next example shows the LOOP command
ED MD PA_DJW12
001 PA
002 LOOP
003 IF <<A, Do you want a report?>> = “N” THEN GO FINISHED
100
Code Description
DISPLAY Output text to screen
GO Continue at label
EQ Data1 = DATA2
LT Less Than
GT Greater Than
The Structure of the Paragraph 101
To add a paragraph to a menu, you will need to create a custom menu. In the
Management Work Strategies menu (10) > Agency (1) > Menu Builder you will be
able to create a menu that a user can jump to, or you can set this custom menu to
be their “default” menu through their employee password setup.
4 Type in the Description that you wish to have for the Custom Menu, e.g,
“Custom Reports”. By default the system displays which menu to display when the
routine is completed. If the default MENU-CUBS is selected the user will be
returned to the Employee Password prompt. Select the menu to return the user to
once the routine is completed. (e.g., M0, M5). Press ENTER
5 Type 1 in the NUM field press ENTER.
6 Type the Name of the Routine e.g, HOT-LIST and press ENTER
7 Type in a description of the routine and press ENTER.
102
8 Type in the name of the verb to execute or the name of the paragraph.
Press ENTER.
9 Leave the return to Employee Password blank
10 Set the Appear on Menu to Y if you wish the new menu item to appear on
the custom menu.
11 Continue to add Menu items as required. Your menu should look like the
following screen capture:
12 Once you have completed adding menu items, leave the NUM field blank
and you will be prompted to save the custom menu. Select Y and backup out of
the Menu Builder Routine.
13 From any Menu, clicking on the Menu Jump link or type M in the Enter
Selection prompt.
14 Type in the name of your custom menu e.g, REPORTS and press
ENTER.
The Structure of the Paragraph 103
EXERCISE
1. Create and test a paragraph that will generate a list of TRANS for all
transactions with a trans-code of 1. Sort the transactions by client.by
descending transaction amount. Be sure to show a subtotal of transaction for
each client.
Line of Description
Paragraph
ED MD PA_TRANS1
001 PA
2. Create and test a paragraph that will generate a list of DEBTOR records with
an assigned principal GT (use an prompt to enter an assigned amount) and
with collections greater than 50.00. Sort the output by client and by descending
amount collected. List Client number, Debtor Name1, 15 16
Line of Description
Paragraph
ED MD PA_DBY16
001 PA
3. Create a report from the TRANS file of all transactions with a trans-code of 1
and a transaction amount GT (use a user prompt to select a transaction
amount that is greater than 99.99 and less than 999.99). Be sure to mask the
input to make sure that the user inputs NNN.NN. Call up Recall-PC and send
this report to an Excel spreadsheet. Once Recall-PC is opened you can select
output parameters.
Line of Description
Paragraph
ED MD PA_DJW121
001 PA
005 RECALL-PC
CFn
0 Debtor number D1 D46
1 Last action date D2 D48
2 Last collector action D3 D50
3 Time to work again D4 D50.1
4 Next work date D5 D51
5 Promised payment amount D6 D51.1
6 Next step D7 D52
7 Follow-up priority (1-10) D8 D53
8 Holdover flag D9 D54
9 Important note lines D10 D66
10 Date action sheets printed D11 D67
11 WIP sort key D12 D68
12 WIP qualify flag D13 DESK
13 Collector number D14 DIALER-CAMPAIGN
14 Support desk D15 DIALER-SEQ
15 Promised payment date D15X DL-ATTS
16 Last phone # dialed D16 DL-CAMPAIGN
17 Date before removal can occur D16X DL-DATE
18 Required WIP index D17 DL-DOWN
19 Reason for being on WIP D18 DL-LST-AGENT
20 Date CMD 4 performed D19 DL-LST-CAT
21 Date put in tickler of this desk D20 DL-LST-DT
D21 DL-LST-RC
ACCT-AGE D22 DNAME
AGE D23 DNUM
AGN/AMT D24 DSK-PROMPT
ASSIGNDT D25 DT-ASGN
BAL D26 DTRNAME
BRANCH D27 ELIM.CODE
C1 D28 ELIM.DATE
C2 D29 ELIM.DESC
C3 D30 FIRST-LAST-NAME
C4 D31 FISCAL
C5 D32 FWD-DATE
C6 D33 FWDCLI
C7 D34 LASTDT
C8 D35 LASTINITIAL
C9 D36 LEG-XMT
C10 D37 LST..WORK
C11 D38 LSTACT
C33 D39 MNGR
C42 D40 NAME
CLIENT D41 NEXTDT
CNAM# D42 ON-DIALER
CNUM D44 PHONE
COLL D45 PKT
page 1 of 2
111
Client
0 Client number 37 Total # canceled DT-LAST-ASSIGNED
1 Client name 38 MTD $ canceled FWD-MTD
1.1 Client name only 39 YTD $ canceled FWD-TOT
1.2 Client title 36 YTD # canceled FWD-YTD
1.3 Sort field 40 Total $ canceled G-N
2 Client address 41 Salesman effective date INTEREST
2.1 Address 1 42 Agency number MTD-#ASSIGNED
2.2 Address 2 43 Collector note 1 MTD-#COLLECTED
3 City 44 Collector note 2 MTD-$ACCT
4 State 45 Verify data flags MTD-AMT-ASSIGNED
5 ZIP code 46 Misc distributed amount definitions MTD-AMT-COLLECTED
6 Phone number 47 Distributed amount comission rates MTD-COLL%
7 Contact name 48 24 month stats MTD-COMMISSION
8 Interest rate 59 Setup date MTD-RCVY
9 Commission rate/code 75 Scanned image control NAME
10 Business class 76 Sales transfer control NAME1
11 Salesman number 77 Fax number NAME3
12 MTD # assigned NEW-DEBTOR-INDEX
13 MTD $ assigned ADDRESS PHONE
14 YTD # assigned ADDRESS1 PRESET
15 YTD $ assigned ADDRESS2 RCVY
16 Total # assigned AGENCY SLSYR
17 Total $ assigned AGENCY# SP-ADDR
18 MTD # collected ANUM SPC
19 MTD $ collected AT-NAME STATE
20 YTD # collected BAL-FWD STATUS-CODE
21 YTD $ collected BAL-FWD-1 TITLE
22 Total # collected BRANCH TOT-#ASSIGNED
23 Total $ collected BUS-CLASS TOT-#COLLECTED
24 MTD $ commission CITY TOT-AMT-ASSIGNED
25 YTD $ commission CITY-ST-ZIP TOT-AMT-COLLECTED
26 Total $ commission CLIENT TOT-COMMISSION
27 Date of last assignment CNAME TOT-RCVY
28 Status code CNAMESORT WHOLE-ADDR
29 MTD $ forwarded CNUM YTD-#ASSIGNED
30 YTD $ forwarded COMB-HIST YTD-#COLLECTED
31 Total $ forwarded COMB-INV YTD-AMT-ASSIGNED
32 Balance forward COMB-STMT YTD-AMT-COLLECTED
33 Remit code COMMISSION-RATE YTD-COMMISSION
34 Adjustment amount CONTACT YTD-RCVY
35 MTD # canceled CSZ ZIP
36 YTD # canceled CTL36
Collector-Unit
0 Collector number 18 MTD $ legal 37 MTD misc collected
1 MTD # assigned 19 YTD # legal 38 YTD misc collected
2 MTD $ assigned 20 YTD $ legal 39 MTD misc shared
3 YTD # assigned 21 MTD # mail 40 YTD misc shared
4 YTD $ assigned 22 MTD $ mail 41 Previous year’s goals
5 MTD # assigned amount payments 23 YTD # mail 42 Current year’s goals
6 MTD assigned amount collected 24 YTD $ mail 43 $ collected yesterday
7 MTD interest collected (agency share) 25 MTD shared interest 44 MTD $ collected
8 MTD legal collected 26 YTD shared interest 45 # work days last year
9 MTD forward fees 27 MTD court expense 46 # work days this year
10 MTD $ commission 28 YTD court expense 47 Days worked this month
11 YTD # assigned amount payments 29 MTD court collected 48 Start date for current month
12 YTD assigned amount collected 30 YTD court collected 49 Custom use
13 YTD interst collected (agency share) 31 MTD legal expense 50 MTD court shared
14 YTD legal collected 32 YTD legal expense 51 YTD court shared
15 YTD forward fees 33 MTD legal collected 52 MTD attorney shared
16 YTD $ commission 34 YTD legal collected 53 YTD attorney shared
17 MTD # legal 35 MTD misc expense 54 MTD interest forwarded
page 1 of 2
112 Columbia Ultimate Database
Control
0 Client number 20 Notice series/Group code 40 Require patient name
1 Statement frequency 21 Collector number 41 Cancellation format code
2 Statement sort sequence 22 Credit reporting flag 42 Costing potential
3 Separate paid directs? 23 History report frequency 43 Over cost limiters
4 Separate NSFs? 24 Statement special field 44 Costing commission rate
5 Statement combine client# 25 Statement printing order 45 Letter type exemptions
6 Client inventory frequency 26 Statement omit aging? 46 State tax code
7 Performance, status, aging 27 Salesman assignment make-up 47 Percent of total tax to pay
8 Legal client inventory 28 Client WIP score 48 Combine client inventory client number
9 Check combine client # 29 Initial work requirement 49 Combine history report client number
10 Balance forward deduct? 30 Minimum work frequency 50 Statement breaks
11 Pay slips 31 Exempt from removals by score? 51 Reactivation format
12 Acknowledgment letter code 32 Minimum $ limit to exclude 52 New statement frequency
13 Omit NSF on statement 33 Acknowledgment format code
14 Name2 on statement 34 Holdover days BRANCH
15 Paid-agency spread code 35 Legal recommendation exempt CLIKEY
16 Paid-client spread code 36 Client label exempt? CONTROL
17 Misc spread code 1 37 Automatic packeting exempt? HISTKEY
18 Misc spread code 2 38 Client inventory format
19 Misc spread code 3 39 Statement group codes
Fiscal
Attr Field Line # Attr Field Line # Attr Field Line #
0 Debtor number 15 BNK1 PHN# 18 32 Custom use
1 Debtor rating 16 BNK1 ACCT 19 33 EMP1 NAME 1
1.1 Asset rating 35 17 DT CHKED 20 34 EMP1 ADDR 2
1.2 Employement rating 36 18 AVG BAL 21 35 EMP1 CSZ 3
2 Internal use 19 BNK2 NAME 22 36 EMP1 PHN 4
3 EMP1 MISC 5 20 BNK2 ADDR 23 37 EMP2 NAME 8
4 EMP1 MISC 6 21 BNK2 CSZ 24 38 EMP2 ADDR 9
5 EMP1 MISC 7 22 BNK2 PHN# 25 39 EMP2 CSZ 10
6 EMP2 MISC 12 23 BNK2 ACCT 26 40 EMP2 PHN 11
7 EMP2 MISC 13 24 DT CHKED 27 41 ALT PAYR 29
8 EMP2 MISC 14 25 AVG BAL 28 42 PAY ADDR 30
9 Custom use 26 Custom use 43 PAY ADR2 31
10 Custom use 27 Custom use 44 PAY CSZ 32
11 Custom use 28 Custom use 45 PAY PHN 33
12 BNK1 NAME 15 29 Custom use 46 DESC. 34
13 BNK1 ADDR 16 30 Custom use
14 BNK1 CSZ 17 31 Custom use
JMT
0 Judgment number 6 No-interest costs (NIC) 12 Change date
1 Debtor number 7 Judgment interest owing 13 Custom use
2 Judgment date 8 Amount received 14 JAC received
3 Interest rate 9 Judgment last charge/last pay date 15 NIC received
4 Judgment amount 10 Offset amount 16 Interest received
5 Judgment add-on costs (JAC) 11 Setup date 17 Payoff order
page 1 of 2
113
Salesman
0 Salesman number 22 YTD # canceled 44 YTD $ under
1 MTD # assigned 23 MTD $ canceled 45 MTD # over
2 MTD $ assigned 24 YTD $ canceled 46 YTD # over
3 YTD # assigned 25 MTD interest shared 47 MTD $ over
4 YTD $ assigned 26 YTD interest shared 48 YTD $ over
5 MTD # collected 27 MTD court owing 49 Salesman name
6 MTD $ collected 28 YTD court owing 49.1 Long name (26 char)
7 MTD interest collected 29 MTD court collected 49.2 Short name (14 char)
8 MTD legal collected 30 YTD court collected 50 MTD court shared
9 MTD principal forwarded 31 MTD attorney owing 51 YTD court shared
10 MTD principal commission 32 YTD attorney owing 52 MTD attorney shared
11 YTD # collected 33 MTD attorney collected 53 YTD attorney shared
12 YTD $ collected 34 YTD attorney collected 54 MTD interest forwarded
13 YTD interest collected 35 MTD misc owing 55 YTD interest forwarded
14 YTD legal collected 36 YTD misc owing 56 MTD court forwarded
15 YTD principal forwarded 37 MTD misc collected 57 YTD court forwarded
16 YTD principal commission 38 YTD misc collected 58 MTD attorney forwarded
17 MTD # legal 39 MTD misc shared 59 YTD attorney forwarded
18 MTD $ legal 40 YTD misc shared 60 MTD misc forwarded
19 YTD # legal 41 MTD # under 61 YTD misc forwarded
20 YTD $ legal 42 YTD # under
21 MTD # canceled 43 MTD $ under
Trans
0 Transaction number AMT HOLDLEFT
1 Debtor number APPENDIX ID
2 Transaction code ASGN-DT JNUM
3 Commission rate ASSIGN-DATE MIDKEY
4 Transaction amount BAL MTH-AGN
5 Transaction date BAL-DED ON-DIALER
6 Status code BASE# P-DNAME
7 Client number BATCH PAID-US
8 SE loss/forward rec BRANCH PAID-YOU
9 Source BRANCH-DESK PASS.TO.REFORMAT
10 Comment BS.AMT PAYFLAG
11 Sort key BS.CHECK PORT
12 Statement print flag CDNUM POSTDATE
13 Statement flag CLIENT# PRIMARY
14 Received from CNAME PRINT-DT
15 Commission amount CNT PRINT-PORT
16 Holdover date COM PRINT-PW
17 Collector desk number COMCLIENT PRINT-TM
18 Principal balance after transaction COMM-RATE SCOMM-RATE
19 Aging of client payments CR-CODE SEP-DIRECTS
20 Custom use CREF SEP-NSF
21 Date statement flagged CSTATUS SEQ
22 Who posted transaction CTR SHORT-NAME
23 Deposit information CYCLEFLAG SHORT-NAME2
24 Control information D7 SMAN
25 Cash received D10 SMAN-P
26 Total NSF amount D11 SORT-CLIENT#
27 Forward fees D15 SORT-KEY
28 Principal payments D16 SSMAN
29 Interest payments D54 STATUS-CODE
30 Total other payments DATETIME SUM-CLIENT
31 Total direct payments DEBTOR# T-DATE
32 Total agency payments DEBTORSEQ TNUM
33 Total forward payments DESK TRANS#
34 PIF updated DIALER-CAMPAIGN TRANS-AMT
35 Reason for cancel or NSF DIALER-SEQ TRANS-CD
DNAME TRANS-DATE
ACCOUNT DTR# TRANS-DT
AMOUNT HOLDAYS WEEKNUM
114 Columbia Ultimate Database