Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

Advanced Recall

Instructor

121.1.1

Columbia Ultimate
4400 NE 77th Avenue, Suite 100
Vancouver, WA 98662
(360) 256-7358
www.columbiaultimate.com
Acknowledgments

Copyright 2007 by Columbia Ultimate Business Systems, Inc.

All Rights Reserved

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

Using the Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


Modifying Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Creating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Making a Basic Dictionary Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21


Anatomy of a Dictionary Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Creating a Dictionary Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Copying a Dictionary Item. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Conversions and Correlatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Conversion vs. Correlative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Conversion Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Formatting Dollar Amounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Converting Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Extracting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Retrieving Groups of Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Pattern Matching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Listing Data From


More Than One File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Primary and Translate Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Creating a Translate Dictionary Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Retrieving Multivalues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

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

Adding a Paragraph to a Custom Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Columbia Ultimate Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107


Introduction 1

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

Using the Editor


To harness the power of dictionary items you need
to know how to use the Columbia Ultimate editor.

The Columbia Ultimate Editor is compatible with any


platform. However, your platform may have its own
version of an item editor also.

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.

Editing an Existing Item


1. To edit an existing item, type ED {DICT} <filename> <item name> at the TCL
prompt (>).
The braces ({}) around the word DICT mean the word is optional; you use it
only if you are editing a dictionary item. For example, if you want to edit the
dictionary item called ASGN in the DEBTOR file, type ED DICT DEBTOR
ASGN.
2. Press ENTER: The system positions your cursor at the top of the dictionary
item:

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.

R REPLACE the entire line with new information.


DE DELETE the line that you are on.
page 1 of 2
8 Looking at Data

Command (Cont.) Description


DEn DELETE n lines, including the line that you are on.
AL/<text> APPEND LINE that you are on with text.
I INSERT mode. Use to insert new lines of informa-
tion below the line that you are on.

CTRL+SHIFT+6 Enters a blank line. A line with NULL value.


F FLIP buffer ***Buffer 1 contains item in original for-
mat, buffer 2 contains items with changes.

FI FILE ITEM.
A AGAIN ***relates to the L/<text>, it will repeat the
last search.

EX EXIT without filing the item.


EXK EXIT out of a list of items.
page 2 of 2

Looking at One Line at a Time


To look at one data line at a time, press ENTER at the Editor prompt. The
system displays one more line each time you press ENTER. For example, if you
press ENTER three times the system displays something similar to the following:

Going Back to the Top


To position your cursor back at the top of the item, use the T command:

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

Listing Several Lines at Once


To list several data lines at once, use the Ln command. For example, if you want
to list five lines of data, type L5 at the Editor prompt.

The system displays the number of lines requested and positions your cursor
back at the Editor prompt.

Looking at One Page at a Time


To view a full page (up to 20 lines) of data at a time, use the P command.

1. Type T at the Editor prompt to go to the top of the item.

2. Type P at the Editor prompt.


The system displays up to the first 22 lines of the time. The DICT DEBTOR
item called ASGN has only 10 lines, so the editor displays all 10 lines.

The Editor displays EOI


(End of Item) whenever
it displays the last line of
the item.

Going to a Specific Line


To position your cursor at a specific line in the Editor, type the line number you
want to go to. For example, if you want to go to line 003, type 3.
10 Modifying Data

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.

NOTE If the Editor cannot find the text you entered it


positions your cursor at the end of the item.

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.

1. Access ED DICT DEBTOR ASGN.

2. Type P to see the whole page.

3. Type 3 to move your cursor to line 003.

4. Use the R command at the Editor prompt to replace DT ASSIGN with


Assigned Date.
Type R/DT ASSIGN/Assigned Date

The Editor displays the new contents of line 003.

NOTE Keep in mind that the forward slash (/) in this


example is only a delimiter.

Flipping the Buffer


A buffer is a temporary holding space for data. It is not written to hard disk, but is
instead stored in teh system’s RAM (Random Access Memory).
The Editor has two buffers. The first buffer holds the item you are editing as it was
before you made any changes to it
To see any changes you made, you need to flip the buffer, meaning that you need
to move from the first to the second buffer. Use the F command to flip the buffer.
12 Modifying Data

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

The next text is shown in line 003.

Exiting and Filing the Item


To exit an item without saving any changes made, use the EX command.
If you have made changes and then type EX at the prompt, the Editor asks you if
you are sure you want to exit:

When this prompt displays, type Y to exit the item without saving your changes.

Changing a Whole Line


To change an entire line use the R command without anything following it.
For example, to change line 003 in the following dictionary item from CONTACT to
CTCT, type R after positioning the cursor at line 003.
As soon as you type the new text, the system deletes the old text.

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.

NOTE To delete more than one line at a time enter the


number of lines you want to delete after the DE.
Modifying Data 15

For example, to delete five lines, type DE5. This


command deletes the current and the following
four lines.

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:

1. Type 3 to position your cursor at line 003.


