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 ed trademarks of Columbia Ultimate Business Systems, Inc., and all d companies, ed 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
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.
1
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
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
5
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}
-
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/
LOCATE the first occurrence of text in the item.
L999/
LOCATE the text in 999 lines of the item.
R/
/
REPLACE the first occurrence of the old string with the new string for the line that you are on.
RU/
/
REPLACE every occurrence of the old string with the new string for the line that you are on.
RU999/
/
REPLACE every occurrence of the old string with the new string for 999 lines.
R999/
/
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/
APPEND LINE that you are on with text.
I
INSERT mode. Use to insert new lines of information 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 format, buffer 2 contains items with changes.
FI
FILE ITEM.
A
AGAIN ***relates to the L/
, 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 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/
, where
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/
/
/{U} The n is the number of lines you want to change,
is the text you want to change and
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 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/
. 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 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 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 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
Show some common mistakes like forgetting to exit Insert Mode.
Creating Data
The system does not save a blank line. It only saves the lines in which you entered data. 6. File the item to save your changes (FI). This section is not printed in the student manual. Teach it or leave it out at your 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
/
-
/
. 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 It is important to become familiar with the contents of the files you work with most often. In this class you work with these files: AGENCY, CFn, CLIENT, COLLECTOR-UNIT, CONTROL, DEBTOR, FISCAL, JMT, SALESMAN, and TRANS.
Item ID 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 s on the system. The TRANS file holds information about every trust 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 assigned date in MM-DDYY format:
Talk about the different files and how the item ID shows up in several. Point out the relational data base concepts.
24
Making a Basic Dictionary Item
Line
Data
001
Contains an A or an S. In very old versions of PICK there was a difference 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 makes multi-line header. Saves room on screen.
003 - Optional Column Header
Any text in this line becomes the column header. If this line is blank then a Recall statement using the dictionary item displays the dictionary item name as the column header. In this example, the dictionary item has an optional column header of DT ASSIGN.
005 - Line 5 is a good document line to use. NOD 3/3/00 for special project #123456.
004
Unused in this example.
005
Unused in this example. You may want to use this line as a description of your custom dictionary item. Or tag the DICT item with your initials.
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 displays 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 This graphic shows the relationship between a dictionary item, a data item, and a Recall statement: DATA ITEM
DICT ITEM
Naming conventions for DICT items: Use ASGN.NOD or 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. Attribute 008 holds the phone number. When used in a Recall statement, PHONERES displays the phone number.
>LIST DEBTOR 2 8 15
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 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 s 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: , 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 ()’ filed. What does this Recall statement do? The (DI will suppress the item ID.
6. Use the dictionary item in this Recall statement: SORT DEBTOR BY STATUS.CODE BREAK-ON STATUS.CODE TOTAL CNT TOTAL 15 TOTAL 16 TOTAL TOTAL-BAL (DI 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
-
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 .DESK in the CF1 file that displays the 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 .DESK .DESK.
ED DICT CF1 .DESK DICT Name
.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 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-
4. GO TO LINE 003 AND TYPE r/SALESMAN/SALESMAN#
Chapter 5
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
31
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 s to use it. For example, attribute 14 in the following 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 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
Emphasize this paragraph <ED DICT DEBTOR TOTAL-BAL >SORT DEBTOR BYDSND TOTAL-BAL
Conversions and Correlatives
Unlike the Correlative field, the Conversion field is processed only after the 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 selecting based on what your dictionary item does to the data, put the codes in the Correlative field. Otherwise, put the codes in the Conversion field where have an effect only on how the system displays the data.
Conversion vs. Correlative Fields
Raw Data
Correlative
Sort and Selection 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 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 -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 -friendly format. This sorting method results in all s 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 . 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. These conversion codes are explained in more detail later in this chapter. Code
Description
Syntax
Converts internal dates to readable dates
D{year length}{separator}
MR
Converts dollar amounts
MR{decimal position from right}{Z}{,}{$}
MC
Changes the format of characters
MC{/}{code}
T
Retrieves specific characters from a string of characters based on position
T{character position to start}{number of characters to retrieve}
G
Retrieves a group of characters from a string of characters
G{number of groups to skip}{separator}{number of groups to get}
P
Displays only data that matches the pattern specified
P{nX}{nA}{nN}”text”
D
ATTR 7
40
Conversion Codes
Converting Dates
41
Converting Dates Dates are stored in the PICK system in an internal format. Each time the system clock es 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 to understand. As an example, attribute 14 in the following record stores the assigned date:
Show >BDATE Attribute 14
The number 13614 doesn’t mean anything to a , but the BDATE command displays what it means to the computer.
The number 13614 is the internal date. When the same date is displayed as 0409-2005 or in any other format that a 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 to read. To convert dates to a -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.
D2D4
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 This table displays other conversion codes you can use with the D conversion code to cause the system to display the date in a variety of different formats Code
Output Format
Example
D
DD MMM YYYY
26 May 2002
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
Alphabetic Weekday
Wednesday
DY
YYYY
2002
D2Y
YY
02
DWA
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
If you want to sort the date use ATTR 8 for these controls. This gets done before the output. For Break-on & Totals, you need this code in ATTR 8.
44
Conversion Codes
2. Create a dictionary item that displays the ’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 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 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
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 Element
Use This To
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
MCT
Changes all text to titlecase.
For example, the dictionary item TITLE.NAME converts all text in attribute 002 of the DEBTOR record to titlecase:
Titlecase is first letter of each word is upper case
>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 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
003
NAME.CAPS
004 005 006 007 008
MCU (in either 007 or 008)
009
L
010
31
3. Create a dictionary item that converts all status codes to lowercase. ED DICT 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
Point out that even though the code is in 007 or 008, if they want it to sort correctly, it must be in 008. Also, put a T in ATTR9 for text.
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 and grab the first 4 characters of data.
Examples To use the text extraction conversion code effectively, the data you are working 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 column as you show them on the board how it comes up with that data.
Data
Code
Converted Data
360-256-7358
T1,3
360
360-256-7358
T5,3
256
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. ED DICT CLIENT NAME.15 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 ’s Social Security Number. ED DICT SSN4 DICT Name
SSN4
001
A
002
20
003
SSN4
004 005 006 007 008
T8,4
009
L
010
4
Why? To save space on the report.
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 ’s last name. Assuming that the 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 ’s name were stored as: BRADY, RICHARD CHARLES G0,1 Will grab all last names as a group.
To retrieve only the last name, you would use the conversion code G0,1. Translated into layman’s , this tells the system Divide the characters into groups using the comma as a separator and then skip zero groups and get one 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: Data
Code
Converted Data
BRADY, RICHARD CHARLES
G1,1
RICHARD CHARLES
BRADY, RICHARD CHARLES
G1 1
RICHARD
BRADY, RICHARD CHARLES
G2D1
CHARLES
BRADY, RICHARD CHARLES
G2R2
ICHARD CHA
Have the student fill out the converted column as you show them on the board how it comes up with that data. Telephone area code: 008 G0,-1
56
Conversion Codes
Pattern Matching Short Test: Show dollar amt with a dollar sign but with no cents. 007 MRZ,$ 008 GO.1 or 007 GO.1]MRZ,$
The pattern matching conversion code allows you to retrieve only data that matches a specific pattern. Pattern matching can be especially helpful when trying to locate data that has been input incorrectly. This code allows you to see if data matches specified:
Length Data Type (numeric, alphabetical, and alphanumeric) Literal Text Type P{nX}{nA}{nN}
, 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
Match text exactly
Example Suppose you want to find out if all debtor 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 numbers match this pattern:
Converting Dates
57
Using the Recall statement, LIST DEBTOR 6DIGITS, the dictionary item causes the system to display only those s 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: 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
Emphasize
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 s with telephone numbers that have no area code. ED DICT 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 file stores information about s 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 file. But suppose you wanted to list client information along with the debtor information in your report; for example, the client name. To list information from a related file use what is called a translate dictionary item. Topic
Page
Translate Dictionary Item
63
Primary and Translate Files
63
Creating a Translate Dictionary Item
66
Retrieving Multivalues
66
Point out the primary file and translate file. DEBTOR 001 Client# CLIENT 000 Client#
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 . The whole statement looks like this: LIST 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, 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. 3. The dictionary item retrieves the right information from that record and displays it in your report. Primary File
Translate File
2
1
3
Review this graphic a couple times, this is a difficult concept.
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 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 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 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 008
TDEBTOR;X;2;2
TDEBTOR;X1;2;2
TDEBTOR;X2;2;2
009
L
L
L
010
30
35
35
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 NAME NAME1 NAME2, these dictionary items display the data like as follows:
ATTR is 0 because the Primary and Translate files are the same. This is called a self translate.
68
Make a DICT item Salesman (long) Name from the DEBTOR file. This is going to be a double translate. 001 A 002 1 003 Salesman]Longname 008 TCLIENT;X;11;11] TSALESMAN;x1;49; 49 009 T
Listing Data From More Than One File
Each dictionary item retrieves different information.
EXERCISE
s
1. Create a dictionary item to use in the file that displays the salesman number. ED DICT DEBTOR SALESMAN# DICT Name
SALESMAN#
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 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 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
ATTR 8
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 Acorrelative.
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 To create a valid A-correlative expression you need to know what tools you can use to create it. The tools of any expression are called operators and operands.
Acts on versus acted upon.
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 and the numbers are the operands. In this example, the operator adds the two operands together.
A-correlative Operators This table lists the valid A-correlative operators: Operator
Description
+
Add
-
Subtract
*
Multiply
/
Divide page 1 of 2
You may want to explain the 2+2 example on the white board.
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 Acorrelative 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 Acorrelative: 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: 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.
Emphasize.
76
Using A-Correlatives
In this example, the A-correlative displays a one if the 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(
)” format), or any other A-correlative operand.
When listed out next to dictionary items that display both the 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 interest rate is no equal to the client interest rate.
Suppose you want to list in a report only those debtor 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 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 file:
This dictionary item uses the results of other dictionary items to produce the total balance.
The Collector System does not store the total 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 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
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
ATTR 14 ASGN DATE 13 Last Pmt Date
Using A-Correlatives
3. Create an IF/THEN/ELSE A-correlative that displays a 1 if the ’s assigned date is later than the ’s last payment date. Use the dictionary item to create a saved list called NOPAY that contains all s whose last payment date is before the assigned date. ED DICT 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 the DICTIONARY item, it often referred to as the FCorrelative. 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
ATTR 8
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 Fcorrelative (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
Push 3
3
Push 5
5
Stack 2 - Stack 1
-2
Stack Entry 2
3
{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
Push 2
2
Push 11
11
2
Push 3
3
11
Stack2 - Stack1 (113)
8
2
Stack2 / Stack1 (2/8) .25
Stack Entry 2
Stack Entry 3
2
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 and the numbers are the operands. In this example, the operator adds the two operands together.
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:
You may want to explain the 2+2 example on the white board.
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 Fcorrelative 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
Function
Stack Entry 1
Push Value in Attribute 15
1231.2
Stack Entry 2
89
Stack Entry 3
Skipping no Groups 1231 get 1 group and push that onto stack (G.1)
1231.12
Push Value of 1231.12 Attracted 15 onto the stack
1231
1231.12
Skipping 1 Group get 12 1 group and push onto stack (G1.1)
1231
1231.12
Push Constant (00) onto the stack
00
12
1231
Concatenate Stack Entry 2 and Stack Entry 1(:)
1200
1231
Text Extract position 1 for 2 characters (T1,2)
12
1231
Concatenate Stack Entry 2 and Stack Entry 1(:)
123112
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 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 ADDR_BLK DICT Name
ADDR_BLK
001
A
002
0
Anatomy of an F-Correlative
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
91
92
Using F-Correlatives
Automating Your Recall With Paragraphs
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 for input.
Topic
Page
The Structure of the Paragraph
95
Examples of Paragraphs
96
In Line Prompting with Paragraphs
98
Controlling Paragraph Flow
99
Adding a Paragraph to a Custom Menu
101
93
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 n
The Recall sentences and/or 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 s 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 . Once the is finished the screen report e.g., typing in the Q command to quit the screen report, the 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 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 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 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 “<
>”. 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 needed to specify an attribute or dictionary item it would look like the following: 001 PA 002 SELECT DEBTOR WITH <
> GT “<
>” 003 SAVE-LIST DJW11 004 GET-LIST DJW1 005 SORT DEBTOR BY-DSND 15 1 2 15 TOTAL-BAL 006 M0 The will be prompted to enter the attribute number, then prompted to enter the assigned amount. The prompt syntax is: <
>. e.g., <
> 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 for input
In
Use parameter n from command line. If value does not exist, always prompt
The Structure of the Paragraph
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)
99
Controlling Paragraph Flow The paragraph interpreter will allow the to branch the paragraph flow based upon input or other conditions. IF/THEN, GO, and LOOP are paragraph flow commands that are ed. In addition the 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" 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 <
> = “N” THEN GO FINISHED
100
004 LIST <
> 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 to run a paragraph(s) from a menu and not require the 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 can jump to, or you can set this custom menu to be their “default” menu through their employee 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 will be returned to the Employee prompt. Select the menu to return the 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 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
15
103
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 Paragraph
Description
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 Paragraph
Description
ED MD PA_DBY16 001
PA
002
*DEBTOR REPORT BY PRINCIPAL COLLECTED
003
SELECT DEBTOR WITH 15 GT “<
>” 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 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 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 Paragraph
Description 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 “<
>” 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 0 1 2 2.1 2.2 3 3.1 3.2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
Debtor number Client number Debtor name Debtor name 1 CoResponsible debtor name Debtor address‘ Mailing address 1 Mailing address 2 City State ZIP code Packet number Telephone number Date of birth Collector desk number Client reference number Last charge date Last payment date Assignment date Pn-Assign (Assigned amount owing) Assigned amount collected Interest owing Attorney owing Court owing Social security number Interest collected Last action date Status code Forward client (original creditor) Canceled amount Attorney collected Court collected Setup date Driver’s Licence Number Old debtor flag Misc. owing Misc. collected Notice series Client’s last charge/last pay date Patient name Customizable field 2 Customizable field 3 Customizable field 4 Customizable field 5 Customizable field 6 Bill rating Last action code Comission amount earned Interest rate Assigned amount adjustments Credit report cancel flag Custom use Payment plan number Posting notes Last shared payment amount Last shared payment date Cancel date Reserve desk number Judgment number Interest as of assign date Accumulated cost to date Commission rate/code Date first reported over cost Miscellaneous controls Assigned amounts owing (multivalue) Assigned amounts collected (multivalue)
62 Number of collection attempts between payments and # NSF 63 Commission rate by category 64 Misc. amounts (multivalue) 65 Misc. amounts collected (multivalue) 66 Canceled other amount 67 Legal recommendation flag 68 Interest effective date 69 Previous status code 70 Previous client number 71 Important note lines 72 Post dated check ID 73 Scanned image control 74 Sales transfer control ACCT-NO ACCT.AGE ACK-DATE ACK.LIST ACKCODE ACT ADDR-BLOCK ADDRESS ADDRESS1 ADDRESS2 AGE AGENCY AGN-AGE AGN-PAY AGNAGE ALPHA1 ALPHA2 AMT AMT-2 AREA-PFX AREA-ZIP AREACODE ASGN ASGNDT ATT-COLL ATTORNEY-FEE BAL BAL-L BANK BANK2 BRANCH BRANCH CANCEL CIFREQ CITY CITY-ST-ZIP CLIENT CLIENT-DEBTOR# CLIENT-INV CLIENT.SC CLIKEY CN CNAM CNAM# CNAME CNT CNT-L CNUM COLLECTOR COMM COMP COURT-COLL
COURT-COST CSZ CTY CUBS..TO CZIP DEB# DEBTOR DEBTOR# DESK DESK-BRANCH DESK1 DIALER-CAMPAIGN DIALER-SEQ DIST DNAME DNAMEHX DNAMENUM DNUM DOB DOBYEAR DOLLAR.CAT DR# DRL DTRNAME ELIM.CODE ELIM.DATE ELIM.DESC EMP EXP-CODE EXP-NAME FIRST-LAST FIRST-LAST-NAME FISCAL FWD-DATE FWDCLI INT INT-COLLECT INT-PD INTEREST-OWEING INTOWE INVSORTSEQ ITEM JDATE JMTBAL LAST-ACTIVITY LAST-CHARGE-DT LAST-PAY-DT LASTINITIAL LONG-ADDRESS LONG-CITY-ST-ZIP LONG-NAME LST-WRK MEMOS MISC MISC-COLL MO MTH NAME NAME-ID NAME1 NAME2 NET NOADDR NOADDR% ON-DIALER ORIG.PRINC PACKET
page 1 of 2
110
Columbia Ultimate Database
PAID-TODAY .TO.REFORMAT PATIENT PAYAGE PCNT PF PHONE-RES PIXEL.IO.1 PIXEL.IO.2 PMT-FWD PRI PRIMARY PRIN PRIN-BAL PRIN-COL
PSTS PURGE-STS RECON-BAL REM RESTORELIST RETAINED-INTEREST SALESMAN SERIES-CODE SETUP-DT SHORT-NAME SITY SOC-SEC# SORTSEQ SP-DEB# SPC
SSN ST STATE STATUS STATUS-CODE STREET STRT STS TOTAL-BAL TOTAL-NET TOTAL-NET-NOINT VICT.REST YEAR YYR ZIP
page 2 of 2
CFn 0 Debtor number 1 Last action date 2 Last collector action 3 Time to work again 4 Next work date 5 Promised payment amount 6 Next step 7 Follow-up priority (1-10) 8 Holdover flag 9 Important note lines 10 Date action sheets printed 11 WIP sort key 12 WIP qualify flag 13 Collector number 14 desk 15 Promised payment date 16 Last phone # dialed 17 Date before removal can occur 18 Required WIP index 19 Reason for being on WIP 20 Date CMD 4 performed 21 Date put in tickler of this desk ACCT-AGE AGE AGN/AMT ASSIGNDT BAL BRANCH C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C33 C42 CLIENT CNAM# CNUM COLL
D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D15X D16 D16X D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32 D33 D34 D35 D36 D37 D38 D39 D40 D41 D42 D44 D45
D46 D48 D50 D50.1 D51 D51.1 D52 D53 D54 D66 D67 D68 DESK DIALER-CAMPAIGN DIALER-SEQ DL-ATTS DL-CAMPAIGN DL-DATE DL-DOWN DL-LST-AGENT DL-LST-CAT DL-LST-DT DL-LST-RC DNAME DNUM DSK-PROMPT DT-ASGN DTRNAME ELIM.CODE ELIM.DATE ELIM.DESC FIRST-LAST-NAME FISCAL FWD-DATE FWDCLI LASTDT LASTINITIAL LEG-XMT LST..WORK LSTACT MNGR NAME NEXTDT ON-DIALER PHONE PKT
page 1 of 2
111
PMT-FWD PN-AMT PRIMARY
PRIORITY SPC STATUS
STATUSCD TOTAL-BAL TRANSFER-DAYS
page 2 of 2
Client 0 1 1.1 1.2 1.3 2 2.1 2.2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
Client number Client name Client name only Client title Sort field Client address Address 1 Address 2 City State ZIP code Phone number name Interest rate Commission rate/code Business class Salesman number MTD # assigned MTD $ assigned YTD # assigned YTD $ assigned Total # assigned Total $ assigned MTD # collected MTD $ collected YTD # collected YTD $ collected Total # collected Total $ collected MTD $ commission YTD $ commission Total $ commission Date of last assignment Status code MTD $ forwarded YTD $ forwarded Total $ forwarded Balance forward Remit code Adjustment amount MTD # canceled YTD # canceled
37 38 39 36 40 41 42 43 44 45 46 47 48 59 75 76 77
Total # canceled MTD $ canceled YTD $ canceled YTD # canceled Total $ canceled Salesman effective date Agency number Collector note 1 Collector note 2 data flags Misc distributed amount definitions Distributed amount comission rates 24 month stats Setup date Scanned image control Sales transfer control Fax number
ADDRESS ADDRESS1 ADDRESS2 AGENCY AGENCY# ANUM AT-NAME BAL-FWD BAL-FWD-1 BRANCH BUS-CLASS CITY CITY-ST-ZIP CLIENT CNAME CNAMESORT CNUM COMB-HIST COMB-INV COMB-STMT COMMISSION-RATE CSZ CTL36
DT-LAST-ASSIGNED FWD-MTD FWD-TOT FWD-YTD G-N INTEREST MTD-#ASSIGNED MTD-#COLLECTED MTD-$ACCT MTD-AMT-ASSIGNED MTD-AMT-COLLECTED MTD-COLL% MTD-COMMISSION MTD-RCVY NAME NAME1 NAME3 NEW-DEBTOR-INDEX PHONE PRESET RCVY SLSYR SP-ADDR SPC STATE STATUS-CODE TITLE TOT-#ASSIGNED TOT-#COLLECTED TOT-AMT-ASSIGNED TOT-AMT-COLLECTED TOT-COMMISSION TOT-RCVY WHOLE-ADDR YTD-#ASSIGNED YTD-#COLLECTED YTD-AMT-ASSIGNED YTD-AMT-COLLECTED YTD-COMMISSION YTD-RCVY ZIP
Collector-Unit 0 Collector number 1 MTD # assigned 2 MTD $ assigned 3 YTD # assigned 4 YTD $ assigned 5 MTD # assigned amount payments 6 MTD assigned amount collected 7 MTD interest collected (agency share) 8 MTD legal collected 9 MTD forward fees 10 MTD $ commission 11 YTD # assigned amount payments 12 YTD assigned amount collected 13 YTD interst collected (agency share) 14 YTD legal collected 15 YTD forward fees 16 YTD $ commission 17 MTD # legal
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
MTD $ legal YTD # legal YTD $ legal MTD # mail MTD $ mail YTD # mail YTD $ mail MTD shared interest YTD shared interest MTD court expense YTD court expense MTD court collected YTD court collected MTD legal expense YTD legal expense MTD legal collected YTD legal collected MTD misc expense
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
MTD misc collected YTD misc collected MTD misc shared YTD misc shared Previous year’s goals Current year’s goals $ collected yesterday MTD $ collected # work days last year # work days this year Days worked this month Start date for current month Custom use MTD court shared YTD court shared MTD attorney shared YTD attorney shared MTD interest forwarded
page 1 of 2
112
Columbia Ultimate Database
55 YTD interest forwarded 56 MTD court forwarded 57 YTD court forwarded 58 MTD attorney forwarded 59 YTD attorney forwarded 60 MTD misc forwarded 61 YTD misc forwarded 62 Collector goals criteria 63.1 Previous year $ collected 63.2 Last 12 months $ collected 64 MTD # payments
65 66 67 68 69 70 71 72
YTD # payments MTD $ payments YTD $ payments MTD # PIF YTD # PIF Last 22 work days # s worked # debtor s
BRANCH BRANCH8 BRANCH12 BRANCH19 DESK GOAL GOAL% GROSS-MTD-COL GROSS-MTD-COM GROSS-YTD-COL GROSS-YTD-COM
#-YTD-ASSIGN $-YTD-ASSIGN
page 2 of 2
Control 0 Client number 1 Statement frequency 2 Statement sort sequence 3 Separate paid directs? 4 Separate NSFs? 5 Statement combine client# 6 Client inventory frequency 7 Performance, status, aging 8 Legal client inventory 9 Check combine client # 10 Balance forward deduct? 11 Pay slips 12 Acknowledgment letter code 13 Omit NSF on statement 14 Name2 on statement 15 Paid-agency spread code 16 Paid-client spread code 17 Misc spread code 1 18 Misc spread code 2 19 Misc spread code 3
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
Notice series/Group code Collector number Credit reporting flag History report frequency Statement special field Statement printing order Statement omit aging? Salesman assignment make-up Client WIP score Initial work requirement Minimum work frequency Exempt from removals by score? Minimum $ limit to exclude Acknowledgment format code Holdover days Legal recommendation exempt Client label exempt? Automatic packeting exempt? Client inventory format Statement group codes
40 41 42 43 44 45 46 47 48 49 50 51 52
Attr 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Field BNK1 PHN# BNK1 ACCT DT CHKED AVG BAL BNK2 NAME BNK2 ADDR BNK2 CSZ BNK2 PHN# BNK2 ACCT DT CHKED AVG BAL Custom use Custom use Custom use Custom use Custom use Custom use
Attr 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Require patient name Cancellation format code Costing potential Over cost limiters Costing commission rate Letter type exemptions State tax code Percent of total tax to pay Combine client inventory client number Combine history report client number Statement breaks Reactivation format New statement frequency
BRANCH CLIKEY CONTROL HISTKEY
Fiscal Attr 0 1 1.1 1.2 2 3 4 5 6 7 8 9 10 11 12 13 14
Field Debtor number Debtor rating Asset rating Employement rating Internal use EMP1 MISC EMP1 MISC EMP1 MISC EMP2 MISC EMP2 MISC EMP2 MISC Custom use Custom use Custom use BNK1 NAME BNK1 ADDR BNK1 CSZ
Line #
35 36 5 6 7 12 13 14
15 16 17
Line # 18 19 20 21 22 23 24 25 26 27 28
Field Custom use EMP1 NAME EMP1 ADDR EMP1 CSZ EMP1 PHN EMP2 NAME EMP2 ADDR EMP2 CSZ EMP2 PHN ALT PAYR PAY ADDR PAY ADR2 PAY CSZ PAY PHN DESC.
Line # 1 2 3 4 8 9 10 11 29 30 31 32 33 34
JMT 0 1 2 3 4 5
Judgment number Debtor number Judgment date Interest rate Judgment amount Judgment add-on costs (JAC)
6 No-interest costs (NIC) 7 Judgment interest owing 8 Amount received 9 Judgment last charge/last pay date 10 Offset amount 11 Setup date
12 Change date 13 Custom use 14 JAC received 15 NIC received 16 Interest received 17 Payoff order
page 1 of 2
113
ADDRESS BAL
CLIENT JNUM
NAME RCVD
page 2 of 2
Salesman 0 Salesman number 1 MTD # assigned 2 MTD $ assigned 3 YTD # assigned 4 YTD $ assigned 5 MTD # collected 6 MTD $ collected 7 MTD interest collected 8 MTD legal collected 9 MTD principal forwarded 10 MTD principal commission 11 YTD # collected 12 YTD $ collected 13 YTD interest collected 14 YTD legal collected 15 YTD principal forwarded 16 YTD principal commission 17 MTD # legal 18 MTD $ legal 19 YTD # legal 20 YTD $ legal 21 MTD # canceled
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
YTD # canceled MTD $ canceled YTD $ canceled MTD interest shared YTD interest shared MTD court owing YTD court owing MTD court collected YTD court collected MTD attorney owing YTD attorney owing MTD attorney collected YTD attorney collected MTD misc owing YTD misc owing MTD misc collected YTD misc collected MTD misc shared YTD misc shared MTD # under YTD # under MTD $ under
44 YTD $ under 45 MTD # over 46 YTD # over 47 MTD $ over 48 YTD $ over 49 Salesman name 49.1 Long name (26 char) 49.2 Short name (14 char) 50 MTD court shared 51 YTD court shared 52 MTD attorney shared 53 YTD attorney shared 54 MTD interest forwarded 55 YTD interest forwarded 56 MTD court forwarded 57 YTD court forwarded 58 MTD attorney forwarded 59 YTD attorney forwarded 60 MTD misc forwarded 61 YTD misc forwarded
Trans 0 Transaction number 1 Debtor number 2 Transaction code 3 Commission rate 4 Transaction amount 5 Transaction date 6 Status code 7 Client number 8 SE loss/forward rec 9 Source 10 Comment 11 Sort key 12 Statement print flag 13 Statement flag 14 Received from 15 Commission amount 16 Holdover date 17 Collector desk number 18 Principal balance after transaction 19 Aging of client payments 20 Custom use 21 Date statement flagged 22 Who posted transaction 23 Deposit information 24 Control information 25 Cash received 26 Total NSF amount 27 Forward fees 28 Principal payments 29 Interest payments 30 Total other payments 31 Total direct payments 32 Total agency payments 33 Total forward payments 34 PIF updated 35 Reason for cancel or NSF AMOUNT
AMT APPENDIX ASGN-DT ASSIGN-DATE BAL BAL-DED BASE# BATCH BRANCH BRANCH-DESK BS.AMT BS.CHECK CDNUM CLIENT# CNAME CNT COM COMCLIENT COMM-RATE CR-CODE CREF CSTATUS CTR CYCLEFLAG D7 D10 D11 D15 D16 D54 DATETIME DEBTOR# DEBTORSEQ DESK DIALER-CAMPAIGN DIALER-SEQ DNAME DTR# HOLDAYS
HOLDLEFT ID JNUM MIDKEY MTH-AGN ON-DIALER P-DNAME PAID-US PAID-YOU .TO.REFORMAT PAYFLAG PORT POSTDATE PRIMARY PRINT-DT PRINT-PORT PRINT-PW PRINT-TM SCOMM-RATE SEP-DIRECTS SEP-NSF SEQ SHORT-NAME SHORT-NAME2 SMAN SMAN-P SORT-CLIENT# SORT-KEY SSMAN STATUS-CODE SUM-CLIENT T-DATE TNUM TRANS# TRANS-AMT TRANS-CD TRANS-DATE TRANS-DT WEEKNUM
114
Columbia Ultimate Database