DE60032403T2 - Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen - Google Patents

Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen Download PDF

Info

Publication number
DE60032403T2
DE60032403T2 DE60032403T DE60032403T DE60032403T2 DE 60032403 T2 DE60032403 T2 DE 60032403T2 DE 60032403 T DE60032403 T DE 60032403T DE 60032403 T DE60032403 T DE 60032403T DE 60032403 T2 DE60032403 T2 DE 60032403T2
Authority
DE
Germany
Prior art keywords
report
user
user input
script
application
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.)
Expired - Lifetime
Application number
DE60032403T
Other languages
English (en)
Other versions
DE60032403D1 (de
Inventor
Eric Gloucester McCully
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.)
International Business Machines Corp
Original Assignee
Cognos Inc
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 Cognos Inc filed Critical Cognos Inc
Publication of DE60032403D1 publication Critical patent/DE60032403D1/de
Application granted granted Critical
Publication of DE60032403T2 publication Critical patent/DE60032403T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24549Run-time optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Abfrage und die Darstellung von Informationen aus einer Datenbank. Die vorliegende Beschreibung betrifft insbesondere ein Verfahren und eine Vorrichtung für die individuell angepasste Abfrage und Darstellung von Informationen aus einer relationalen Datenbank, die mit einem TCP/IP-Netzwerk verbunden ist.
  • HINTERGRUND DER ERFINDUNG
  • Durch ein explosives Wachstum und eine steigende Beliebtheit von digitalen Kommunikationsnetzen hat sich die Art und Weise verändert, in der auf Informationen zugegriffen wird, sie ausgetauscht und verbreitet werden. Unter verschiedenen, sowohl privaten als auch öffentlichen digitalen Kommunikationsnetzen ist das Internet bei weitem das beliebteste geworden. Aufgrund seiner offenen (nicht proprietären) Kommunikationsprotokolle und Architektur hat dieses Netz eine große Anzahl von Benutzern angezogen. Aufgrund der Vielfalt von physikalischen Verbindungen, von Satellitenverbindungen bis hin zu privaten Telefonanschlussleitungen, ist das Internet zu einem wahrhaft globalen Phänomen geworden.
  • Das Internet hat von Anfang an eine Anzahl von Protokollen für die Kommunikation und den Austausch von Informationen unterstützt, wie zum Beispiel die elektronische Post (E-Mail), die Dateiübertragung (ftp) und die direkte Verbindung zu einem entfernten Rechner, um auf dessen Ressourcen zuzugreifen (Telnet), mit einigen anderen Protokollen, insbesondere HTTP, das später hinzukam. In den letzten Jahren ist das HTTP-Protokoll zu dem beliebtesten Kommunikationsprotokoll geworden, das im Internet verwendet wird. Das weltweite Netz von Rechnern, die mit dem Internet verbunden sind und die HTTP als Kommunikationsprotokoll verwenden, ist bekannt als World Wide Web (WWW) oder einfach als Web.
  • Der Zuspruch des Internets und seiner Protokolle führte zu der Entwicklung privater Netzwerke, die das Übertragungskontrollprotokoll/Internetprotokoll (TCP/IP) und das Hypertextübertragungsprotokoll (HTTP) als deren Kommunikationsstandards verwenden. Diese Netzwerke, die als Intranets bekannt sind, werden üblicherweise von Firmen, Gesellschaften oder ähnlichen Organisationen eingesetzt, um den Austausch von Informationen und Kommunikation zwischen den Mitgliedern der Organisation zu erleichtern. Sie umfassen ein großes Spektrum, von kleinen hausinternen (Büro-)Netzwerken bis zu weltumspannenden Netzwerken. Die Verwendung von Internet-Kommunikationsprotokollen in Intranets erleichtert deren Kommunikation mit anderen IP-Netzwerken, insbesondere mit dem Internet.
  • Die Entwicklung des World Wide Web führte zu großen Datenmengen, die auf verschiedenen Webseiten zur Verfügung gestellt wurden, häufig in Form von durchsuchbaren Datenbanken, ein Phänomen, das als Datenbankveröffentlichung (Database Publishing) bekannt ist. Viele dieser Datenbanken sind der Öffentlichkeit zugänglich und enthalten frei zugänglich Informationen, wie zum Beispiel Bücherkataloge oder Patentspezifikationen. Kommerzielle (gebührenpflichtige) Datenbanken, die proprietäre Informationen oder frei zugängliche Informationen mit einigen Mehrwertmerkmale enthalten können, oder Datenbanken, die proprietäre Informationen enthalten, die Gesellschaften oder sonstigen privaten Einrichtungen gehören, können ebenfalls über das Web zugänglich sein, aber der Zugang zu diesen Datenbanken ist üblicherweise auf autorisierte Benutzer beschränkt und ist passwortgeschützt. Ähnliche Zugangsbeschränkungen können auch für interne Datenbanken gelten, die nur den Beschäftigten einer Einrichtung über ein privates Netzwerk, insbesondere ein Intranet, zugänglich sind, und werden üblicherweise verwendet, um verschiedene Ebenen des Zugriffs auf Informationen, die aus der Datenbank abrufbar sind, einzurichten (Zugriffsrechte). Sowohl bei öffentlichen als auch bei privaten (internen) Datenbanken, die mit TCP/IP-Netzwerken verbunden sind, gibt es eine steigende Tendenz, eine Web-kompatible Benutzerschnittstelle zum Abrufen von Informationen aus der Datenbank zu schaffen, üblicherweise mit einem Web-Browser als einzig erforderliches Werkzeug, um auf die Datenbank zuzugreifen.
  • Der Abruf von Informationen aus einer Datenbank erfordert üblicherweise, dass die abgerufenen Informationen in einer für den Benutzer aussagekräftigen Form dargestellt sind. Ein Beispiel für eine derartige aussagekräftige Form ist ein Bericht, eine organisierte Darstellung von bestimmten Informationen, die in einer oder mehreren Datenbanken verfügbar sind. Ein Bericht kann Listen von Figuren, Tabellen, Graphen, Schaubilder und dergleichen enthalten. In einer verwalteten Berichtsumgebung, die üblicherweise von einem Datenbankverwaltungssystem (DBMS) gesteuert wird, erhält der Benutzer Zugriff auf eine Gruppe von vorgegebenen Berichten, die in einer anderen Datenbank gespeichert sind. Jede vorgegebene Berichtsspezifikation, die in einer derartigen Datenbank gespeichert ist, stellt einen Befehlssatz (Software-Code) dar, der in der Lage ist, Daten aus einer oder mehreren Datenbanken abzurufen und sie in Form eines Berichts darzustellen. Fordert der Benutzer einen Bericht an, indem er ihn üblicherweise aus einer Liste von verfügbaren Berichten auswählt, wird der Code der entsprechenden Berichtsspezifikation ausgeführt, und der Bericht wird dem Benutzer als Ergebnis dargestellt.
  • Das Herzstück jeder verwalteten Berichtsumgebung ist ein Berichtsserver, ein Rechner, der ein Programm (Software- Code) ausführt, der eine Benutzer-Schnittstelle bereitstellt, der eine Eingabe von dem Benutzer erhält, der einen spezifischen vorgegebenen Bericht anfordert, der die vorgegebene Berichtsspezifikation in einer Datenbank mit derartigen Spezifikationen findet, der die vorgegebene Berichtsspezifikation ausführt (einschließlich des Abrufens geeigneter Informationen aus einer oder mehreren Datenbanken), der einen Bericht erstellt und den Bericht zu der Benutzerschnittstelle sendet. Eine verwaltete Berichtsumgebung kann zusätzliche Funktionen erfüllen, wie zum Beispiel das Überprüfen des Zugriffs auf bestimmte Berichtsspezifikationen, d.h. Bereitstellung einer vorgegebenen Gruppe von Benutzern mit Zugriff auf nur eine Teilmenge der verfügbaren Berichtsspezifikationen.
  • Bekannte verwaltete Berichtsumgebungen erfordern daher, dass der Benutzer eine vorgegebene Berichtsspezifikation auswählt. Eine annehmbare vorgegebene Berichtsspezifikation, die den spezifischen Anforderungen des Benutzers an Informationen genügt, kann jedoch in dem System nicht verfügbar sein. Es ist häufig schwierig, insbesondere bei einer großen Anzahl von Benutzern einer Datenbank, wie zum Beispiel bei einer großen Einrichtung, eine ausreichende Anzahl von Berichtsspezifikationen zu führen, um alle oder die meisten Bedürfnisse der Benutzer zu befriedigen. Eine Datenbank kann zum Beispiel Absatzzahlen für 100 verschiedene Produkte in 100 verschiedenen Ländern enthalten, während der Benutzer eventuell einen Bericht anfordert, der Absatzzahlen für nur 10 spezifische Produkte in 10 spezifischen Ländern enthält. Der Benutzer wird wahrscheinlich nicht in der Lage sein, eine Berichtsspezifikation aufzufinden, die die gewünschte Kombination von Produkten und Ländern bietet, da ein derartiger Bericht nur einer aus einer äußerst großen Anzahl von möglichen Berichten wäre, die Benutzer anfordern könnten.
  • Eine Vorgehensweise, um dieses Problem zu lösen, besteht darin, eine auffordernde vorgegebene Berichtsspezifikation zu verwenden, die gelegentlich als „angeforderter Bericht" bezeichnet wird. Nachdem eine auffordernde vorgegebene Berichtsspezifikation von dem Benutzer ausgewählt und ausgeführt ist, wird der Benutzer aufgefordert, bestimmte zusätzliche Informationen zu liefern. Falls zum Beispiel eine auffordernde vorgegebene Berichtsspezifikation entwickelt wurde, um einen Bericht zu erstellen, einschließlich Absatzzahlen für eine Gruppe spezifischer Produkte in einer Gruppe spezifischer Länder, würde der Benutzer aufgefordert werden, ein oder mehrere Länder aus einer Länderliste auszuwählen und ein oder mehrere Produkte aus einer Produktliste auszuwählen. Hat der Benutzer die geforderten Informationen als Antwort auf die Aufforderungen geliefert, führt der Berichtsserver die auffordernde vorgegebene Berichtsspezifikation aus und liefert einen Bericht, der Informationen in Abhängigkeit von der Benutzereingabe enthält. Auffordernde vorgegebene Berichtsspezifikationen verwenden daher eine begrenzte Form der Informationsfilterung, damit die verwaltete Berichtsumgebung eine größere Vielfalt an Berichten liefern kann. Da auffordernde vorgegebene Berichtsspezifikationen jedoch nur eine begrenzte individuelle Anpassung bieten, ist es möglich, dass der Benutzer immer noch nicht die gewünschte Berichtsspezifikation, die seinen spezifischen Bedürfnissen entspricht, erhält. Da die Aufforderungen eines auffordernden Berichts festkodiert sind, d.h. einen Teil des Codes der vorgegebenen Berichtsspezifikation bilden, können sie nicht verändert werden, ohne dass die Spezifikation oder zumindest Teile davon umkodiert werden, was eine weitere bedeutende Einschränkung bei auffordernden vorgegebenen Berichtsspezifikationen darstellt.
  • Das US-Patent Nr. 5,721,903 (Anand et al.) offenbart ein System und ein Verfahren zum Erstellen von Berichten. Das System von Anand et al. enthält eine grafische Benutzer oberfläche (GUI) 40 und bietet vier Systemvorlagen. Die Systemvorlage kann als Entsprechung für eine auffordernde vorgegebene Berichtsspezifikation angesehen werden. Die Vorlage kann nach ihrer Öffnung von dem Benutzer verändert werden, indem er über die GUI 40 eine Auswahl trifft, und zwar im Wesentlichen in derselben Art und Weise, wie sie in einem angeforderten Bericht erfolgt.
  • Eine andere mögliche Vorgehensweise, um eine gewünschte Berichtsspezifikation zu erhalten, die als vorgegebene Berichtsspezifikation oder auffordernde vorgegebene Berichtsspezifikation nicht verfügbar ist, wäre die, eine der verfügbaren Berichtsspezifikationen, die einen Bericht liefern können, der dem von dem Benutzer gewünschten Bericht ähnelt, zu verändern. Bekannte Verfahren zur Abänderung einer Berichtsspezifikation erfordern jedoch die Abänderung des Codes der Spezifikation. Die meisten Benutzer von verwalteten Berichtsumgebungen haben keine ausreichenden Fähigkeiten, Kenntnisse oder Zeit, um den betreffenden Teil des Spezifikationscodes aufzufinden und die erforderlichen Abänderungen vorzunehmen oder eine vollkommen neue Berichtsspezifikation zu codieren. Die unmittelbare Abänderung des Codes einer vorgegebenen Berichtsspezifikation kann für häufige und erfahrene Benutzer annehmbar sein, wäre jedoch für die meisten Benutzer der verwalteten Berichtsumgebung unpraktisch oder sogar unmöglich.
  • Das Problem des Erstellens individuell angepasster Berichtsspezifikationen, d.h. Spezifikationen, die den spezifischen Bedürfnissen und Erfordernissen des Datenbankbenutzers entsprechen, veranschaulicht ein allgemeineres Problem der individuell angepassten Abfrage und Darstellung von Informationen, die in einer Datenbank zur Verfügung stehen. Es besteht eindeutig ein Bedarf danach, ein einfaches und flexibles Verfahren zum Erzielen einer individuell angepassten Abfrage und Darstellung von Informationen aus Datenbanken, insbesondere aus relationalen Datenbanken, bereitzustellen. Die vorliegende Erfindung bietet ein derartiges Verfahren, das frei ist von vielen Beschränkungen nach dem Stand der Technik.
  • KURZDARSTELLUNG DER ERFINDUNG
  • In den beigefügten Ansprüchen sind Gesichtspunkte der vorliegenden Erfindung dargelegt.
  • In einer Ausführungsform der vorliegenden Erfindung ist ein Verfahren der individuell angepassten Abfrage und Darstellung von Informationen aus einer relationalen Datenbank vorgesehen. Dies wird dadurch erzielt, dass gemäß der von dem Benutzer erfolgten Eingaben eine erste Anwendung zur Abfrage und Darstellung von Informationen aus einer Datenbank zu dem Zeitpunkt abgeändert wird, wenn die Ausführung der ersten Anwendung von dem Benutzer angefordert wird. Die Benutzereingabe wird von einer zweiten Anwendung, die mit der ersten Anwendung verknüpft ist, abgerufen und gesammelt. Ist die Benutzereingabe erfolgt, erstellt die zweite Anwendung ein Skript, das den Code der ersten Anwendung abändert. Der geänderte Code der ersten Anwendung wird dann ausgeführt, und die angeforderten Informationen werden abgerufen und dem Benutzer in der durch die Benutzereingabe individuell angepassten Form dargestellt.
  • Ein wichtiges Merkmal des Verfahrens gemäß der vorliegenden Erfindung besteht darin, dass die erste Anwendung dynamisch (während der Laufzeit) und vorübergehend geändert wird, ohne dass irgendwelche dauernden Änderungen am Ursprungscode der ersten Anwendung erfolgen. Dieselbe erste Anwendung kann auf verschiedene Arten von unterschiedlichen Benutzern durch Verknüpfung mit verschiedenen zweiten Anwendungen individuell angepasst werden. Auf ähnliche Weise kann die zweite Anwendung mit verschiedenen ersten Anwendungen zum Zwecke des Filterns und des Formatierens von individuell angepassten Informationen verknüpft werden.
  • Im Vergleich mit Verfahren, die eine vollständige und teilweise Umkodierung der ersten Anwendung, um die gewünschte individuelle Anpassung zu erzielen, erfordern, vereinfacht diese Vorgehensweise den Prozess der individuell angepassten Abfrage und Darstellung von Informationen aus einer Datenbank beträchtlich und macht ihn wesentlich flexibler. Diese Vorgehensweise verringert ebenfalls beträchtlich die Anzahl der ersten Anwendungen, die in dem System gespeichert werden müssen, um die Abfrage und Darstellung von Informationen, die spezifischen Bedürfnissen einer großen Anzahl von Benutzern entsprechen, zu erzielen. Durch die Verwendung geeigneter Werkzeuge der schnellen Anwendungsentwicklung wird durch diese Vorgehensweise die Neuanlegung von Anwendungen, die die Abfrage und Darstellung von Informationen individuell anpassen, auch für eine größere Anzahl von Datenbankbenutzern erreichbar.
  • Gemäß einem Gesichtspunkt der Erfindung ist daher eine Vorrichtung zur Erstellung eines Berichts vorgesehen, wobei die Vorrichtung Folgendes umfasst: eine Benutzerschnittstelle zum Empfangen von Benutzereingaben; einen Skript erstellenden Server für: die Aufforderung zu einer weiteren Benutzereingabe; die Erstellung eines Skripts, das der weiteren Benutzereingabe entspricht; eine erste Datenbank, umfassend vorgegebene Berichtsspezifikationen; eine zweite Datenbank, umfassend Informationen zur Einfügung in Berichte; einen Berichtsserver zum Auffinden einer vorgegebenen Berichtsspezifikation, die der Benutzereingabe entspricht, in der ersten Datenbank; zum Laden der vorgegebenen Berichtsspezifikation; zum Anwenden des Skripts auf die vorgegebene Berichtsspezifikation, um eine individuell angepasste Berichtsspezifikation anzulegen; zum Ausführen der individuell angepassten Berichtsspezifikation, einschließlich des Abrufens geeigneter Informationen aus der zweiten Datenbank, um einen Bericht zu erstellen, und Mittel zur Ausgabe des Berichts an die Benutzerschnittstelle.
  • Gemäß einem weiteren Gesichtspunkt der Erfindung ist eine Vorrichtung zur Erzeugung eines Berichts vorgesehen, wobei die Vorrichtung Folgendes umfasst: Mittel zum Empfangen einer Benutzereingabe, Mittel zur Aufforderung zu einer weiteren Benutzereingabe; zum Erstellen eines Skripts, das der weiteren Benutzereingabe entspricht; eine erste Datenbank, umfassend vorgegebene Berichtsspezifikationen; eine zweite Datenbank, umfassend Informationen zur Einfügung in Berichte; Mittel zum Auffinden einer vorgegebenen Berichtsspezifikation, die der Benutzereingabe entspricht, in der ersten Datenbank; zum Laden der vorgegebenen Berichtsspezifikation; zum Anwenden des Skripts auf die vorgegebene Berichtsspezifikation, um eine individuell angepasste Berichtsspezifikation anzulegen; zum Ausführen der individuell angepassten Berichtsspezifikation, einschließlich zum Abrufen geeigneter Informationen aus der zweiten Datenbank, um einen Bericht zu erstellen, und Mittel zur Ausgabe des Berichts.
  • Weitere Vorteile, Aufgaben und Merkmale der vorliegenden Erfindung werden für die Fachleute anhand der folgenden ausführlichen Beschreibung von bevorzugten Ausführungsformen in Verbindung mit den beigefügten Zeichnungen und Ansprüchen leicht ersichtlich sein.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Ausführungsformen der Erfindung werden jetzt mit Bezug auf die beigefügten Zeichnungen beschrieben, bei denen:
  • 1 ein Ablaufdiagramm ist, das das Verfahren nach dem Stand der Technik zum Erstellen eines Berichts anhand einer vorgegebenen Berichtsspezifikation veranschaulicht;
  • 2 ein Ablaufdiagramm ist, das das Verfahren zum Erstellen eines Berichts anhand einer vorgegebenen Berichtsspezifikation gemäß der vorliegenden Erfindung veranschaulicht;
  • 3 ein Diagramm ist, das ein System zum Erstellen eines Berichts anhand einer vorgegebenen Berichtsspezifikation gemäß der vorliegenden Erfindung veranschaulicht;
  • 4 ein Bildschirmfoto ist, das den Hauptbildschirm eines Werkzeugs der schnellen Anwendungsentwicklung zum Anlegen von Anwendungen zur Berichtsanpassung gemäß der vorliegenden Erfindung zeigt; und
  • 5 ein architektonischer Überblick ist, der die Wechselwirkung einer Anwendung zur Berichtsanpassung gemäß der vorliegenden Erfindung mit einer verwalteten Berichtsumgebung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Mangels einer ausdrücklichen gegenteiligen Darstellung betrifft der Begriff „Datenbank", wie er hier verwendet wird, eine oder mehrere Datenbanken, aus denen Informationen abgerufen und dem Benutzer dargestellt werden können. Der Begriff „Berichtsspezifikation", wie er hier verwendet wird, betrifft eine Anwendung zum Abfragen von Informationen aus einer Datenbank und zu ihrer Darstellung für den Benutzer in Form eines Berichts. Der Begriff „Anwendung" betrifft ein Programm oder eine Programmgruppe, die für Endbenutzer eines Datenbankverwaltungssystems entwickelt wurden.
  • Zum Zwecke der Klarheit und eines besseren Verständnisses wird die vorliegende Erfindung im Rahmen einer verwalteten Berichtsumgebung beschrieben, die individuell angepasste Berichte für Benutzer einer Datenbank erstellt. Die Fachleute werden sich bewusst sein, dass die vorliegende Erfindung nicht auf verwaltete Berichtsumgebungen beschränkt ist, sondern für andere Umgebungen und Formen der Abfrage und der Darstellung von Informationen aus einer Datenbank gelten kann.
  • Wenn wird jetzt die Figuren betrachten, so zeigt 1 ein Ablaufdiagramm, das veranschaulicht, wie Berichte in einer nach dem Stand der Technik üblichen verwalteten Berichtsumgebung erstellt werden. Im ersten Schritt 10 werden Eingaben des Benutzers vom System gesammelt. Einige der Eingaben können direkt von dem Rechner des Benutzers gesammelt werden, ohne dass der Benutzer eine Maßnahme ergreift. Beispiele für derartige Eingaben sind die Zeitzone, in der der Rechner des Benutzers betrieben wird, die Benutzersprache, das Land und die Art des verwendeten Browsers. Weitere Eingaben erfolgen vom Benutzer über eine Benutzerschnittstelle. Beispiele für derartige Eingaben sind das Benutzerpasswort und der spezifische Bericht, der vom Benutzer ausgewählt wird, zum Beispiel aus einer Liste verfügbarer Berichte. Der auf diese Weise ausgewählte Bericht entspricht üblicherweise einer verfügbaren vorgegebenen Berichtsspezifikation.
  • In Schritt 20 empfängt ein Berichtsserver 510 die Benutzereingaben. Der Berichtsserver 510 findet die spezifische vorgegebene Berichtsspezifikation, die dem von dem Benutzer angeforderten Bericht entspricht, und lädt ihn aus einer Datenbank 520 aus vorgegebenen Berichtsspezifikationen. In Schritt 30 führt der Berichtsserver 510 die vorgegebene Berichtsspezifikation aus, einschließlich des Abfragens geeigneter Informationen aus einer Datenbank 530, wie zum Beispiel einer Datenbank über Firmenumsätze, um einen Bericht zu erstellen. In Schritt 40 wird der Bericht dem Benutzer an der Benutzerschnittstelle dargestellt. Der Bericht kann ein beliebiges Format aufweisen, wie zum Beispiel html, pdf, xml, gedruckt und Ähnliches.
  • Die oben dargestellte verwaltete Berichtsumgebung nach dem Stand der Technik bietet dem Benutzer nur wenig oder gar keine Gelegenheit, den Bericht individuell anzupassen, und die Benutzereingabe beschränkt sich üblicherweise darauf, einen vorgegebenen Bericht oder einen anfordernden vorgegebenen Bericht aus den in dem System verfügbaren Berichten auszuwählen. Bei einem anfordernden Bericht hat der Benutzer begrenzte Möglichkeiten, die abgefragten Informationen zu filtern und den Bericht individuell anzupassen. Durch die vorliegende Erfindung wird der Anpassungsprozess einfacher und flexibler.
  • Die Erstellung eines individuell angepassten Berichts gemäß der vorliegenden Erfindung ist schematisch in 2 gezeigt, die ein Ablaufdiagramm ist, die veranschaulicht, wie Berichte in einer verwalteten Berichtsumgebung gemäß der vorliegenden Erfindung erstellt werden. In Schritt 110 werden die ersten Eingaben vom Benutzer gesammelt. Ähnlich wie bei der Berichtsumgebung nach dem Stand der Technik können einige Eingaben direkt von dem Rechner des Benutzers gesammelt werden, ohne dass der Benutzer eine Maßnahme ergreift. Andere Eingaben, wie zum Beispiel das Benutzerpasswort und der angeforderte Bericht, erfolgen durch den Benutzer über eine Benutzerschnittstelle. Nachdem der vom Benutzer angeforderte Bericht in Schritt 120 identifiziert wurde, werden in Schritt 130 weitere Benutzereingaben von einem Skript erstellenden Server 620 gesammelt, der den Benutzer zu Informationen über Änderungen auffordert, die der Benutzer an dem ausgewählten Bericht vornehmen möchte. Anhand der in Schritt 130 gesammelten Benutzereingaben wird in Schritt 140 von dem Skript erstellenden Server 620 ein Skript erstellt. Dieses Skript wird an den Berichtsserver 610 weitergeleitet und wird in Schritt 160 auf die vorgegebene Berichtsspezifikation, die vom Benutzer ausgewählt wurde, angewandt, um sie individuell anzupassen. Die anzupassende Berichtsspezifikation wurde in Schritt 150 von dem Berichtsserver 610 aus einer Datenbank 520 mit vorgegebenen Berichtsspezifikationen geladen. In Schritt 170 führt der Berichtsserver 610 die individuell angepasste Berichtsspezifikation aus, einschließlich des Abfragens von geeigneten Informationen aus einer oder mehreren Datenbanken 510, die Informationen enthalten, die für den Benutzer von Interesse sind, um einen Bericht zu erstellen. In Schritt 180 wird der Bericht vom Berichtsserver 610 an die Benutzerschnittstelle ausgegeben. Der Bericht kann für den Benutzer in einem beliebigen geeigneten Format dargestellt sein, wie zum Beispiel html, pdf, xls, gedruckt und Ähnliches.
  • In einer bevorzugten Ausführungsform wird die vorgegebene Berichtsspezifikation, die vom Benutzer ausgewählt wurde, individuell angepasst, indem eine Anwendung, die mit dem Bericht verknüpft ist, verwendet wird, wobei die Anwendung in Verbindung mit dem Bericht ausgewählt wird. Während der Laufzeit darf nur eine Anwendung mit der Berichtsspezifikation verknüpft sein, auch wenn mehr als eine Anwendung verwendet werden kann, um denselben Bericht individuell anzupassen. Um also die Informationen zu filtern, die aus der Datenbank abgerufen werden sollen, und einen Bericht individuell anzupassen, wählt der Benutzer sowohl einen vorgegebenen Bericht als auch eine mit einem Bericht verknüpfte Anwendung. Wird eine Anwendung im Hinblick auf einen damit verknüpften Bericht ausgeführt, erhält der Benutzer zunächst eine Reihe von Aufforderungen, zusätzliche Eingaben vorzunehmen, zum Beispiel, indem er eine Auswahl aus mehreren verfügbaren Optionen trifft. Anhand der Benutzereingabe erstellt die Anwendung ein Skript in einer geeigneten Skriptsprache, wie zum Beispiel der CognosScript-Sprache, deren Skript angewendet wird auf die vorgegebene Berichtsspezifikation, die vom Benutzer ausgewählt wurde, um ihren Code zu verändern und den Bericht gemäß der Benutzereingaben individuell anzupassen. In einigen Fällen werden die Änderungen tatsächlich gleichbedeutend sein mit der Anlegung einer vollständig neuen Berichtsspezifikation aufgrund der Benutzereingaben. Eine derartig veränderte oder neu angelegte Berichtsspezifikation wird dann im Hinblick auf die mit dem Bericht verknüpfte Datenbank ausgeführt, was dazu führt, dass ein individuell angepasster Bericht an den Benutzer übermittelt wird. Dieser Vorgang, wie er in der webbasierten Umgebung ausgeführt wird, ist schematisch in 3 gezeigt, mit einem Web-Browser 5 als einzige Benutzerschnittstelle und dem Internet 15, das als Kommunikationsmittel verwendet wird.
  • In einer bevorzugten Ausführungsform ist die Anwendung so angepasst, dass sie in einer webbasierten Umgebung ausgeführt wird, wobei ein Web-Browser als einzige Benutzerschnittstelle verwendet wird. Während ihrer Laufzeit erscheint die Anwendung dem Benutzer als eine Reihe von HTML-Seiten, die den Benutzer durch den Änderungsprozess führen und den Benutzer auffordern, den Inhalt und die Form des Berichts festzulegen, üblicherweise durch Auswahl aus Listen von gegebenen Werten und Optionen. Falls erforderlich, enthalten die Seiten auch Anleitungen für das Navigieren durch die HTML-Seiten.
  • In einer bevorzugten Ausführungsform umfasst eine Anwendung, die für die Anpassung von Berichten verwendet wird, eine Eingabe-, eine Beenden- und eine Fehlerseite. Die Eingabeseite startet den Prozess des Sammelns von Eingaben und ist die erste Seite, die dem Benutzer dargestellt wird. Die Beenden-Seite aktiviert das Skript, das die von dem Benutzer ausgewählte vorgegebene Berichtsspezifikation abändert und ist die letzte Seite, die dem Benutzer dargestellt wird. Die Fehlerseite wird nur angezeigt, falls ein Fehler auftritt, wenn die Anwendung ausgeführt wird, um eine entsprechende Warnung auszugeben. Es können keine Verknüpfungen zu oder von der Fehlerseite erfolgen. Der Pfad zwischen der Eingabe- und der Beenden-Seite kann so viele zusätzliche Seiten enthalten, wie erforderlich sind, um die Informationen zu filtern, die in einer Datenbank verfügbar sind, und um den Bericht individuell anzupassen. Die Seiten können direkte, lineare Verknüpfungen zwischen der Eingabe- und der Beenden-Seite aufweisen, Verknüpfungsschleifen, mit denen der Benutzer mehrere Optionen angeben kann, und bedingte Verknüpfungen, die einer Verzweigung des Navigationspfades folgen. Insbesondere die letzten beiden Arten von Verknüpfungen bieten eine wesentliche Flexibilität bei dem Filtern der verfügbaren Informationen und dem Anpassen des Berichts an die Bedürfnisse und Erfordernisse des Benutzers.
  • Da die HTML-Seiten der anpassenden Anwendung einfache Textdateien sind, können sie angelegt und formatiert werden, indem ein HTML-Bearbeitungsprogramm oder sogar ein Textverarbeitungsprogramm verwendet wird. Der Prozess des Anlegens einer Anwendung zur individuellen Anpassung eines Berichts kann jedoch wesentlich vereinfacht werden durch die Verwendung eines geeigneten Werkzeugs der schnellen Anwendungsentwicklung (RAD), wie zum Beispiel das PowerPrompts Developer Studio für Impromptu Webberichte (von Cognos Incorporated), das unter dem Windows-Betriebssystem läuft. 4 zeigt den Hauptbildschirm von PowerPrompts Developer Studio, der einen Arbeitsbereich vorsieht, in dem eine Anwendung in einer grafischen Umgebung angelegt oder bearbeitet werden kann. Jedes bezeichnete Symbol, das in dem Arbeitsbereich erscheint, stellt eine HTML-Seite der individuell anpassenden Anwendung, die angelegt oder bearbeitet wird, dar, wobei Pfeile den Navigationspfad zwischen ihren Seiten zeigen. Wird eine neue Anwendung in Developer Studio geöffnet, erscheinen Symbole der Eingabe-, der Beenden- und der Fehlerseite, die in den Arbeitsbereich eingefügt werden, mit einem direkten Navigationspfad zwischen der Eingabe- und der Beenden-Seite. Zusätzliche Seiten und Navigationspfade dazwischen können zu dem Arbeitsbereich hinzugefügt werden, indem geeignete Werkzeuge, die in der Werkzeugleiste vorgesehen sind, verwendet werden.
  • Wird ein Seitensymbol in dem Arbeitsbereich eingefügt, führt dies zu einer automatischen Anlegung einer entsprechenden HTML-Seite, die entweder auf einer vorab angelegten Vorlage (bei der Eingabeseite und allen zusätzlichen Seiten) oder einem Standard-HTML-Code (bei der Beenden- und der Fehlerseite) beruht. Sämtliche Seiten der Anwendung können mit üblichen HTML-Codes bearbeitet und formatiert werden und können jegliche Formatierung enthalten, die durch die Verwendung von HTML angelegt werden kann. Die Bearbeitung von HTML-Seiten erfolgt mit einem HTML-Bearbeitungsprogramm, wie zum Beispiel Microsoft FrontPage oder Netscape Composer, oder einem Textbearbeitungsprogramm, wie zum Beispiel Notepad. Das Bearbeitungsprogramm muss bei PowerPrompts Developer Studio angegeben werden, bevor es von innerhalb dieser Anwendung benutzt werden kann.
  • Außer dem formatierenden HTML-Code enthalten die HTML-Seiten der individuell anpassenden Anwendung einen HTML-Code, der erforderlich ist, um dem Benutzer geeignete Aufforderungen darzustellen und die richtigen Daten zu sammeln. Dies erfordert üblicherweise, den Seiten einen Code für verschiedene HTML-Steuerungen hinzufügen, die dem Benutzer angeboten werden, sowie einen Code, der Navigationspfade zwischen den Seiten festlegt. Der Navigationspfad durch die Seiten wird erstellt, indem Bedingungen für Verknüpfungen zwischen den Seiten der Anwendung festgelegt werden, insbesondere für Seiten, die mit mehr als einer anderen Seite verknüpft sind, deren Bedingungen während der Laufzeit der Anwendung ausgewertet werden und zu einer Auswahl von Verknüpfungen führen, die Bedingungen aufweisen, die als „wahr" bewertet werden. Bei einigen HTML-Steuerungen, wie zum Beispiel Dropdown-Listen, können dynamische Skripte erstellt werden, um die tatsächlichen Wertelisten aus der Datenbank während der Laufzeit der Anwendung abzurufen, wobei der entsprechende HMTL-Code zum Ausführen der dynamischen Skripte den HTML-Seiten, die diese Steuerungen enthalten, hinzugefügt wird.
  • Um die Anwendung abzuschließen, müssen schließlich Skripte, die die von dem Benutzer getroffenen Auswahl ablauffähig machen, erstellt und hinzugefügt werden. Jedes Skript ist mit einer Bedingung verknüpft, wobei die Bedingungen wiederum mit der jeweiligen Auswahl verknüpft sind, die der Benutzer bei seiner Antwort auf die Aufforderungen getroffen hat. Der Wert der Bedingung während der Laufzeit legt fest, ob das Skript im Hinblick auf den Bericht ausgeführt wird oder welcher Wert im Bericht gefiltert wird. Bei einigen Skripten wird der Wert in das Skript aus der Benutzerauswahl eingefügt, wie zum Beispiel bei der Auswahl eines Landes oder eines Produkts. Bei anderen wird das Skript nur ausgeführt, wenn die Bedingung erfüllt ist, wenn zum Beispiel eine Spalte hinzugefügt wird oder nach Jahr oder Vierteljahr gefiltert wird. Jedes Skript verwendet ein oder mehrere Verfahren.
  • Sämtliche oben erwähnten Aufgaben können erfüllt werden, indem Leistungsmerkmale verwendet werden, die PowerPrompts Developer Studio bietet. Diese Leistungsmerkmale, die bei Anwendungen, die unter dem Windows-Betriebssystem laufen, üblich sind, sind den Fachleuten wohl bekannt und beinhalten Werkzeugleisten, Dialogfelder, Assistenten (Wizards), Verwaltungsprogramme, usw., die entweder auf dem Hauptbildschirm vorhanden sind oder von verschiedenen Dropdown- oder Aufklappmenüs aktiviert werden. Eine vollständige individuell angepasste Anwendung, die aus einer Anwendungsdatei (die Anweisungen für die Navigation durch die HTML-Seiten, die Bedingungen und alle damit verknüpften Skripte enthält), den verknüpften HTML-Dateien und Grafikdateien, die für die Formatierung der HTML-Seiten benutzt werden, besteht, wird dann mit einem Bericht verknüpft und in eine verwaltete Berichtsumgebung eingegeben. Greifen Benutzer auf einen Bericht mit einer damit verknüpften Anwendung zu, wird die Anwendung in dem Web-Browser des Benutzers ausgeführt, und sie werden dann aufgefordert, Informationen einzugeben, was sie in dem Bericht sehen wollen.
  • Das Verfahren der individuell angepassten Abfrage und Darstellung von Informationen gemäß der vorliegenden Erfindung kann zu vorhandenen verwalteten Berichtsumgebungen hinzugefügt werden. Ein Beispiel für eine derartige verwaltete Berichtsumgebung ist Inpromptu Web Reports (IWR) von Cognos Incorporated, ein webbasiertes System für den Zugriff auf Berichte über einen Web-Browser. 5 bietet einen architektonischen Überblick über das System. Eine Anwendung, die die vorliegende Erfindung darstellt, wirkt mit den Berichtselementen von IWR auf folgende Art und Weise zusammen. Durch die Benutzung eines Web-Browsers greift der Endbenutzer 10 über das Internet 15 auf den InfoGuide Server 1 zu, um einen spezifischen Bericht, der ausgeführt werden soll, zu finden. Falls eine Anwendung gemäß der vorliegenden Erfindung mit dem gefundenen Bericht verknüpft ist, wird die Steuerung an den PowerPrompt Server 2 übergeben, statt den gefundenen Bericht an einen geeigneten Berichtsserver zwecks sofortiger Ausführung weiterzureichen, wie es bei einem System nach dem Stand der Technik der Fall wäre. Der Skript erstellende Server wirkt dann mit dem Endbenutzer 10 über eine Reihe von Bildschirmen zusammen, um Änderungen festzulegen, die der Endbenutzer 10 an dem Bericht vornehmen möchte, bevor er ausgeführt wird. Die Änderungen werden in Form eines Skripts beschrieben, das von dem PowerPrompt Server 2 erstellt wird, nachdem die Benutzereingabe erfolgt ist, wobei das Skript gebündelt wird und an den Unternehmensintelligenz (BI)-Berichtsserver 3 als Teil der Anforderung, den Bericht auszuführen, weitergereicht wird. Der Berichts server 3 ist dafür verantwortlich, auf das vom PowerPrompt Server 2 erstellte Skript einzuwirken, indem er den Code der Berichtsspezifikation gemäß dem Skript abändert, den geänderten Code auszuführen, den Bericht zu erstellen und ihn an den Endbenutzer 10 zu senden.
  • Wird die vorliegende Erfindung in einer verwalteten Berichtsumgebung verwendet, kann die Anzahl der vorgegebenen Berichtsspezifikationen, die im System gepflegt werden, wesentlich gesenkt werden. Eine individuell anpassende Anwendung, die mit einer vorgegebenen Berichtsspezifikation verknüpft ist, ist tatsächlich gleichbedeutend mit einer großen Anzahl von vorgegebenen Berichtsspezifikationen, die ansonsten vorab hätten kodiert und in dem System gespeichert werden müssen, um die gleiche Flexibilität bei der Abfrage und Darstellung von Informationen zu bieten. Bedeutenderweise muss der Benutzer nicht wissen, wie der Code der ausgewählten vorgegebenen Berichtsspezifikation zu ändern ist. Der Benutzer muss nur auf bestimmte Aufforderungen antworten, indem er üblicherweise eine Zeigen- und-Klicken-Schnittstelle verwendet, und die Anwendung fügt weitere Kriterien hinzu, die die Datenabfrage auf die bereits vorhandenen Daten beschränkt. Auf diese Art und Weise können komplexe Berichte aus verhältnismäßig einfachen vorgegebenen Berichtsspezifikationen erstellt werden, indem die angeforderte Benutzereingabe integriert wird. Dies ist in einer verwalteten Berichtsumgebung, in der vorab kodierte vorgegebene Berichtsspezifikationen verwendet werden, deren Code nur manuell verändert werden kann, nicht möglich.
  • Die Ausführung einer individuell anpassenden Anwendung gemäß der vorliegenden Erfindung führt zu einer Reihe von Anweisungen, die eine vorhandene Berichtsspezifikation abändern. Eine derartige vorhandene Berichtsspezifikation kann nur teilweise erzeugt worden sein oder sogar leer sein. Falls die vorhandene Berichtsspezifikation ziemlich vollständig ist und eine große Menge an Informationen in einer sehr spezifischen Art darstellt, zum Beispiel, um ein Verständnis für den Gegenstand des Berichts zu vermitteln, können dem Benutzer nur wenige Änderungen zur Verfügung stehen. Im anderen Extremfall kann es sein, dass der Benutzer fast die gesamte Berichtsspezifikation anlegen möchte. In diesem Fall kann eine leere Berichtsspezifikation abgeändert werden, und eine Anwendung, die die vorliegende Erfindung darstellt, erstellt das gesamte Skript mit einer sehr beträchtlichen Eingabe seitens des Benutzers. Diese Vorgehensweise wäre eher unüblich, da sie viel Arbeit von dem Anwendungsentwickler und dem Benutzer erfordert, wobei der Benutzer in einer besseren Stellung ist, da von ihm nur verlangt wird, auf eine möglicherweise große Anzahl von einfach zu verstehenden Aufforderungen zu antworten. In üblichen Fällen wird jedoch das meiste der Berichtspezifikation bereits geschrieben sein und nur eine verhältnismäßig kleine Menge an Eingaben für den Benutzer übrig bleiben.
  • Bekannte verwaltete Berichtsumgebungen beruhen auf einer festkodierten Logik, nicht auf einem auswählbaren Mechanismus, um einen Code anzulegen. Bei einer angeforderten Berichtsspezifikation, die eine gewisse oberflächliche Ähnlichkeit mit der vorliegenden Erfindung zeigt, ist der Code der ausgewählten vorgegebenen Berichtsspezifikation unvollständig, bis bestimmte Werte vom Benutzer geliefert und ohne einen direkten Eingriff des Benutzers in den Code eingefügt sind. Gemäß der vorliegenden Erfindung wird eine vorgegebene Berichtsspezifikation auch ausgewählt. Außerhalb der Berichtsspezifikation erstellt eine Anwendung jedoch ein Skript, das tatsächlich den Code der Berichtsspezifikation abändert. Die Änderung ist vorübergehend und dynamisch, d.h., sie erfolgt während der Laufzeit der Berichtsspezifikation. Dieselbe Berichtsspezifikation kann von verschiedenen Benutzern, die verschiedene individuell anpassende Anwendungen benutzen, abgeändert werden.
  • In bekannten verwalteten Berichtsumgebungen ruft der Berichtsserver eine Berichtsspezifikation ab und verwendet sie dann, um einen Bericht zu erstellen. In einer verwalteten Berichtsumgebung, die die vorliegende Erfindung darstellt, wird die Berichtsspezifikation abgerufen und anhand der empfangenen Benutzereingaben von einem anderen Server abgeändert und dann an den Berichtsserver weitergereicht, um ausgeführt zu werden und den Bericht zu erstellen. Dieser Prozess ist für den Benutzer, der den Web-Browser, das einzige Werkzeug, das erforderlich ist, um mit dem System zu kommunizieren und den Bericht zu erhalten, niemals verlässt, erkennbar.
  • Vorstehend wurde die Erfindung im Rahmen von verwalteten Berichtsumgebungen und der Erstellung individuell angepasster Berichte beschrieben. Die vorliegende Erfindung bietet jedoch ein wesentlich leistungsfähigeres und allgemeines Verfahren der individuell angepassten Abfrage und Darstellung von Informationen aus einer relationalen Datenbank, das bei anderen Aufgaben als dem Erstellen eines individuell angepassten Berichts angewendet werden kann. Ein Beispiel für eine derartige Aufgabe wäre die Erstellung einer multidimensionalen Datenbank (MDDB), auch als Würfel bekannt, ein immer beliebteres Modell für Daten, die aus einem Datenlager abgerufen werden.
  • Zwar wurde die vorliegende Erfindung in Zusammenhang mit den Ausführungsformen beschrieben, die gegenwärtig als am zweckmäßigsten und bevorzugt angesehene werden, es versteht sich jedoch, dass die Erfindung nicht auf die offenbarten Ausführungsformen beschränkt ist. Die vorliegende Erfindung soll im Gegenteil verschiedene Abwandlungen und gleichwertige Anordnungen umfassen, die in den Schutzbereich der beigefügten Ansprüche fallen. Dem Schutzbereich der beigefügten Ansprüche soll die weiteste Auslegung gewährt werden, um sämtliche derartigen Abwandlungen und gleichwertigen Strukturen und Funktionen zu umfassen.