2. Type AL/ED at the Editor prompt.
The system displays the change to that line:

3. Flip the buffer (F).


4. View the changes (P).
5. File the ASGN dictionary item (FI).
16 Using the Editor

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)

3. What command do you use to go to the top of an item?


T,or F

4. What command do you enter to display line 55?


55

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.

9. Delete line 003 of DICT ACCOUNT ASGN.


ED DICT TRANS TEST DICT, go to line 007, type DE3 to delete lines 7, 8, and
9, type F to flip the buffer and P to page down. Type EX to exit without filing.
17

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.

NOTE To enter a blank line while in Insert Mode, use this


key combination: Ctrl+Shift+6.

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.

NOTE When inserting lines into an existing item, no


matter how many lines you insert into one
location, the Editor always displays the same line
number as the current 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.

NOTE To merge lines from within the current item, omit


the item name.

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

Making a Basic Dictionary Item


To effectively create custom dictionary items you
need to:
Š Know where the data is that you want
to manipulate
Š Construct the dictionary item in a way
that will manipulate the data
accordingly
.

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

Reviewing File Layout Talk about the


It is important to become familiar with the contents of the files you work with most different files and
often. In this class you work with these files: AGENCY, CFn, CLIENT, how the item ID
COLLECTOR-UNIT, CONTROL, DEBTOR, FISCAL, JMT, SALESMAN, and shows up in several.
TRANS. Point out the
relational data base
Item ID concepts.
The first attribute (or field) of any file item is the item ID, also known as attribute
zero. This attribute is always unique. No other item in the same file can have the
same data in attribute zero.
For example, in the DEBTOR file, the item ID is the debtor number. The debtor
number is a number that the system uses to identify and retrieve that item’s data.
You cannot have duplicate debtor numbers in the same file.

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.

NOTE For detailed information about any Collector


System file, see the File Layout in the back of this
manual.

Anatomy of a Dictionary Item


A simple dictionary item does two things:

1. It points to where the data is located.


2. It determines how the data is displayed.
A dictionary item always has 10 lines (attributes). The following is a DEBTOR
dictionary item called ASGN. It displays the account assigned date in MM-DD-
YY format:
24 Making a Basic Dictionary Item

Line Data

001 Contains an A or an S. In very old versions of PICK there was a dif-


ference between these two entries. Now there is no difference. It is
common to enter an A.

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.

005 - Line 5 is a 004 Unused in this example.


good document line 005 Unused in this example. You may want to use this line as a descrip-
to use. NOD 3/3/00 tion of your custom dictionary item. Or tag the DICT item with your
for special project initials.
#123456.
006 Unused in this example.
007 - Conversion Codes Contains codes that change how data is displayed. Anything in this
field manipulates the data for display purposes only. It has no effect
on sorting or selecting.
This example dictionary item has a conversion code of D2- which
tells the system to display the date in MM-DD-YY format.

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

Relationship Between Data Items and Dictionary Items Naming


This graphic shows the relationship between a dictionary item, a data item, and a conventions for
Recall statement: DICT items:
Use ASGN.NOD or
DATA ITEM DICT ITEM some unique name
to associate it with
the one who mad it.

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.

Sample Dictionary Items


These basic dictionary items retrieve and justify the data as well as determine the
column width in which the data is displayed:

Have class edit this


DICT item.

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:

Have class edit this


DICT item also.

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.

Creating a Dictionary Item


Follow the instructions in this section to create a custom dictionary item and use it
in a Recall statement.

Create a Custom Dictionary Item


To create a custom dictionary item called STATUS.CODE you must use the Editor
to create the item, insert the 10 required lines, and save the item.

1. Type ED DICT DEBTOR STATUS.CODE. The system positions your cursor at


the top of the new item:
Reviewing File Layout 27

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

5. Type FI to file the item.

The system prompts ‘DICT DEBTOR STATUS.CODE (SUPPORT)’ filed.


