Verfahren zur fortschrittlichen mengenorientierten
Kostenzuweisung unter Verwendung verschiedener
Informationsquellen
Die Erfindung betrifft die mengenorientierte Zuweisung von Kosten, die mit der Arbeit einer Organisation verbunden sind. Dabei stellt sich das Problem, daß verschiedene, voneinander unabhängige Kostenträger zu berücksichti- gen sind, und zwar zumeist in einer sehr großen Anzahl.
Organisationen, z.B. Unternehmen, Betriebe und Produktionsstätten finden es zunehmend schwieriger, an dem internationalen Wettbewerb teilzunehmen, da die Märkte globa- 1er werden. Die zunehmende Konkurrenz auf vielen Gebieten der Herstellung, des Handels, der Dienstleistungen und anderer Arten von Unternehmen führt zu fallenden Marktpreisen, die wiederum Abnahmen der Profite verursachen. Inzwischen führen sich rasch verändernde Technologien zu einer größeren Automatisierung, wodurch sich die Effizienz vergrößert, aber auch die Zuweisung von Geldmitteln für die mit den neuen Geräten verbundenen Kosten erforderlich wird. Bei der Entscheidung, ob sie in kostspielige Geräte investieren sollen, sind Organisationen gezwun- gen, die damit verbundenen Langzeitkosten und -vorteile abzuwägen.
Gleichzeitig stehen Organisationen unter großem Druck, kurzfristig Profite zu machen. Investoren konzentrieren sich zunehmend auf Kurzzeitergebnisse, und die Lebensdau-
er von Produkten wird im allgemeinen kürzer. Ausgaben, die vergrößerte Gemeinkosten erzeugen, müssen verstanden werden, um die kurzfristigen Auswirkungen zu rechtfertigen.
Somit besteht in Organisationen ein wachsendes Interesse, ihre Gemeinkostenstruktur klar zu verstehen. Kostenerfas- sungs- und -abrechnungsansätze, wie zum Beispiel durch Prozeßkostenrechnung, werden häufig zur Überwachung der Gemeinkosten verwendet . Für die direkten Kosten der Herstellung, wie zum Beispiel Löhne, Materialien, Maschinenstunden usw. sind eine ausführliche Analyse und Übersichten verfügbar. Die indirekten Kosten der Herstellung, des Vertriebs und der Verwaltung sind jedoch traditionell schwieriger einzuschätzen, und die Kostenüberwachung ist sogar noch schwieriger durchzuführen.
Bei der traditionellen Kostenerfassung und -abrechnung ist ein wichtiges Werkzeug die Strukturierung von Kosten auf der Grundlage von Betrachtungen betreffend die Organisation und die Verantwortlichkeit bzw. Verursachung. Dadurch kann identifiziert werden, wo Kosten in einer Organisation auftreten. Außerdem hat sich die Produkt- Kostenplanung ebenfalls traditionell fast ausschließlich auf die direkten Herstellungskosten konzentriert.
Ausgereiftere Erfassungs- und Abrechnungsverfahren, wie zum Beispiel die Prozeßkostenrechnung, können das Verständnis erleichtern, warum sich Kosten so ergaben wie sie sind, oder wie sie vorteilhaft verändert werden können. Sie können außerdem zum Zuweisen von indirekten Kosten zu den Endprodukten verwendet werden, was insbesondere bei hohen Gemeinkosten wichtig ist. Organisationen, die bei der Berechnung solcher Kosten nachlässig sind, sind in größerer Gefahr, sich selbst kostenmäßig aus dem
Markt zu kalkulieren. Heutzutage ist es sogar noch wichtiger, daß das Management seine Entscheidungen auf genaue und aktuelle Kosteninformationen stützt, damit die besten Strategien für Investitionen, Produktion, Verkauf, Ver- trieb und Wartung/Service durchgeführt werden können.
Diese ausgereifteren Verfahren zum Erfassen und Abrechnen von Kosten sind jedoch mit den zur Zeit verfügbaren Werkzeugen schwierig zu implementieren. Die Kostenzuweisung ist zur Zeit häufig nur wertbasiert, weil ein einfaches Verfahren zum Auffinden der entsprechenden Kostenfaktoren bisher nicht bekannt ist. Bei anderen Implementierungen könnten Zuweisungen nur auf unzureichenden Informationen basierende Mengen verwenden, wie zum Beispiel die Menge der direkten Arbeitskraft aus dem Arbeitsplan. Die Ergebnisse sind in beiden Fällen unzureichend. Eine einfache, schnelle und genaue Bestimmung des Flusses der Mengen ist eine wesentliche Herausforderung für eine angemessene Kostenzuweisung. Deshalb wäre es vorteilhaft, über ein ef- fektives Verfahren zu verfügen, das mengen- oder ressourcenorientiert ist, um Kosten zu verfolgen, auf die Abrechnungsverfahren angewandt werden.
In der betrieblichen Praxis bzw. allgemein bei der Arbeit einer Organisation, die bestrebt ist, eine Kostenzuweisung durchzuführen, stellt es ein Problem dar, mit einem vertretbaren Aufwand die Kosten zuzuweisen und auszuwerten, da beispielsweise in einer Fertigung oft hunderttausende von Kostenträgern, die auch als Kostenobjekte be- zeichnet werden können, zu verwalten sind. Hinzu kommt, daß es oft wünschenswert ist, für jedes individuell gefertigte Produkt oder eine Anzahl gleicher gefertigter Produkte bzw. eine gleiche Anzahl von Kostenträgern des Typs Fertigungsauftrag die Kosten zuzuweisen und zu er- mitteln, um Auswertungen oder Berechnungen durchführen zu
können und den Ablauf der Organisation oder eines oder mehrerer Organisationsabläufe bewerten, steuern und kontrollieren zu können. Dies ist mit bisher bekannten Verfahren nicht möglich.
Der Erfindung liegt unter Berücksichtigung dieses Stands der Technik die Aufgabe zugrunde, ein Verfahren und eine entsprechende Vorrichtung zur fortschrittlichen mengenorientierten Kostenzuweisung unter Verwendung verschiede- ner Informationsquellen zu schaffen.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des beigefügten Anspruchs 1 bzw. durch eine Vorrichtung mit den Merkmalen des beigefügten An- spruchs 13 gelöst.
Bevorzugte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den Ansprüchen 2 bis 11 bzw. 14 bis 25 und der nachfolgenden Beschreibung mit zugehörigen Zeichnungen.
Ein erfindungsgemäßes, auf einer digitalen Datenverarbeitungseinheit oder einem Computersystem programmgesteuert ablaufendes Verfahren zum mengenbasierten Zuweisen von Kosten, die mit verschiedenen, voneinander unabhängigen Kostenträgern bei der Arbeit einer Organisation verbunden sind, umfaßt also mehrere Schritte.
In einem ersten Schritt werden sprachabhängige Funktionen in Abhängigkeit von einer oder mehreren Sprachen unter
Verwendung einer Eingabeeinheit, einer Anzeigeeinheit und einer Benutzerschnittstelle eingegeben. In einem weiteren Schritt werden die Funktionen in einer Speichereinheit in Form eines Template gespeichert. Ein Template in diesem Sinne ist eine Matrixstruktur zur Verwendung in einem
Verfahren zum mengenbasierten Zuweisen von Kosten, vorzugsweise eine zweidimensionale Matrixstruktur.
In einem weiteren Schritt werden die sprachabhängigen Funktionen mittels eines Parsers zum Erzeugen von Steuerblöcken geparst und anschließend wird mindestens ein ausführbares Programm mittels eines Generatormittels in Abhängigkeit von den Steuerblöcken erzeugt . Danach ist die Auswertung des Template mittels einer digitalen Verarbei- tungseinheit unter Verwendung gespeicherter, zu den Kostenträgern gehörender Daten der Organisation möglich, und das Auswertungsergebnis kann mittels eines Ausgabemittels ausgegeben und bei der Bewertung, Steuerung oder Kontrolle der Organisation oder eines oder mehrerer Orga- nisationsabläufe verwendet werden.
Die vorliegende Erfindung betrifft ein Verfahren zur Einrichtung einer mengenbasierten und Ursprungs- bzw. verursacherangemessenen Zuweisung von Kosten zwischen Ressour- cen liefernden Ausgangskostenträgern, die auch als Senderobjekte oder Kostensenderobjekte bezeichnet werden können, und Ressourcen verbrauchenden Zielkostenträgern, die auch als Empfängerobjekte oder Kostenempfängerobjekte bezeichnet werden können, unter Verwendung verschiedener Informationsquellen. Die mengenbasierte Kostenzuweisung (die Identifizierung verantwortlicher Kostenfaktoren) ist ein wichtiger Aspekt der Kostenerfassung und -abrechnung. Zur Unterstützung fortschrittlicher Kostenrechnungsverfahren, wie zum Beispiel der Prozeßkostenrechnung, wird ein präziser Mengenrahmen verwendet.
Als Mengen werden im erfindungsgemäßen Rahmen mengenartige Größen wie Stunden, z.B. Arbeitszeiten, Gewichte, z.B. kg und Tonnen, Stückzahlen usw. berücksichtigt. Dies ist
anders als im Stand der Technik, wo von Werten, z.B. Preise, Kosten usw. zur Auswertung ausgegangen wird.
Die Erfindung ist ein neuartiges Verfahren zum Verbessern der Bewertung und Kontrolle oder Steuerung von Kosten, mit denen eine Organisation konfrontiert ist. Eine flexible Verknüpfung zu verschiedenen Kostenträgern bzw. Ziel- kostenträgern wird so erzeugt, daß eine Auswertung und Bewertung in verschiedenen Kostenrechnungsanwendungen stattfinden kann. Da die Zielkostenträger und die Mengen während der Auswertung bestimmt werden, ermöglicht die Erfindung das Durchführen einer ausgereiften, bedarfsgesteuerten Kostenzuweisung von einem Empfängerstandpunkt aus (die auch als "backflush" bezeichnet wird) .
Zum Entgegennehmen sprachabhängiger Funktionsnamen und Beschreibungen, zum Durchlaufen der Funktionen zur Erzeugung von Steuerblöcken, die die Funktionen beschreiben bzw. darstellen, und zum Erzeugen eines ausführbaren Pro- gramms auf der Grundlage der Steuerblöcke wird ein Template bereitgestellt.
Ein Vorteil der Erfindung in der praktischen Anwendung ist, daß sie so flexibel ist, daß sie nicht nur eine Sprache, z.B. deutsch, englisch oder französisch, sondern auch eine Mehrzahl von Sprachen umsetzen kann. Die sprachabhängigen Funktionen werden von der Benutzerschnittstelle entgegengenommen, d.h. zur Verarbeitung empfangen und übernommen. Ein Parser zerlegt die eingege- benen Funktionen und kann prüfen, ob die grammatikalischen Syntaxvorschriften eingehalten wurden.
Eine Besonderheit der Erfindung ist in dem Speichern der Funktionen in einer Speichereinheit in Form eines Templa- te zu sehen. Hierdurch ist es möglich, die auszuwerten-
den, z.B. technischen und kaufmännischen Daten, aus verschiedenen Speichereinheiten zusammenzulesen. Das Template kann also eine große Anzahl von Daten von unterschiedlichen Datenbanken interpretieren. So kann beispielsweise zu einer Stückliste auch gleichzeitig die implizit gespeicherte Anzahl der Fremdteile oder zu einem Arbeitsplan die Anzahl der implizit gespeicherten Arbeitsplatzwechsel berücksichtigt werden.
• Bei diesem dynamischen Interpretieren der Daten durch das Template wird eine immens große Anzahl von Daten von unterschiedlichen Datenspeichern abgerufen. Es ist nicht unüblich, daß bei einem Durchlauf 100.000 bis 500.000 oder 1 Million Datensätze bearbeitet werden. Das dynami- sehe Interpretieren, mit dem dieses Problem vorteilhaft gelöst wird, hat verschiedene Vorteile. Zum einen wird Speicherplatz eingespart, da keine neuen, zusätzlichen Listen angelegt werden müssen. In den vorstehenden Beispielen ist es also nicht erforderlich, einen weiteren Speicher mit der Liste der Fremdteile pro Stückliste bzw. mit der Liste der Arbeitsplatzwechsel pro Arbeitsplan anzulegen.
Ein weiterer Vorteil besteht darin, daß eine Umsetzungs- Problematik der Daten, z.B. hinsichtlich der Formate etc. vermieden wird. Dadurch werden sowohl Schnittstellen zu anderen Datenbanken und Datenbanksystemen eingespart als auch die für die Durchführung der Kostenzuweisung und Auswertung erforderliche Laufzeit verkürzt.
Es ist somit z.B. möglich, auch bei einer großen Anzahl von zu berücksichtigenden Daten und Kostenträgern, die zu verwalten sind, für jedes individuell gefertigte Produkt oder eine Anzahl gleicher gefertigter Produkte, Ferti- gungsaufträge oder anderer Kostenträger mit einem ver-
tretbaren Aufwand die Kostenzuweisung und Kostenauswertung durchzuführen. Dies stellt einen erheblichen praktischen Vorteil bei der Auswertung, Bewertung, Steuerung oder Kontrolle einer Organisation oder eines Organisati- onsablaufs dar. Mit der Erfindung werden somit Ziele erreicht, um die die Fachwelt sich schon lange bemüht hat.
Eine erste vorteilhafte Besonderheit kann darin bestehen, daß die Steuerblöcke Teile der spachabhängigen Funktionen darstellen.
Eine weitere vorteilhafte Ausbildung kann sein, daß die Kosten flexibel mit verschiedenen Kostenträgern, insbesondere Zielkostenträgern verknüpft werden können.
Eine zusätzliche bevorzugte Ausbildung kann darin bestehen, daß zum Eingeben sprachabhängiger Funktionen eine Schnittstelle eines Systems für Personaleinsatzmanagement, Finanz-, Logistik-, Geschäftsablauf-, Personal-, Organisations- , Buchungs-, Zeitmanagement oder Personalentwicklung, insbesondere eines SAP R/3-Systems verwendet wird.
Ein anderes vorteilhaftes Merkmal kann sein, daß beim Editieren der sprachabhängigen Funktionen eine Mehrzahl von Editoren zum Editieren verwendet wird, die von der Schnittstelle bereitgestellt werden. Dabei kann nach einem zusätzlichen vorteilhaften Merkmal vorgesehen sein, daß die Mehrzahl von Editoren mit einem Kernmodul ver- knüpft ist .
Vorteilhafterweise kann in einer anderen vorteilhaften Ausgestaltung vorgesehen sein, daß die Schnittstelle mittels einer Anzeigeeinheit eine Mehrzahl von Tabellen an- zeigt, wobei jede einzelne der Mehrzahl von Tabellen eine
Mehrzahl von Zellen umfaßt, die Beschreibungen bzw. Darstellungen der sprachabhängigen Funktionen enthalten.
Ein zusätzliches vorteilhaftes Merkmal kann dabei sein, daß jeder einzelnen der Mehrzahl von Tabellen Funktionsnamen und Funktionsbeschreibungen zugeordnet sind.
Ein anderes vorteilhaftes Merkmal besteht darin, daß der Parser jede einzelne der sprachabhängigen Funktionen in Token auftrennt, die auf ihre grammatikalische Übereinstimmung mit zulässiger Syntax geprüft werden.
Eine andere vorteilhafte Besonderheit kann darin bestehen, daß das Generatormittel auch die physikalische Spei- cherung des Template übernimmt .
Vorteilhafterweise ist vorgesehen, daß die Daten der Organisation aus verschiedenen Speichereinheiten eingelesen werden. Nach einem weiteren vorteilhaften Merkmal wird vorgeschlagen, daß als Ausgabemittel ein Datensichtgerät verwendet wird.
Zusammengefaßt lassen sich erfindungsgemäße Aspekte und besondere Ausgestaltungen mit anderen Worten vereinfacht wie folgt beschreiben: Es wird ein Template bereitgestellt, um die Auswertung, Bewertung und Kontrolle der Kosten einer Organisation zu verbessern, wobei drei Schichten verwendet werden. Die erste Schicht liefert eine Benutzerschnittstelle, die sprachabhängige Funktions- namen und Funktionsbeschreibungen unter Verwendung verschiedener Editoren für Zellen in dem Template entgegennimmt . Die zweite Schicht verwendet einen Parser zum Prüfen der Syntax der Funktionen und zum Erzeugen von Steuerblöcken, die interne Beschreibungen der Funktionen sind. Die dritte Schicht übernimmt die physikalische
Speicherung des Template und erzeugt ein ausführbares Programm. Es wird eine flexible Verknüpfung mit verschiedenen Kostenträgern erzeugt, so daß eine Auswertung in verschiedenen Kostenrechnungsanwendungen stattfinden kann. Während die Ausgangskostenträger und die Mengen während der Auswertung bestimmt werden, findet von einem Empfängerstandpunkt aus gesehen eine ausgereifte, bedarfsgesteuerte Kostenzuweisung statt .
Besonderheiten der Erfindung und besondere Ausgestaltungen der Erfindung sind folgende:
Die Bereitstellung eines neuartigen Verfahrens zum Verfolgen von Kosten, die einer Organisation zugeordnet sind. - Die Überwachung von Kosten auf der Grundlage der Organisation von Unternehmensprozessen, die funktionale Grenzen überschreiten.
Die Verbesserung der Kostentransparenz in Gemeinkostenbereichen mit mengenbasierter und wertbasierter Dokumentation des Verbrauchs im Unternehmensprozeß.
Die Entgegennahme sprachabhängiger Funktionen in einem verbesserten Template.
Das Bereitstellen einer Mehrzahl separater und unterschiedlicher Editormodule für Zellen in einem verbes- serten Template.
Das Bereitstellen eines Parsers, der in der Lage ist, sprachabhängige Funktionen in einem verbesserten Template zu durchlaufen.
Das Übersetzen externer, sprachspezifischer Funktionen und Parameter in eine interne Beschreibung zur Verwendung mit einem verbesserten Template .
Das Erzeugen von Steuerblöcken in einem verbesserten Template, wobei die Steuerblöcke aus sprachabhängigen Funktionen abgeleitet werden.
Das Erzeugen von Steuerblöcken in einem verbesserten Template, wobei die Steuerblöcke interne Beschreibungen bzw. Darstellungen von Funktionen in dem Template sind.
Das Bereitstellen einer standardisierten Definition von Schnittstellen, die eine leichte Kommunikation zwischen einem Wartungs-Kernmodul und einer Mehrzahl von Editoren zur Verwendung in einem verbesserten Template ermöglicht .
Das Erzeugen eines ausführbaren Programms eines verbesserten Template auf der Grundlage von Steuerblök- ken, die aus sprachabhängigen Funktionen abgeleitet werden .
Die Erfindung wird beispielhaft anhand der folgenden Zeichnungen erläutert, wobei sich aus den dargestellten Ausführungsbeispielen weitere Merkmale und Besonderheiten der Erfindung ergeben.
Fig.l zeigt eine Übersicht eines Beispiels eines Template . Fig.2 ist ein Diagramm, das das Zusammenwirken der
Templatewartung, der Templateauswertung und der Funktionsumgebungswartung veranschaulicht .
Fig.3 ist ein Diagramm, das das Zusammenwirken einer Benutzerschnittstelle mit spezialisierten Edi- toren veranschaulicht .
Fig.4 ist ein Diagramm, das die Kommunikation zwischen einem spezialisierten Editormodul und einem Template veranschaulicht .
Fig.5 ist ein Diagramm, das eine Anwendung eines Parsers zeigt.
Fig.6 ist ein Diagramm, das eine Anwendung eines Templategenerators zeigt . Fig.7 ist ein Diagramm, das eine Templateauswertung zeigt .
Die vorliegende Erfindung betrifft ein Werkzeug oder ein Verfahren zum Einrichten einer mengenbasierten Zuweisung von Kosten zwischen Ressourcen liefernden Kostenträgern (die auch als Ausgangskostenträger oder "Sender" -Objekte bezeichnet werden) und Ressourcen verbrauchenden Kostenträgern (die auch als Zielkostenträger oder "Empfänger" - Objekte bezeichnet werden) unter Verwendung verschiedener Informationsquellen. Bei der mengenbasierten Kostenzuweisung ist die Identifizierung der verantwortlichen Kostenfaktoren ein wichtiger erster Schritt zur Erzielung einer effektiven Kostenerfassung und -abrechnung.
Die vorliegende Erfindung wurde als Teil der Controlling- Komponente des Systems SAP R/3 im Kontext der Prozeßkostenrechnung und als eine Ergänzung für die zentrale Kostenerfassung- und -abrechnung in dem System SAP R/3 entwickelt .
Die Verwendung der vorliegenden Erfindung wird hauptsächlich in Verbindung mit der Prozeßkostenrechnung (in Betrieben und Unternehmen) in Betracht gezogen. Es versteht sich, daß die Erfindung auch unter Verwendung verschiede- ner Hardware- und Betriebssystemplattformen ausgeübt werden kann. Die beschriebene Erfindung arbeitet beispielsweise als ein Modul eines größeren Systems .
Die folgende Beschreibung betrifft die zur Zeit beste in Betracht gezogene Ausfuhrungsform der vorliegenden Erfin-
düng. Die vorliegende Beschreibung soll nicht als einschränkend betrachtet werden, sondern erfolgt lediglich zum Zweck der Beschreibung der allgemeinen Prinzipien der Erfindung.
Im folgenden wird zunächst eine Übersicht des Template beschrieben.
In Fig. 1 ist in einer Übersicht des Template 100 ein Template dargestellt, das aus einer matrixartigen Konstruktion besteht, die in dem gezeigten Beispiel vier Spalten und mehrere Zeilen von Zellen aufweist. Manche Zellen enthalten Verfahren, wie zum Beispiel die Zelle 102, und manche Zellen enthalten Formeln, wie zum Bei- spiel die Zelle 104. Sowohl Verfahren als auch Formeln stellen Funktionen dar. Im allgemeinen werden mit Funktionen die Ausgangskostenträger bestimmt, d.h. der Ursprung von Geld und/oder Ressourcen identifiziert. Funktionen dienen außerdem zur Berechnung der Größe des Er- trags oder der Flüsse der Mengen (d.h. zur Bestimmung der Geld- und/oder Ressourcenbeziehung) zwischen den Ausgangskostenträgern und den Zielkostenträgern, mit denen das Template verbunden ist.
Die Auswertung eines Template wird durch eine Kostenrechnungsanwendung ausgelöst, bei der es sich um eine Produkt-Kostenrechnungsanwendung wie zum Beispiel die Produkt-Kostenrechnungsanwendung 106 handeln kann. Ein weiteres Beispiel einer Kostenrechnungsanwendung ist die Realkostenbewertung. Kostenrechnungsanwendungen werden im vorliegenden Rahmen für beliebige Kostenzuweisungen eingesetzt .
Die Auswertung eines Template oder seiner einzelnen Funk- tionen ist ein von der Definition eines Template separa-
tes Konzept. Bei der Definition eines Template werden die Beziehungen zwischen Ausgangskostenträgern und Zielkostenträgern definiert. Diese Beziehungen können mittels Funktionen definiert werden. Bei der Auswertung eines Template werden die Funktionen in dem Template angewandt, um die letzten verfügbaren Daten dynamisch zu verwenden.
Eine bevorzugte Ausfuhrungsform des Template weist vier Spalten auf. Das durch die Templateübersicht 100 darge- stellte Template besitzt eine Auswahlspalte 112 und eine Aktivierungsspalte 116, bei denen es sich um "Boolesche" Spalten handelt. Dieses Template besitzt außerdem eine Mengenspalte 114 und eine Spalte 118 für die Auswertungs- zeit, bei denen es sich um Spalten des "Mengentyps" bzw. "mengenartige" Spalten handelt.
Die Auswahlspalte 112 enthält den Namen von Funktionen zum Auffinden entsprechender Prozesse. Auswahlfunktionen, wie zum Beispiel das der Zelle 102 zugeordnete Auswahl- verfahren, definieren, welcher Prozeß bzw. welche Prozesse als Ausgangskostenträger zu verwenden ist bzw. sind, und enthalten die Bedingungen, die durch die Prozesse erfüllt werden müssen.
Die Aktivierungsspalte 116 enthält den Namen von Funktionen (Regeln oder Werte) zur Bestimmung, ob Prozesse zugeordnet werden sollen. Aktivierungsfunktionen, wie zum Beispiel das der Zelle 108 zugeordnete Aktivierungsverfahren, definieren eine nichtprozeßabhängige Boolesche Bedingung zum Auslösen der Auswertung der aktuellen Templatezeile .
Die Mengenspalte 114 enthält den Namen von Funktionen, wie zum Beispiel die der Zelle 104 zugeordnete Mengenfor- mel, oder feste numerische Werte, wie zum Beispiel den
der Zelle 105 zugeordneten numerischen Mengenwert. Mengenformeln bestehen aus mathematischen Ausdrücken zur Bestimmung der entsprechenden Prozeßmenge für jeden Prozeß, der für die aktuelle Templatezeile ausgewählt ist. Feste numerische Mengenwerte bestimmen die entsprechende Prozeßmenge für jeden Prozeß, der für die aktuelle Templatezeile ausgewählt ist, direkt ohne weitere Berechnung.
Die Spalte 118 für die Auswertungszeit enthält den Namen von Funktionen, die einen Faktor zwischen 0 und 1 auswerten, mit dem die Ergebnisse der Mengenformel der aktuellen Zeile abhängig von dem gegebenen Zustand des Kostensammeiträgers bzw. Kostensammeiobjekts korrigiert werden können. Zum Beispiel gibt die Auswertungszeitfunktion, die der Zelle 119 zugeordnet ist, eine "1" zurück, wenn der zur Zeit betrachtete Fertigungsauftrag den Status "Auftrag-Ende" aufweist, und gibt "0" zurück, wenn der gerade betrachtete Fertigungsauftrag einen anderen Status aufweist .
Funktionen können in zwei Klassen aufgeteilt werden. Die erste Klasse von Funktionen enthält Funktionen, die allgemein und anwendungsunabhängig sind und für Aufgaben wie zum Beispiel das Lesen von Informationen in einer beste- henden Datenbank verwendet werden (zum Beispiel Abrufen der Stückliste) . Diese Funktionen sind oft in dem Templatesystem vordefiniert und werden von anderen Modulen unterstützt, die außerhalb des Templatesystems bestehen können.
Die zweite Klasse von Funktionen enthält Funktionen, die Informationen behandeln, die kostenträgerspezifisch sind und durch Anwendungen erzeugt werden, die ein Template in Echtzeit auswerten. Diese Funktionen rufen Routinen aus
diesen Anwendungen auf, die Daten auf Anfrage bereitstellen.
Bei dieser bevorzugten Ausfuhrungsform müssen die Aus- wahlspalte 112 und die Mengenspalte 114 für das Template definiert werden. Die Aktivierungsspalte 116 und die Auswertungszeitspalte 118 sind obligatorisch, wenn die Vorgabewerte "True" oder "1" sind.
Mit Bezug auf Fig. 2 ist das Zusammenwirken von Template- Wartung 200, Templateauswertung 240 und Umgebungswartung 280 für eine bevorzugte Ausfuhrungsform des Template gezeigt. Der Mengeneditor 202, der Auswahleditor 204, der Aktivierungseditor 206 und der Auswertungszeiteditor 208 können zur Benennung und Definition von Funktionen verwendet werden, die der Mengenspalte 114, der Prozeßauswahlspalte 112, der Aktivierungsspalte 116 bzw. der Auswertungszeitspalte 118 zugeordnet sind. Solche Funktionen sind einem Kostenträger, wie zum Beispiel dem Kostenträ- ger Fertigungsauftrag 210, dem Kostenträger Ablaufplan- kopf 212, dem Kostenträger Innenauftrag 214 oder dem Kostenträger Projekt 216 zugeordnet.
Der Templateparser 220 prüft die Syntax der Funktionen und erzeugt Steuerblöcke, die interne Beschreibungen bzw. Darstellungen der Funktionen sind. Der Templategenerator 230 erzeugt ein ausführbares Programm 234 unter Verwendung der durch den Templateparser 220 erzeugten Steuerblöcke. Außerdem übernimmt der Templategenerator 230 die physikalische Speicherung eines erzeugten Template in der Datenbank 232. Die Templateauswertung 240 wendet das erzeugte Programm unter Verwendung der letzten verfügbaren Daten an.
Die Templateumgebung 250 ist in den Figuren mit ENV (aus dem englischen Begriff "environment" ) bezeichnet. Sie ist eine Menge von Tabellen, die die verfügbaren Funktionen für die Kostenträger beschreiben, mit denen erzeugte Tem- plates verknüpft werden können. Diese Tabellen enthalten Informationen darüber, wie und wo nach gewünschten Daten zu suchen ist, enthalten jedoch selbst keine Daten. Die Templateumgebung 250 liefert die Werkzeuge zur Gewinnung von durch den Templateparser 220 benötigten Daten zur ordnungsgemäßen Erzeugung von Steuerblöcken und außerdem zur ordnungsgemäßen Erzeugung oder Aktualisierung des ausführbaren Programms 234. Die Umgebungswartung 280 liefert die eigentlichen Daten für die Tabellen in der Templateumgebung 250.
Im folgenden wird die Templatewartungsschnittstelle beschrieben.
Die Wartungsschnittstelle ist eine Benutzerschnittstelle, die dem Benutzer ermöglicht, sprachabhängige Funktionsnamen und Beschreibungen bzw. Darstellungen einzugeben. Diese Benutzerschnittstelle stellt mehrere spezifische Editoren für eine flexible Wartung der verschiedenen Zellen in einem Template bereit. Wieder mit Bezug auf Fig. 1 und die darin veranschaulichte Ausfuhrungsform der Erfindung kann der Auswahleditor 204 auf die Zellen der Auswahlspalte 112 zugreifen und diese warten. Ähnlich kann der Mengeneditor 202 auf die Zellen der Mengenspalte 114 zugreifen und diese warten, der Aktivierungseditor 206 kann auf die Zellen der Aktivierungsspalte 116 zugreifen und diese warten und der Auswertungszeiteditor 208 kann auf die Zellen der Auswertungszeitspalte 118 zugreifen und diese warten.
Diese Editoren haben dieselben internen Strukturen und Schnittstellen mit dem Kernmodul des Template, das in der Templateübersicht 100 dargestellt ist, stellen aber die verschiedenen Arten von Zelleninhalten in einer für den Benutzer geeigneten Weise dar. Zum Beispiel sind die Editoren 204 und 206, die den Zellen der Auswahlspalte 112 und der Aktivierungsspalte 116 zugeordnet sind, so ausgelegt, daß sie die Wartung Boolescher Ausdrücke unterstützen. Die Editoren 202 und 208, die den Zellen der Mengen- spalte 114 und der Auswertungszeitspalte 118 zugeordnet sind, sind so ausgelegt, daß sie die Wartung komplizierterer mathematischer Formeln unterstützen.
Mit Bezug auf Fig. 3 ist ein ausführlicheres Beispiel ei- ner Benutzerschnittstelle gezeigt, die mit spezialisierten Editoren zusammenwirkt . Das durch die Templateübersicht 300 dargestellte Template besitzt eine Auswahlspalte 312, eine Mengenspalte 314, eine Aktivierungsspalte 316 und eine Auswertungszeitspalte 318.
Auswahlfunktionen, wie zum Beispiel das der Zelle 302 zugeordnete Auswahlverfahren 352, können durch den Auswahl- editor 204 benannt, definiert und editiert werden. Ähnlich können Mengenfunktionen, wie zum Beispiel die der Zelle 304 zugeordnete Mengenformel 354, durch den Mengeneditor 202 benannt, definiert und editiert werden, während Aktivierungsfunktionen, wie zum Beispiel das der Zelle 306 zugeordnete Aktivierungsverfahren 356, durch den Aktivierungseditor 206 benannt, definiert und edi- tiert werden können, und Auswertungszeitfunktionen, wie zum Beispiel die der Zelle 308 zugeordnete Auswertungs- zeitfunktion 358, können durch den Auswertungszeiteditor 208 benannt, definiert und editiert werden. Somit können Benutzer ihre eigenen Funktionen definieren, die spezifi- sehen Zellen zugeordnet sind, ohne andere Teile des Tem-
plate zu beeinflussen. Die Realisierung wird durch bestehende Funktionen unterstützt, oder es können mit Systementwicklungswerkzeugen, wie zum Beispiel standardmäßigen Datenbank-Managementtools, neue Funktionen erzeugt wer- den.
Mit Bezug auf Fig. 3 und Fig. 4 nehme man zum Beispiel an, daß ein Benutzer die Zelle 304 auswählt, die sich in der Mengenspalte 314 befindet. Auf der Grundlage der Aus- wähl der Zelle 304 werden die entsprechenden Steuerblδcke einer internen Tabelle, die die durch die Templateübersicht 300 dargestellte Template darstellt, gelesen und zu dem Mengeneditor 202 weitergeleitet. Globale Daten, die das Template betreffen, wie zum Beispiel Daten, die die Art von Kostenträger identifizieren, für die das Template ausgelegt ist, werden außerdem dem Mengeneditor 202 bereitgestellt. Wenn die Zelle 304 bereits eine Funktion enthält, werden die Steuerblöcke, die der Funktion zugeordnet sind, zum Editieren in die sprachabhängige externe Beschreibung bzw. Darstellung zurücktransformiert. Wenn durch den Mengeneditor 202 eine Funktion eingegeben oder verändert wurde, dann wird die Formelzeichenkette syntaktisch geprüft und durch den Templateparser 220 (siehe Fig. 2) in die Steuerblockstruktur transformiert.
Im folgenden wird die Umgebungswartung beschrieben.
Wie oben erwähnt, liefert die Umgebungswartung 280 die von dem Templateparser 220 benötigten Daten unter Verwen- düng der Tabellen der Templateumgebung 250.
Man nehme zum Beispiel an, daß eine Funktion für den Kostenträger Fertigungsauftrag 210 Informationen aus der Stückliste benötigt. Die Templateumgebung 250 beschreibt den internen Namen der Funktion, den externen Namen der
Funktion, die notwendigen Parameter, die Art von Ergebnissen und andere Arten von Informationen, die erforderlich sein können. Diese Informationen werden bei der Erzeugung von Steuerblöcken durch den Templateparser 220 verwendet .
Die Tabellen der Templateumgebung 250 steuern außerdem die Verfügbarkeit einer bestimmten Funktion für eine bestimmte Spalte in einem gegebenen Kontext. Zum Beispiel kann eine in einer Tabelle gespeicherte Definition vorsehen, daß die Funktion für den Kostenträger Fertigungsauftrag 210, die Informationen aus der Stück- bzw. Materialliste benötigt, nur für diejenigen Kostenträger gilt, die sich auf Materialien beziehen.
Im folgenden werden Parse-Funktionen und die Erzeugung von Steuerblöcken beschrieben.
Wie oben erwähnt, prüft der Templateparser 220 die Syntax von Funktionen und erzeugt Steuerblöcke. Das folgende
Beispiel zeigt die Wirkungsweise des Templateparsers 220.
Mit Bezug auf Fig. 5 soll die Formel 510, die aus der Zelle 104 stammt, geparst werden. Der Templateparser 220 führt zuerst eine Auftrennung 520 der Formel 510 in Token, d.h. in begrenzte Textworte oder Zeichenfolgen durch. Die Prüfung 530 vergleicht die Token mit der Grammatikbeschreibung 545, die der Syntax-Datenbank 540 entnommen wird. Die Prüfung 530 vergleicht außerdem die To- ken mit den Tabellen der Templateumgebung 250, die die verfügbaren Funktionen für den aktuellen Kostenträger beschreiben. Wenn die Syntax falsch ist oder die Funktion nicht für den aktuellen Kostenträger verfügbar ist, dann gibt der Templateparser 220 eine Fehlerbedingung 555 zu- rück. Wenn andererseits eine korrekte Syntaxbestimmung
560 auftritt, dann findet die Speicherung 570 des Tokens in Steuerblöcken mit internen Funktionsnamen statt. In dem Beispiel wird eine Kette von Steuerblöcken (Steuerblöcke 580 und 590) erzeugt. Die Steuerblöcke 580 und 590 sind interne Beschreibungen bzw. Darstellungen der Formel 510 und enthalten interne Beschreibungen des externen (sprachspezifischen) Funktionsnamens und Parameter der Formel 510.
Im folgenden wird die Erzeugung eines Templateprogramms erläutert .
Wie oben beschrieben, übernimmt der Templategenerator 230 die physikalische Speicherung von Prozeßtemplates und die Erzeugung ausführbarer Programme, die Laufzeitobjekte sind. Im Rahmen des SAP R/3 -Programms werden solche Programme auch als Berichte bezeichnet.
Mit Bezug auf Fig. 6 verarbeitet der Templategenerator 230 die Steuerblöcke 580 und 590. Die Struktur der Steuerblöcke 580 und 590 wird durch den Templategenerator 230 in relationale Datenbanktabellen in der Datenbank 232 transformiert. Die Erzeugung des ausführbaren Programms 234 verwendet den vordefinierten Programm-Erzeugungsrah- men 610 zum Definieren von Variablen, die durch die entsprechenden Werte aus den Steuerblöcken 580 und 590 ersetzt werden, auf der Grundlage der Bibliothek 620, die Regeln für die Bereitstellung von Daten für jede Variable enthält. Diese Variablen und Regeln sind generisch und können deshalb für Templates verwendet werden, die einem beliebigen Kostenträger zugeordnet sind.
Im folgenden wird die Templateauswertung beschrieben.
Die Templateauswertung 240 wendet das erzeugte ausführbare Programm 234 auf die letzten verfügbaren Daten an. Mit Bezug auf Fig. 7 wird die Templateauswertung 240 durch eine Anwendung, wie zum Beispiel eine Kostenrechnung für einen Fertigungsauftrag 710, gestartet, die kostenträgerspezifisch ist. Die Templateauswertung 240 kann beliebig oft stattfinden, und ein Template kann wiederholt von einer Mehrzahl von Kostenträgern verwendet werden, da die Templatedefinition nicht ausschließlich mit einem einzi- gen Kostenträger verknüpft ist.
Bei einer bevorzugten Ausführungsform der Erfindung kann zum Steuern der Ausführung des ausführbaren Programms 234 ein allgemeines Auswertungsmodul verwendet werden. Ein solches Modul sammelt die berechneten Ergebnisse des ausführbaren Programms 234 und überträgt die Ergebnisse zu der aufrufenden Operation. Während der Templateauswertung 240 kann eine dynamische Anwendungsverknüpfung 720 verwendet werden, um Informationen direkt von der aufrufen- den Anwendung und/oder von anderen Teilen des Systems zu gewinnen. Die Ergebnisse 730 und das Programm 740 der Templateauswertung 240 sind für die dynamische Anwendungsdatenverknüpfung 720 spezifisch, und die aufrufende Anwendung selbst ist für die Verarbeitung (oder Neuverar- beitung) der berechneten Ergebnisse verantwortlich.
Im folgenden werden andere Ausfuhrungsformen angesprochen.
Obwohl bei beschriebenen Ausfuhrungsformen wesentliche neuartige Merkmale der Erfindung gezeigt, beschrieben und aufgezeigt wurden, versteht sich, daß Fachleute vielfältige Auslassungen und Ersetzungen und Veränderungen hinsichtlich der Gestalt und der Einzelheiten der hier be- schriebenen Erfindung vornehmen können, ohne von dem Er-
findungsgedanken abzuweichen. Beispielsweise kann die vorliegende Erfindung in Verbindung mit verschiedenen Kostenrechnungsverfahren verwendet werden. Es ist ausdrücklich beabsichtigt, daß alle Kombinationen dieser Elemente und/oder Verfahrensschritte, die im wesentlichen dieselbe Funktion auf im wesentlichen dieselbe Weise durchführen, um dieselben Ergebnisse zu erzielen, im Schutzbereich der Erfindung liegen. Es ist deshalb beabsichtigt, daß eine Beschränkung nur durch den Schutzbereich der angefügten Ansprüche erfolgt .