CA2458759A1 - Method and system for outputting an analyzed data report - Google Patents

Method and system for outputting an analyzed data report Download PDF

Info

Publication number
CA2458759A1
CA2458759A1 CA002458759A CA2458759A CA2458759A1 CA 2458759 A1 CA2458759 A1 CA 2458759A1 CA 002458759 A CA002458759 A CA 002458759A CA 2458759 A CA2458759 A CA 2458759A CA 2458759 A1 CA2458759 A1 CA 2458759A1
Authority
CA
Canada
Prior art keywords
document
rerrr
documents
opin
odocument
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002458759A
Other languages
French (fr)
Inventor
Charles R. O'halloran
Janette M. Glasser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2458759A1 publication Critical patent/CA2458759A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for outputting an analyzed data report including receiving a reques t (100), accessing a database (105), collecting data (110), analyzing data (115), creating a report (120) and outputting the report (125) to an end use r.

Description

METHOD AND SYSTEM FOR OUTPUTTING AN ANALYZED DATA REPORT
FIELD OF THE INVENTION
The present invention relates to searching systems that output reports, and, more particularly, to a searching method and system for outputting an analyzed data report based on a search and analysis of a database of records.
BACKGROUND OF THE INVENTION
In today's world, information is key. As a result, the ability to obtain and process information has very often made the difference between a successful entity and an unsuccessful one. Given the incentive, business entities as well as individuals have sought not only to obtain and process information but also to obtain and process information more quickly and more accurately than one's competitor; this also has the added benefit of saving valuable time and energy.
2o Within the general desire to obtain and process information are specific interests of various entities as well as individuals to obtain additional information regarding very specific areas information. For example, there are specific interests to search for titles of motor vehicles and items of personal property that have titles, professional licenses such as medical licenses and bar certifications, 2s and other similar arenas. One of the more important arenas in which members of the general public, as well as industry professionals, at one time or another require a search for information concerns documents recorded against parcels of real property, and, more specifically, whether those parcels contain liens, encumbrances or unrelated mortgages.
3o At the present time, there are many users requiring access to real property-related data. Counties (or other governmental entities) throughout the United States maintain this data either in paper for or semi-automated form.
Users require not only access to this data, but the analysis of it as well, in order to make critical business decisions on a daily basis. As a result, there currently exists a large demand to obtain information regarding real estate. The collection s and analysis of real property data may be used for multiple purposes, the most important of which is to provide a legal means to protect the interests of land owners and lien holders by notifying all creditors, subsequent purchasers and others with an economic interest in a parcel of real property about the ownership and encumbrances against that parcel.
Currently, there are multiple indexing systems in place in Recording Offices across the Country. Each State has enacted statutes that provide the methods for the indexing, sorting, searching, and presentation of real-estate related information to an end user 230. Despite the demand and legal authorization to do, the quality of these systems will largely depend upon the size ~5 (i.e., population) of a county and the funds they have available to automate these systems. These differences, along with other localized issues, make the concept of centralizing all of this indexed real estate data into one uniform, universal tracking system both unrealistic and unnecessary.
While a universal tracking system concept might be applicable to personal 2o property, such as, motor vehicles, boats, antiques and the likes, personal property is movable and can be transferred across State lines, as well as overseas. Real estate, by contrast, is immovable. The need for tracking real estate via a dependable universal system is virtually non-existent. The inhabitants move in and out of the real estate, while the real estate itself stays 25 fixed.
A demand therefore exists for a system by which real-estate data obtained from various databases such as those compiled by local jurisdictions having the legal obligation to compile and maintain real estate-related records may be accessed and a report prepared that provides the information in a format 3o selected by the end user 230. The present invention satisfies the demand.
SUMMARY OF THE INVENTION
The system of the present invention takes into account the various differences between the above-noted differing methods of recordation and translates those differences into a common output. More specifically, once the system of the present invention is programmed for the terminology specific to a particular locale, as well as the procedures by which an end user 230 navigates through its computerized indexing system, it follows a predetermined set of rules to collect, analyze and display the data in a format selected by an end user 230.
It is therefore an object of the present invention to provide a method for outputting an analyzed data report. A request signal is received. The request signal includes a request for an analyzed data report of a parcel of real property.
A database of records is accessed. The database of records relates to the parcel of real property. Data is collected from the database of records. The collected data is then analyzed. An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
It is a further object of the present invention to provide a system for outputting an analyzed data report. A request signal is received. The request signal includes a request for an analyzed data report of a parcel of real property.
A database of records is accessed. The database of records relates to the parcel of real property. Data is collected from the database of records. The collected data is then analyzed. An analyzed data report is created from the analysis of the collected data. Finally, the analyzed data report is outputted to an end user.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a top level flowchart of a preferred embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention; and FIG. 2 illustrates a block diagram of the elements in the preferred s embodiment of FIG. 1.
DETAILED DESCRIPTION OF THE
PRESENTLY-PREFERRED EMBODIMENTS
FIG. 1 illustrates a flow chart of a preferred embodiment of the present invention which is directed to a method and system for outputting an analyzed data report. Although the example illustrated in FIG. 1 relates to an analyzed data report concerning parcels of real property, the example is merely that;
an 1s example. It will be understood that the embodiment disclosed and illustrated herein may be modified appropriately for use with other information such as County clerk data, Circuit clerk data, State's attorney data to provide an analyzed data report having the information and format selected by the end user 230.
FIG. 2 illustrates a block diagram showing the elements that may be 2o utilized to effect and realize the preferred embodiment of the method and system illustrated in FIG. 1. The elements illustrated in FIG. 2 are merely exemplary and are not in any requirements of the present invention.
As illustrated in Step 100 of FIG. 1, the process of outputting an analyzed data report begins with a request by a party (termed also "end user" herein) for 25 information regarding a particular parcel of real property. Preferably, the request is transmitted as an electronic signal from an electronic communication device 210 and received at an electronic communication node 205. Moreover, the request signal is transmitted across an electronic communication network 215.
The electronic communication device 210, as used in the system 200 of 3o the present invention , may be utilized by an end user 230 (which may enter into the system as a subscriber) to access and/or connect with the electronic communication node 205. The electronic communication device 210 can include, without limitation, wireline telephones, paging units, radio units, wireless data devices, portable, mobile or wireless telephones, personal information managers (PIMs), personal digital assistants (PDAs), personal computers (PCs), network televisions (TVs), Internet TVs, Internet telephones, portable wireless devices (i.e., two-way pagers), workstations or any other suitable communication devices.
Regardless of its specific form, the electronic communication device 210 may have a user-input interface and/or a user-output interface. Alternatively, the user-input interface and/or the user-output interface may work in conjunction with the electronic communication device 210 without actually residing on the electronic communication device 210.
The user-input interface may receive input from the end user 230 and the user-output interfaces may provide output to the end user 230. The user-input ~ 5 interface can include, without limitation, an electroacoustic transducer, such as, for example, a microphone to receive voice and other audible input from the end user 230, a keypad or a keyboard to receive key strokes from the end user 230, a touchpad or touchscreen to receive touch input from the end user 230, a handwriting recognition interface to receive handwritten input from the end user 20 230 or a pointing device such as, for example, a mouse or a trackball to receive point and click inputs from the end user 230.
Similarly, the user-output interface of the electronic communication device 210 can include, without limitation, an electroacoustic transducer such as, for example, a speaker to provide voice and other audible output to the end user 25 230, and a visual display device such as a liquid crystal display or a cathode ray tube to provide graphical and/or textual information to the end user 230.
The electronic communication device 210 may include more than one user-input interface and/or more than one user-output interface. Moreover, the end user 230 may utilize one or more user-input interface and/or user-output so interfiace simultaneously. For example, a wireless telephone may have a microphone, a telephone keypad, a speaker, and a visual display device.