What does this 6. Use the dictionary item in this Recall statement: SORT DEBTOR BY
Recall statement do? STATUS.CODE BREAK-ON STATUS.CODE TOTAL CNT TOTAL 15 TOTAL
The (DI will suppress 16 TOTAL TOTAL-BAL (DI
the item ID. The system displays the report results (your results may vary from this
example):
The statement will:
1. Sort by the DICT
item
2. Break-on that
DICT item
3. Total numeric
DICT items

Copying a Dictionary Item


The easiest way to customize a dictionary item is to copy an existing one that
does nearly what you want and then make the necessary changes.

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.

ED DICT CF1 SUPPORT.DESK

DICT Name 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.

ED DICT ACCOUNT CLIENT-REF

DICT Name CLIENT-REF

001 A

002 11

003 Client Ref

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.

1. COPY DICT CLIENT 11


2. TO: DICT CLIENT 11-<STUDENT INITIALS>
3. ED DICT CLIENT 11-<CLD>
4. GO TO LINE 003 AND TYPE r/SALESMAN/SALESMAN#
Chapter 5 31

Conversions and Correlatives


Dictionary item lines 007 and 008 usually contain
codes that manipulate the data the item retrieves. It
is important to understand why you need to use
these fields and the differences between them.

Topic Page
Why Data Must Be Converted 19

Conversion vs. Correlative 19


32 Conversions and Correlatives
Why Data Must Be Converted 33

Why Data Must Be Converted


The way information is stored in a computer is not necessarily the easiest way for
users to use it. For example, attribute 14 in the following account record stores the
assigned date:

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.

Conversion vs. Correlative


Line 007 in any dictionary item is called the Conversion attibute. Line 008 is the
Correlative attribute. To create custom dictionary items effectively, it is important
to understand the difference between these two attributes. 8 before 7

How the Conversion and Correlative Fields Differ


You can use any of the codes you learn in this workshop ineither the Conversion
field or the Correlative field. The only difference between these two fields is the
order in which they are processed by the system.
The system changes raw data using the codes in the Correlative field first, before
performing any sorting or selection functions on the data. Therefore, the changes
the Correlative field makes on the data can affect the sorting order or how the
data is selected.
34 Conversions and Correlatives

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.

1. Type ED DICT DEBTOR DATE.CONV at TCL.


The system displays the words New item to indicate that thsi is a new
dictionary item.

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.

6. Type this Recall statement at TCL: SORT DEBTOR BY DATE.CORR


DATE.CORR
The system displays this report:

Emphasize

The dictionary item DATE.CORR displays exactly the same output as


DATE.CONV, but because the conversion code, D, is stored in line 008, the
system sorts the data after the date has been converted into a user-friendly
format. This sorting method results in all accounts assigned in April first, then
August, then December, and so on (alphabetical order). The system sorts
based on the output of the correlative attribute, which in this case in an
alphanumeric date.
Conversion vs. Correlative 37

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.

Enter Numbers Action

1 The system looks at attribute 002 in the dictionary item to determine


where the data is located.

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

Although these codes are called conversion codes,


their name does not mean they are limited to the
Conversion field. Any of these codes can be used
in either the Conversion or the Correlative fields. ATTR 7
These conversion codes are explained in more
detail later in this chapter.

Code Description Syntax

D Converts internal dates to user- D{year length}{separator}


readable dates

MR Converts dollar amounts MR{decimal position from right}{Z}{,}{$}

MC Changes the format of characters MC{/}{code}

T Retrieves specific characters from T{character position to start}{number of


a string of characters based on characters to retrieve}
position

G Retrieves a group of characters G{number of groups to skip}{separa-


from a string of characters tor}{number of groups to get}

P Displays only data that matches P{nX}{nA}{nN}”text”


the pattern specified
40 Conversion Codes
Converting Dates 41

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.

NOTE Put the date conversion code in the Conversion


attribute, line 007, of the dictionary item. This
ensures that the sorting on the date takes place
before it is output to the screen, see “Conversion
vs. Correlative” on page 19 for more details.
42 Conversion Codes

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.

Have class do.

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

Other Date Conversion Codes If you want to sort


This table displays other conversion codes you can use with the D conversion the date use ATTR
code to cause the system to display the date in a variety of different formats 8 for these controls.
This gets done
before the output.
Code Output Format Example
For Break-on &
D DD MMM YYYY 26 May 2002 Totals, you need this
code in ATTR 8.
D2- MM-DD-YY 05-26-02

D- MM-DD-YYYY 05-26-2002

D0 DD MMM 26 MAY

DD DD 26

DJ NNN (Julian Date) 146

DM MM 05

DMA Alphabetic Month MAY

DQ Numeric Quarter 2

DW Numeric Weekday 3

DWA Alphabetic Weekday Wednesday

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

007 <007 is blank to keep the date in raw format>

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

003 LAST CHG/PY

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.

NOTE This workshop limits the discussion of the M


(Mask decimal) code. For more information about
this code and it’s formatting possibilities, please
refer to you operating system manual.

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.

, (comma) Allow a comma to be output in the dollar amount in the appropriate


locations.

$ Place a dollar sign directly before the converted data.

Collector System Dollar Amounts


The Collector System stores dollar amounts in three different formats.

Format Number Dollar Amount Stored Data

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.

Attribute number containing the dollar


amount that needs to be changed.

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

DICT Name 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

010 13 (use at least 13)

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

DICT Name 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

010 13 (use at least 13)


Converting Dates 49

Converting Characters ATTR 7


The MC (Mask Character) conversion code formats text. It can format text as
lower case, uppercase, or titlecase.
Use this table to determine which code to use:

Code Description

MCL Changes all text to lowercase

MCU Changes all text to uppercase


Titlecase is first
MCT Changes all text to titlecase. letter of each word
is upper case
For example, the dictionary item TITLE.NAME converts all text in attribute 002 of
the DEBTOR record to titlecase:
>COPY DICT
DEBTOR NAME1
TO: TITLE.NAME

If you move the


MCT to line 008 and
add the following:
008
TDEBTOR;X1;2;2]
MCT
>LIST DEBTOR
NAME1 TITLE
NAME
The sorting is better.
50 Conversion Codes

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.

False, titlecase means upper and lower case characters

2. Create a dictionary item that converts all client names to uppercase.

ED DICT CLIENT NAME.CAPS

DICT Name NAME.CAPS

001 A

002 1 Point out that even


003 NAME.CAPS though the code is
in 007 or 008, if they
004 want it to sort
correctly, it must be
005
in 008. Also, put a T
006 in ATTR9 for text.

007

008 MCU (in either 007 or 008)

009 L

010 31

3. Create a dictionary item that converts all account status codes to lowercase.

ED DICT ACCOUNT ST.SM

DICT Name ST.SM

001 A

002 23

003 ST.SM

004

005

006

007 MCL (in either 007 or 008)

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:

Have the student fill


out the converted Data Code Converted Data
column as you show 360-256-7358 T1,3 360
them on the board
how it comes up 360-256-7358 T5,3 256
with that data.
360-256-7358 T9,4 7358
Converting Dates 53

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.

DICT Name NAME.15

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

DICT Name 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

The Recall statement, LIST DEBTOR 2 LASTNAME, generates a reports showing


the whole debtor name as well as the last name only.

EXERCISE
Write what the converted data would be, given the original data and the
conversion code:

Have the student fill


Data Code Converted Data out the converted
BRADY, RICHARD CHARLES G1,1 RICHARD CHARLES
column as you show
them on the board
BRADY, RICHARD CHARLES G1 1 RICHARD how it comes up
with that data.
BRADY, RICHARD CHARLES G2D1 CHARLES
Telephone area
BRADY, RICHARD CHARLES G2R2 ICHARD CHA code: 008 G0,-1
56 Conversion Codes

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:

Code Element Explanation

nX n alphanumeric characters

nA n alphabetic characters

nN n numeric characters

<text> Match text exactly

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.

Combining Pattern Match Code Elements


The pattern matching conversion code works well with data of multiple types and
when all of the data must match a specific type (such as numeric, alphabetical, or
alphanumeric).
For example, a social security number is made up of three numbers, a dash, two
numbers, a dash, and four numbers. You can combine the different elements of
58 Conversion Codes

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

DICT Name 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

DICT Name 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

DICT Name GOOD-ST

001 A

002 5

003 GOOD-ST

004

005

006

007

008 P(2A)

009 L

010 2

>LIST DEBTOR WITH NO GOOD-ST GOOD-ST


60 Conversion Codes

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

DICT Name 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

Listing Data From


More Than One File
One of the advantages of having a computer
manage information is that you don't have to store
all the information in one place. You can categorize
it into different storage locations, called files, and
then have the computer get the right information for
you at the time you want it.

As an example, the ACCOUNT file stores


information about accounts on the system. The
CLIENT file, on the other hand, stores information
about the clients with whom the debtors are
associated.

When creating a Recall statement, you choose the


file that contains most of the information you want
on your report. For instance, if the report were
primarily about debtors you would probably choose
the ACCOUNT file. But suppose you wanted to list
client information along with the debtor information
in your report; for example, the client name. To list Point out the
information from a related file use what is called a primary file and
translate dictionary item. translate file.
DEBTOR
Topic Page 001 Client#

Translate Dictionary Item 63 CLIENT


Primary and Translate Files 63 000 Client#
Creating a Translate Dictionary Item 66
Retrieving Multivalues 66
62 Listing Data From More Than One File
Translate Dictionary Item 63

Translate Dictionary Item


A translate dictionary item uses a special code to retrieve information you need in
your report from another file. In the following example, the translate dictionary
item retrieves the client name from the CLIENT file and prints it in your report,
even though your statement started with LIST ACCOUNT. The whole statement
looks like this: LIST ACCOUNT CNAME
CNAME is the translate dictionary item because it retrieves the client name from
the CLIENT file:

Primary and Tr anslate Files


The words Primary and Translate describe both files in the translate function.

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.

What Makes it Translate?


Using the CNAME dictionary item in a Recall statement displays the client name
in your report.
64 Listing Data From More Than One 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

Creating a Tr anslate Dictionary Item


The CNAME dictionary item is a good example of how to create a dictionary item:

STEP 1: Line 002 stores the attribute that


contains the key to the record in the translate file.

STEP 2: Line 008 stores the filename where the


desired information is stored.

STEP 3: Line 008 also stores the attribute where


the data is stored.

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

T for Translate Code

Filename Attribute where data is stored

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:

Line NAME NAME1 NAME2


001 A A A

002 0 0 0

003 NAME NAME1 NAME2

004

005

006

007 ATTR is 0 because


the Primary and
008 TDEBTOR;X;2;2 TDEBTOR;X1;2;2 TDEBTOR;X2;2;2 Translate files are
the same. This is
009 L L L
called a self
010 30 35 35 translate.

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.

NOTE When retrieving a multivalue from the same file


you are creating the dictionary item in, your
primary and translate files are the same. This is
shown in the preceding example.

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

Make a DICT item


Salesman (long)
Name from the Each dictionary item retrieves different information.
DEBTOR file. This is
going to be a double
translate.
EXERCISE
001 A s

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

DICT Name DEBTOR.NAME

001 A

002 1

003 DEBTOR NAME

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

DICT Name 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

DICT Name 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

DICT Name 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.

NOTE Even though the system ignores what is in line


002 when you use an A-correlative, you still need
to put something in that line. As a rule of thumb,
enter a zero (0) in line 002 when using an A-
correlative.

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.

Operators vs. Operands Acts on versus


To create a valid A-correlative expression you need to know what tools you can acted upon.
use to create it. The tools of any expression are called operators and operands.
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.
A-correlative Operators
This table lists the valid A-correlative operators:

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

Whole numbers 16-15

Literal values “16”-”15”

Results of other DICT items N(TOTAL-BAL)/”2”

Current date D-”30”

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”.

Combining Conversion Codes


To use other conversion codes within the A-correlative, type attribute
number(conversion code)
The following example uses the translate conversion code within the A-
correlative: A;1(TCLIENT;X;11;11)
To use multiple conversion codes within an A-correlative, separate the codes with
a multivalue marker (CTRL-]).

