AppsWH-Programmierrichtlinien

Stand: 03. Mai 2012

 

1. Arbeitsmittel

Modul-Editor: Eclipse
Versionsverwaltung: Perforce
Hilfegenerator: ClassiX®-Tool, Zugriff über das Script 'helpgen'
Modulgenerator: ClassiX®-Tool, Zugriff über die Mini-Workbench

 

2. Modulerstellung

Bei der Erstellung von neuen Modulen empfiehlt es sich mit dem ClassiX®-Modulgenerator auf die Grundschablonen für AppsWh-Module zurückzugreifen. Der Modulgenerator wird zusammen mit dem Hilfegenerator und weiteren Tools im Unterverzeichnis .\Projects\Tools\ des ClassiX®-Rootverzeichnis zur Verfügung gestellt.
In der Regel entsteht ein Dreigestirn in der Form Basis-, Editier- und Selektionsmodul, dessen Dateinamen sich an der darin hauptsächlich bearbeiteten Klasse ausrichten. Auch die Namen der in den Modulen verwandten Messages sollte sich an den angesprochenen Klassen orientieren.

2.1 ClassiX® Konventionen

2.2 Transaktionshandling

Alle Transaktionen, welche auf die Datenbank zugreifen, machen automatisch eine Schreibtransaktion auf. Dies bedeutet, dass die Daten, auf welche zugegriffen wird, für die Dauer der Transaktion gesperrt sind. Für den Instantview Programmierer bedeutet dies folgendes:

2.3 Programmiervorgaben

S. ausgewählte Programmbeispiele.

2.4 Tipps und Tricks

 

3. Dokumentation

Module müssen stets sofort beschrieben werden.

    3.1 Dokumentation im Modul

    3.2 Dokumentation des Moduls in der Infothek


4. Fehlerbehandlung

Können Fehler im Modul nicht behoben werden (z.B. wegen Fehlern in der Basis oder Datenbank), dann ist die folgende Kennzeichnung anzugeben:
// FIXME „Fehlernummer“ „Kürzel des Programmierers“ „Datum“

 

5. Weiterentwicklung

 

6. News

Auf dem ClassiX® Intranet gibt es in den Bereichen Basis- und AppsWH - Entwicklung einen entsprechenden News-Link über den die neuesten Informationen erreichbar sind.

 

7. Fehlermeldungen

Treten in ClassiX® Fehler auf, so können einige dieser Fehler sofort bestimmten Ursachen zugeordnet werden. Hier ist eine Liste mit bekannten Fehlern, ihren Ursachen und Lösungsansätzen.

 

8. Transaktionsbeschreibungen und Workflows

Transaktionsbeschreibungen und Workflows sind alle im Verzeichnis appswh\<branchname>\data\TXN-WF gespeichert und eingecheckt. Dies bedeutet, dass nach jeder Änderung die Transaktionsbeschreibung / der Workflow ausgecheckt, exportiert und wieder mit eingecheckt werden muss. So bekommt der Kunde bei einem Diff automatisch den letzten Stand mit ausgeliefert, egal wie viele Änderungen bis zum letzten Stand nötig waren. Es ist aufgrund der neuen Import Routine der Geschäftsprozesse nicht mehr notwendig, den Kunden die Änderungen an den Zuständen oder Übergangsbedingungen zu überlassen. Man kann einfach den exportierten Geschäftsprozess als Textdatei ausliefern, welchen der Kunde nur noch importieren muss.

Wichtig!
Bevor man etwas an einem Geschäftsprozess oder einer Transaktionsbeschreibung ändert, liest man diese vorher aus dem eingecheckten Stand ein! Sonst checkt man nachher noch seinen uralten angepassten Stand ein, was natürlich nicht geht! Übrigens, Transaktionsbeschreibungen muss man vor dem Importieren löschen!
Tip dazu:
Ist man  nicht sicher, ob der eingecheckte Stand wirklich aktueller ist, als der aus der Datenbank, die man gerade vom Kunden mitgebracht hat, so kann man einfach den entsprechenden Geschäftsprozess/Transaktionsbeschreibung auschecken, einmal exportieren und über Perforce's "Diff file against depot" vergleichen. Sind deutliche Unterschiede erkennbar, so ist zu klären, welcher der aktuellere Stand ist. Dieser sollte dann vor der eigentlichen Änderung eingecheckt werden, damit die Revisionshistorie nachher nur die wirklich geänderten Stellen markiert.

Und noch mal zur Erinnerung:
Transaktionsbeschreibungen werden mit der Endung .txn, Geschäftsprozesse mit der Endung .wfl exportiert.
Transaktionsbeschreibungen sind paarweise zu exportieren. (incl. rückgängig).
Es gibt ein paar Ausnahmen, bei denen man nicht so genau bestimmen kann, ob und wie sie zusammen gehören, (nicht mit der Kombination _BACK) bei denen bitte einmal in der eingecheckten Datei gucken, welche enthalten sind und auch genau so exportieren!

Richtlinien: 

>Wer Transaktionsbeschreibungen anfasst, der beschreibt diese bitte gleich nach folgendem Schema:

Sprich:

Im Kurztext wird beschrieben, um welche Änderungen es sich handelt.

In der Beschreibung wird dann die Vorbedingung in Worte gefasst, sodass man nicht jedes mal erst 'ne Viertelstunde analysieren muss, wann hier was wo passiert.

Dies ist noch ein ziemlich einfaches Beispiel, aber wenn es dann um komplexe Bedingungen geht, ist es eine wirkliche Vereinfachung.

Falls dies gegen eine vorher festgelegte aber unausgesprochene Richtlinie der Verwendung des Beschreibungsfeldes geht, bitte Info an mich. In diesem Fall könnten wir später die Beschreibung noch ergänzen, es ist aber trotzdem zwingend erforderlich, damit sofort anzufangen!