Claims (20)

  1. Vorrichtung zum Erzeugen eines Berichts, die eine Benutzerschnittstelle aufweist zum Empfangen einer Benutzereingabe (110), dadurch gekennzeichnet, dass die Vorrichtung Folgendes umfasst: a. einen Skript erzeugenden Server (620) zur i. Aufforderung zu einer weiteren Benutzereingabe (130); ii. Erzeugung eines Skripts, das der weiteren Benutzereingabe (140) entspricht; b. eine erste Datenbank (520), umfassend vorgegebene Berichtsspezifikationen; c. eine zweite Datenbank (510), umfassend Informationen zur Einfügung in Berichte; d. ein Berichtsserver (610) zum: i. Auffinden einer vorgegebenen Berichtsspezifikation, die der Benutzereingabe entspricht, in der ersten Datenbank (520); ii. Laden der vorgegebenen Berichtsspezifikation (150); iii. Anwenden des Skripts auf die vorgegebene Berichtsspezifikation, um eine kundenspezifische Berichtsspezifikation (160) anzulegen, iv. Ausführen der kundenspezifischen Berichtsspezifikation (170), einschließlich Abrufen geeigneter Informationen aus der zweiten Datenbank (510), um einen Bericht zu erzeugen; sowie e. Mittel (180) zur Ausgabe des Berichts an die Benutzerschnittstelle.
  2. Vorrichtung nach Anspruch 1, wobei die vorgegebene Berichtsspezifikation durch das Skript, das von einer zweiten Anwendung auf der Grundlage der weiteren Benutzereingabe erzeugt wird, verändert wird.
  3. Vorrichtung nach Anspruch 2, wobei das Skript auf die vorgegebene Berichtsspezifikation angewandt wird, nachdem das Sammeln der weiteren Benutzereingabe beendet ist.
  4. Vorrichtung nach Anspruch 3, wobei das Skript den Code der vorgegebenen Berichtsspezifikation verändert.
  5. Vorrichtung nach Anspruch 4, wobei der Code während der Laufzeit der vorgegebenen Berichtsspezifikation verändert wird.
  6. Vorrichtung nach Anspruch 5, wobei die vorgegebene Berichtsspezifikation und die zweite Anwendung angepasst werden zwecks Ausführung in einer webbasierten Umgebung.
  7. Vorrichtung nach Anspruch 6, wobei die zweite Anwendung mindestens eine HTML-Seite zum Abrufen und Sammeln der weiteren Benutzereingabe umfasst.
  8. Vorrichtung nach Anspruch 7, wobei die zweite Anwendung mehrere HTML-Seiten umfasst.
  9. Vorrichtung nach Anspruch 8, wobei der Benutzer durch die HTML-Seiten navigiert, um die weitere Benutzereingabe bereit zu stellen.
  10. Vorrichtung nach Anspruch 1, wobei der Bericht dem Benutzer als Würfel dargestellt wird.
  11. Verfahren zum Erzeugen eines Berichts als Reaktion auf den Empfang einer Benutzereingabe, dadurch gekennzeichnet, dass das Verfahren folgende Schritte umfasst: a. auf einem Skript erzeugenden Server (620), i. Aufforderung zu einer weiteren Benutzereingabe (130); ii. Erzeugung eines Skripts, das der weiteren Benutzereingabe (140) entspricht; b. bei einem Berichtsserver (610): i. Auffinden einer vorgegebenen Berichtsspezifikation, die der Benutzereingabe entspricht, in einer ersten Datenbank; ii. Laden der vorgegebenen Berichtsspezifikation (150); iii. Anwenden des Skripts auf die vorgegebene Berichtsspezifikation, um eine kundenspezifische Berichtsspezifikation (160) anzulegen, iv. Ausführen der kundenspezifischen Berichtsspezifikation (170), einschließlich Abrufen geeigneter Informationen aus der zweiten Datenbank (510), die Informationen zum Einfügen in Berichte umfasst, um einen Bericht zu erzeugen; sowie c. Ausgabe des Berichts an die Benutzerschnittstelle (180).
  12. Verfahren nach Anspruch 11, wobei der Anwendungsschritt den Schritt des Veränderns der vorgegebenen Berichtsspezifikation durch das Skript umfasst, welches von einer zweiten Anwendung auf der Grundlage der weiteren Benutzereingabe erzeugt wird.
  13. Verfahren nach Anspruch 12, wobei das Skript auf die vorgegebene Berichtsspezifikation angewandt wird, nachdem das Sammeln der weiteren Benutzereingabe beendet ist.
  14. Verfahren nach Anspruch 13, wobei das Skript den Code der vorgegebenen Berichtsspezifikation verändert.
  15. Verfahren nach Anspruch 14, wobei der Code während der Laufzeit der vorgegebenen Berichtsspezifikation verändert wird.
  16. Verfahren nach Anspruch 15, wobei die vorgegebene Berichtsspezifikation und die zweite Anwendung angepasst werden zwecks Ausführung in einer webbasierten Umgebung.
  17. Verfahren nach Anspruch 16, wobei die zweite Anwendung mindestens eine HTML-Seite zum Abrufen und Sammeln der weiteren Benutzereingabe umfasst.
  18. Verfahren nach Anspruch 17, wobei die zweite Anwendung mehrere HTML-Seiten umfasst.
  19. Verfahren nach Anspruch 18, wobei der Benutzer durch die HTML-Seiten navigiert, um die weitere Benutzereingabe bereit zu stellen.
  20. Verfahren nach Anspruch 11, wobei der Ausgabeschritt das Darstellen des Berichts für den Benutzer als Würfel umfasst.