NOTE The multivalue marker is not a normal bracket (])


even though it looks like one. The dictionary item
does not recognize an actual bracket as a
multivalue marker. Make sure to use the CTRL-]
key combination.

This is an example from the DICT DEBTOR file: Emphasize.


A;1(TCLIENT;X;11;11]TSALESMAN;X1;49;49]MCT)
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.

Using If/Then/Else Expressions


A-correlative dictionary items can evaluate data and change what is output based
on the results. To evaluate data using a dictionary item, use the IF/THEN/ELSE
expression in an A-correlative.
The IF/THEN/ELSE expression tests a comparison to see if it is true. If it is true it
does what follows the THEN part of the expression. If it is false, it does what
follows the ELSE part of the expression.
76 Using A-Correlatives

In this example, the A-correlative displays a one if the account record contains a
different interest rate than the client record:

Valid operands after “THEN”


and “ELSE” include literals (like
these), whole numbers that
point to attributes, other
dictionary items (they must use
the “N(<dict item>)” format), or
any other A-correlative operand.

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):

The dictionary item


displays a “1” when the
account interest rate is no
equal to the client interest
rate.

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.

Mathematical Calculation and Using Results of Other DICT


Items
One of the most commonly used A-correlative dictionaries is TOTAL-BAL in the
ACCOUNT file:

This dictionary item uses the


results of other dictionary items
to produce the total balance.

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:

NOTE When A-correlatives perform division, they do not


leave a remainder. This means that 5/2=2 not 2.5.
To compensate, multiply by 100 or more
(depending on the degree of accuracy you need)
and then move the decimal over with the "MR"
conversion code in line 007.
Anatomy of an A-Correlative 79

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

DICT Name TOT-BAL-I

001 A <This DICT item removes the references to the dictionary


items that displayed interest. N(17) & N(21)>

002 0

003 TOT BAL-I

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

DICT Name 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

3. Create an IF/THEN/ELSE A-correlative that displays a 1 if the account’s


ATTR 14 ASGN assigned date is later than the account’s last payment date.
DATE
Use the dictionary item to create a saved list called NOPAY that contains all
13 Last Pmt Date
accounts whose last payment date is before the assigned date.
ED DICT ACCOUNT NOPAY

DICT Name NOPAY

001 A

002 0

003 NOPAY

004

005

006

007

008 A;IF N(14) > N(13) THEN “1” ELSE “0”

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.

NOTE Even though the system ignores what is in line


002 when you use an F-correlative, you still need
to put something in that line. As a rule of thumb,
enter a zero (0) or the attribute number in line
002.

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:

Function Stack Entry 1 Stack Entry 2


Push 3 3

Push 5 5 3

Stack 2 - Stack 1 -2

{F;”2”;”11”;”3”;-;/} Push a value of 2 (surrounding a value with ““ represents a


literal value) onto the stack as Stack Entry 1. Push a value of 11 onto the stack as
Stack Entry 1 and push down current Stack Entry 1 value to Stack Entry 2. Push a
value of 3 onto the stack as Stack Entry 1 and push down the current Stack Entry
1 and Stack Entry 2 to Stack Entry 2 and Stack Entry 3, respectively. Subtract
Stack Entry 1 from Stack Entry 2. Push result (8) onto the stack as Stack Entry 1.
Take Stack Entry 2 and divide it by Stack Entry 1 and Push the result onto the
stack as Stack Entry 1:

