Session D-BUSI
Große Projekte mit entsprechendem Framework gewinnen
Vincent Bloem
AccountView
Schedule
- Accounting for Developers
- Enterprise Modeler
- Linking through COM
- SDK/Business API
- Using the Integrated Test Facility
- Loose Ends
A Bit of Background
- AV Windows result of more than 3 years of work
- Built on experience gained with 4,500 DOS installations in 20 countries
- More than 100 Add-ins built
- Huge custom projects delivered by VARs
- 8 Developers
- 2 Documentation Engineers
- 26 Total Staff
Accounting for Developers
- Basic User Interface
- Posting transactions
- Handeling corrections
- Posting payments
- Analysing data
- VAT Report
- Invoicing
- Layouts
- Audit Trail
- Data Structure
- Data-Integrity
- Self-Diagnosis
- Error Log
Enterprise: Adventure Travel
- Adding fields to an existing entity
- Adding a new entity
- Adding user menu options
3-Tier Client server
AV Object Model
VB Code Example
Microsoft Excel 97
Sub Main()
Set oExcel = CreateObject(Excel.Application)
oExcel.WorkBooks.Add (c:\documents\sales98.xls)
oExcel.WorkBooks(Sales March).Activate
End Sub
Visual AccountView
Sub Main()
Set oAV = CreateObject(AVWin.Application)
ltesting = oAV.Login(demo, demo)
Set oAdm = oAV.open_admin(TRV_Work)
Set oGL1 = oAdm.create_object(gl1)
End Sub
COM Examples
Integration Issues
- Synchronising setup data
- Do it yourself
- Use AV tools
- Timing
- Integration Entry Points
- Daily Journals
- Sales/Purchases/Projects
COM Details
- Requesting ADO recordsets
- Error handling
- AccountView Script Server
- Using the COM interface from FoxPro
AV BAPI
- Tracing API Events
- A look at the API Registry
- Common API methods
- ADDon.VCX
- Template code classes
- Using the API to validate user input
SDK Details
- Modifying existing reports
- Distributing your work
- Adding menus in code
Integrated Test Facility
- Testing Overview
- Testing Types
- Regression, Stress, Boundary, Network
- Sample Tests
Kopplung mit AccountView
Integration ohne Änderung
Dieses Kapitel richtet sich an Software-Entwickler, die eine branchen- oder
unternehmensspezifische Anwendung an AccountView koppeln möchten. Hier
werden Lösungen besprochen, bei denen AccountView nicht erweitert oder
geändert wird: die externe Anwendung kommuniziert über eine Kopplung
mit AccountView. Es geht dabei oft um die Verarbeitung von Umsatzdaten aus dem
primären Unternehmensprozess in der Finanzbuchhaltung von AccountView.
Es können jedoch alle Arten von Daten ausgetauscht werden, auch die, die
zum Beispiel zu Bestandsbuchungen oder Bestellungen in AccountView führen.
Obwohl der Nachdruck bei der Kopplung meistens auf Buchungen gelegt wird (Sie
möchten nur die Umsatzdaten buchen), müssen häufig auch Stammdaten
ausgetauscht werden. Alle Buchungen in AccountView verweisen nämlich auf
Stammdaten in anderen Tabellen. In diesem Kapitel werden die Techniken zum Austausch
beider Datenarten erläutert. Mit dem Modul Stammdatenimport können
Sie mehrere Tabellen gleichzeitig importieren, so dass Sie das lästige
Huhn-Ei-Problem umgehen.
In diesem Kapitel stehen Strategien und Techniken im Vordergrund, mit denen
Sie eine ständige Kopplung zwischen Ihrer branchen- oder unternehmensspezifische
Anwendung und AccountView erzielen können. Dabei geht es vor allem um die
Beziehung zwischen Stammdaten und Buchungen in der externen Anwendung und denselben
Daten in AccountView. Sie können mit den folgenden Modulen Kopplungen erstellen:
- Buchungsimport
- Stammdatenimport
- AccountView COM Server (oder die VFP-Schnittstelle)
- AccountView Backoffice Server
Die Vielzahl von branchen- und unternehmensspezifischen Kopplungen erfordert
die Diskussion mehrerer Ansätze. Die offene Struktur und Dienstprogramme
von AccountView bietet zahlreiche Möglichkeiten zur Entwicklung der Kopplung
mit einem branchen- oder unternehmensspezifischen Programm. Dennoch hängt
die Wahl des idealen Ansatzes von Ihrer Situation ab.
In diesem Kapitel finden Sie nicht nur Informationen über konkrete Techniken,
sondern auch die Vor- und Nachteile der unterschiedlichen Kopplungsstrategien.
Diese Informationen beruhen auf der Erfahrung von Hunderten von Unternehmen,
die bereits eine Kopplung erstellt haben. Dies ermöglicht Ihnen, die Strategie
zu wählen, die am besten zu Ihrer Situation passt. Ihre Wahl hängt
unter anderem von den folgenden Punkten ab:
- die Möglichkeit, das Exportformat der branchen- oder unternehmensspezifischen
Anwendung an das Dateiformat von AccountView anzupassen
- die Anzahl Benutzer der Kopplung. Bei vielen Benutzern lohnt es sich eher,
die Kopplung mit AccountView COM Server zu entwickeln. Dann brauchen die Module
Buchungsimport und Stammdatenimport nicht für jeden Kunden angeschafft
zu werden.
- die Programmiersprache und Plattform der Branchenanwendung. Ist dies zum
Beispiel AS/400, dann ist AccountView Backoffice Server die beste Wahl. Ist
es Delphi unter Windows NT, kann AccountView COM Server eine gute Wahl sein.
- Ihre Erfahrung mit Visual FoxPro und Ihre Bereitschaft, einen AccountView
Certified Engineer einzusetzen.
Alle Module führen zahlreiche Prüfungen der externen Daten durch.
Dies gewährleistet die Datei- und Datenintegrität Ihrer Finanzbuchhaltung.
Am besten kommt dies in der 3-Schichten Client/Server-Architektur zum Ausdruck,
die AccountView verwendet. Diese Architektur sorgt dafür, dass die Geschäftsregeln
von AccountView immer eingehalten werden.
--> 3-Schichten Client/Server-Architektur
Kopplungsbeispiele
In diesem Abschnitt finden Sie Beispiele einiger Import- und Exportkopplungen
zwischen branchen- oder unternehmensspezifischen Anwendungen und AccountView,
so dass Sie einen Eindruck der Möglichkeiten für Ihre Lösung
bekommen.
Umsatzbuchungen monatlich in AccountView importieren
Die Primärprozesse Ihres Unternehmens werden mit einer branchen- oder
unternehmensspezifischen Anwendung verwaltet. Diese Anwendung verwaltet die
Lieferung von Waren oder Dienstleistungen und sorgt für die Fakturierung.
Sie möchten einmal monatlich die Rechnungsdaten automatisch in die Finanzbuchhaltung
von AccountView importieren, um die doppelte Erfassung zu vermeiden.
Sie erstellen eine Exportdatei in Ihrer Anwendung. Mit Buchungsimport können
Sie die Buchungsdaten als Grundbuchzeilen in AccountView importieren, danach
werden die Buchungen sofort in der Finanzbuchhaltung verarbeitet. Zur Synchronisierung
von Stammdaten (beispielsweise der neuen Debitoren) zwischen Unternehmensanwendung
und AccountView verwenden Sie Stammdatenimport.
Für die Durchführung des Imports können Sie zwischen dem manuellen
Aufrufen der Optionen von Buchungsimport und Stammdatenimport in AccountView
oder der Kombination der einzelnen Schritte in einer neuen Importprozedur wählen,
die von einer zusätzlichen Menüoption gestartet wird. Sie können
die Umsatzdaten auch beim Starten von AccountView automatisch verarbeiten lassen.
Für welche dieser Möglichkeiten Sie sich entscheiden, hängt von
der Frequenz der Importe, der Fertigkeiten der Buchhaltungsmitarbeiter und Ihrer
Kopplungserfahrungen ab.
Abbildung 0.1. Die Branchenanwendung liefert AccountView Buchungen und Stammdaten.
AccountView sorgt für die Verarbeitung und liefert das Ergebnis an die
Branchenanwendung.
Eine mögliche Erweiterung einer derartigen Kopplung ist der Export der
offenen Posten aus AccountView zur Unternehmensanwendung. Dann können Sie
den Kreditlimit und das Zahlungsverhalten in der Unternehmensanwendung überprüfen
und verhindern, dass Sie Waren an Kunden liefern, die nicht (rechtzeitig) zahlen.
Dies kann einfach durch die regelmäßige Erstellung einer Exportdatei
der offenen Posten in AccountView realisiert werden. Standardmäßig
stehen 13 Exportformate zur Verfügung.
Umsatzbuchungen mehrmals täglich in AccountView importieren
Eine Variante des vorigen Beispiels ist die Situation, bei der Sie eine engere
Kopplung zwischen Ihrer branchen- oder unternehmensspezifischen Anwendung und
AccountView erreichen möchten. Sie können dann Buchungen und Stammdaten
von der Anwendung aus mit AccountView COM Server (oder der VFP-Schnittstelle)
an AccountView weitergeben. Auf die AccountView-Daten (die offenen Posten) können
Sie zum Beispiel mit einer ADO-Datensatzgruppe zugreifen.
Rechnungen in AccountView importieren
Sie haben eine Anwendung für die Luftfrachtbranche entwickelt. Der Schwerpunkt
Ihrer Anwendung liegt bei der schnellen und präzisen Abholung und Lieferung
von Waren und der Verfolgung des Weges, den die Waren beim Transport ablegen.
Alle unternehmensspezifischen Eigenschaften, die bei der Fakturierung eine Rolle
spielen, können im Standardmodul Fakturierung von AccountView realisiert
werden. Daher beschließen Sie, die Rechnungen von AccountView generieren
zu lassen. Auf diese Weise brauchen Sie selbst kein Fakturierungssystem zu entwickeln
und zu warten und sorgt AccountView für die Erstellung von Rechnungslayouts,
das Drucken und die Verarbeitung von Rechnungen in der Finanzbuchhaltung sowie
die Aktualisierung von umfassenden Umsatzstatistiken.
Der Export in das Modul Fakturierung von AccountView anstelle in die Grundbücher
hat den zusätzlichen Vorteil, dass Sie in Ihrer eigenen Anwendung fast
keine Buchhaltungsdaten verwalten müssen. Die Steuersätze, Wechselkurse,
Ertragskonten, Skonti und Staffelrabatte werden automatisch von AccountView
berechnet oder während der Verarbeitung angewandt. Sie brauchen lediglich
die Debitorennummer, den Artikelcode und die Artikelmenge von Ihrer Anwendung
aus weiterzugeben, um eine gültige Rechnung zu erstellen. Alle sonstigen
Daten, wie die zu verwendenden Steuersätze, werden von AccountView automatisch
anhand der in den Artikel- und Debitorenstammdaten erfassten Standardwerte ermittelt.
Sie haben Erfahrung mit Visual Basic, daher wählen Sie die Kopplung mit
dem BusinessModeller von AccountView. Sie bringen den Import der Umsatzdaten
in einer neuen Menüoption im Fenster Mandanten unter. Daher kann der Buchhalter
die Umsatzdaten in einem Schritt einmal täglich importieren, und anschließend
sofort Rechnungen drucken und versenden.
Obwohl Sie natürlich auch Stammdaten mit AccountView COM Server importieren
können, entscheiden Sie sich doch für Stammdatenimport. Auf diese
Weise brauchen Sie nicht zu bestimmen, welche Debitorendaten in Ihrer Betriebsanwendung
seit dem letzten Export nach AccountView hinzugefügt oder geändert
worden sind. Sie bieten alle Debitorenstammdaten an, und Stammdatenimport bestimmt,
welche Debitorendaten neu oder geändert sind. Die Buchhalter legen auch
Wert darauf, dass alle Änderungen automatisch im Audit Trail dokumentiert
werden, wodurch sie einfach überprüft werden können. Da es sich
nur um 5000 Debitoren handelt, dauert die Synchronisierung nur wenige Minuten.
Kassenbons in Echtzeit verarbeiten
Da AccountView Backoffice Server mit AVS-Skripts arbeitet, die von fast jeder
Anwendung aus generiert werden können, überbrückt AccountView
Backoffice Server die Schwelle zwischen Systemen, die in den verschiedensten
Programmiersprachen für unterschiedliche Betriebssysteme geschrieben wurden.
In einem AVS-Skript legen Sie Buchungen in einer versions- und plattformunabhängiger
Weise fest. Die Skripts können auf einfache Weise erstellt werden, unabhängig
von der verwendeten Programmiersprache, der Anwendung oder dem Betriebssystem.
Die Skripts beschreiben die durchzuführenden Buchungen für AccountView
auf einer abstrakten, versionsunabhängigen Ebene.
Ein Baumarkt hat zum Beispiel zehn Kassen, die an das Betriebsnetzwerk gekoppelt
sind. Die Kassen (mit einem eigenen Betriebssystem) sind so programmiert, dass
sie bei Abschluss eines Geschäftsvorfalles ein AVS-Skript generieren. Diese
Skripts werden in ein freigegebenen Verzeichnis auf dem Windows NT Dateiserver
gestellt. Auf einem der PCs im Büro ist AccountView Backoffice Server immer
aktiv.
Durch die geschickte Einrichtung der Buchführung und die gute Struktur
der AVS-Skriptdateien kann die Geschäftsleitung:
- den aktuellen Umsatz jeder Kassen minütlich überprüfen
- die genaue Bargeldmenge jeder Kasse einsehen und durch eine ergänzende
Anwendung ein hörbares Signal erzeugen lassen, wenn sich in einer Kasse
zuviel Bargeld befindet und geleert werden muss
- die aktuellen Bestandsdaten aller Artikel im Geschäft überprüfen.
Entwicklung von aufgabengerichteten Schnittstellen
Um schneller über aktuelle Bestandsdaten verfügen zu können,
möchten Sie es den Lagerverwaltern ermöglichen, Bestandseingänge
oder -bewegungen im Lager einzugeben. Dies setzt eine stark vereinfachte Benutzeroberfläche
voraus, mit denen nur aufgabengerichtete Informationen aufgerufen und geändert
werden können. Eine Möglichkeit wäre, den Zugriff auf das Modul
Lagerbestand von AccountView freizugeben, aber das Modul bietet zu viele Möglichkeiten
und ist zu umfassend für diese Gruppe aufgabengerichteter Mitarbeiter.
Sie entscheiden, eine stark vereinfachte Benutzeroberfläche zu entwickeln,
die zum Beispiel auf einem Webbrowser wie dem Microsoft Internet Explorer oder
dem Netscape Navigator beruht. Auf diese Weise können Sie auf einem Netzwerkarbeitsplatzrechner
oder einem einfachen PC ohne Diskettenlaufwerk nur die erforderlichen Daten
bereithalten. Die Wartung dieser aufgabengerichteter Arbeitsplätze wird
wesentlich billiger, da die Benutzer keine Software installieren und den Windows-Desktop
nicht ändern können.
Zur Entwicklung der Oberfläche des Webbrowser stehen Ihnen mehrere Möglichkeiten
zur Verfügung. Fast jede Programmiersprache bietet die entsprechenden Werkzeuge.
Sie wählen die Sprache und Werkzeuge, mit denen Sie vertraut sind. Der
Zugriff auf die Bestandsmengen in AccountView wird einfach mit AccountView COM
Server realisiert. Zur Änderung der Bestandsdaten entwerfen Sie ein einfaches
Formular, in das der Lagermitarbeiter zum Beispiel die Artikelnummer, Art der
Änderung (Eingang, Verlegung, Ausgabe), Menge, den Lagercode und -ort eingeben.
Nach Versenden des Formulars an den Internet-Server (submit) legen Sie mit AccountView
COM Server von Ihren Active Server
Pages eine Verbindung zum entsprechenden AccountView-Objekt. Zahlungsdaten
aus AccountView
exportieren
Sie haben eine eigene Anwendung zum Factoring der Außenstände und
möchte dazu die Daten aus AccountView verwenden. Sie können die Daten
selbst über ODBC einlesen, Sie können aber auch eine Exportdatei in
AccountView aufgrund der Dateien OPEN.DBF (offene Posten) und CONTACT.DBF (Debitoren
und Kreditoren) erstellen. Zum Import der AccountView-Daten in Ihr eigenes Dateiformat
können Sie den Befehl SQL SELECT verwenden. Diese Datenbankdatei können
Sie anschließend erforderlichenfalls mit dem Kommando COPY TO <Datei>
TYPE <Dateityp> in eine ASCII-Datei konvertieren. Danach importieren und
verarbeiten Sie die Datei in Ihrer eigenen Anwendung.
Finanzdaten aus AccountView analysieren
Sie haben eine Anwendung, in der Sie Finanzdaten analysieren möchten.
Der Export solcher Daten gehört zur Standardfunktionalität von AccountView:
Sie benötigen kein einziges Zusatzmodul. Zum Exportieren Ihrer Journalzeilen
rufen Sie das Fenster Journal auf, in dem Sie Optionen/Exportieren wählen.
Sie können unter mehreren Exportformaten wählen. Diese Option ist
in vielen Fenstern verfügbar. Die Exportdatei können Sie anschließend
in Ihrer Anwendung einlesen und weiterverwenden.
Verfügen Sie über BusinessViews, können Sie eine Standardansicht
im Fenster Journal anlegen und die Daten in der Ansicht über OLE Drag &
Drop in Ihre Anwendung kopieren.
Übersicht über die Kopplungsmöglichkeiten
Zum Datenaustausch stehen Ihnen mit AccountView die folgenden Module zur Verfügung:
- Buchungsimport
- Stammdatenimport
- AccountView COM Server (oder die VFP-Schnittstelle)
- AccountView Backoffice Server
Die offene Struktur von AccountView kann dazu verführen, die Daten von
Visual FoxPro aus direkt in die AccountView-Dateien zu schreiben. Die direkte
Änderung der AccountView-Dateien (ohne AccountView) ist jedoch fast unmöglich
und nicht empfehlenswert. Der Vorteil dieser vier Module ist, dass alle Buchungen
mit Audit Trail dokumentiert werden und eine automatische Gültigkeitsprüfung
aller Daten stattfindet. Importieren Sie Buchungen auf eine andere Weise, ist
dies nicht der Fall. Es kann dann passieren, dass erst in einem viel späteren
Stadium, bei der Verarbeitung der Buchungen, Fehlermeldungen auftreten. Nur
bei Verwendung der AccountView-Module kann die Einhaltung der Geschäftsregeln
garantiert werden. Im folgenden finden Sie eine Erläuterung der einzelnen
Methoden und ihrer Vor- und Nachteile.
Die folgende Übersicht zeigt, dass die Kopplung über die Importmodule
und AccountView COM Server große Übereinstimmungen aufweist. Verwenden
Sie AccountView Backoffice Server, werden alle Schritte von Skripts durchgeführt:
Sie brauchen keine Datei zu importieren oder zu konvertieren, auch die Verarbeitung
geht automatisch vor sich.
Kopplung über die Importmodule
Sie erstellen Importdateien, die mit Buchungsimport und Stammdatenimport eingelesen
werden können. Der eigentliche Import der Buchungen kann anschließend
aus AccountView oder über eine eigene Menüoptionen geschehen.
Vorteile |
Nachteile |
Einsatz |
Einfache und billige Lösung |
Benutzer muss über die Module verfügen |
Wenn Sie Importdaten beim Import der vollständigen
Gültigkeitsprüfung unterwerfen möchten, mit einer robusten Fehlerbehandlung
|
Vollständige Prüfung der Daten |
|
Wenn Sie die Synchronisierung der Stammdaten
AccountView überlassen möchten |
Über AccountView-Menü oder programmierte Benutzeroberfläche
aufzurufen |
|
|
Automatische Registrierung im Audit Trail |
|
|
Tabelle 0.1. Kopplung über die Importmodule
Kopplung über AccountView COM Server
Bei dieser Möglichkeit verwenden Sie den AccountView COM Server (oder
die VFP-Schnittstelle) zum Import der Buchungen in AccountView. Diese Lösung
setzt Programmierkenntnisse voraus.
Vorteile |
Nachteile |
Einsatz |
Alle Vorteile des Component Object Model |
Nur für Entwickler mit Kenntnis über AccountView
und Sprachen wie Visual Basic, Visual FoxPro oder Delphi |
Wenn die Kopplung bei einer größeren Benutzergruppe
verwendet wird |
Keine Laufzeitkosten für Benutzer |
Höhere Entwicklungskosten |
Wenn Sie Erfahrung mit Sprachen wie Visual Basic,
Visual FoxPro oder Delphi haben |
Versions- und plattformunabhängige Lösung, Portabilität
|
Synchronisierung der Stammdaten muss von der
Lösung erledigt werden |
Wenn Ihre Anwendung geändert werden kann |
Einfache Verwaltung |
|
Wenn Sie eine automatische versionsunabhängige
Kopplung erstellen möchten |
Import in alle Module möglich (z. B. Fakturierung,
Lagerbestand, Projekte) |
|
|
Automatische Registrierung im Audit Trail |
|
|
Tabelle 0.2. Kopplung mit AccountView COM Server
Mit Blick auf die Synchronisierung der Stammdaten können die Importtools
kombiniert werden, wobei Sie AccountView COM Server für die Buchungen und
Stammdatenimport für die Stammdaten verwenden.
Dies ist auch möglich mit AccountView Backoffice Server. Dieses Modul
kommt in Frage, wenn Ihre Anwendung den COM-Normen nicht entspricht. Ihre Anwendung
erstellt dann ein AVS-Skript. Dies ist eine ASCII-Datei, in der sowohl die Kommandos
als auch die dazugehörenden Daten enthalten sind. Ein Skript kann zum Beispiel
durch Konvertierung einer Exportdatei generiert werden. Sie entwickeln dann
ein Programm, das eine Standard-Exportdatei Ihrer Anwendung (zum Beispiel im
SDF-Format) in ein AVS-Skript umsetzt. Dieses Skript kann anschließend
in AccountView mit dem Modul AccountView Backoffice Server verarbeitet werden.
Ein Vorteil des AccountView Backoffice Server gegenüber dem AccountView
COM Server ist, dass das Modul sich für jede Anwendung eignet, die ASCII-Dateien
exportieren kann. Dadurch eignet sich das Modul gut für Multi-Plattformumgebungen.
Ein Nachteil ist, dass der Benutzer über den AccountView Backoffice Server
verfügen muss.
Ein Kopplungsmodul wählen
Welche Module benötigt werden, hängt stark von den Anwendungen ab,
die Sie erstellen. Im folgenden werden einige Beispiele genannt.
Vorgang |
Einsatz |
Import von Rechnungsdaten aus eine branchen-
oder unternehmensspezifischen Anwendung oder Import von Lohnbuchungen aus
einer Lohnbuchhaltung |
Buchungsimport bzw. Stammdatenimport. (oder
eventuell AccountView Backoffice Server) ist auch möglich, wenn die Kopplung
unter einer großen Benutzergruppe vertrieben wird und Sie über ausreichend
Programmiererfahrung verfügen. |
Externe Rechnungen in AccountView verarbeiten |
AccountView COM Server (oder eventuell AccountView
Backoffice Server) |
Kassenbons in Echtzeit verarbeiten |
AccountView COM Server (oder eventuell AccountView
Backoffice Server) |
Aufträge eines Internet-Ladens erledigen |
AccountView COM Server (oder eventuell AccountView
Backoffice Server) |
Tabelle 0.3. Welche Module kommen für welche Anwendung zum Einsatz?
Übersicht über Kopplungsstellen
Nicht nur zur Durchführung der Kopplung stehen Ihnen verschiedene Möglichkeiten
zur Verfügung, Sie können die Daten auch an verschiedenen Stellen
austauschen. Stammdaten importieren Sie in die entsprechenden Dateien, bei Buchungen
bieten sich mehrere Möglichkeiten. So können Sie mit verschiedenen
Methoden Buchungen in Grundbücher, Einkauf oder Fakturierung importieren.
Möchten Sie zum Beispiel Umsatzdaten in AccountView importieren, können
Sie die Daten direkt in die Grundbücher, aber auch in Fakturierung importieren.
Importieren Sie in Fakturierung, erledigt AccountView automatisch die Verbuchung
in die Grundbücher.
Buchungen in Grundbücher importieren
Der Import in Grundbücher kann mit allen Methoden (Buchungsimport, AccountView
Backoffice Server und AccountView COM Server) durchgeführt werden.
Vorteile |
Nachteile |
Einfache und billige Lösung
Für jede Modulzusammensetzung geeignet
|
Die Importdatei benötigt mehr Buchungsdaten, die also
auch aus der branchen- oder unternehmensspezifischen Anwendung exportiert
werden müssen |
Tabelle 0.4. Vorteile und Nachteile des Buchungsimports in Grundbücher
Buchungen in Memorialgrundbuch importieren
Für den Import in das Memorial gelten andere Bedingungen als für
den Import in andere Grundbücher, da sowohl Haben- als auch Soll-Buchung
angegeben werden müssen. Der Import in das Memorial kann mit allen Methoden
(Buchungsimport, AccountView Backoffice Server und AccountView COM Server) durchgeführt
werden.
Vorteile |
Nachteile |
Import fast aller Buchungsarten möglich
Für jede Modulzusammensetzung geeignet
|
Importdatei muss mehr Buchungsdaten (Gegenkonten) enthalten
Zu importierende Buchungen müssen ausgewogen sein
|
Tabelle 0.5. Vorteile und Nachteile des Buchungsimports in das Memorialgrundbuch
Buchungen in Fakturierung importieren
Importe in Fakturierung können mit AccountView Backoffice Server und AccountView
COM Server erstellt werden, jedoch nicht mit dem Modul Buchungsimport.
Vorteile |
Nachteile |
Export kann weniger Buchungsdaten enthalten, Fakturierung
erledigt den Rest |
Benutzer muss über Fakturierung verfügen |
Zusätzliche Details, wie USt.-Beträge, Skonto,
Währungsumrechnung und Preisvereinbarungen werden automatisch bestimmt
Umfassende Bestandsdaten und Auswertungen in AccountView verfügbar
|
|
Tabelle 0.6. Vorteile und Nachteile des Buchungsimports in Fakturierung
Übersicht über die Kopplungszeitpunkte
Außer der Kopplungsstelle, an der Sie Daten mit AccountView austauschen,
können Sie auch den idealen Zeitpunkt zum Datenaustausch bestimmen. Werden
die Daten ab und zu ausgetauscht, haben Sie die Möglichkeit, dies von der
Buchhaltungsabteilung mit den Standard-AccountView-Optionen Stammdaten- und
Buchungsimport durchführen zu lassen. Werden die Daten täglich ausgetauscht
oder soll eine Standardkopplung zwischen der Branchenanwendung und AccountView
erstellt werden, lohnt es sich, den Datenaustausch zu automatisieren, zum Beispiel
während des Startens von AccountView durchführen zu lassen.
Hinsichtlich des Zeitpunkts des Datenaustausches können Sie unter den
folgenden Möglichkeiten wählen:
- Manuell, über die vorhandenen Standardoptionen
Dazu muss AccountView nicht geändert werden.
- Manuell, über eine neue Option im Menü
Sie fügen mit dem BusinessModeller eine neue Menüoption hinzu. Diese
Option kombiniert die einzelnen Schritte, und der Benutzer kann den Zeitpunkt
des Datenaustausches selbst bestimmen.
- Automatisch, sobald AccountView gestartet wird
Sie verwenden zum Beispiel das System Development Kit zum Aufrufen Ihres Importverfahrens
nach dem Anmelden. Auf diese Weise sind die Daten in AccountView immer auf dem
neuesten Stand.
Sie verwenden AccountView Backoffice Server zur sofortigen Verarbeitung der
Buchungen nach der Lieferung.
Importmodule
Abbildung 0.1. Zum Stammdatenimport stehen zahlreiche Dateitypen zur Verfügung.
Abbildung 0.2. Wählen Sie die zu importierende Datei und die AccountView-Datei,
in die Sie die Stammdaten importieren möchten.
Abbildung 0.3. Sie können bestimmen, wie mit ungültigen Verweisungen
und doppelten Datensätzen verfahren werden soll.
Abbildung 0.4. Auch die Fehlerbehandlung während des Imports können
Sie selbst einstellen.
Component Object Model (COM)
Das Component Object Model (COM) ist eine Software-Architektur, die die Entwicklung
von Anwendungen aufgrund von binären Software-Komponenten ermöglicht.
Dieser Standard ermöglicht, dass Software-Komponenten mehrerer Lieferanten
strukturiert miteinander kommunizieren können. COM hat die folgenden Eigenschaften:
- Ein binärer Standard für die Interaktion zwischen Komponenten
- Unabhängig von der verwendeten Programmiersprache
- Für mehrere Plattformen verfügbar (Windows 95 und NT, Macintosh
und verschiedene Unix-Varianten)
- Ermöglicht komponentenbasierte Entwicklung von robusten Anwendungen
und Systemen
- Auf konsistente Weise von Entwicklern erweiterbar
- Beruht auf einem Kommunikationsmodell für die Komponenten, nicht nur
innerhalb eines Prozesses, sondern auch über Prozess- und Netzwerkgrenzen
hin
- Gemeinsame Speicherverwaltung zwischen Komponenten
- Umfassende Fehler- und Statusmeldungen
- Dynamische Laden und Löschen von Komponenten
COM ist eine allgemeine Software-Komponenten-Architektur. Obwohl Microsoft
COM für verschiedene Ziele verwendet (u. a. Steuerelemente, Verbunddokumente,
Automatisierung, Datenaustausch, Speicherung und Benennung), kann jeder Entwickler
die Struktur und Basis, die COM bietet, hervorragend für sich nutzen.
Abbildung 0.5. Nimmt der Datenverkehr zu, können Sie zusätzliche
COM-Server einsetzen.
Die Lösung für Software-Komponenten
Das fundamentalste Problem, das mit COM gelöst werden kann, ist die Möglichkeit,
ein System zu erstellen, in dem binäre ausführbare Dateien unterschiedlicher
Lieferanten miteinander zusammenarbeiten, obwohl sie zu unterschiedlichen Zeitpunkten
an unterschiedlichen Stellen der Welt entwickelt wurden. COM ermöglicht
diese Interoperatibilität in einem brauchbaren und allgemeinen Modell,
das vier wichtige Probleme löst:
- Allgemeine Interoperatibilität. Die Programmierer können einmalige
binäre Komponenten entwickeln, die mit binären Komponenten anderer
Programmierer kooperieren.
- Versionsunabhängigkeit. Eine Systemkomponente kann aktualisiert werden,
ohne dass alle anderen aktualisiert werden müssten.
- Sprachunabhängigkeit. Die Komponenten können kooperieren, auch
wenn sie in verschiedenen Programmiersprachen entwickelt wurden.
- Transparente Kooperation zwischen Prozessen. Die Entwickler können
auf einem einfachen Modell beruhend ihre Komponenten zum Betrieb innerhalb
oder neben bestimmten Prozessen oder sogar über ein Netzwerk hinweg entwickeln.
Die Grundprinzipien von COM
Das Component Object Model beruht auf mehreren Konzepten, die die Struktur
des Modells festlegen:
- Ein binärer Standard für die Funktionsaufrufe zwischen Komponenten.
- Die Möglichkeit, stark typisierte Funktionen in der Schnittstelle zu
gruppieren.
- Eine grundlegende Schnittstelle, mit der die Komponenten:
- die Schnittstelle anderer Komponenten dynamisch aufrufen können
- ihre Lebensdauer anhand der Anzahl, wie oft sie aufgerufen werden, ermitteln
und sich nötigenfalls löschen
- Ein Mechanismus zur eindeutigen und weltweiten Identifikation von Komponenten
und ihrer Schnittstellen.
- Ein Komponentenlader, mit dem die Interaktion zwischen Komponenten eingestellt
und zusätzlich die Verwaltung der Interaktion zwischen Komponenten (bei
Aufruf mit anderen Prozessen oder über ein Netzwerk hinweg) unterstützt
wird.
AccountView verwendet ein Objektmodell mit mehreren Ebenen: die Anwendung,
der Mandant, das Geschäftsobjekt, die Datengruppe und die Datensatzgruppen.
Abbildung 0.6. Die konsistent durchgeführte Objekthierarchie ermöglicht
die Kopplung auf einer bestimmten Ebene.
3-Schichten Client/Server-Architektur
Nicht nur die Objekte sind eindeutig Ebenen zugeteilt. Auch die Programmstruktur
weist mehrere Ebenen auf. Diese Strukturierung ermöglicht es, AccountView
mit einer anderen Datenbank zu versehen oder AccountView über eine andere
Schnittstelle aufzurufen.
Abbildung 0.7. Deutliche Unterscheidung zwischen Interface, Geschäftsregeln
und Datenbank.
Ein Beispiel
Es folgt ein einfaches Beispiel einer Anwendung, die AccountView über
COM von Visual FoxPro aus aufruft.
* Start AccountView
oAv = CREATEOBJECT('AvWin.Application')
* logon to AccountView with DEMO user
llTesting = oAv.login('DEMO', 'DEMO')
* Select company TRV_BV
IF llTesting
oAdm = oAv.open_admin('TRV_BV')
llTesting = NOT (oAdm.name $ 'Error')
ENDIF
* Go to the General Ledger object GL1
IF llTesting
oGl = oAdm.create_object('GL1')
ENDIF
* Locate the accountnumber
IF llTesting
llTesting = oGl.locate('acct_nr = [' + xacct_nr + ']')
ENDIF
* Did we find it?
IF NOT llTesting
* No, not found, ask if user wants to add the account to the AccountView database
xanswer = MESSAGEBOX('Sachkonto ' + ALLTRIM(xacct_nr) + ' nicht gefunden. Anlegen?', 4)
* Does the user want to add the account number?
IF xanswer = 6 && User pressed Yes, so add it to AccountView
* Set values to insert
xacct_type = 2
xnorm_stat = 2
xacct_name = thisform.verk_oms1.edit1.value
* Use default value if no account name
xacct_name = IIF(EMPTY(xacct_name), 'Umsatz externe Anwendung', xacct_name)
* Add a new record
oGl.record_insert
* Set the fields in the record
oGl.set_field('acct_nr' , xacct_nr)
oGl.set_field('acct_name' , xacct_name)
oGl.set_field('acct_type' , xacct_type)
oGl.set_field('norm_stat' , xnorm_stat)
* Update the table
llTesting = oGl.table_update
IF NOT llTesting
=MESSAGEBOX(oGl.msg_last)
ELSE
=MESSAGEBOX('Sachkonto angelegt.')
ENDIF
ELSE
* No, the user doesn't want to add it
=MESSAGEBOX('Sachkonto nicht angelegt.')
ENDIF
ELSE
* Yes, we found it
=MESSAGEBOX('Sachkonto ' + ALLTRIM(xacct_nr) + ' gefunden.')
ENDIF
Dieses Beispiel startet AccountView, meldet sich als Benutzer DEMO an, geht
zum Hauptbuch und sucht dort eine Sachkontennummer (xacct_nr) heraus. Auf diese
Weise kann AccountView zum Beispiel von einem Branchen-Fakturierungsprogramm
aus aufgerufen werden. Die Rechnungen werden dann zwar in dem Programm erfasst,
die Verarbeitung wird jedoch über COM von AccountView durchgeführt.
Aus diesem Beispiel geht auch deutlich das Abstraktionsniveau hervor, das die
3-Schichten-Architektur ermöglicht. Welche Datenbank zugrundeliegt, ist
unwichtig, und das Beispiel hätte auch in Visual Basic geschrieben werden
können. Die Buchhaltungsengine von AccountView wird über COM aufgerufen,
alle Geschäftsregeln werden angewandt. Wenn anschließend z. B. ein
Sachkonto zugefügt werden sollte, wird überprüft, ob die Sachkontenart
(Bilanz oder Gewinn und Verlust) erfasst ist. Wenn nicht, wird dies dem Programm
über COM gemeldet.
Mit AccountView Backoffice Server (und AccountView COM Server) können
die erfassten Daten natürlich auch sofort verarbeitet werden: Sie senden
Ihre Umsatzdaten z. B. weiter an AccountView, hier werden nicht nur die Daten
gebucht, sondern auch die entsprechenden Rechnungen gedruckt.
AccountView Backoffice Server (AVS)
Abbildung 0.8. Ein Beispiel zur Verwendung des AccountView Backoffice Server.
Die Verkaufsabteilung setzt Unternehmenssoftware zur Fakturierung ein. Die Aufträge
werden in AVS-Skripts umgesetzt, die von AccountView Backoffice Server in Buchungen
in AccountView verarbeitet werden.
Abbildung 0.9. Verwenden Sie AccountView im Server-Modus, erscheint ein
Statusfenster, in dem Sie den Vorgang verfolgen können.
Abbildung 0.10. Im Fenster System-Einstellungen definieren Sie die Einstellungen
für AccountView Backoffice Server.
Abbildung 0.11. Das AVS-Skript kann automatisch erstellt werden, so dass
Sie nur noch die nötigen Änderungen vorzunehmen brauchen.
|