DE60032403T 1999-03-02 2000-03-02 Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen Expired - Lifetime DE60032403T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002264321A CA2264321A1 (en) 1999-03-02 1999-03-02 Method and apparatus for generating reports
CA2264321 1999-03-02

Publications (2)

Publication Number Publication Date
DE60032403D1 DE60032403D1 (de) 2007-02-01
DE60032403T2 true DE60032403T2 (de) 2007-10-18

Family

ID=4163350

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60032403T Expired - Lifetime DE60032403T2 (de) 1999-03-02 2000-03-02 Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen

Country Status (5)

Country Link
US (1) US10078665B2 (de)
EP (1) EP1033664B1 (de)
AT (1) ATE349045T1 (de)
CA (1) CA2264321A1 (de)
DE (1) DE60032403T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2264321A1 (en) 1999-03-02 2000-09-02 Cognos Incorporated Method and apparatus for generating reports
US8321411B2 (en) * 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US7617201B1 (en) * 2001-06-20 2009-11-10 Microstrategy, Incorporated System and method for analyzing statistics in a reporting system
CA2371724A1 (en) * 2002-01-12 2003-08-12 Cognos Incorporated System and method for defining prompts using declarative principles
US8656272B2 (en) 2006-04-28 2014-02-18 Microsoft Corporation Persisting instance-level report customizations
US8452636B1 (en) 2007-10-29 2013-05-28 United Services Automobile Association (Usaa) Systems and methods for market performance analysis
US9235561B2 (en) * 2008-10-17 2016-01-12 Business Objects S.A. Contextual report element mapping to web service input parameter
US20120143780A1 (en) * 2010-12-01 2012-06-07 International Business Machines Corporation Providing assisted business analysis to users
US20120174016A1 (en) * 2010-12-29 2012-07-05 Stefan Biedenstein Content separation for personalization of object instances
US9984163B2 (en) 2011-03-31 2018-05-29 International Business Machines Corporation Self-presenting report
US9594811B2 (en) 2013-07-02 2017-03-14 Sap Se Method and system for limiting database access results
US11113359B1 (en) 2014-12-30 2021-09-07 Open Text Corporation Method and system for navigation control

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4989144A (en) * 1989-01-24 1991-01-29 Carfax, Inc. Method and system for identifying and displaying discrepancies in vehicle titles
US5265247A (en) * 1990-08-15 1993-11-23 Halliburton Company Laboratory data storage and retrieval system and method
DE69211731T2 (de) * 1991-03-12 1996-10-31 Toray Industries Verfahren zur Herstellung einer teildurchlässigen Verbundmembran
US5590325A (en) * 1991-06-11 1996-12-31 Logical Information Machines, Inc. System for forming queries to a commodities trading database using analog indicators
US5802493A (en) * 1994-12-07 1998-09-01 Aetna Life Insurance Company Method and apparatus for generating a proposal response
US5740427A (en) * 1994-12-29 1998-04-14 Stoller; Lincoln Modular automated account maintenance system
US5737592A (en) * 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
US5721903A (en) * 1995-10-12 1998-02-24 Ncr Corporation System and method for generating reports from a computer database
US6368177B1 (en) * 1995-11-20 2002-04-09 Creator, Ltd. Method for using a toy to conduct sales over a network
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5761650A (en) * 1995-12-29 1998-06-02 Csg Systems, Inc. Billing system and method
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US7225249B1 (en) * 1997-09-26 2007-05-29 Mci, Llc Integrated systems for providing communications network management services and interactive generating invoice documents
US6314556B1 (en) * 1997-11-07 2001-11-06 Deroyal Business Systems, Llc Modular health care information management system utilizing reusable software objects
US6662358B1 (en) * 1997-12-12 2003-12-09 International Business Machines Corporation Minimizing profiling-related perturbation using periodic contextual information
US6199070B1 (en) * 1998-06-18 2001-03-06 International Business Machines Corporation Using a database for program logs
CA2264321A1 (en) 1999-03-02 2000-09-02 Cognos Incorporated Method and apparatus for generating reports