Function Stack Entry 1 Stack Entry 2 Stack Entry 3


Push 2 2

Push 11 11 2

Push 3 3 11 2

Stack2 - Stack1 (11- 8 2


3)

Stack2 / Stack1 (2/8) .25


Anatomy of an F-Correlative 85

Operators vs. Operands

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.)

< Less Than


[ Less Than or Equal To
(Note this is NOT the
crtl+[ 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

Whole Numbers 16;15;-

Literal values “16”;”15”;-

System Date D;”30”;-

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”;-.

Combining Conversion Codes


To use other conversion codes within the F-correlative, type attribute
number(conversion code)
The following example uses the translate conversion code within the F-correlative:
F;1;(TCLIENT;X;11;11)
To use multiple conversion codes within an F-correlative, separate the codes with
a multivalue marker (CTRL-]).

NOTE The multivalue marker is not a normal bracket (])


even though it looks like one. The dictionary item
does not recognize an actual bracket as a
multivalue marker. Make sure to use the CTRL-]
key combination.

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.

Mathematical Calculation and Using Other DICT Items


In chapter 8 you were introduced to the A-correlative dictionary item TOTAL-BAL
and you saw how you would use the results of other dictionary items in the
mathmatical formulas, please the example
below

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.

The following is an example of an F-Correlative that is used to define the


dictionary item for attribute 15 (Principal Assigned).

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

Function Stack Entry 1 Stack Entry 2 Stack Entry 3


Push Value in 1231.2
Attribute 15

Skipping no Groups 1231 1231.12


get 1 group and push
that onto stack (G.1)

Push Value of 1231.12 1231 1231.12


Attracted 15 onto the
stack

Skipping 1 Group get 12 1231 1231.12


1 group and push
onto stack (G1.1)

Push Constant (00) 00 12 1231


onto the stack

Concatenate Stack 1200 1231


Entry 2 and Stack
Entry 1(:)

Text Extract position 12 1231


1 for 2 characters
(T1,2)

Concatenate Stack 123112


Entry 2 and Stack
Entry 1(:)

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

DICT Name 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

DICT Name 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

3 Create a dictionary item in the DEBTOR that uses an F-Correlative to create a


City State Zip address block. The address block will have to be formatted with
the space and comma between the City and the State and the space between
State and Zip. Format the output to have mixed case (title case) text.

ED DICT ACCOUNT ADDR_BLK

DICT Name ADDR_BLK

001 A

002 0
Anatomy of an F-Correlative 91

003 ADDR_BLK

004

005

006

007 MCT

008 F;0(TDEBTOR;X1;;4);C, ;:;0(TDEBTOR;X;;5);C


;:;:;0(TDEBTOR;X;;6);:

009 L

010 30
92 Using F-Correlatives
Automating Your Recall With Paragraphs 93

Automating Your Recall With


Paragraphs
Once you have created custom dictionary items and
produced the recall statements that meet your
reporting needs you can add your Recall statements
to a Paragraph. A Paragraph is a high level routine
that allows you to record and run and re-run on
demand Recall statements for your reporting needs.

The paragraph is saved it then can be called from


the command prompt or added to a custom menu. In
addition to running recall statements, paragraphs
can contain special control statements, and prompt
the user for input.

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

The Structure of the Paragraph


The Paragraph is a series of recall statements and/or commands that are stored
together under one name. You are able to execute the series of commands by
entering the paragraph name from the TCL command line prompt. Or you may
add it as a menu item and run it from a custom menu.
All Paragraphs have the following structure:

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.

* An asterisk at the beginning of a


line denotes a comment.

Label: Label followed immediately by a :


and a space are used for GO
commands. e.g., GO label

Recall Statement (or Commands) 1 - The Recall sentences and/or


n commands to run in a sequential
order.

Creating the Paragraph


Use the following sequence to create a paragraph in the MD/VOC file:
1 ED MD PARA_1
2 I (insert command)
3 PA (Always in Line 1)
4 SELECT DEBTOR WITH 15 GT “1000” AND WITH 16 GT “100”
5 SAVE-LIST LIST1
6 GET-LIST LIST1
7 SORT DEBTOR BY-DSND 15 1 2 15 16
8
Once you have completed entering your recall statements, flip the buffer and file
the work. The completed Paragraph should look like the following:
96

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

STD.SSD is a recall macro that formats the output as follows:


BY-DSND 1 BY-DSND TOTAL-BAL2 1 NAME1 TOTAL-BAL

In Line Prompting with Paragraphs


As the paragraph is executed, the user can be prompted for input to complete the
recall or command sentence. The format is as follows:
001 PA
002 SELECT DEBTOR WITH 15 GT “<<A, ENTER AN ASSIGNED AMOUNT>>”.
003 SAVE-LIST DJW10
004 GET-LIST DJW10
005 SORT DEBTOR BY-DSND 15 1 2 15 TOTAL-BAL
006 M0

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.

Paragraph Prompt Codes

