Die TIM-Webseite

paclogo.gif

against software patents!

Viewable With Any Browser

Änderungen

Automatische Folgedokumente jetzt gesammelt

(ÖSHZ). Neues Journalattribut Z : Folgedokumente zusammenlegen hilft Papier sparen.

Es bedeutet, dass Automatische Folgedokumente, die in diesem Journal erzeugt werden, nicht unbedingt nur eine Buchung enthalten.

Beispiel :

  • Neues Journal AAW8 anlegen, als Kopie von AAW9, aber mit diesem Attribut Z gesetzt.
  • Im Artikel P87.x.y das Auto-Journal von AAW9 nach AAW8 ändern.
  • Einen ZAU mit vielen Buchungen machen, wovon die meisten auf einem einzigen Artikel P87.x.y gehen, und die sich nicht auf eine bestehende AAW beziehen.

  • Beim Registreren wird jetzt nicht mehr für jede einzelne Buchung ein Dokument gemacht, sondern alle automatischen Buchungen auf diesem Artikel kommen in ein einziges Dokument.

Bemerkungen:

Verändert wurde lediglich die Funktionen ImpGenSuite() und TraCentral() mit CtlGenSuite(), nicht der eigentliche Befriedigungsalgorithmus.

ImpGenSuite() (Folgedokumente erstellen und registrieren) ist ein Teil des gesamten Registrierungsvorgangs (ImpDlgClose()), der aus folgenden Schritten besteht:

  • ImpPreClose() : Registrierungs-Vorlauf. Testet auf offensichtliche Fehler (u.a. "Kontonummer darf nicht leer sein", "A-Buchungen nicht erlaubt in (Jnl)", "falscher Artikel (IdBud)", "falscher Partner"). Führt PreImlClose auf jeder Zeile aus. Sammelt die zu erstellenden MVI-Records in einem array.

  • ImpMviScan() : Befriedigungsalgorithmus. Analysiert die zu erstellenden MVI-Records und ermittelt, was sie für Auswirkungen auf bestehende Buchungen haben

  • OnImpClose : weiterer Test (siehe TIM.DBI)
  • ImpMviGenerate() : schreibt die Buchungen in die MVI.DBF
  • evtl. Banktransferdatei schreiben und Dokument ausdrucken
  • ImpGenSuite() : Folgedokumente erstellen und registrieren

Die neue Funktion ImpCollSuite() wird von ImpGenSuite() aufgerufen. Sie prüft nach, ob eine bestimmte zu erstellende Buchung überhaupt Chancen hat, in ein Sammeldokument zu kommen. Bedingung ist ja, dass das Auto-Jnl des Artikels Attribut Z gesetzt hat. Buchungen, die gesammelt werden dürfen, können theoretisch in ein Sammeldokument kommen und werden in einem neuen Kollektor (pro Dokument, aImpSuite) gesammelt.

  • ImpGenSuite() beachtet jetzt, ob im Zieljournal JNLATTR_B bzw. JNLATTR_P gesetzt ist. Wenn eines dieser beiden Attribute gesetzt ist, dann werden falls nötig trotzdem mehrere Dokumente erzeugt : eines pro Artikel (JNLATTR_B) oder eines pro Partner (JNLATTR_P)

  • Von TraCentral() aus wurde nicht wie beim manuellen Registrieren ImpGenSuite(), sondern CtlGenSuite() gerufen. CtlGenSuite() war eine Variante von ImpGenSuite(), die eventuelle Fehlermeldungen nicht sofort anzeigte, sondern sie in einem array() sammelt. Außerdem wurde als Periode für die erstellten Dokumente die CTL_PERIODE benutzt, und als Datum UserDate(). ImpGenSuite() wurde erweitert, dass sie diese Variante jetzt auch hinkriegt. TraCentral() ruft jetzt ebenfalls ImpGenSuite(). Und CtlGenSuite() gibt es jetzt nicht mehr.

Geschrieben am 12.12.2002 .