An input interface may also reside on the electronic communication node 205. An output interface may also reside on the electronic communication node 205. Alternatively, the input interface may reside on the electronic communication node 205 while the output interface may reside on the electronic s communication device 210. Alternatively, the input interface may reside on the electronic communication device 210 while the output interface may reside on the electronic communication node 205.
The electronic communication device 210 may also communicate with an electronic communication node 205 via the electronic communication network 215. The electronic communication network 215 can interface with the electronic communication device 210 through wireline or wireless networks or systems (i.e., telephone or televisions systems, ,Integrated Services Digital Network (ISDN) systems, coaxial lines, computer networks, digital end user lines, private networks, wireless local loop systems, etc.).
~5 The electronic communication networks 215, 235, 240 of the system 200 can include, without limitation, intranets, extranets, the Internet, a Local Area Network (LAN), a telephone network, (e.g., a Public Switched Telephone Network (PSTN), private telephone networks, etc.), a cellular network, satellite networks, a personal communication system, a TV network (e.g., a cable TV
2o system), local, regional, national or global paging networks, an email system, a wireless data network (e.g., satellite data or local wireless data networks), a wireless LAN, a wireless local loop/distribution system (e.g., LMDS, MMDS qr Code Division Multiple Access (CDMA) based system), a Voice Over Internet Protocol (VOIP) network or any other suitable network. The electronic 2s communication networks 215, 235, 240 may also include a wide area network (WAN), such as, for example, the Internet, the World Wide Web (WWW) or any other similar on-line service. It will be recognized that the electronic communication networks 215, 235, 240 may have portions in common, may comprise a separate network, or may be the same network as a second 3o electronic communication network.
Additionally, the end user 230 may be required to input a security-type code or signal to enter the system 200. For example, the security-type code or signal may comprise, without limitation, a password, a personal identification number (PIN), a keycode, a subscription code or any other type of security code or signal.
The electronic communication node 205 is preferably a location from which an embodiment of the method and system of the present invention may be run. The electronic communication node 205 may preferably be, without limitation, a PC, a TV, a telephone, a personal communication system, local, regional, national or global paging networks or any other suitable network.
Additionally, the electronic communication node 205 should interface properly with the electronic communication device 210 and the electronic communication network. For example, if the electronic communication network is the Internet, and the electronic communication device 210 is a PC, then the electronic communication node 205 should be compatible with the PC (i.e., run off Hyper Text Markup Language (HTML)).
After the request signal has been received, as illustrated in Step 105, the electronic communication node 205 then accesses a database of records 220.
Preferably, the database of records 220 corresponds to a listing of parcels of real property, and may include, without limitation, a county-wide (or other jurisdiction-2o wide) listing of parcels located within the county, as well as any private entities which maintain a collection or database of the information recorded within the Governmental entity.
For instance, the preferred embodiment may be utilized to access and analyze both State-based (i.e., County, State or other Governmental entity) or other private entities that also maintain a listing of real property-related records.
Moreover, the listing of parcels may be organized in one of a number of formats.
Preferably, these formats may include, for example and without limitation, a Permanent Index Number-based method (in which the end user 230 must provide that Index Number to access the data, a legal description-based method (in which the listing is according to the legal description (i.e., Lot, Block, Subdivision or Metes and Bounds description) of the parcels of real property), or a Grantor/Grantee-based method (in which the listing is organized in two ways -one according to the grantor of any transfer of the parcel, and one according to the grantee of any transfer of the parcel).
The database of records contains a listing of real estate-related s information. In FIG. 2, it is illustrated as reference numeral 220, and although it is shown as being remote from electronic communication node 205 (Via electronic communication network 235), it should be understood that the database 220 may alternatively be located integral with the electronic communication node 220. Preferably, the listing of real estate-related information includes a reference, or legal description, of each parcel of real property. The legal description is a means for describing the location of the parcel. It may be by Metes and Bounds, a Permanent Index Number, a reference to Lots, Blocks or Subdivisions or any other suitable sorting method.
As different jurisdictions organize their files differently, it is imperative for 15 time-conserving reasons, that the electronic communication node 205 be capable of determining the method of indexing prior to collecting data from the database of records 220. Such information may be manually transmitted to the electronic communication node 205, such as, for example, inputted into a program or database accessed by the electronic communication node 205. Alternatively, 2o such information may be determined by the electronic communication node 205 itself, such as, for example, by scanning the database of records 220 for a particular jurisdiction.
After accessing the database of records 220, the electronic communication node 205 acts to collect from the available data information 25 relating to the parcel of real property according to the request that was inputted via the request signal. This is illustrated in FIG. 1 as Step 110. Preferably, during the collection process, the electronic communication node 205 may perform many specific types of collections. For example, the electronic communication node 205 may merely collect and display the collected 3o information to the end user 230. Most likely, this would occur when the request signal includes a request for a legal description of the parcel, the payment status of real estate (or other) taxes, etc., or similar more simply requests.
Additionally, in this step, the electronic communication node may receive real estate tax information regarding the parcel of real property.
Another example of a collection type would be a more extensive collection, requiring an analysis and display of the requested data. Examples of such searches would be directed to obtaining recorder or registrar data, for use in a judgment lien search or litigation search, or for retrieving a document chain relating to the ownership of the parcel.
Preferably, as is the case when determining the method of indexing, the electronic communication node 205 must then determine the local method available for data collection. For instance, the method available for data collection may be by flat files or by data/screen scraping. Having access to the flat files would mean that direct access to the tables of the County database would be available. The data/screen scraping method would be an alternative method of collecting the data when direct access to the tables within the database is unavailable. This unavailability could be for reasons of logistics or security reasons. Through this method, the needed data is collected from predetermined field locations being displayed on a monitor screen which a "snapshot" of that screen is being made.
2o Additionally the electronic communication node 205 may then open any files within the database necessary for the collection of any data. Such files may include, without limitation, files relating to the executed date of any transfer of the parcel of real property, the recording date of any transfer of the parcel of real property, the parties involved in any transfer of the parcel of real property, the 2s type of document involved, the amount involved and any other details that may be relevant to the transfer of the parcel of real property.
If such a search is requested, then the electronic communication node 205, in Step 115, will then analyze the collected data. Ideally, this analytical process may include at least two steps. In the first step, the documents retrieved 30 (i.e., the collected data) are searched to find deeds of conveyance. In the second step, the documents retrieved are searched for other documents to determine the status of any liens upon the parcel of real property. These "other documents" may include, without limitation, mortgages, trust deeds, assignments of mortgages, assignments of rents, releases, judgments, subordination agreements plats, easements mechanic's lien claims, etc.
s All of the data ported to a particular parcel of real property is collected from the earliest data of the database to ensure that no items are inadvertently misused. Once all of the items are collected, the analysis is made to the entire list of data.
In Step 120, the electronic communication node 205 then begins the process of creating the analyzed data report. In this Step, the electronic communication node 205 preferably performs a number of steps.
For example, the electronic communication node 205 places the analyzed documents in a predetermined order, such as, for example, an order based on the recorded date. The electronic communication node 205 then matches related documents and groups them together. An example of this matching may be documents relating to the grant of a mortgage coupled with documents related to the assignment or subsequent release of a mortgage. In such a case, the electronic communication node 205, upon finding the grant of a mortgage (or other lien), will scan the remaining documents for a release. If a release is found, 2o the documents will be so indicated as to not include them in any final report sent to the end user 230. This is because the mortgage has been satisfied and is of no legal consequence at this point. If, however, a release has not been found, the electronic communication will indicate which liens are still unreleased to the end user 230.
25 At this point, the data collected and analyzed may be presented to an operator. The operator has the ability to review and manually edit the information collected and analyzed. Additionally, at this point, the operator may be able to add additional information prior to the delivery to the end user 230. This may occur if a more structured format is requested by the end user 230. For example, 3o the end user 230, being a title company, may request other information, such as, building setback lines, easements, covenants and restrictions, endorsements, etc.
After completing the analysis on the parcel of property requested in the request signal, the electronic communication node 205 prepares for the delivery and output of the analysis results to the end user 230. This is illustrated in Step 125 of FIG. 1. When this occurs, the electronic communication node 205 may prompt the user for additional information (other than the security code or signal referenced above). For example, it is preferable that the electronic communication node 205 may have set up subscription-based accounts in the name of the end user 230. An account database 225 may store this information.
~o This account would preferably have been set up earlier. The purpose for such accounts would be to charge the accounts with the results to be received. It is contemplated that the end user 230 would pay per result received, although, alternatively, other pay methods may be used (e.g., per page, per time online, etc.). Additionally, it is contemplated that the end user's account would contain other information (i.e., a profile) which would be created in a parameter-based form. Such parameters may include, without limitation, name, address, phone numbers, email addresses or other contact information, type of preferred report, method of delivery, frequency of billing, etc. Preferably, these profiles would be able to be modified. Additionally, the electronic communication node 205 may 2o also provide for an "out of the normal" temporary change to the profile (e.g., a different shipping method).
Delivery of the results, after the analysis report has been formulated, would be instant, and transmitted to the end user 230 in a variety of electronic or non-electronic formats. For example, the analysis report may be part of a 2s properly formatted data stream, ready for use in an end user's database or application. Alternatively, the analysis report may be merged into a text document and transmitted via facsimile, email or other electronic method.
Although meant as only an example of the present invention, the computer source code referenced herein as Appendix A illustrates a preferred 3o embodiment of the present invention of a method and system for outputting an analyzed data report, made in accordance with the present invention.

It should be appreciated that the embodiments described above are to be considered in all respects only illustrative and not restrictive. The scope of the invention is indicated by the following claims rather than by the foregoing description. All changes that come within the meaning and range of equivalents s are to be embraced within their scope.

i** pRDERDOCUMENTS **********************************************
'* Purpose: This sub routine contains the "intelligence" that '* converts basic Property information into a common, logical, '* storage format. Analysis, matching, and ordering is applied '* to the property data to organize and store the "property chain"
'* in the easiest sequence to understand.
~*******************x********************************x***********
Private Sub OrderDOCUments(oPin As WjFtPin, rErrr&, rErrMSg$) Dim sTemp As String Dim spin As String Dim sDOCNUmber As String Dim sPriorDoc As String Dim tRecordedDate As String Dim tDocumentNum As String Dim iDOCIndex As Integer Dim iStart As Integer Dim iMOrtCount As Integer Dim iPriorCount As Integer Dim iMOrt As Integer Dim iTemp As Integer Dim dDocSort() As String Dim sDocSort() As String Dim iDocSort() As Integer Dim dPriorSort() As String Dim sPriorSort() As String Dim iPriorSort() As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim t As Integer Dim iPipe As Integer Dim iOrder As Integer Dim bLoop As Boolean Dim bFoundWard As Boolean Dim bFoundMort As Boolean Dim bDocMoved As Boolean Dim bPriorDocMatch As Boolean Dim iNoMatch As Integer Dim iMisc As Integer Dim oDocument As WjFtDOCUment Dim InclDocuments As WjFtDocuments Dim ExclDocuments As WjFtDOCUments Dim TempDocuments As WjFtDOCUments Dim NoMatchDOCUments As WjFtDocuments Dim MiscDOCUments As WjFtDOCUments On Error GoTo OrderDocuments Error i******************************x************************
'Arrange the Document List according to document chain "'matching" rules.
.*******************************************************
'Check to see if Document records exist If oPin.Documents.Count > 0 Then Set InclDocuments = New WjFtDOCUments Set ExclDocuments = New WjFtDocuments Set TempDOCUments = New WjFtDOCUments ,*************************x******x**********************
'Step #1: If the type "WARD" WARRANTY DEED exists, 'put it into the 1st slot of the temp Documents ,******************x**************************x*********
tRecordedDate = "12:00:00 AM"
For i = 1 To oPin.Documenta.Count If Trim(oPin.DOCUments(i).TypeV) _ "DEED" Or -Trim(oPin.Documents(i).TypeV) _ "WARD" Or -Trim(oPin.DOCUments(i).TypeV) _ "DEIT" Or -Trim(oPin.Documents(i).TypeV) _ "TEED" Or -Trim(oPin.Documents(i).TypeV) _ "QCD" Or _ Trim(oPin.Documents(i).TypeV) _ "SPWD" Then If CDate(oPin.Documents(i).RecordedDate) > CDate(tRecordedDate) Then tRecordedDate = oPin.DOCUments(i).RecordedDate tDOCUmentNum = oPin.DOCUments(i).DocumentNum iDocIndex = i End If End If Next i If tRecordedDate <> "12:00:00 AM" Then 'Put the Warranty Deed into the 1st slot 'of the temporary Document collection InclDOCUments.AddDoc oPin.Documenta(iDocIndex), tDocumentNum & "_ 'Mark the Document as used oPin.Documents(iDOCIndex).Order = "Y"
End If i***************x***************x***********************
'Step #2:
' A - Find for ariy "MORT" OY "MAMT" Or "TRUD"
' or "MORTG" - Dupage ' that do NOT have a RELS RELEASE document ' or "RLSE" - Dupage B - Find any "ASSG" ASSIGNMENT documents that match ' or "A M" - DuPage ' the found "MORT"
' C - Find any "SBOR" SUBORDINATION documents that ' or "SUBRD OF" - Dupage match the found "MORT" document.
,**********x********************************************
For i = 1 To oPin.Documenta.Count 'If the document is a Mortgage look for any 'associated documents using the PriorDOCa field If Trim(oPin.DOCUments(i).TypeV) _ "MORT" Or Trim(oPin.Documents(i).TypeV) _ "MAMT" Or Trim(oPin.Documents(i).TypeV) _ "TRUD" Or _ Trim(oPin.Documents(i).TypeV) _ "MORTG" Then 'Clear temp Document collection and set counter 'to 1 for all matching documents for current MORT
Set TempDOCUments = New WjFtDocuments 'Store the MORT document temporarily TempDOCUmenta.AddDoc oPin.Documents(i), oPin.Documents(i).DocumentNUm &
'Mark the master oPin.DOCUment as being used oPin.DOCUmenta(i).Order = "Y"
'Look for documents matching the MORT
For j = 1 To oPin.Documents.Count 'If the MORT, MAMT, or TRUD document number matches the 'current prior doc number in the loop and the 'document hasn't been used yet, then try to match it iStart = 1 iPipe = InStr(iStart, oPin.DOCUments(j).PriorDocsFormat, "~") While iPipe > 0 'Get the Doc number from the Prior Doc formatted property sPriorDoc = Mid(oPin.Documents(j).PriorDocsFOrmat, iStart, iPipe - iStart) If oPin.Documents(i).DocumentNum = aPriorDoc And _ oPin.Documents(j).Order <> "Y" Then 'If the matching PriorDoc is another 'MORT, MAMT, or TRUD which is a rare occurance, 'then skip it and do not match If Trim(oPin.DOCUments(j).TypeV) _ "MORT" Or -Trim(oPin.Documents(j).TypeV) _ "MAMT" Or Trim(oPin.DOCUments(j).TypeV) _ "TRUD" Or _ Trim(oPin.Documents(j).TypeV) _ "MORTG" Then 'Else, match up the current document to the 'current MORT, MAMT, or TRUD
Else 'If the matching document is a release then 'all matching documents for the MORT
'go into the ExclDocument collection If Trim(oPin.Documents(j).TypeV) _ "RELS" Or -Trim(oPin.DOCUments(j).TypeV) _ "DISC" Or -Trim(oPin.DOCUmenta(j).TypeV) _ "RLSE" Then 'Mark the MORTGAGE and the RELEASE to be excluded oPin.Documents(i).Order = "E"
oPin.Documenta(j).Order = "E"
Else 'Mark the RELEASE to be included 'The MORT is defaulted to "I"
oPin.Documents(j).Order = "I"
End If End If End If 'Get next priorDOC number iStart = iPipe + 1 If i5tart < Len(oPin.Documents(j).PriorDOCSFormat) Then iPipe = InStr(iStart, oPin.Documents(j).PriorDocsFOrmat, "
Else iPipe = 0 End If Wend Next j 'Move the MORTGAGE into the Excluded or Included collection If oPin.Documents(i).Order = "E" Then ExclDOCUmenta.AddDoc oPin.Documents(i), oPin.DOCUments(i).DOCUmentNum & "
& "
Else InclDocuments.AddDOC oPin.Documents(i), oPin.DOCUments(i).DocumentNum End If 'Mark the MORTGAGE as being used oPin.Documents(i).Order = "Y"
End If Next i 'Move the matching documents into either the 'Incl or Excl document collection For j = 1 To oPin.Documents.Count If oPin.DOCUments(j).Order = "E" Then ExclDOCUments.AddDOC oPin.DOCUments(j), oPin.Documents(j).DocumentNum &
'Mark the matched document as being used oPin.DOCUments(j).Order = "Y"
ElseIf oPin.Documents(j).Order = "I" Then InclDocuments.AddDoc oPin.DOCUments(j), oPin.Documents(j).DOCUmentNum &
'Mark the matched document as being used oPin.Documents(j).Order = "Y"
End If Next j .*******************************************************
'Step #3:
' A - Find any unmatched "RELS", "SBOR", or "ASSG"
' or "RLSE" - Dupage ' documents and put them in the nomatch documents collection.
' B - Find any miscellaneous documents and put them ' in the misc documents collection.
.*******************************************************
'Clear temp Document collection and set counter 'to 1 for all matching documents for current MORT
Set NoMatchDocuments = New WjFtDocuments Set MiscDOCUments = New WjFtDocuments 'Initialize counters for Incl and Excl collections iNoMatch = 1 iMisc = 1 For i = 1 To oPin.DOCUments.Count 'If the document has NOT already been used 'in the Incl or Excl list If Trim(oPin.DOCUments(i).Order) <> "Y" Then 'If the following document types do not have 'a match then put them in the no match group If (Trim(oPin.Documents(i).TypeV) _ "RELS") Or -(Trim(oPin.Documents(i).TypeV) _ "DISC") Or -(Trim(oPin.Documents(i).TypeV) _ "ASSG") Or (Trim(oPin.DOCUments(i).TypeV) _ "ARENT") Or (Trim(oPin.DOCUments(i).TypeV) _ "MODE") Or -(Trim(oPin.DOCUments(i).TypeV) _ "SBOR") Or -(Trim(oPin.Documents(i).TypeV) _ "RLSE") Or (Trim(oPin.DOCUments(i).TypeV) _ "PTR") Or (Trim(oPin.DOCUments(i).TypeV) _ "PT R") Or _ (Trim(oPin.Documents(i).TypeV) _ "PT REL") Or (Trim(oPin.Documents(i).TypeV) _ "A M") Or _ (Trim(oPin.Documents(i).TypeV) _ "MODIF AG") Or (Trim(oPin.DOCUments(i).TypeV) _ "SUBRD OF") Then 'Store the document temporarily NoMatchDocuments.AddDOC oPin.Documents(i), oPin.Documents(i).DOCUmentNum & "_ iNoMatch = iNoMatch + 1 Else 'Store the document temporarily MiSCDocuments.AddDoc oPin.Documenta(i), oPin.Documents(i).DocumentNum a a iMisc = iMisc + 1 End If End If Next i .*******************************************************
'Step #4:
' A - Clear the TempDocuments collection and fill it ' in the following order:

' - Incl documents ' - NoMatch documents ' - Excl documents ' - Misc documents B - Fill the Document list grid with the final ' ordered document list.
AMEX**********~i).DocumentNum~~at,~*********************
'Clear the temp Document collection and then 'fill it with the other temporary collections.
Set TempDOCUments = New WjFtDocuments iOrder = 1 'Incl If InclDOCUments.Count > 0 Then If UCase(Trim(InclDOCUments(1).TypeV)) _ "DEED" Or -UCase(Trim(InclDocuments(1).TypeV)) _ "WARD" Or -UCase(Trim(InclDocuments(1).TypeV)) _ "DEIT" Or UCase(Trim(InclDocuments(1).TypeV)) _ "TEED" Or -UCase(Trim(InclDocumenta(1).TypeV)) _ "QCD" Or _ UCase(Trim(InclDOCUments(1).TypeV)) _ "SPWD" Then 'Include the last deed of record InclDOCUments(1).IncludeIt vbChecked InclDocuments(1).Order = Trim(Str(iOrder)) iOrder = iOrder + 1 TempDOCUments.AddDOC InclDocuments(1), InclDocuments(1).DocumentNum & "_ End If 'Get all MORT documents and sort into temp array iMortCount = 0 For i = 1 To InclDocuments.Count If UCase(Trim(InclDocuments(i).TypeV)) _ "MORT" Or UCase(Trim(InclDocuments(i).TypeV)) _ "MAMT" Or -UCase(Trim(InclDocumenta(i).TypeV)) _ "TRUD" Or _ UCase(Trim(InclDocuments(i).TypeV)) _ "MORTG" Then iMOrtCount = iMortCount + 1 ReDim Preserve dDocSort(iMOrtCount) ReDim Preserve sDocSort(iMortCount) ReDim Preserve iDocSort(iMOrtCount) dDOCSOrt(I.MOrtCOUnt) = InclDOCUments(i).RecordedDate sDOCSort(iMOrtCount) = InclDocuments(i).DocumentNum iDocSOrt(iMOrtCount) = i End If Next i 'Sort the MORT documents by date in ascending order For i = 1 To iMortCount For j = i + 1 To iMortCount If CDate(dDocSort(j)) < CDate(dDOCSort(i)) Then 'Swap the dates sTemp = dDOCSOrt(1) dDOCSOrt(1) = dDocSort(j) dDocSort(j) = sTemp 'Swap the doc numbers sTemp = sDocSort(i) eDocsort(i) = sDOCsort(j) sDOCSort(j) = sTemp 'Swap the index iTemp = iDocSOrt(i) iDocSort(i) = iDOCSort(j) iDocSort(j) = iTemp 'If the Recorded Date is the same then 'sort the documents by Document Number 'in ascending order.
ElseIf CDate(dDOCSort(j)) = CDate(dDOCSort(i)) Then 'If CLng(sDOCSort(j)) < CLng(sDocSort(i)) Then If sDocSort(j) < eDocSort(i) Then 'Swap the dates sTemp = dDocSort(i) dDocSort(i) = dDocSort(j) dDocSort(j) = sTemp 'Swap the doc numbers sTemp = sDocSort(i) sDOCSort(i) = sDocSort(j) sDocSort(j) = sTemp 'Swap the index iTemp = iDocSort(i) iDocSort(i) = iDocSort(j) iDocSort(j) = iTemp End If End If Next j Next i 'Loop through the sorted MORT documents 'and sort their related PRIORDOCS by ascending 'order also, then put the MORT and any related 'documents into the "final" TempDocuments collection For iMort = 1 To iMortCount iPriorCount = 0 ReDim dPriorSort(iPriorCount) ReDim aPriorSort(iPriorCount) ReDim iPriorSort(iPriorCount) For j = 1 To InclDOCUments.Count 'Look for matching priordocs except for 'matches that are a MORT, MAMT, or TRUD
If sDocSort(iMort) = Trim(InclDocuments(j).PriorDOCSFormat) And -Trim(InclDOCUments(j).TypeV) <> "MORT" And Trim(InclDOCUments(j).TypeV) <> "MAMT" And Trim(InclDocuments(j).TypeV) <> "TRUD" And Trim(InclDocuments(j).TypeV) <> "MORTG" Then iPriorCount = iPriorCount + 1 ReDim Preserve dPriorSOrt(iPriorCount) ReDim Preserve sPriorSort(iPriorCount) ReDim Preserve iPriorSort(iPriorCount) dPriorSort(iPriorCount) = InclDOCUments(j).RecordedDate sPriorSort(iPriorCount) = InclDOCUments(j).DOCUmentNum iPriorSort(iPriorCount) = j End If Next j 'Sort the MORT documents by date in ascending order For i = 1 To iPriorCount For j = i + 1 To iPriorCount If CDate(dPriorSort(j)) < CDate(dPriorSort(i)) Then 'Swap the dates sTemp = dPriorSort(i) dPriorSort(i) = dPriorSort(j) dPriorSort(j) = sTemp 'Swap the doc numbers aTemp = sPriorSort(i) sPriorSort(i) = sPriorSort(j) sPriorSOrt(j) = sTemp 'Swap the index iTemp = iPriorSOrt(i) iPriorSort(i) = iPriorSort(j) iPriorSort(j) = iTemp 'If the Recorded Date is the same then 'sort the documents by Document Number 'in ascending order.
ElseIf CDate(dPriorSort(j)) = CDate(dPriorSort(i)) Then 'If CLng(sPriorSort(j)) < CLng(sPriorSort(i)) Then 'TAS: CHECK HERE
If sPriorSort(j) < sPriorSort(i) Then 'Swap the dates aTemp = dPriorsort(i) dPriorSort(i) = dPriorSort(j) dPriorSort(j) = sTemp 'Swap the doc numbers sTemp = sPriorSort(i) sPriorSort(i) = sPriorSort(j) sPriorSort(j) = sTemp 'Swap the index iTemp = iPriorSort(i) iPriorSort(i) = iPriorSort(j) iPriorSOrt(j) = iTemp End If End If Next j Next i 'Add MORT document to "final" temp array InclDocuments(iDOCSOrt(iMort)).IncludeIt vbChecked InclDocumenta(iDocSort(iMort)).Order = Trim(Str(iOrder)) iOrder = iOrder + 1 TempDocuments.AddDoc InclDocuments(iDOCSort(iMort)), sDocSort(iMort) &
'Add RELATED documents for MORT to "final" temp array For k = 1 To iPriorCount InclDocuments(iPriorSOrt(k)).IncludeIt vbChecked InclDocuments(iPriorSort(k)).Order = Trim(Str(iOrder)) iOrder = i0rder + 1 TempDOCUments.AddDOC InclDocuments(iPriorSOrt(k)), sPriorSort(k) &
n ..
Next k Next iMOrt End If & "
'NOMatch If NoMatchDocuments.Count > 0 Then For i = 1 To NoMatchDocuments.Count NoMatchDOCUments(i).Order = Trim(Str(i0rder)) TempDocuments.AddDoc NoMatchDocuments(i), NoMatchDOCUments(i).DOCUmentNUm iOrder = iOrder + 1 Next i End If 'Excl If ExclDocumenta.Count > 0 Then For i = 1 To ExclDOCUments.Count ExclDocuments(i).Order = Trim(Str(iOrder)) TempDOCUments.AddDoc ExclDocuments(i), ExclDocuments(i).DocumentNum & "-"
iOrder = iOrder + 1 Next i End If 'Misc If MiscDocuments.Count > 0 Then For i = 1 To MiscDOCUments.Count MiscDOCUments(i).Order = Trim(Str(iOrder)) TempDocuments.AddDoc MiscDOCUments(i), MiscDocumenta(i).DocumentNum & "-"
iOrder = iOrder + 1 Next i End If 'Clear all Document objects from the 'current PIN / Document collection to make 'room for the new sorted collection.
oPin.Documents.Clear 'Overwrite the current PIN / Document set 'with the new temporary document list order If TempDocuments.Count > 0 Then For i = 1 To TempDocumenta.Count oPin.Documents.AddDOC TempDOCUments(i), TempDOCUments(i).DocumentNum &
Next i End If End If OrderDocuments Exit:
Exit Sub OrderDocuments Error:
rErrr = Err.NUmber rErrMSg = "OrderDocuments: " & Err. Description Resume OrderDocuments Exit End Sub Option Explicit DefInt A-Z
Public ghExtra&
Public ghExtral&
Public gbHost Available%
Public gbJObMsg%
Public gbCaptureScreen%
Public gTimeout%
Public gTax_Installment$
Public gTax_Year$
Public giCookBackTaxes As Integer Public giDupageBackTaxes As Integer Public gOrderNUm$
Public gEffective Date$
Public gAPIN_UserId$
Public gAPIN_Password$
Public gIPAM_USerId$
Public gIPAM_Password$
Public gCook BackTaxes_UserId$
Public gCook BackTaxes_Password$
Const PROPERTY_SEARCH = 1 Const DOC_SEARCH = 2 Const TAX_SEARCH = 3 Const APIN_MENU = 4 Const IPAM MENU = 5 Const LEGAL_DETAIL_SCREEN = 1 Const PROPERTY_SEARCH_SCREEN = 2 Const RECORDER_DEED_MENU_SCREEN = 3 Const DOC_DETAIL_SCREEN = 4 Const DOC_SEARCH_SCREEN = 5 Const TAX_DETAIL_SCREEN = 6 Const TAX_SEARCH_SCREEN = 7 Const UNKNOWN SCREEN = 8 Const PROCESSED$ _ "Y"
Const FAILED$ _ "F"
Dim mbOnly-1 Document As Boolean Dim mbFound_-Township Range As Boolean Dim msTOwnship As String Dim msRange As String '** JOBAPPMAIN **************************************************
'* Purpose: This is the main loop for the Property data retrieval '* program that analyzes, matches, and orders property record '* data (from different system) into a common storage format.
.*****.~******************+***************************************
Sub JobAppMain(rErrr&, rErrMsg$) Dim i%, Loop Ctr%, Search Ctr%, iCounty Dim Search%(1 To 3) Dim HostSessionl$
Dim sCounty As String Dim oOrder As New WjFtOrder Dim oOrders As New WjFtOrders Dim oSysVariable As WjCoSysVariable On Error GoTO JobAppMain Error '** SET JOB VARIABLES ***************************************
'* Set variables that will be used to process the job ,*********************************************************x**
If rErrr = 0 Then Call JobMSg("Set job variables", False, True) If WJGetPrivateProfileString$("WJA", "HostAvailable", "Y", gsINI-File) _ "Y"
Then gbHost_Available% = True End If gTimeout% = CInt(WJGetPrivateProfileString$("WJA", "HostTimeout", "45", gsINI File$)) If WJGetPrivateProfileString$("WJA", "HostJObMsg", "N", gsINI_File$) _ "Y"
Then gbJobMsg% = True End If If WJGetPrivateProfileString$("WJA", "CaptureScreen", "Y", gsINI File) _ "Y"
Then gbCaptureScreen% = True End If 'gTax Installment$ = WJGetPrivateProfileString$(gsAppName$, "TaxInstallment", "E", gsINI_File$) 'gTax Year$ = Format$(DateAdd("y", -1, Date$), "yyyy") 'Get Tax Year from System Variable because it needs 'to be changed manually in the FALL (September) of each year 'gTax Year$ = WJGetPrivateProfileString$(gsAppName$, "TaxYear", "2000", gsINI File) 'Set Current Tax Year for Cook County Set oSysVariable = New WjCoSysVariable oSysVariable.LOad "COOKTAXYR"
gTax Year$ = oSysVariable.Value 'Set Tax Status (E/F) for Cook County Set oSysVariable = New WjCoSysVariable oSysVariable.Load "COOKTAXEF"
gTax_Installment$ = oSysVariable.Value 'Set number of years for Cook back taxes Set oSysVariable = New WjCoSysVariable oSysVariable.Load "COOKTAX"
giCOOkBackTaxes = Val(oSysVariable.Value) 'Set number of years for DuPage back taxes Set oSysVariable = New wjCoSysVariable oSysVariable.Load "DUPAGETAX"
giDupageBackTaxes = Val(oSysVariable.Value) End If .** CONNECT TO HOST *****************************************
'* Establish a connection to the mainframe .************************************************************
If gbHOSt Available% And rErrr = 0 Then Call JobMsg("Connect to host", False, True) ghExtral = frmJobStatus.hWnd HostSessionl$ = WJGetPrivateProfileString$("WJA", "HostSessionl", "A", gsINI File) If ATMConnectSession(ghExtral, HostSessionl$) <> ATM_SUCCESS Then rErrr = 10032 rErrMsg$ _ "Unable to get host connection."
End If End If i** RETRIEVE ORDERS **********************************x**+***
'* Retrieve the orders to process by "County"
,**************************************************x*********
If rErrr = 0 Then For iCounty = 1 To 2 True) If iCounty = 1 Then sCounty = "COOK"
ElseIf iCounty = 2 Then sCounty = "DUPAGE"
End If Call JobMsg("Retrieving " & sCounty & " county orders from database", False, 'Select Submitting Orders from the Order table by County oOrders.LoadFromJP "S", sCounty If oOrders.Count <> 0 Then If sCounty = "COOK" Then '** LOOK FOR THE APIN SYSTEM ***********************************
'* Log into the APIN system to perform the tax search .************************************************************
If rErrr = 0 Then Call Login APIN(rErrr, rErrMsg) End If '** RETRIEVE TAX INFO ***************************************
'* Retrieve the tax info from the host .************************************************************
If rErrr = 0 Then Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNUm = oOrders(Loop Ctr%).CaseNumber Call JobMsg("Retrieving tax information for order " &
oOrders(LOOp Ctr%).CaseNUmber, True, False) Call Retrieve Cook Tax_Info(oOrders(LOOp Ctr%), rErrr, rErrMsg$) Loop Ctr% = Loop Ctr% + 1 Loop End If '** SWITCH TO APIN BACK TAXES SYSTEM ********************************
'* Log into the APIN Back Taxes System .************************************************************
'Check to see if we should get 'Back Taxes first If giCookBackTaxes > 0 Then If rErrr = 0 Then Call Login Cook BackTaxes(rErrr, rErrMSg) End If '** RETRIEVE BACK TAX INFO
***************************************
'* Retrieve the tax info from the host .************************************************************
If rErrr = 0 Then Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNUm = oOrders(Loop Ctr%).CaseNUmber Call JobMsg("Retrieving Cook BackTax information for order " & oOrders(Loop Ctr%).CaseNUmber, True, False) Call Retrieve Cook BackTax-Info(oOrders(Loop Ctr%), rErrr, rErrMSg$) Loop Ctr% = Loop Ctr% + 1 Loop End If End If '** LOG INTO THE IPAM SYSTEM ********************************
'* Log into the IPAM system to doc and legal search .************************************************************
If rErrr = 0 Then Call Goto_IPAM(rErrr, rErrMsg) End If '** RETRIEVE LEGAL DESCRIPTION AND DOCS *********************
'* Retrieve all legal descriptions and documents from the host i***********x*******x*********************x******************
If rErrr = 0 Then 'Get all Legal descriptions first Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNum = oOrders(Loop Ctr%).CaseNumber Call JobMSg("Retrieving legal and document chain for order "
& oOrders(Loop Ctr%).CaseNumber, True, False) Call Retrieve Property-Info(oOrders(Loop Ctr%), rErrr, rErrMSg$, 1) Loop Ctr% = Loop Ctr% + 1 Loop 'Get all Documents information in 2nd loop Loop Ctr% = 1 Do while Loop Ctr% <= o0rders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNum = oOrders(Loop Ctr%).CaseNumber Call JobMsg("Retrieving legal and document chain for order "
& oOrders(LOOp Ctr%).CaseNumber, True, False) Call Retrieve-Property-Info(oOrders(Loop Ctr%), rErrr, rErrMsg$, 2) Loop Ctr% = Loop Ctr% + 1 Loop End If i** UPDATE STAGE *************************************x**x***
'* Update the status of the order is in .************************************************************
If rErrr = 0 Then Call JobMsg("Updating order status", True, True) Call oOrders.Update Status(gEffective Date, rErrr, rErrMSg) End If '** GOTO PIN SEARCH MENU ********************************************
'* Go back to the PIN search menu so we can enter the next PIN
~****x******************x*x********x*********************************
'TAS 06/16/99 - Re-position to Tax for next job If rErrr = 0 Then Call Logoff-IPAM(rErrr, rErrMsg) End If ElseIf sCounty = "DUPAGE" Then '** LOG INTO THE DUPAGE SYSTEM ******************************
'* Log into the APIN system to perform the tax search .********************************************************x***
If rErrr = 0 Then Call Login DUPAGE(rErrr, rErrMSg) End If .** RETRIEVE TAX INFO ****************x**********************
'* Retrieve the tax info from the host ,*******x****************************************************
If rErrr = 0 Then Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNUm = oOrders(Loop Ctr%).CaseNumber Call JobMsg("Retrieving tax information for order " &
oOrders(Loop Ctr%).CaseNumber, True, False) Call Retrieve DuPage Tax-Info(oOrders(LOOp Ctr%), rErrr, rErrMsg$) Loop Ctr% = Loop Ctr% + 1 Loop End If '** LOGOFF of Tax and move to Legal *************************
'* Logoff of Tax (DSPC) and login to Legal (DSPA) ,x**x********************************************************
If rErrr = 0 Then Call Logoff DSPC(rErrr, rErrMsg) End If If rErrr = 0 Then Call Login DSPA(rErrr, rErrMSg) End If '** RETRIEVE LEGAL DESCRIPTION AND DOCS *********************
'* Retrieve all legal and document info from the host .*******************************************x****************
If rErrr = 0 Then 'Get all Legal descriptions first Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNUm = oOrdera(LOOp Ctr%).CaseNumber Call JobMsg("Retrieving legal and document chain for order "
& oOrders(Loop Ctr%).CaseNUmber, True, False) Call Retrieve Property-Info(oOrders(Loop Ctr%), rErrr, rErrMSg$, 1) Loop Ct,r% = Loop Ctr% + 1 Loop '** LOGOFF of Legal and move to Documents ***************
'* Logoff of Legal (DSPC) and login to Documents (RODI) ~*********************x***************x******************
If rErrr = 0 Then Call Logoff DSPA(rErrr, rErrMSg) End If If rErrr = 0 Then Call Login RODI(rErrr, rErrMsg) End If 'Get all Documents information in 2nd loop Loop Ctr% = 1 Do While Loop Ctr% <= oOrders.Count And rErrr = 0 'Store OrderNum in global variable for debug gOrderNum = oOrders(LOOp Ctr%).CaseNumber Call JobMsg("Retrieving legal and document chain for order "
& oOrders(Loop Ctr%).CaseNUmber, True, False) Call Retrieve-Property-Info(o0rders(Loop Ctr%), rErrr, rErrMsg$, 2) Loop Ctr% = Loop Ctr% + 1 Loop End If i** UPDATE STAGE ******xx************************************
'* Update the status of the order is in .************************************************************
If rErrr = 0 Then Call JobMsg("Updating order status", True, True) Call oOrders.Update Status(gEffective Date, rErrr, rErrMSg) End If '** GOTO PIN SEARCH MENU ********************************************
'* Go back to the PIN search menu so we can enter the next PIN
.********************************************************************
'TAS 06/16/99 - Re-position to Main menu for next job If rErrr = 0 Then Call Logoff DUPAGE(rErrr, rErrMsg) End If End If End If Next iCounty End If '** DISCONNECT HOST *******+****************x********************
'* Disconnect from the mainframe .****************************************************************
If gbHost Available% Then Call JobMsg("Disconnecting host session", False, True) If ATMDisconnectSession(ghExtral) <> ATM SUCCESS Then rErrr& = 10033 rErrMsg$ _ "Unable to disconnect host session."
End If End If JobAppMain Exit:
Exit Sub JobAppMain Error:
rErrr = Err.NUmber rErrMSg = "JobAppMain: " & Err. Description Resume JobAppMain Exit End Sub '** RETRIEVE_PROPERTY_INFO **************************************
'* Purpose: This sub routine is called from the main loop to '* get property information for each Property Identification Number (PIN) '* that was specified in the property retrieval record.
.*
'* The "Retrieve Documenta(oOrder, oPin, rErrr&, rErrMSg$)" routine '* is called for each PIN#.
.****************************************************************
Sub Retrieve Property_Info(oOrder Aa WjFtOrder, rErrr&, rErrMsg$, rType%) Dim Loop Ctr%
Dim oPin As WjFtPin On Error GoTo Retrieve Property Info Error Loop Ctr% = 1 'LMg added rType so that the first time this routine is called it will get the ALL
legal, and the second time ALL the Documents If rType = 1 Then '** RETRIEVE LEGAL DESC ********************************
'* Retrieve legal description for each pin .*******************************************************
Do While Loop Ctr% <= oOrder.Pins.Count And rErrr = 0 Set oPin = o0rder.Pins(Loop Ctr) 'Initialize bInvalid_Pin to False for each Pin oPin.bInvalid Pin = False If oPin.bInvalid Pin = False And rErrr = 0 Then Call Retrieve Legal Desc(oOrder, oPin, rErrr&, rErrMSg$) End If Loop Ctr = Loop Ctr + 1 Loop Else '** RETRIEVE DOCUMENT CHAIN *****************************
'* Retrieve the document chain for each pin .********************************************************
Do While Loop Ctr% <= oOrder.Pins.Count And rErrr = 0 Set oPin = o0rder.Pins(Loop Ctr) 'Initialize bInvalid_Pin to False for each Pin oPin.bInvalid Pin = False If oPin.bInvalid_Pin = False And rErrr = 0 Then Call Retrieve Documents(oOrder, oPin, rErrr&, rErrMsg$) End If Loop Ctr = Loop Ctr + 1 Loop End If Retrieve Property-Info Exit:
Exit Sub Retrieve Property-Info Error:
rErrr = Err. Number rErrMsg = "Retrieve Property-Info: " & Err. Description Resume Retrieve Property_Info Exit End Sub '** GET_DOCUMENT_INFO_COOK***************************************
'* Purpose: This sub routine retrieves property for a specific '* county (Cook), from a specific set of host screens.
'* Each data item that is retrieved from the host is stored '* temporarily into a common "oDocument" object prior to the '* analysis phase of the program.
i************************************x**********x****************
Sub Get Document_Info COOK(roPin As WjFtPin, rErrr&, rErrMsg$) Dim Nbr_Pages%, i%, j%
Dim Temp Nbr_Pages$, Page No$
Dim RetStr$
Dim oDOCUment As WjFtDOCUment On Error GoTo Get Document Info COOK Error '** VERIFY HOST LOCATION ****************************************
'* Verify that the document was found .****************************************************************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 4, 24, gTimeout%, "P I N S E A R C H R E S U L T S
") <> ATM_SUCCESS Then rErrr& = 10005 rErrMsg$ _ "Unable to access the property information screen."
End if End If '** RETRIEVE NBR DOCUMENTS ******************************************
'* Retrieve the number of document pages .********************+***********************************************
If rErrr& = 0 Then If ExtraGet&(ghExtral&, 5, 77, 3, Temp Nbr Pages) <> ATM SUCCESS Then rErrr& = 10006 rErrMSg$ _ "Unable to retrieve the number of document pages."
Else Nbr Pages% = CInt(Temp_Nbr Pages) End If End If i% = 1 Do While i% <= Nbr Pages% And rErrr& = 0 i** GET PROPERTY INFO *********+*********************x***********
'* Scrape the property info from the host ~****************************************************************
If rErrr& = 0 Then If ExtraGetSCr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve the property information from the host."
End If 'Print the screen to file for debug & comparison testing Call CaptureScreenToFile("", "*** Property *** ", True, gOrderNum$) For j% = 1 To 24 Call CaptureScreenToFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNum$) Next End If '** GET DATA ****************************************************
'* Scrape the property info from the host i******x*********************************************************
If rErrr& = 0 Then Page No$ = ExtraGetScrData$(RetStr$, 5, 70, 4) Set oDOCUment = roPin.Documents.AddObject(roPin.CaseNumber, roPin.PinNumber, Page No$) oDOCUment.Amount = ExtraGetSCrData$(RetStr$, 12, 10, 16) 'CODECHANGE TAS 03/19/01 'Document numbers changed length from 8 to 10 'on the host screen 'oDocument.DOCUmentNum = ExtraGetScrData$(RetStr$, 8, 10, 8) oDocument.DOCUmentNum = ExtraGetScrData$(RetStr$, 8, 10, 10) 'ENDCODECHANGE TAS 03/19/01 oDocument.Grantorl = ExtraGetScrData$(RetStr$, 14, 9, 40) oDOCUment.Grantor2 = ExtraGetScrData$(RetStr$, 15, 9, 40) oDocument.Grantor3 = ExtraGetScrData$(RetStr$, 16, 9, 40) oDOCUment.Grantor4 = ExtraGetScrData$(RetStr$, 17, 9, 40) 'TAS 06/23/99 - Assumption made that there are only 4 Grantors 'based upon limit of 4 Grantees 'oDocument.Grantor5 = ExtraGetScrData$(RetStr$, 18, 9, 40) oDOCUment.Grantor5 = ""
oDocument.Granteel = ExtraGetScrData$(RetStr$, 19, 9, 40) oDocument.Grantee2 = ExtraGetScrData$(RetStr$, 20, 9, 40) oDocument.Grantee3 = ExtraGetScrData$(RetStr$, 21, 9, 40) oDocument.Grantee4 = ExtraGetSCrData$(RetStr$, 22, 9, 40) 'TAS 06/23/99 - Thia row has a host help message, not Grantee 5 'oDocument.Grantee5 = ExtraGetScrData$(RetStr$, 23, 9, 40) oDocument.Grantee5 = ""