Code Description

A Always prompt user for input

In Use parameter n from command line. If value does not exist,


always prompt
The Structure of the Paragraph 99

Code Description

@(BELL) Sound BELL at prompt

@(CLR) Clear screen before prompt.

Mask Codes Description

7N Numeric mask (example shows 7 characters

D2- Date format (2 digit year with dashes MM-DD-YY

2A Alpha characters (example shows 2 Alpha digits e.g., State code)

5X Alpha-numeric characters (example requires 5 characters)

Controlling Paragraph Flow


The paragraph interpreter will allow the user to branch the paragraph flow based
upon user input or other conditions. IF/THEN, GO, and LOOP are paragraph flow
commands that are supported. In addition the user is able to call one paragraph
from another as we have seen in a previous example.

NOTE CAUTION: When you create a paragraph, be


sure it does not inadvertently invoke itself. If it
does, executing it will cause the paragraph to loop
endlessly until aborted with the Break key. This
looping most often occurs in a sequence of
paragraphs in which one paragraph invokes,
another and a paragraph later in the sequence
invokes a paragraph that has been invoked
earlier.

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

004 LIST <<A, Enter a file name>> BY-DSND 4 1 2 3 4 5


005 DISPLAY Your report has been prepared.
007 REPEAT
008 FINISHED: DISPLAY You are now at the command prompt.

Some Paragraph Flow Control Codes

Code Description
DISPLAY Output text to screen

GO Continue at label

LOOP Start LOOP

REPEAT Repeat LOOP

IF Expression THEN Statement

In the IF expression, the PromptID, Operators and/or @variables are acceptable.


The following table describes some of the acceptable @variables and operators

Some Paragraph Variables and Operators

Codes Description @variables

@DATE Current Internal Date

@TIME Current Internal Time

@DAY Current two digit day of month

@MONTH Current two digit month

@YEAR Current four digit year

Codes Description - Operators

EQ Data1 = DATA2

LE Less Than or Equal To

LT Less Than

GE Greater Than or Equal To

GT Greater Than
The Structure of the Paragraph 101

Adding a Paragraph to a Custom Menu

In addition to running a paragraph from a command prompt, the paragraph can be


added to a custom menu. This allows a user to run a paragraph(s) from a menu
and not require the user to have to have access to the command prompt.

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.

Creating a Custom Menu Step by Step

1 Navigate to Menu 10.1.18 - Menu Builder


2 At the Prompts for the menu name, type in “REPORTS”
3 You will be asked to confirm whether or not you wish to add a new menu,
select YES. The following screen will appear:

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

15 You should see a menu similar to the following:

NOTE The Menu Builder allows you to add other menu


items or programs to the custom menu. It is a
great way to build menus based upon the roles
within an agency.

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

002 *TRANS REPORT FOR PAYMENTS TO PRINCIPAL

003 SELECT TRANS WITH 2 EQ “1”

004 SAVE-LIST TRANS_TC1

005 GET-LIST TRANS_TC1

006 SORT TRANS BY 7 BY-DSND 4 BREAK-ON 7 TOTAL 4


104

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

002 *DEBTOR REPORT BY PRINCIPAL COLLECTED

003 SELECT DEBTOR WITH 15 GT “<<A, ENTER AN ASSIGNED


AMOUNT>>” AND WITH 16 GT “50”

004 SAVE-LIST DEBTOR_1

005 GET-LIST DEBTOR_1

006 SORT DEBTOR BY 1 BY-DSND 16 1 NAME1 15 16

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

002 *TRANS REPORT MASK FOR SPECIFIC INPUT


The Structure of the Paragraph 105

003 SELECT TRANS WITH 4 GT “<<A, ENTER TRANS AMOUNT GT


99.99 AND LESS THAN 999.99,3N.2N>>” AND WITH 2 “1”

004 SAVE-LIST TRANS_4

005 RECALL-PC

4. Create or add all of the above paragraphs to a custom menu.


106
107

Columbia Ultimate Database


The following pages include a list of major files and attributes contained
in Columbia Ultimate databases.
108 Columbia Ultimate Database
109

File Layout of Major Collector System Files


Account
0 Debtor number 62 Number of collection attempts between COURT-COST
1 Client number payments and # NSF CSZ
2 Debtor name 63 Commission rate by category CTY
2.1 Debtor name 1 64 Misc. amounts (multivalue) CUBS.PASS.TO
2.2 CoResponsible debtor name 65 Misc. amounts collected (multivalue) CZIP
3 Debtor address‘ 66 Canceled other amount DEB#
3.1 Mailing address 1 67 Legal recommendation flag DEBTOR
3.2 Mailing address 2 68 Interest effective date DEBTOR#
4 City 69 Previous status code DESK
5 State 70 Previous client number DESK-BRANCH
6 ZIP code 71 Important note lines DESK1
7 Packet number 72 Post dated check ID DIALER-CAMPAIGN
8 Telephone number 73 Scanned image control DIALER-SEQ
9 Date of birth 74 Sales transfer control DIST
10 Collector desk number DNAME
11 Client reference number ACCT-NO DNAMEHX
12 Last charge date ACCT.AGE DNAMENUM
13 Last payment date ACK-DATE DNUM
14 Assignment date ACK.LIST DOB
15 Pn-Assign (Assigned amount owing) ACKCODE DOBYEAR
16 Assigned amount collected ACT DOLLAR.CAT
17 Interest owing ADDR-BLOCK DR#
18 Attorney owing ADDRESS DRL
19 Court owing ADDRESS1 DTRNAME
20 Social security number ADDRESS2 ELIM.CODE
21 Interest collected AGE ELIM.DATE
22 Last action date AGENCY ELIM.DESC
23 Status code AGN-AGE EMP
24 Forward client (original creditor) AGN-PAY EXP-CODE
25 Canceled amount AGNAGE EXP-NAME
26 Attorney collected ALPHA1 FIRST-LAST
27 Court collected ALPHA2 FIRST-LAST-NAME
28 Setup date AMT FISCAL
29 Driver’s Licence Number AMT-2 FWD-DATE
30 Old debtor flag AREA-PFX FWDCLI
31 Misc. owing AREA-ZIP INT
32 Misc. collected AREACODE INT-COLLECT
33 Notice series ASGN INT-PD
34 Client’s last charge/last pay date ASGNDT INTEREST-OWEING
35 Patient name ATT-COLL INTOWE
36 Customizable field 2 ATTORNEY-FEE INVSORTSEQ
37 Customizable field 3 BAL ITEM
38 Customizable field 4 BAL-L JDATE
39 Customizable field 5 BANK JMTBAL
40 Customizable field 6 BANK2 LAST-ACTIVITY
41 Bill rating BRANCH LAST-CHARGE-DT
42 Last action code BRANCH LAST-PAY-DT
43 Comission amount earned CANCEL LASTINITIAL
44 Interest rate CIFREQ LONG-ADDRESS
45 Assigned amount adjustments CITY LONG-CITY-ST-ZIP
46 Credit report cancel flag CITY-ST-ZIP LONG-NAME
47 Custom use CLIENT LST-WRK
48 Payment plan number CLIENT-DEBTOR# MEMOS
49 Posting notes CLIENT-INV MISC
50 Last shared payment amount CLIENT.SC MISC-COLL
51 Last shared payment date CLIKEY MO
52 Cancel date CN MTH
53 Reserve desk number CNAM NAME
54 Judgment number CNAM# NAME-ID
55 Interest as of assign date CNAME NAME1
56 Accumulated cost to date CNT NAME2
57 Commission rate/code CNT-L NET
58 Date first reported over cost CNUM NOADDR
59 Miscellaneous controls COLLECTOR NOADDR%
60 Assigned amounts owing (multivalue) COMM ON-DIALER
61 Assigned amounts collected (multivalue) COMP ORIG.PRINC
COURT-COLL PACKET
page 1 of 2
110 Columbia Ultimate Database

PAID-TODAY PSTS SSN


PASS.TO.REFORMAT PURGE-STS ST
PATIENT RECON-BAL STATE
PAYAGE REM STATUS
PCNT RESTORELIST STATUS-CODE
PF RETAINED-INTEREST STREET
PHONE-RES SALESMAN STRT
PIXEL.IO.1 SERIES-CODE STS
PIXEL.IO.2 SETUP-DT TOTAL-BAL
PMT-FWD SHORT-NAME TOTAL-NET
PRI SITY TOTAL-NET-NOINT
PRIMARY SOC-SEC# VICT.REST
PRIN SORTSEQ YEAR
PRIN-BAL SP-DEB# YYR
PRIN-COL SPC ZIP
page 2 of 2

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

PMT-FWD PRIORITY STATUSCD


PN-AMT SPC TOTAL-BAL
PRIMARY STATUS TRANSFER-DAYS
page 2 of 2

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

55 YTD interest forwarded 65 YTD # payments BRANCH


56 MTD court forwarded 66 MTD $ payments BRANCH8
57 YTD court forwarded 67 YTD $ payments BRANCH12
58 MTD attorney forwarded 68 MTD # PIF BRANCH19
59 YTD attorney forwarded 69 YTD # PIF DESK
60 MTD misc forwarded 70 Last 22 work days GOAL
61 YTD misc forwarded 71 # accounts worked GOAL%
62 Collector goals criteria 72 # debtor contacts GROSS-MTD-COL
63.1 Previous year $ collected GROSS-MTD-COM
63.2 Last 12 months $ collected #-YTD-ASSIGN GROSS-YTD-COL
64 MTD # payments $-YTD-ASSIGN GROSS-YTD-COM
page 2 of 2

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

ADDRESS CLIENT NAME


BAL JNUM RCVD
page 2 of 2

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

You might also like