Also Published As

Publication number Publication date
ATE349045T1 (de) 2007-01-15
EP1033664A3 (de) 2002-01-30
US10078665B2 (en) 2018-09-18
DE60032403D1 (de) 2007-02-01
CA2264321A1 (en) 2000-09-02
EP1033664B1 (de) 2006-12-20
US20070203915A1 (en) 2007-08-30
EP1033664A2 (de) 2000-09-06

Similar Documents

Publication Publication Date Title
DE69729926T2 (de) Netzwerkbrowser
DE69126795T2 (de) Dateienverwaltungssystem mit graphischer benutzerschnittstelle zum aufstellen von fragen
DE69229453T2 (de) Verfahren und Anordnung zum Zugriff auf eine relationelle Datenbank, ohne eine objektorientierte Umgebung verlassen zu müssen
DE69524948T2 (de) Computerunterstützte multimediaverfahren
EP1258812B1 (de) Virtuelle Datenbank heterogener Datenstrukturen
DE69724356T2 (de) Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks
DE19842688B4 (de) Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen
DE69527926T2 (de) Ein mit Rechner durchgeführtes Verfahren und System zur Informationswiederauffindung
DE3751228T2 (de) Verfahren und Vorrichtung zur Wiederauffindung von gespeicherten Grafikdaten.
DE10051021B4 (de) System, Verfahren und Computerprogramm zur Bereitstellung interaktiver Web-Inhalte in statisch verknüpften Dateien
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
DE69801816T2 (de) Vorrichtung und verfahren zur aktualisierung und zur synchronisierung von informationen zwischen einem klient und einem server
DE69700074T2 (de) Dynamische verbindbare Etiketten in einer Netzbrowserseite
DE69838257T2 (de) Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung
DE10348337A1 (de) Inhaltsverwaltungsportal und Verfahren zum Kommunizieren von Informationen
DE10129209A1 (de) Produktkonstruktionssystem und -verfahren
DE60032403T2 (de) Speziell adaptierte Wiedergabe und Darstellung von Datenbankinformationen
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
DE10248464A1 (de) Netzwerknavigations-System und -Verfahren
WO2008148238A1 (de) Fernbedienung eines browser-programms
DE69413707T2 (de) Verfahren und vorrichtung zur erzeugung und verwaltung dynamischer eigenschaftsblätter
DE69925108T2 (de) Ableitung einer objektklasse durch vererbung, instanzierung oder klonierung
DE4310615C2 (de) Entwurf elektrischer Vorrichtungen mit mehreren Entwurfswerkzeugen, die zumindest teilweise untereinander inkompatibel sind
EP1094405A2 (de) Verfahren zum Erzeugen einer dynamischen Auswahlmaske für den Abruf von Daten aus einer Datenbank
DE19951756B4 (de) Verfahren zur Datenverwaltung sowie Computerprogramm und -system zu dessen Ausführung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: INTERNATIONAL BUSINESS MACHINES CORP., ARMONK,, US

8320 Willingness to grant licences declared (paragraph 23)