oDocument.PageNUm = Page No$
oDocument.PriorDocs = ExtraGetScrData$(RetStr$, 12, 44, 36) oDocument.RecordedDate = CDate(ExtraGetScrData$(RetStr$, 8, 71, 10)) oDOCUment.TypeV = ExtraGetScrData$(RetStr$, 8, 22, 4) oDOCUment.TypeDescription = ExtraGetScrData$(RetStr$, 8, 27, 30) oDOCUment.Order = Str$(i%) End If ~x* GOTO NEXT PAGE **********************************************
'* Get the next page of documents .****************************************************************
If i% <> Nbr_Pages% And rErrr& = 0 Then If ExtraPut&(ghExtral&, 0, 0, "~a") <> ATM SUCCESS Then rErrr& = 1009 rErrMsg$ _ "Unable to goto next page."
End If End If i% = i% + 1 Loop '** GOTO PIN SEARCH MENU ********************************************
'* Go back to the PIN search menu so we can enter the next PIN
.********************************************************************
If rErrr& = 0 Then If ExtraPUt&(ghExtral&, 0, 0, "~3") <> ATM SUCCESS Then rErrr& = 10010 rErrMSg$ _ "Unable to enter the PIN number."
End If End If '** VERIFY HOST LOCATION ****************************************
'* Verify that the document was found i****x***********************************************************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 4, 24, gTimeout%, "P I N C R O S S R E F E R E N C
E") <> ATM_SUCCESS Then rErrr& = 9999 rErrMSg$ _ "Unable to exit the document screen."
End If End If .** GOTO PIN SEARCH MENU **********************x*********************
'* Go back to the PIN search menu so we can enter the next PIN
.********************************************************+***********
If rErrr& = 0 Then If ExtraPut&(ghExtral&, 0, 0, "~3") <> ATM SUCCESS Then rErrr& = 10010 rErrMsg$ _ "Unable to enter the PIN number."
End If End If '** VERIFY HOST LOCATION ****************************************
'* Verify that the document was found ~***************************x**x*************x*******************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 4, 14, gTimeout%, "P I N / L E G A L C R O S S R E
F E R E N C E") <> ATM_SUCCESS Then rErrr& = 9999 rErrMSg$ _ "Unable to exit the legal description screen."
End If End If Get Document Info COOK Exit:
Exit Sub Get Document Info COOK Error:
rErrr = Err. Number rErrMSg = "Get Document-Info COOK: " & Err. Description Resume Get Document Info COOK Exit End Sub '** GOTO_DOCUMENT_INFO_COOK *************************************
'* Purpose: This sub routine navigates to the proper host screen '* to retrieve data for Cook county, by supplying a PIN number.
i****************************************************************
Sub Goto Document Info COOK(roPin As WjFtPin, rErrr&, rErrMSg$) Dim Screeri_Found%
Dim Condo, Ret&
On Error GoTO Goto Document Info COOK Error Const PIN_SEARCH = 1 Const PIN NOT FOUND = 2 '** DETERMINE CURRENT SCREEN ************************************
'* Determine if we are on the PIN search or legal desc. screen i****************************************************************
If rErrr& = 0 Then If WJHostWait2&(4, 14, 4, 24, gTimeout%, "P I N / L E G A L C R O S S R E F
E R E N C E", "P I N C R O S S R E F E R E N C E", Screen_Found%) <> ATM
SUCCESS Then rErrr& = 10013 rErrMsg$ _ "Unable to access the Legal Description screen."
End If End If If Screen Found = PIN SEARCH Then '** ENTER PIN NUMBER *****x***x**********************************
'* ENTER Pin Number to search for .****************************************************************
If rErrr& = 0 Then Ret& = ExtraPut&(ghExtral&, 9, 8, Mid$(roPin.PinNumber, 1, 2)) Ret& = ExtraPut&(ghExtral&, 9, 13, Mid$(roPin.PinNumber, 4, 2)) Ret& = ExtraPUt&(ghExtral&, 9, 18, Mid$(roPin.PinNumber, 7, 3)) Ret& = ExtraPUt&(ghExtral&, 9, 24, Mid$(roPin.PinNumber, 11, 3)) Ret& = ExtraPut&(ghExtral&, 9, 30, Mid$(roPin.PinNumber, 15, 4)) 'LMg added for condo logic Condo$ = Mid$(roPin.PinNumber, 15, 4) 'If Len(Trim$(Condo$)) > 0 Then 'TAS changed to check for a condo number that is greater than 0 If Val(Trim$(Condo$)) > 0 Then Ret& = ExtraPUt&(ghExtral&, 9, 30, Condo) Else Ret& = ExtraPut&(ghExtral&, 9, 30, "0000") End If If ExtraPut&(ghExtral&, 0, 0, "~E") <> ATM SUCCESS Then rErrr& = 10001 rErrMSg$ _ "Unable to enter the PIN number."
End If End If '** VERIFY HOST LOCATION *******x********************************
'* Verify that the legal desc was found i********************x*******************************************
If rErrr& = 0 Then If WJHostWait2&(4, 24, 23, 5, gTimeout%, "P I N C R O S S R E F E R E N C
E", "SR20E PIN NOT ON RECORD", Screen Found%) <> ATM SUCCESS Then rErrr& = 10013 rErrMsg$ _ "Unable to access the Legal Description screen."
End If End If '** CHECK PIN FOUND *********************************************
'* Determine if the PIN number was found ~***************x**********x*************************************
If rErrr& = 0 Then If Screen_Found% = PIN_NOT_FOUND Then roPin.bInvalid_Pin = True Else roPin.bInvalid_Pin = False End If End If End If '** GOTO DOCUMENT SCREEN ********************************************
'* Goto the document screen .********************************************************************
If roPin.bInvalid_Pin = False And rErrr& = 0 Then If ExtraPut&(ghExtral&, 0, 0, "O4") <> ATM SUCCESS Then rErrr& = 10015 rErrMsg$ _ "Unable to goto the Pin Search Results screen."
End If End If '** VERIFY HOST LOCATION ***********x****************************
'* Verify that we are on the pin search screen .****************************************************************
'If roPin.bInvalid_Pin = False And rErrr& = 0 Then ' If ExtraWait&(ghExtral&, 4, 24, gTimeout$, "P I N S E A R C H R E S U L T
S") <> ATM_SUCCESS Then ' rErrr& = 10025 ' rErrMSg$ _ "Unable to access the Pin Search Results screen."
' End If 'End If If roPin.bInvalid_Pin = False And rErrr& = 0 Then If WJHOStWait2&(4, 24, 23, 5, gTimeout%, "P I N S E A R C H R E S U L T S", "C112E NO DOCUMENT IN SEARCH CRITERIA", Screen Found%) <> ATM SUCCESS Then rErrr& = 10025 rErrMsg$ _ "Unable to access the Pin Search screen."
End If ~** CHECK PIN FOUND *********************************************
'* Determine if the PIN number was found ~********x*********************x*****x***************************
If rErrr& = 0 Then If Screen_Found% = PIN_NOT_FOUND Then roPin.bInvalid Pin = True 'Return to PIN / LEGAL entry screen 'to try next PIN # if previous one 'had NO DOCUMENT IN SEARCH CRITERIA
If ExtraPut&(ghExtral&, 0, 0, "~3") <> ATM SUCCESS Then rErrr& = 10010 rErrMsg$ _ "Unable to enter the PIN number."
End If Else roPin.bInvalid_Pin = False End If End If End If Goto Document Info COOK Exit:
Exit Sub Goto Document Info COOK Error:
rErrr = Err. Number rErrMSg = "Goto Document-Info COOK: " & Err. Description Resume Goto Document Info COOK Exit End Sub '** RETRIEVE_DOCUMENTS ***********************x******************
'* Purpose: This sub routine determines which county to retrieve '* property information from. It also controls whether or not '* the data should be saved after retrieval and sorting. An error '* may cause the data to be flagged as an "Exception".
i*****x***************************xx****x************************
Sub Retrieve Documents(oOrder As WjFtOrder, oPin As WjFtPin, rErrr&, rErrMsg$) Dim bProcessed%
On Error GoTo Retrieve Documents Error i** CHECK RESTART VALUE **********************************x**************
'* Check if the document were already retrieved from the host i********************************x****x**********************************
If rErrr = 0 Then bProcesaed% = oPin.RetrieveStatuaFlag(eftPropertyInfo) End If '** GOTO PROPERTY SCREEN ************************************************
'* Goto the property info host screen .*+****************x**********************************x******************
If bProcessed% = False And gbHost Available% = True And rErrr = 0 Then If UCase(Trim(oOrder.PropertyCounty)) _ "COOK" Then Call Goto Document_Info COOK(oPin, rErrr&, rErrMag$) End If End If '** GET DOCUMENT INFO ****x*****************xx***************************
'* Get the document info from the host .************************************************************************
If bProcessed% = False And rErrr = 0 And oPin.bInvalid_Pin = False Then Select Case UCase(Trim(oOrder.PropertyCounty)) Case "COOK"
Call Get_Document-Info COOK(oPin, rErrr, rErrMSg$) Case "DUPAGE"
Call Get Document-Info DUPAGE(oPin, rErrr, rErrMsg$) 'Get Details on the 2nd pass Call Get Document Details DUPAGE(oPin, rErrr, rErrMSg$) End Select End If i** SAVE DOC INFO *******************************************************
'* Save the document info to the database .************************************************************************
If bProcesaed% = False And rErrr = 0 And oPin.bInvalid Pin = False Then 'Reverse Document order prior to sorting for DUPAGE
'oDocument.Order = str$(i%) 'Order Documents according to Title matching criteria Call OrderDocuments(oPin, rErrr, rErrMsg) If rErrr = 0 Then 'Save Ordered document for Pin to Documents table Call oPin.Documents.InsertData(rErrr, rErrMsg) End If End If i** UPDATE PIN STATUS ***************************************************
~* Update the Pin status to successful .************************************************************************
If bProcessed% = False And rErrr = 0 Then If oPin.bInvalid_Pin = False And rErrr = 0 Then 'If ONLY 1 document record existed for the PIN
sand ONLY 1 Pin exists for the Order 'set the "exception' flag If mbOnly_1 Document = True And oOrder.Pins.Count = 1 Then oPin.DocumentFlag = FAILED
Else oPin.DocumentFlag = PROCESSED
End If Else oPin.DocumentFlag = FAILED
End If Call oPin.UpdateFlag(eftPropertyInfo, rErrr, rErrMSg) End If Retrieve Documents Exit:
Exit Sub Retrieve Documents Error:
rErrr = Err. Number rErrMSg = "Retrieve Documents: " & Err. Description Resume Retrieve Documents Exit End Sub '** GET_DOCUMENT_INFO_DUPAGE*****************************x****x**
'* Purpose: This aub routine navigates through host screens specific ~* to DuPage county and captures the property information by PIN.
i********************************x*******************************
Sub Get Document-Info DUPAGE(roPin As WjFtPin, rErrr&, rErrMSg$) Dim Screen_FOUnd%
Dim Condo, Ret&
Dim Nbr Pages%, i%, j%
Dim Temp Nbr-Pages, DocTOtal$
Dim RetStr$
Dim bNoMOreRecords As Boolean Dim bLastDocumentPage As Boolean Dim sCurrentDocNum As String Dim sNextDocNum As String Dim sDocCount As String Dim aBuyerSeller As String Dim sTownRange As String Dim iDocCount As Integer Dim iGrantorCount Aa Integer Dim iGranteeCount As Integer Dim iRow As Integer Dim iPos As Integer Dim iFirstDocumentPage As Integer Dim oDocument As WjFtDocument Dim TempDocumenta As WjFtDocuments Const PIN_SEARCH = 1 Const PIN NOT FOUND = 2 On Error GoTO Get Document Info DUPAGE Error '** VERIFY HOST LOCATION ********************************************
'* Verify that we are on the Document screen .********************************************************************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 2, 31, gTimeout%, "SEARCH MENU") <> ATM SUCCESS Then rErrr& = 9999 rErrMsg$ _ "Unable to find Document screen - SEARCH MENU"
End If End If i** GET DOCUMENT SCREEN ****************x****************************
'* Get the main Document screen for the Effective date .********************************************************************
If rErrr& = 0 Then If ExtraGetScr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve Document screen from hoat."
End If End If 'Store Effective Date in module variable If rErrr& = 0 Then gEffective Date = CDate(ExtraGetSCrData$(RetStr$, 2, 66, 8)) End If ~** ENTER PIN NO ************************************************
'* Enter the Pin information needed to retrieve the Document '* information.
.****************************************************************
If rErrr& = 0 Then Ret& = ExtraPut&(ghExtral&, 7, 19, Mid$(roPin.PinNumber, 1, 2)) Ret& = ExtraPut&(ghExtral&, 7, 24, Mid$(roPin.PinNumber, 4, 2)) Ret& = ExtraPut&(ghExtral&, 7, 29, Mid$(roPin.PinNumber, 7, 3)) Ret& = ExtraPut&(ghExtral&, 7, 35, Mid$(roPin.PinNumber, 11, 3) & " OE") End If '** VERIFY HOST LOCATION ****************************************
'* Verify that the Legal pin number was found .****************************************************************
If rErrr& = 0 Then If WJHOStWait2&(2, 20, 3, 2, gTimeout%, "DOCUMENT CROSS REFERENCE", "NO
DOCUMENTS
FOUND FOR PARCEL", Screen_Found%) <> ATM_SUCCESS Then rErrr& = 10013 rErrMSg$ _ "Document List screen not found OR Document records not found for key"
End If End If 'Initialize Only 1 document flag mbOnly_1 Document = False '** CHECK TO SEE IF ONLY 1 DOCUMENT EXISTS fOr PIN *********x****
'* If ONLY 1 document entry exists for the PIN#
'* then the "Document List" screen will not appear '* the host system goes directly to the document details screen '* If that happens, set the Order to "Exception" status.
.****************************************************************
'Check to see if neither wait2 condition was successful 'then perform a third wait for the document details screen If rErrr& = 10013 Then If ExtraWait&(ghExtral&, 3, 2, gTimeout%, "DOCUMENT NUMBER") <> ATM SUCCESS
Then rErrr& = 10013 rErrMSg$ _ "Document Details screen was not found for key"
Else rErrr& = 0 rErrMsg$ _ ""
'Re-initialize screen found so the Document 'will be processed and set a flag to know 'that only 1 document was found for the PIN
Screen_Found% = 1 mbOnly-1 Document = True host."
sCurrentDOCNum = ""
iDocCount = 1 iGrantorCount = 1 iGranteeCount = 1 mbFound Township Range = False ~** GET PROPERTY INFO **********xx*******************************
'* Scrape the property info from the host AMEX*****************************************************~*******
If rErrr& = 0 Then If ExtraGetSCr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve the property information from the End If 'Print the screen to file for debug & comparison testing Call CaptureScreenToFile("", "*** Property *** ", True, gOrderNum$) For j % = 1 To 24 Call CaptureScreenTOFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNum$) Next End If sDocCount) sDocCount = Trim(Str(iDocCount)) Set oDocument = roPin.Documents.AddObject(roPin.CaseNumber, roPin.PinNUmber, '** CREATE DOCUMENT NUMBER **************************************
'* Create the Document number:
'* "R" + 2-digit year + "-' + 6-digit DOC NO
AMEX*****************************************************~*******
sCurrentDOCNum = "R" & ExtraGetSCrData$(RetStr$, 3, 19, 2) & "-" &
ExtraGetScrData$(RetStr$, 3, 22, 6) oDocument.DocumentNum = sCurrentDocNum '1 PageNUm for each unique Document number oDocument.PageNum = aDocCount oDOCUment.RecordedDate = CDate(ExtraGetScrData$(RetStr$, 3, 65, 2) & "-" &
ExtraGetScrData$(RetStr$, 3, 67, 2) & "-" & ExtraGetSCrData$(RetStr$, 3, 69, 2)) 'Look for pattern "Rxx-Oxxxxx" and add a zeros after the 'dash if necessary to make a "valid" PriorDoc Number oDocument.PriorDocs = ExtraGetScrData$(RetStr$, 9, 15, 65) oDOCUment.PriorDOCSFOrmat = DuPagePriorDOCS(ExtraGetScrData$(RetStr$, 9, 15, 65)) End If End If 'Doc type "MORTG" is assumed if ONLY 1 document record exists oDOCUment.TypeV = "MORTG"
'Type Description is used for COOK, but not for DUPAGE
oDocument.TypeDescription = ""
oDOCUment.Amount =- ""
'Initialize Grantors and Grantees oDOCUment.Grantorl = ""
oDocument.Grantor2 = ""
oDOCUment.Grantor3 = ""
oDocument.Grantor4 = ""
oDocument.Grantor5 = ""
oDOCUment.Granteel = ""
oDocument.Grantee2 = ""
oDOCUment.Grantee3 = ""
oDocument.Grantee4 = ""
oDOCUment.Grantee5 = ""
'** CHECK PIN FOUND *********************************************
'* Determine if the PIN number was found i**x*********************xx**************************************
If rErrr& = 0 Then If Screen_Found% = PIN_NOT_FOUND Then roPin.bInvalid_Pin = True Else roPin.bInvalid_Pin = False End If End If ** GET DATA ****************************************************
'* Scrape the Document screens from the host i**************x*************************************************
If roPin.bInvalid_Pin = False And rErrr& = 0 And mbOnly-1 Document = False Then sCurrentDocNum = ""
sNextDocNum = ""
iDOCCount = 1 iGrantorCount = 1 iGranteeCount = 1 mbFOUnd Township Range = False bNoMoreRecords = False bLastDocumentPage = False iFirstDocumentPage = 0 Do While bNoMOreRecords = False And rErrr& = 0 'CODECHANGE TAS - 12/29/99 'Host screen change requires 1 more pass to get 'the data from the last screen in the doc chain If bLastDocumentPage = True Then bNoMoreRecords = True End If i** GET PROPERTY INFO *******************************************
'* Scrape the property info from the host .******************x*********************************************
If rErrr& = 0 Then If ExtraGetScr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMsg$ _ "Unable to retrieve the property information from the host."
End If 'Print the screen to file for debug & comparison testing Call CaptureScreenTOFile("", "*** Property *** ", True, gOrderNum$) For j% = 1 To 24 Call CaptureScreenTOFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNum$) Next End If ** GET DATA **************************************x*************
'* Scrape the property info from the host .****************************************************************
If rErrr& = 0 Then 'If iFirstDocumentPage = 0 (1st page of documents) ' Get 1st document on page because it is 1st page.
'Else iFirstDocumentPage = 1 (past 1st page of documents) ' Skip 1st document on page because it is duplicate For i = 1 + iFirstDocumentPage To 7 'Set the current row iROw = 7 + (i * 2) 'If line number exists on the current screen row then 'retrieve the document data If Len(Trim(ExtraGetScrData$(RetStr$, iRow, 4, 6))) > 0 Then '** CREATE DOCUMENT NUMBER **************************************
'* Create the Document number:
'* "R" + 2-digit year + "-" + 6-digit DOC No .****************************************************************
sNextDocNUm = "R" & ExtraGetSCrData$(RetStr$, iRow, 19, 2) & "-"
& ExtraGetScrData$(RetStr$, iRow, 4, 6) 'If we have encountered a new DOC NO in the list 'then create a new Document object and set the 'properties for a new Document If sCurrentDocNum <> aNextDocNum Then sDocCount = Trim(Str(iDOCCount)) Set oDocument = roPin.Documents.AddObject(roPin.CaseNumber, roPin.PinNumber, sDocCount) sCurrentDocNum = "R" & ExtraGetScrData$(RetStr$, iRow, 19, 2) & "-' & ExtraGetSCrData$(RetStr$, iROw, 4, 6) 'Increment # of Documents in Doc Collection iDocCount = iDocCount + 1 oDocument.DocumentNum = sCurrentDOCNUm '1 PageNum for each unique Document number oDocument.PageNum = sDocCOUnt oDocument.RecordedDate = CDate(ExtraGetScrData$(RetStr$, iRow, 11, 10)) 'Look for pattern "Rxx-Oxxxxx" and add a zeros after the 'dash if necessary to make a "valid" PriorDoc Number oDocument.PriorDocs = ExtraGetSCrData$(RetStr$, iRow + 1, 25, 45) oDocument.PriorDOCSFOrmat =
DuPagePriorDOCS(ExtraGetSCrData$(RetStr$, iRow + 1, 25, 45)) 'Get document type oDocument.TypeV = ExtraGetScrData$(RetStr$, iRow, 72, 9) 'Type Description is used for COOK, but not for DUPAGE
oDOCUment.TypeDescription = ""
oDOCUment.Amount = ""
'Initialize Grantors and Grantees oDOCUment.Grantorl = ""
oDocument.Grantor2 = ""
oDocument.Grantor3 = ""
oDocument.Grantor4 = ""
oDocument.Grantor5 = ""
oDOCUment.Granteel = ""

oDocument.Grantee2 = ""
oDocument.Grantee3 = ""
oDocument.Grantee4 = ""
oDocument.Grantee5 = ""
'Re-initialize Grantor and Grantee count for every new document iGrantorCount = 1 iGranteeCount = 1 End If 'Get Buyer/Seller for each repeating document entry aBUyerSeller = ExtraGetScrData$(RetStr$, iRow, 63, 9) 'Add Grantors and Grantees to the the 'Document object based upon type.
select Case UCase(RTrim(oDocument.TypeV)) 'Store Grantors or Grantees only for these 'document types.
'Note: Grantors and Grantees for the "'SUBRD OF" type must be retrieved 'from the Detail screens.
Case "MORTG", "DEED", "A M", "SPWD" '?
'Add a Grantor or Grantee to the Document object 'depending upon the "BUY/SELL" host column Select Case UCase(RTrim(sBuyerSeller)) Case "MRTGOR", "GRNTOR", "ASINOR"
'Set Grantor properties Select Case iGrantorCount Case 1 oDOCUment.Grantorl =
ExtraGetScrData$(RetStr$, iROw, 22, 41) Case 2 oDocument.Grantor2 =
ExtraGetScrData$(RetStr$, iRow, 22, 41) Case 3 oDocument.Grantor3 =
ExtraGetScrData$(RetStr$, iROw, 22, 41) Case 4 oDocument.Grantor4 =
ExtraGetScrData$(RetStr$, iROw, 22, 41) End Select 'Increment count of Grantors iGrantorCount = iGrantorCount + 1 Case Else 'Set Grantee properties Select Case iGranteeCount Case 1 oDocument.Granteel =
ExtraGetScrData$(RetStr$, iRow, 22, 41) Case 2 oDocument.Grantee2 =
ExtraGetScrData$(RetStr$, iRow, 22, 41) Case 3 oDocument.Grantee3 =
ExtraGetScrData$(RetStr$, iRow, 22, 41) Case 4 oDOCUment.Grantee4 =
ExtraGetSCrData$(RetStr$, iRow, 22, 41) End Select 'Increment count of Grantees iGranteeCount = iGranteeCount + 1 End Select End Select End If Next i End If '** SKIP 1ST DOCUMENT IN PAGE IF 2ND OR MORE PAGE
******************************************x*********
'If it is the 1st page of documents then retrieve the 1st document of the page 'Else ' start with the 2nd document on the page ' because the last document from the previous page is always carried over.
.****************************************************************
If iFiratDocumentPage = 0 Then iFirstDOCUmentPage = 1 End If i** GOTO NEXT PAGE **********************************************
'* Get the next page of documents .****************************************************************
If rErrr& = 0 Then If ExtraPUt&(ghExtral&, 0, 0, "~8") <> ATM SUCCESS Then rErrr& = 1009 rErrMsg$ _ "Unable to goto next page."
End If End If ~** GOTO NEXT PAGE **********************************************
'* Get the next Document page .****************************************************************
If rErrr& = 0 Then If ExtraGetSCr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve next Document screen from host."
End If End If i** GOTO NEXT PAGE **********************************************
'* Check to see if "NO MORE RECORDS" exist.
~*************x************************************x*****x*******
If rErrr& = 0 Then If ExtraGetScrData$(RetStr$, 3, 2, 12) _ "F8 - NO MORE" Then bLastDOCUmentPage = True End If End If Loop 'If at least 1 document was found then 'reverse the order of the documents If roPin.Documents.Count > 0 Then 'Create a temp Document collection to reverse the 'order of the Dupage Documents Set TempDocuments = New WjFtDocuments 'Store the current Document collection temporarily For i = 1 To roPin.Documents.Count TempDocuments.AddDOC roPin.DOCUmenta(i), roPin.DOCUments(i).DOCUmentNum &
Next i 'Clear all Document objects from the 'current PIN / Document collection to make 'room for the reverse ordered Temp collection.
roPin.Documenta.Clear 'Overwrite the current PIN / Document set 'in reverse order using the temporary document collection For i = TempDocuments.Count To 1 Step -1 roPin.DOCUmenta.AddDOC TempDocuments(i), TempDocuments(i).DOCUmentNUm &
Next i End if End If .** Clear Screen ****************************************************
'* enter Pause-Break to clear screen .********************************************************************
If rErrr& = 0 Then If ExtraPUt&(ghExtral&, 1, 1, "0C") <> ATM SUCCESS Then rErrr& = 9999 rErrMsg$ _ "Unable to clear screen - (Pause / Break)"
End If End If Get Document Info DUPAGE Exit:
Exit Sub Get Document Info DUPAGE Error:
rErrr = Err. Number rErrMsg = "Get Document-Info DUPAGE: " & Err. Description Resume Get Document Info DUPAGE Exit End Sub '** GET_DOCUMENT_DETAILS_DUPAGE**************************'**********
'* Purpose: This sub routine is called only for specific TYPES
'* within a document chain. Some document types require navigation '* to the document details screen to capture additional information '* such as GRANTOR / GRANTEE names. This routine handles a host '* navigation issue when only 1 document exists for the PIN or '* a "SUBRD OF" document is being retrieved.
.****************************************************************
Sub Get Document Details DUPAGE(roPin As WjFtPin, rErrr&, rErrMsg$) Dim Screen_Found%, j%, iDocCount Dim Condo, Ret&, rErrl&
Dim RetStr$, rErrlMag$
Dim bNoMoreRecords As Boolean Dim aCurrentDOCNum Aa String Dim sBuyerSeller As String Dim sTOwnRange As String Dim i As Integer Dim iPOS As Integer Dim iMore As Integer Dim oDOCUment As WjFtDOCUment Const PIN_SEARCH = 1 Const PIN NOT FOUND = 2 On Error GoTo Get Document Details DUPAGE Error 'Initialize flag for whether Township and Range were found.
mbFound Township Range = False '** VERIFY HOST LOCATION ********************************************
'* Verify that we are on the Document screen .********************************************************************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 2, 31, gTimeout%, "SEARCH MENU") <> ATM SUCCESS Then rErrr& = 9999 rErrMSg$ _ "Unable to find Document screen - SEARCH MENU"

End If End If For i = 1 To roPin.Documenta.Count 'Get the next Document object from the collection Set oDocument = roPin.Documents(i) Select Case UCase(RTrim(oDocument.TypeV)) .. ~,~,YY" , 0 , 0 ) ) ..QEn) Case "MORTG", "DEED", "SUBRD OF", "SPWD"
'** ENTER PIN NO ************************************************
'* Enter the Recording Date to End Search Date '* and the Pin information needed to retrieve the '* details of the Document information.
~************x***********************x***************************
If rErrr& = 0 Then 'Put in the document year Ret& = ExtraPut&(ghExtral&, 6, 33, Format(oDocument.RecordedDate, 'Put in the 6 digit document number Ret& = ExtraPut&(ghExtral&, 6, 19, Right(oDocument.DocumentNUm, 6) &
End If '** VERIFY HOST LOCATION ****************************************
'* Verify that the Legal pin number was found .****************************************************************
If rErrr& = 0 Then If WJHOStWait2&(2, 30, 3, 2, gTimeout%, "MASTER RECORD", "DOCUMENT
DOES NOT EXIST", Screen_FOUnd%) <> ATM_SUCCESS Then rErrr& = 10013 rErrMSg$ _ "Pin not found on Legal search screen"
End If End If '** CHECK PIN FOUND **************************************x******
'* Determine if the PIN number was found ~*************x*x****x**x*********************x******************
If rErrr& = 0 Then If Screen_FOUnd% = PIN_NOT_FOUND Then roPin.bInvalid_Pin = True Else roPin.bInvalid_Pin = False End If End If the host."
gOrderNum$) .** GET DATA ****************************************************
'* Scrape the Document screens from the host .****************************************************************
If roPin.bInvalid Pin = False And rErrr& = 0 Then ** GET PROPERTY INFO *******************************************
'* Scrape the property info from the host .****************************************************************
If rErrr& = 0 Then If ExtraGetSCr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve the property information from End If 'Print the screen to file for debug & comparison testing Call Capture5creenToFile("", "*** Property Details *** ", True, For j% = 1 To 24 Call CaptureScreenToFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNum$) Next End If ~** GET DATA ****************************************************
'* Scrape the property detail info from the host .****************************************************************
If rErrr& = 0 Then 'Get data for MORTG and DEED
oDOCUment.Amount = Str(Val(ExtraGetScrData$(RetStr$, 8, 17, 12))) 'CODECHANGE TAS - 06/13/01 (FIT208) 'Get the full length of PriorDoca from the detail screen oDocument.PriorDocs = ExtraGetScrData$(RetStr$, 11, 15, 65) oDocument.PriorDOCSFOrmat =
DuPagePriorDocs(ExtraGetScrData$(RetStr$, 11, 15, 65)) 'ENDCODECHANGE TAS - 06/13/01 (FIT208) 'Get Township and Range if available in description 'which is stored in PriorDOCs If mbFound_Township Range = False Then sTownRange = Right(Trim(oDOCUment.PriorDocs), 5) iPos = InStr(1, sTownRange, "-") If iPOa > 1 Then msTOwnship = Trim(Left(aTownRange, iPos - 1)) msRange = Trim(Right(sTownRange, Len(sTownRange) - iPos)) mbFound_TOwnship Range = True 'Update Township and Range for Legal If roPin.Legals.Count > 0 Then roPin.Legals(1).TOwnship = msTOwnship roPin.Legals(1).Range = msRange Call roPin.Legala.UpdateData(rErrl&, rErrlMSg$) End If End If End If End If 'Get data for SUBRD OF or 'if ONLY 1 document was found for the PIN#
If UCase(RTrim(oDOCUment.TypeV)) _ "SUBRD OF" Or -mbOnly-1 Document = True Then i** ENTER PIN NO ************************************************
'* Enter the Recording Date to End Search Date '* and the Pin information needed to retrieve the '* details of the Document information.
.****************************************************************
If rErrr& = 0 Then 'Put PF11 to get the "people" record Ret& = ExtraPUt&(ghExtral&, 1, 1, "fib") End If '** VERIFY HOST LOCATION
**********************x*********************
'* Verify that we are on the Document screen .********************************************************************
If rErrr& = 0 Then If ExtraWait&(ghExtral&, 2, 23, gTimeout%, "PEOPLE RECORD") <> ATM SUCCESS Then rErrr& = 9999 rErrMSg$ _ "Unable to find Document people screen -(TRANSACTOR RECORD)"
End If End If ~** GET DATA ***************************x************************
'* Scrape the Document screens from the host from the host."
True, gOrderNUm$) ~*x******************x*******************************************
If rErrr& = 0 Then If ExtraGetScr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMSg$ _ "Unable to retrieve the property information End If 'Print the screen to file for debug & comparison testing Call CaptureScreenTOFile("", "*** Property Details *** "
For j% = 1 To 24 Call CaptureScreenToFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNUm$) Next 'Store the Grantors and Grantees oDocument.Grantorl = ExtraGetScrData$(RetStr$, 8, 2, 30) oDOCUment.Grantor2 = ExtraGetScrData$(RetStr$, 9, 2, 30) oDocument.Grantor3 = ExtraGetScrData$(RetStr$, 10, 2, 30) oDOCUment.Grantor4 = ExtraGetScrData$(RetStr$, 11, 2, 30) oDocument.Granteel = ExtraGetScrData$(RetStr$, 16, 2, 30) oDocument.Grantee2 = ExtraGetScrData$(RetStr$, 17, 2, 30) oDOCUment.Grantee3 = ExtraGetScrData$(RetStr$, 18, 2, 30) oDocument.Grantee4 = ExtraGetScrData$(RetStr$, 19, 2, 30) End If End If End If .** Clear Screen *****************************x**********************
'* enter Pause-Break to clear screen .********************************************************************
If rErrr& = 0 Then If ExtraPut&(ghExtral&, 1, 1, "QC") <> ATM SUCCESS Then rErrr& = 9999 rErrMsg$ _ "Unable to clear screen - (Pause / Break)"
End If End If '** VERIFY HOST LOCATION *************************+******************
'* Verify that we are on the Document screen i***************************************x****************************
If ExtraWait&(ghExtral&, 2, 31, gTimeout%, "SEARCH MENU") <> ATM SUCCESS
Then rErrr& = 9999 rErrMsg$ _ "Unable to find Document screen - SEARCH MENU"
End If End Select 'CODECHANGE TAS - 06/13/01 (FIT208) '** GET PRIORDOC DETAILS ************************************************
'* Go to the Document detail screen because the '* PriorDocs did not fit on the main Document listing screen.
i********x*******************************************************
'CODECHANGE TAS - 06/13/01 (FIT208) If Trim(oDocument.TypeV) _ "RELS" Or -Trim(oDocument.TypeV) _ "DISC" Or -Trim(oDocument.TypeV) _ "RLSE" Then iMOre = InStr(oDocument.PriorDocsFOrmat, "MORE ") If iMOre > 0 Then .** ENTER PIN NO ********x***************************************
'* Enter the Recording Date to End Search Date '* and the Pin information needed to retrieve the '* details of the Document information.
~******+**********************************************xx*********

~~yyyyn~ 0. 0)) ..~E~~ ) If rErrr& = 0 Then 'Put in the document year Ret& = ExtraPut&(ghExtral&, 6, 33, Format(oDocument.RecordedDate, 'Put in the 6 digit document number Ret& = ExtraPut&(ghExtral&, 6, 19, Right(oDOCUment.DOCUmentNum, 6) &
End If '** VERIFY HOST LOCATION ****************************************
'* Verify that the Legal pin number was found ~**********x*********************************************x*******
If rErrr& = 0 Then If WJHOStWait2&(2, 30, 3, 2, gTimeout%, "MASTER RECORD", "DOCUMENT
DOES NOT EXIST", Screen_FOUnd%) <> ATM_SUCCESS Then rErrr& = 10013 rErrMSg$ _ "Pin not found on Legal search screen"
End If End If .** CHECK PIN FOUND ****************************************x****
'* Determine if the PIN number was found ~************xx**************************************************
If rErrr& = 0 Then If Screen_Found% = PIN_NOT_FOUND Then roPin.bInvalid_Pin = True Else roPin.bInvalid_Pin = False End If End If the host."
.** GET DATA ***********************************+****************
'* Scrape the Document screens from the host .****************************************************************
If roPin.bInvalid Pin = False And rErrr& = 0 Then ~** GET PROPERTY INFO *******************************************
'* Scrape the property info from the host ~***********x***x******************************************x*****
If rErrr& = 0 Then If ExtraGetScr&(ghExtral, RetStr$) <> ATM SUCCESS Then rErrr& = 10007 rErrMsg$ _ "Unable to retrieve the property information from End If 'Print the screen to file for debug & comparison testing Call CaptureScreenTOFile("", "*** Property Details *** ", True, gOrderNUm$) For j % = 1 To 24 Call CaptureScreenToFile("", ExtraGetScrData$(RetStr$, j%, 1, 80), True, gOrderNum$) Next End If i** GET DATA *****x*x******************************************xx '* Scrape the property detail info from the host ~****+*****x************************t*******************x***x****
If rErrr& = 0 Then 'Get the full length of PriorDOCS from the detail screen oDocument.PriorDOCS = ExtraGetScrData$(RetStr$, 11, 15, 65) oDocument.PriorDocsFormat =
DuPagePriorDocs(ExtraGetSCrData$(RetStr$, 11, 15, 65)) End If End If '** Clear Screen **********x***********************************x*****
'* enter Pause-Break to clear screen .********************************************************************
If rErrr& = 0 Then If ExtraPut&(ghExtral&, 1, 1, "~C") <> ATM SUCCESS Then rErrr& = 9999 rErrMSg$ _ "Unable to clear screen - (Pause / Break)"
End If End If '** VERIFY HOST LOCATION ********************************************
'* Verify that we are on the Document screen .********************************************************************
If ExtraWait&(ghExtral&, 2, 31, gTimeout%, "SEARCH MENU") <> ATM SUCCESS
Then rErrr& = 9999 rErrMsg$ _ "Unable to find Document screen - SEARCH MENU"
End If End If End If 'ENDCODECHANGE TAS - 06/13/01 (FIT208) Next i Get Document Details DUPAGE Exit:
Exit Sub Get Document Details DUPAGE Error:
rErrr = Err.NUmber rErrMsg = "Get Document Details DUPAGE: " & Err. Description Resume Get Document Details DUPAGE Exit End Sub ~** DUPAGEPRIORDOCS *********************************************
'* Purpose: This sub routine is used to analyze and identify "real"
'* document numbers from a host screen for DuPage county. The code '* looks for a specific pattern "Rxx-xxxxx" or similar to that to '* determine if a "PRIOR" doc exits in the line of text.
'* If the prior doc pattern is found it is stored for matching.
.****************************************************************
Function DuPagePriorDocs(ByVal vsPriorDOCS AS String) As String Dim i As Integer Dim iPos As Integer Dim iStart As Integer Dim iDash As Integer Dim sChar As String Dim sLeftNum As String Dim sRightNum As String Dim bGetDocDetails As Boolean 'initialize function value DuPagePriorDocs = ""
bGetDOCDetails = False istart = 1 'Look for a dash which signifies a Doc Number iDash = InStr(iStart, vsPriorDOCS, "-") While iDash > 0 iPos = iDash - 1 sChar = ""
sChar = Mid(vsPriorDOCS, iPos, 1) sLeftNum = ""

'Find Numeric values to the left of the Dash While sChar >= Chr(48) And sChar <= Chr(57) sLeftNum = aChar & sLeftNum iPos = iPos - 1 If iPoa > 0 Then sChar = Mid(vsPriorDocs, iPos, 1) Else sChar = ""
End If Wend iPOS = iDash + 1 sChar = ""
sChar = Mid(vsPriorDocs, iPOS, 1) sRightNum = ""
'Find Numeric values to the right of the Dash While sChar >= Chr(48) And sChar <= Chr(57) sRightNum = sRightNum & sChar iPOS = iPos + 1 If iPoa <= Len(vsPriorDocs) Then sChar = Mid(vsPriorDoca, iPos, 1) Else sChar = ""
End If Wend 'If a valid Doc Number pattern was found then build a Doc Number.
If (Len(sLeftNum) > 1 And Len(sLeftNum) < 5) And (Len(sRightNum) > 0) Then 'Pad the right part of the Doc Number with zeros If Len(aRightNum) < 6 Then aRightNum = String(6 - Len(aRightNum), 48) & aRightNum End If DuPagePriorDocs = DuPagePriorDocs & "R" & sLeftNum & "-" & sRightNum & "~"
End If 'Look for the next dash which signifies a Doc Number If iDash + 1 <= Len(vsPriorDocs) Then iDash = InStr(iDash + 1, vsPriorDocs, '-") End If Wend 'If any characters exist in the last 2 positions then 'assume we need to go to the Doc Detail screen 'to get more Doc Numbers.
If InStr(Right(RTrim(vsPriorDOCa), 6), "R") > 0 Then DuPagePriorDoca = "MORE "
End If End Function

Claims (14)

WE CLAIM:
1. A method for outputting an analyzed data report, comprising:
receiving a request signal, the request signal being a request for an analyzed data report of a parcel of real property;
accessing a database of records, the database of records relating to the parcel of real property;
collecting data from the database of records;
analyzing the collected data;
creating the analyzed data report from the analysis of the collected data; and outputting the analyzed data report to an end user.
2. The method of Claim 1, wherein the request signal is received at a communication node.
3. The method of Claim 2, wherein the request signal is sent by a communication device.
4. The method of Claim 1, wherein the collecting step further comprises:
receiving real estate tax information for the parcel of real property;
retrieving a legal description of the parcel of real property;
retrieving a document chain relating to the parcel of real property;
and organizing the data into a predetermined order.
5. The method of Claim 1, wherein the analyzing step further comprises:
scanning the collected data;
searching the collected data for a set of preset conditions; and noting the occurrence of any of the set of preset conditions.
6. The method of Claim 1, wherein the creating step further comprises developing the analyzed data report so that the analyzed data report contains a listing of the parcel of real property and any of the set of preset conditions.
7. The method of Claim 1, wherein the analyzed data report is outputted according to predetermined preferences.
8. A system for outputting an analyzed data report, comprising:
means for receiving a request signal, the request signal being a request for an analyzed data report of a parcel of real property;
means for accessing a database of records, the database of records relating to the parcel of real property;
means for collecting data from the database of records;
means for analyzing the collected data;
means for creating the analyzed data report from the analysis of the collected data; and means for outputting the analyzed data report to an end user.
9. The system of Claim 8, wherein the request signal is received at a communication node.
10. The system of Claim 9, wherein the request signal is sent by a communication device.
11. The system of Claim 8, wherein the collecting step further comprises:
means for receiving real estate tax information for the parcel of real property;

means for retrieving a legal description of the parcel of real property;
means for retrieving a document chain relating to the parcel of real property; and means for organizing the data into a predetermined order.
12. The system of Claim 8, wherein the analyzing step further comprises:
means for scanning the collected data;
means for searching the collected data for a set of preset conditions; and means for noting the occurrence of any of the set of preset conditions.
13. The system of Claim 8, wherein the creating step further comprises means for developing the analyzed data report so that the analyzed data report contains a listing of the parcel of real property and any of the set of preset conditions.
14. The system of Claim 8, wherein the analyzed data report is outputted according to predetermined preferences.
CA002458759A 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report Abandoned CA2458759A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2001/030082 WO2003036514A1 (en) 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report

Publications (1)

Publication Number Publication Date
CA2458759A1 true CA2458759A1 (en) 2003-05-01

Family

ID=21742867

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002458759A Abandoned CA2458759A1 (en) 2001-09-26 2001-09-26 Method and system for outputting an analyzed data report

Country Status (3)

Country Link
EP (1) EP1438681A4 (en)
CA (1) CA2458759A1 (en)
WO (1) WO2003036514A1 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
CA2174934A1 (en) * 1993-10-29 1995-05-04 Ronald D. Keithley Interactive multimedia communications system which accesses industry-specific information
US5680305A (en) * 1995-02-16 1997-10-21 Apgar, Iv; Mahlon System and method for evaluating real estate
US5857174A (en) * 1997-11-21 1999-01-05 Dugan; John W. Real estate appraisal method and device for standardizing real property marketing analysis by using pre-adjusted appraised comparable sales
US6334107B1 (en) * 1999-02-04 2001-12-25 Rental Tracker Method of managing a real estate unit
GB2352307A (en) * 1999-07-20 2001-01-24 Int Computers Ltd Computer system for automatically tracking transactions
US6871140B1 (en) * 2000-02-25 2005-03-22 Costar Group, Inc. System and method for collection, distribution, and use of information in connection with commercial real estate
US20010034701A1 (en) * 2000-02-29 2001-10-25 Fox Adam F. Business process and system for managing and tracking loan collateral

Also Published As

Publication number Publication date
EP1438681A4 (en) 2006-04-19
WO2003036514A1 (en) 2003-05-01
EP1438681A1 (en) 2004-07-21

Similar Documents

Publication Publication Date Title
US7047244B2 (en) Method of and system including a host database for determining connections between a host and a target person
US8046306B2 (en) System, method, and apparatus for property appraisals
US8510031B2 (en) Systems and methods for information transformation and exchange
US20070112690A1 (en) Method and system for performing legal services over the internet
US7228298B1 (en) Apparatus and method for perusing selected vehicles having a clean title history
AU2001268489A1 (en) Method of and system for determining connections between parties over a network
US20040133561A1 (en) System and method for identifying alternate contact information
US20050021551A1 (en) Current mailing address identification and verification
EP1471450A1 (en) A computer system for providing credit information data
US20040267559A1 (en) Dispute management system and method
US20080306982A1 (en) System and method for generating reports on real property and surroundings
US20040153432A1 (en) Method and system for outputting an analyzed data report
US20040138896A1 (en) Web based property management method and system
US20030195868A1 (en) Methods and systems for correlating company data stored in an electronic database
US20050010551A1 (en) Method of and system for determining connections between parties using private links
US20080082344A1 (en) Electronic automated real estate appraisal information exchange and management system
CA2458759A1 (en) Method and system for outputting an analyzed data report
JP4392216B2 (en) Financial service guidance system and guidance program
JP6703220B2 (en) Corporation information providing device, method, and system
US20050108202A1 (en) Information search system and information search method
Kon et al. Data Quality Requirements: Analysis and Modeling
KR100725292B1 (en) Method for providing a change information of purchase price using a web server
KR20010110617A (en) Method for Real Estate Rights Analysis Service in Internet
EP1191468A1 (en) Method and system for collecting and providing data
CN116402054A (en) Method and device for extracting effective text information

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued