Business transaction and investment growth monitoring data processing system5210687Abstract A data processing system is disclosed which monitors client's business orders over time and based upon predetermined criteria determines the client's vested interest in funds deposited into special client accounts. The business order data is stored in uniquely formatted client account files. In addition, a vesting account file stores summary data encompassing all the client files. The data processing system updates and keeps track of client's vesting rights which are subject to change over time. The data processing system's ability to track these and many other conditions is enhanced by a unique set of control status words which control software flow and which are utilized to visually flag important statuses. Claims What is claimed is: Description FIELD OF THE INVENTION
TABLE 1
______________________________________
QUALIFICATION SCHEDULE
LEVEL % VESTED % CREDIT
______________________________________
1 year 0% 50%
1-2 years 25% 75%
2-3 years 50% 80%
3-4 years 75% 80%
4 years 100% 80%
______________________________________
The index rate field reflects the percentage of the client's total sales which are targeted for the vesting account and the credit account. The rate of return or percentage growth of funds placed into an account is listed based on the current month and the previous month's growth along with year-to-date (YTD) minimum and maximum percentages. The BALANCE heading includes fields showing current and last month balance totals in dollars for both the vesting account and the credit account. The subheadings under the VESTING and CREDIT accounts are largely self-explanatory. With respect to the VESTING account balance data, the $VBAL field reflects the total dollars in the vesting account which the company is holding for the client, all of which may eventually be vested in the client. The $VEST field reflects the total dollar amount which is currently vested in the client. The $UNDER field reflects the cumulative dollars advanced to the client to enable undersale purchases to be made. Funds for such purchases are offset against the vested dollars. With respect to the CREDIT account balance data, it should be noted that the credit account is set up by the company solely for the purpose of providing collateral so that the client may borrow funds from the available line of credit in his account, based on the qualification on schedule in Table 1. Additionally, a life insurance benefit is associated with the credit account. However, as with any credit mechanism, the client must pay funds back which are loaned from this account and never actually receives the proceeds from this account. $CBAL refers to the cumulative total balance in the credit account that may eventually be vested in the client. $AVAIL refers to the current amount of $CBAL that is vested in him, that may be borrowed against his available line of credit. $LOAN is the current total of all loans outstanding against $AVAIL. $LIFE is the cumulative amount set aside by the company for life insurance on the client. In the Client Account format below the BALANCE heading, data reflecting the client's Current Qualification level, Current Disqualification level and Cumulative Qualification level is stored. These levels determine the client's qualification status for program benefits as just described above. The purpose of such qualification criteria is to encourage sustained levels of client orders at a threshold above a predetermined amount (e.g., $5,000 per month average) for at least a predetermined period of time (e.g., at least 6 months intervals and bimonthly within those intervals). Thus, by way of example only, a client will reach the qualification threshold (QT) for the program if and only if: ##EQU1## where X is the number of months and Y is the client's order amount during month i. The continuous years which a client remains qualified governs the percentage of the vesting account which vests in the client and the percentage of the credit account which may be borrowed in accordance with the schedule shown in TABLE 1. FIG. 5 graphically portrays how a client's performance would be monitored by the data processing system of the present invention to determine the client's program qualification status over time. In this example, the client "qualified" in months 1-6 for VESTMENT, "qualified" again in months 7-8 (1st period of next VESTING period), "disqualified" in months 9-10 (2nd period of VESTING period), and "requalified" in months 11-12 (1st period of new VESTING period) to begin a new six-month VESTING period (since months 1-6 succeeding at qualifying a first VESTING period) The net effect of disqualifying/requalifying is merely to delay start of the next six month VESTING period (e.g , by 4 months MAX) until three consecutive two-month qualification periods can be established, i e , all previously VESTED six-month periods remain intact if the client requalifies. Turning back to the client account format, the current qualification level heading (which is labeled the Q array) shows qualification periods in, for example, two month increments. The qualification periods are listed as periods 1-6 in the left hand column. If, during the first two month qualification subperiod, the average sales was over $5,000 per month, the month and year this was achieved, along with the average sales and the vesting amount (i.e., the funds targeted for the credit and vesting accounts) are listed for the subperiod. The same data is maintained for the second and succeeding two-month periods and an ongoing cumulative listing is stored under the CUMULATIVE QUALIFICATION LEVEL heading shown at the bottom of FIG. 4. Turning next to the Current Disqualification heading, a non-zero entry, the first disqualification period reflects a client's two-month average orders with the company being less than $5000 per month In the exemplary embodiment, the system provides for a first and second requalification periods, as well as a second disqualification period which triggers the account to be terminated. The requalification periods permit recovery from disqualification if the monthly average is raised above the predetermined threshold, (e.g., $5000) for the next two-month period. Thus, to summarize the criteria and qualification periods which the data processing system of the present invention must monitor, the vesting criteria (A) requires that, for each six-month period, orders must exceed an average of $5000 per month The sustaining criteria (B) requires that, for each successive two months, orders must exceed an average of $5000 per month. For any period in which criteria A and/or B is not met, the client is disqualified from the program for that period. Thereafter, a new VESTING qualification period (under criteria A) is begun once a SUSTAINING qualification period (under criteria B) is successfully maintained. Any year in which criteria A and/or B is not met for a second time results in account termination. The cumulative qualification level heading provides a client's performance history over a four-year period. The cumulative entries are organized in terms of six-month qualification periods. Once the current six-month qualification period is achieved (as indicated in the Q array), the cumulative totals are entered into the cumulative (CUM) array. After four years (48 months) of sustained qualification, the client becomes 100% fully vested (See Table 1). Thus, the cumulative tabulation tracks the client's progress towards achieving total vestment under the program. It should be recognized that the disqualification, requalification, and termination criteria are arbitrary standards which may be changed as desired Such criteria, however, does provide a mechanism for exercising control over the number of clients allowed to continue participation in the program. The vesting account file format is shown in FIG. 6. This file reflects cumulative statistics for all clients who are participants in the program. The REPORT, BANK, RATES and BALANCE headings contain fields which are largely self-explanatory. The BANK (or investment or brokerage house) heading provides for the entry of an account number associated with all the funds in the program. The RATES heading includes an INDEX RATE field which is designed for the entry of the percentage of all sales which is being diverted into this program. The Rate of Return identifies the percentage growth of all funds placed in the investment account. It is contemplated that the investment account may be a multifaceted investment plan including money market, corporate and government bonds, and secure capital stock mutual funds. The LIMITS field denotes the minimum and maximum percentage return for the current month. The BALANCE heading includes fields for overall VESTING ACCOUNT and CREDIT ACCOUNT balances for the current month, previous month, and the percentage change (as determined by the ratio of the current month to the previous month). The data for the previous month in this field and many of the other fields is shown in FIG. 6. The fields listed under the BALANCE heading (e.g., $VBAL, $VEST, 111, $LOAN, $LIFE) are identical to the same fields within the CLIENT ACCOUNT format shown in FIG. 4. Turning to the client summary record shown in FIG. 6, all the clients in the program are listed by number and name. The date of the last transaction is listed, as well as the status of the vesting account and the credit account. The status of the VESTING ACCOUNT reflects whether it is currently active (A), vested (V), disqualified (D), requalified (R) or terminated (T) as discussed above. The status of the CREDIT (or loan) ACCOUNT reflects whether it currently has a loan (L), loan extended (E), 1 month late (1), 2 month late (2), or defaulted (D) status. The QUALIFICATION LEVEL, VESTING ACCOUNT and CREDIT ACCOUNT headings are filled in during an update cycle to be described below by transferring current balances from the individual client account summaries produced from the balance entries in FIG. 4 for the same categories as discussed above. In regard to the QUALIFICATION LEVEL entries, it is noted that the level entry is received from the individual client account format which was discussed above. The percentage vested in the VESTING ACCOUNT (i e., 0-100%) and the CREDIT ACCOUNT (i.e., 50-80%) are determined by retrieving the appropriate percentages from a stored schedule corresponding to Table 1. As shown in the VESTING ACCOUNT file format, the ACCOUNT SUMMARY heading reflects the total number of clients in each status. Additionally, the QUALIFICATION SUMMARY shows the total number of accounts in the various stages of vestment under both the vested account and credit account categories. The VESTING and CREDIT summary simply record the totals for all clients A, B, ..., Z for the entries discussed with respect to the vesting and credit account headings. The bottom portion of the vesting account file format shown in FIG. 6 records the changes (.DELTA.'s) over the previous months entry in the categories immediately above in the format. The change (.DELTA.) is recorded both in terms of the current amount minus the net amount and well as the percentage increase (or decrease) over the preceding month. If desired, year-to-date totals may likewise be generated for each of the categories in the vesting account format. Before turning to the flowcharts, it is noted that the flow of program control centers around the control states of a unique set of control status words which are listed in Table 2 below.
TABLE 2
__________________________________________________________________________
CSWA CSWV CSWQ CSWD CSWL CSWE
__________________________________________________________________________
Bit ACCOUNT
VESTED
QUAL.
DISQUAL.
LOAN ERROR
Position
A F Q D L E
(all bits
(not yet
(0 yr.)
(0 mo.)
(0 mo.)
(0 loans)
(0 errors)
off) active)
Bit 1
Active 1st yr.
1st per.
1st disq.
loan undersales
over limit
Bit 2
Vested 2nd yr.
2nd per.
1st requal.
extended
checks
overdrawn
Bit 3
Disqual.
3rd yr.
3rd per.
2nd disqual.
1 mo. late
loans
over limit
Bit 4
Requal.
4th yr.
4th per.
2nd requal.
2 mo. late
loan
request rejected
Bit 5
Termn't.
4th yr.
5th per. defaulted
Bit 6
Reinstd. 6th per. judgment
__________________________________________________________________________
The relationship between these CSW's is as follows: If CSWA is "active" (bit 1 set), then CSWV and CSWQ reveal the current qualification level (in years and months respectively), with CSWQ "overflowing" to CSWV upon reaching the sixth two-month period (CSWQ bit 6 set) signifying a full year of qualification. For CSWA to advance to "vested" (bit 2 set), then CSWV must have advanced sequentially to the fourth year of qualification (CSWV bit 4 set) by four successive "overflows" from CSWQ. For CSWA to revert to "disqualified" (bit 3 set), then the client is in the process of being disqualified for the first or second time during the current year, as reflected by CSWD (bit 1 or bit 3, respectively) For CSWA to advance to "requalified" (bit 4 set), then the client is attempting to requalify for the first or second time after a disqualification, as reflected by CSWD (bit 2 or bit 4, respectively). For CSWA to revert to "terminated" (bit 5 set), then the client must have passed through his second disqualification (CSWD bit 3 set and reset) without successfully requalifying (CSWD bit 4 set and reset) leading to "terminated" state in CSWD (bit 5 set). From the above discussion, it can be seen that CSWA, the CSW controlling overall program flow can be in one and only one state at any given time (i.e., its CSW states are mutually exclusive). Hence, this CSW can be easily tested for its current value by simply testing for one of 6 discrete values (e.g., binary "bit" positions 1, 2, 3, 4, 5, 6, corresponding to decimal values 1, 2, 4, 8, 16, 32). On the other hand, CSWQ, simply advances sequentially from the first period to the sixth period of QUALIFICATION. Each bit position (1, 2, ..., 6) represents completion of the second month of the corresponding period (1, 2, ..., 6). . Thus, CSWQ bit 6 (set)would indicate completion of a full year of qualification and likewise CSWV bit 2 (set) would indicate completion of the second of four years required for full VESTING. For CSWA to advance to "reinstated" (bit 6 set), then the client must have reopened his account by requalifying as if he were a new customer (hence, the old account number will be closed and a new one opened). In a similar, but nonsequential manner, CSWL represents the status of a client's loan which can have multiple states at the same time e.g., loan outstanding (bit 1), loan extended beyond limit (bit 2), loan 2 months late (bit 4)), which may all be set at once. The above arrangement for a "bit-position" CSW preserves the capability of tracking these independent, but concurrent, statuses within a single CSW word (or even a single byte for that matter). Thus, CSWD and CSWL can be tested by examining individual bit positions for exact status, or can be tested for a single decimal threshold value to quickly determine general "warning" states to deny a future loan request (e.g., CSWL>3 indicating late payment or loan default). The remaining CSW's can likewise be tested for exact states by bit position, or for a single decimal threshold to determine general "warning" states that can be used to deny check writing or undersale privileges (e.g., CSWD >0 or CSWA >3 indicating that the client has not yet requalified after a disqualification). Finally, CSWE "flags" any improper account balance uncovered during the periodic or demand processing for later analysis and resolution. This CSW is reset each month but, if the error condition persists, it is again "flagged" for attention. It can be readily interrogated upon status inquiries to "flag" an operator about an "out-of-bounds" condition that may require notification to the customer. Thus, these CSW's may be strategically used not only to quickly and conveniently control intrinsic program flow and calculations, but also to visually "flag" important statuses that may influence an inquiring loan officer to deny a privilege or perhaps to override a programmed credit denial decision. The detailed flowcharts which follow delineates the sequence of operations performed by the data processing system software regarding qualifying clients for loan request, updating the client files and updating the vesting file. To simplify the amount of test required to describe the logic flow in the flowcharts, the following flowchart function and label conventions have been adopted:
______________________________________
FLOWCHART FUNCTIONS
"UPDATE" means
current value replaced last value
new value replaces current value
and also, for rates,
new value replaces ytd min.
new value replaces ytd max.
"INCREMENT" add 1 to months sustained
means (for both Q
current date replaces date
array and CUM
achieved
array)
"ADD" means add AMT to VESTING AMOUNT
(for both Q array
add 1/2 New Sales to Average Sales
and CUM array)
"ADVANCE" reset current CSW bit
means set next high CSW bit
CLIENT ACCOUNT FILE LABELS
"Q1-Q6" refers generally to the six
QUALIFICATION LEVELS in the Q
array (or, specifically, to the MONTHS
SUSTAINED).
"QX" represents an index for accessing the
current LEVEL in the Q1-Q6 sequence.
"D1-D4" refers generally to the four
DISQUALIFICATIONS LEVELS in the
D array (or, specifically, to the
MONTHS SUSTAINED)
"CUM X" represents an index for accessing the
current CUMULATIVE QUALIFICA-
TION LEVEL in the CUM array.
"CUM TOTAL" refers to the cumulative TOTAL at the
bottom of that array (or specifically,
to the MONTHS SUSTAINED)
"CSWx" refers to a particular one of the six
control status words (CSW's) for each
account (CSWA, CSWV, . . . , CSWE).
"CSWx1- refers to the six bit position within
CSWx6" a given CSW.
"$ LABEL" refers to a specific field with the name
LABEL within the client account or
vesting account format.
______________________________________
The loan request routine shown in FIG. 7 is initiated by entering a loan request for a specific amount. (e.g., LL, for client X at a local display terminal 9 (100, 102). The disk file is then accessed to retrieve the client account summary for client X (104). If no client account file is stored on the disk then an appropriate error message is displayed on terminal 9, e.g., "NO FILE FOUND" (108). If the client account file is found, then a check is made at block 110 to determine if CSWA is greater than 2 (i.e., indicating one of the disqualified, requalified, terminated or reinstated states), If CSWA is greater than 2, the loan is turned down and a "Client Disqualified" message is displayed at terminal 9 (112). Thus, only clients with an active or vested status are eligible for loans (i.e., CSWA=1 or 2). If the client is eligible to receive a loan, then the amount currently requested (LL) and the amount previously borrowed ($LOAN) are subtracted from the current available amount ($AVAIL) that can be borrowed by client X (114). Also in block 114, 10 percent of the credit account balance is calculated for subsequent processing. If the trial loan balance indicates that too high a loan has been requested, (i.e., the trial balance is less than 0), (116), then CSWA is checked to determine if it is greater than 1 (118). If it is (the client must be vested in view of block 110) then the credit is extended 10% (124). A message is displayed at terminal 9 to reflect the credit extension (126) and the trial loan balance is raised 10% (128). Next the trial balance is checked to determine if it is greater than zero (130) and, if it is, the loan is approved (138) after setting the control status word CSWL bit 2 (136). If the trial balance is not greater than zero as determined at block 130, then an insufficient credit indication is displayed at the terminal 9 (132) and the loan is rejected (134). As indicated at block 156, a message is then displayed and CSWE bit 4 is set as an error condition. Turning back to block 118, if CSWA is not greater than 1, then the client account format CUMULATIVE array is scanned to determine the current level of sales (120). If the current months level of sales are high enough, (e.g., greater than 10K (122)), then credit may nevertheless be extended even though the client is not yet vested. If the loan has been approved, the control status word CSWL bit 1 is set and the $LOAN field is increased by LL (140). Next, the updated client X file is stored on disk 3 and the vesting file is retrieved from disk (142). The $LOAN balance for client X and the associated summary balance data is updated in the vesting file (144), after which the updated vesting file is returned to the disk 3 (146). The display terminal 9 then displays a "LOAN APPROVED" message while also indicating the new loan balance (148). Thereafter, the authorized loan papers are printed by printer 11 (150) and the bank is notified of the authorized loan amount for client X (152), at which point the routine is exited. Focusing on the routine for updating the individual client files shown in FIGS. 8A-8E, this routine is entered and the current month's rate of return is retrieved from the brokerage house or bank 200. Next, the rate of return is compared to a predetermined rate, (e.g., 15%). If the input rate is less than 15%, than a new index percentage of sales to be diverted to the credit and vesting accounts is set to be one half the new rate (204). Otherwise, if the input rate is 15% or greater then the index percentage going to the credit account and the vesting account is set at 7.5%. (206). Thereafter the index rate for the entire program is updated (210) and the business orders are sorted by client account number so that they may be processed in ascending sequence by the order processing loop which follows (210). The business orders accumulated over the prior month are then retrieved from disk 3. From each the business orders, the total sales amount and the undersales amount (if any) is extracted (212). If bloc 214 indicates that the end of file (EOF) for all business orders have been reached, the current client's orders are then processed. If the EOF has not been reached, the next block 216 determines whether the next order retrieved is from the next client or the current client. If the sale is not from the next client, then a check is made to determine whether an undersale was attached to the business order (218) and if so, the prior undersales total (USALES)is increased by the current undersale amount ($UAMT) (220). Thereafter, the client's new sales amount ($SAMT) is added to his previous sale balance (NEWSALES) (222). Upon reaching the next client, the complete individual client file processing loop is entered. The loop is initialized by entering the appropriate header information as to the date of last activity, current month index, percentage and rate of return (224). The amount diverted to the client's account is the index percentage (e.g., 15%) times the new sales amount (226). Next a check is made to insure that the account has not been terminated and, if it has, the end processing loop is entered, as indicated at 229. If the account has not been terminated, CSWA2 is tested to determine if the account is fully vested (230). The client who is fully vested does not need to be tested further in this loop, and so, goes directly to the main file processing loop. Next, if the new sales are less than a predetermined amount, (e.g., $5K), the disqualifying update routine is called (232, 248). If the sales are equal to or greater than $5K, then CSWA2 is tested (234) as to whether it is greater than 2 (i.e., disqualified, requalified or terminated status), and, if so, exits to the the requalifying updating subroutine (250). Otherwise, a "normal" exit is taken to the active updating subroutine (252) (which will be discussed below). The active updating subroutine returns to the update client file routine at point D, and a test is made for CSWQ greater then zero (236). This single test indicates that the client has reached a new year of vesting and has a fixed predetermined vested interest, which need not be further tested. On the other hand, if the client has just completed a vesting cycle and is due for a vesting percentage change, then tests must be made to determine the precise percentage to be applied in accordance with the percentage listed as function of qualifying years shown in Table 1. These tests and the associated percentages are shown in blocks 238-244 and 254-262. It is noted that the previously executed active updating routine serves to update the CSWQ's and CSWV's to insure that accurate vesting percentages of, for example, 0, 25, 50 or 75%, are applied to the VESTED ACCOUNT and 50, 75 or 80% to the CREDIT ACCOUNT. At this point in the update client files routine, all the variable updating has been completed such that the field requiring particular dollar values may be readily calculated and updated Thus, turning back to the client account format, all the required account balances are computed, e.g, $CBAL, $AVAIL, $LIFE and updated in the client account file (264) It is noted that the amount dedicated to paying for life insurance premiums may be chosen to be any predetermined desired percentage of the credit account. Next, all error conditions for the past month are reset (266) and, thereafter, the error conditions are tested and reset for the current month as follows. If the loan balance is grater than the loan amount available (268), an appropriate error message is displayed and CSWE3 is set. If the loan balance is less than the amount available, then a check is made as to whether a new loan status has been received from the bank (e.g., late payment status) (272) and the CSWL is set according to the new status (274). Thereafter, the client vesting account fields $VBAL, $VEST and $UNDER are calculated and updated (276). $UNDER is then tested to determine whether it is greater than the vested amount $VEST (278) and, if so, an appropriate error message is displayed and CSWE1 is set (280). Thereafter, a test is made to determine if there are any client checks just honored by the bank during the past month (282). If so, the check balance is retrieved from the bank input and the $CHECK balance is updated by the cash amount paid by the bank (284). Finally, a check is made to determine whether the check balance $CHECK is overdrawn for the current month and if so, an error message is displayed (286, 288). The routine end processing is indicated at E and shown in FIG. 8E. The account file which has just been updated is stored back onto the disk 3 (290). An EOF test is made for the end of the account file (292). If the end of file has been reached, a check is made to determine whether more orders need to be processed (296). If more orders are present on disk 3, then there must be a new customer at hand, so that a new file must be constructed. The initial loop is reentered at point F (see FIG. 8A), where new sales and undersales are set to zero (246), and the entire process is repeated. Turning back to the EOF test of block 292, if the end of file has not been reached, then the file for the next client is retrieved (294) and CSWA5 is tested (300). If the client has been terminated, but new orders are coming in which are greater than $5K (302), the old file is retired and the CSWA is advanced to the "reinstated" state (304) and a new file constructed (298). If CSWA5 is off or the order amount is less than $5K, then the initial loop is reentered at point F in FIG. 8A, and the entire process is repeated for the next client in the input sequence. FIGS. 8B, 8C and 8D respectively show the disqualifying updating, the requalifying updating, and the active updating subroutines called by the update client file routine at exit points A, B and C. The operation of these routines will be self-evident to those skilled in the art from a detailed study of the respective flowcharts which will be generally described below. The disqualifying updating routine of FIG. 8B is entered upon the determination that the client's current new sales are less than $5K. Tests are then made to determine whether the client is disqualified already (CSWA3 bit set), and then whether it is the first or second disqualification. Upon the second disqualification, the client account is terminated. According to the rules defined by this routine, if a client was disqualified more than a year prior to the current date, the year-old disqualification status is eliminated, and the client commences a new disqualification period. Turning to FIG. 8C, the requalifying updating routine is entered when the client is not fully vested, the current sales are greater than $5K, and CSWA is greater than 2. A check is made to determine whether the client is currently in a requalifying status and if so, the client is placed on active status, the Q array is updated (see client file account from FIG. 4) and the active updating routine is called If the client is currently in a disqualified status, then the requalifying process is entered and a test is made to determine whether this is the client's first or second requalification according to the criteria previously discussed. As just described above, if a client was disqualified more than a year prior to the current date, the year-old disqualification status is eliminated, and the client commences a new requalification period. Turning to the "normal" active updating routine of FIG. 8D, clients entering this routine must be in an active status (CSWA1 set). A check is made to determine whether the client has qualified for six periods, (i.e., CSWQ6 set). If it is the second month of the six period, (ie., QX=2), then all CSWQ's are cleared and all qualification levels are set. The CSWV control status word keeping track of years is then advanced by 1. Of course, once a client is fully vested, no further advancement is required. The decision blocks beside testing for the sixth two-month subperiod (CSWQ6) test for the fifth to the first two-month subperiod (i.e., CSWQ5 to CSWQ1) and then test for whether the second month of the subperiod has been reached. If the second month has been reached, the CSWQ and the qualification index QX are advanced. On the third two-month increment (i.e., CSWQ3 set and Q3=2), then CUM X is incremented, which means that the client is now vested with the next 6-month increment in his vesting schedule. Turning next to the update vesting file routine of FIG. 9, this routine is entered by retrieving the vesting file from the disk (500, 503). The vesting file includes summary records for each client (A, B, . . ., Z) as well as summary information relating to the overall program. To update all the required vesting file information, the routine retrieves the account file for the next client X (505) and steps the previously retrieved vesting file to the corresponding client summary record (See FIG. 6) for the next client (507). Thereafter, a check is made to determine if client X is in the summary record (513). If not, then the client is a new client and a new client summary record must be constructed and inserted into the vesting file's client summary record field (515). After constructing the new record for client X, as needed, this record is then advanced to at block 507 A yes output will then be produced from the check at 513 and a loop for inactive client account processing will be entered A check is next made (517) to determine if it is the current date and if so the vesting file update processing is initiated. If it is not the current date, the system is thereby informed that the client is "inactive" and did not have any transactions during the current month The date is then updated to the current month (519) and a series of control status word checks are made to determine the client's current status and to determine whether the client needs to be requalified or disqualified. As shown in block 521, a check is made to determine if the client is fully vested If so, there is no need for further checks since once this status is reached it is perpetually maintained by the client without disqualification. Likewise, if the client is terminated as determined at 523 no further checks need be made since no shifts in status are possible. If block 525 is reached, the client must be either disqualifying or requalifying. If the check reveals that CSWA is not greater than 2, then the current CSWA state must be 1. If this is the case, then CSWA3 is set (i.e., the disqualify state) and CSWA1 is reset to indicate an inactive status (527). The tests in blocks 529 and 531 determine whether the client is in the first or second disqualifying period and blocks 533, 535 and 537 set and reset the appropriate control status words to accurately reflect the current status. With the client X status data updated, the vesting file data for client X is updated 539 as shown at 541, 543 and 549 below That is, on the client summary record shown in the Vesting file format of FIG. 6, the date is updated as well as the account and loan status fields (541) (according to the current control state of CSWA and CSWL). Likewise, the Qualification level fields from the vesting file are updated (543) as well as the individual VESTING ACCOUNT and CREDIT ACCOUNT fields (549). This record primarily includes the current month's increments in the client's vested account (CHECKLIMIT increased) and line of credit (LOANLIMIT increased) based on his activity during the current month. Finally, in order to inform the bank or investment house as to the client's updated limits, pertinent data is entered in a bank record (545) for client X to send to the bank. Such a record is stored as shown in 551, as loaded with the information provided at 547. The updated client summary record and client account file as well as the client bank record, are then stored on disk 3 for client X (551). Next a check is made to see if the end of file has been reached (note reference back to 509) and if not an account file is retrieved for the next client X. If the client account EOF is reached (509) and if the vesting file EOF is also reached (511) then processing is initiated to update the summary records in the VESTING ACCOUNT file (See FIG. 6). In this regard, the total number of clients in each status are summed, the change from the last month in each category is calculated and such updated vesting file data is stored back on the disk 3 in the appropriate account summary and monthly increment position in the vesting file data arrays (553). The monthly bank record is actually set up using data shown in block 555. The individual bank words stored earlier are then retrieved for all clients (A, B, ..., Z) (557). The updated bank file is thereafter sent to the bank (559) and the routine is then exited. While the present invention has been described in terms of one presently preferred embodiment, it is not intended that the invention be limited by such description. It will be apparent to those skilled in the art that many modifications may be made while retaining novel advantage(s) of this invention as defined in the claims which follow.
|
Same subclass Same class Consider this |
||||||||||
