Veröffentlicht Fri, 06 Jan 2023 16:55:22 GMT von Oliver Acker Property Manager
Hallo zusammen,

zunächst einmal möchte ich allen ein guten neues Jahr wünschen.

Folgende Thematik steht im Raum, für die ich keine praktikable Lösung finde.

Beschreibung:

In einem Archiv werden alle Wohnungen gepflegt. Jede Wohnung hat eine eindeutige ID (Indexfeld Wohnungsnummer (z.B. M2001).

Des Weiteren gibt es ein Indexfeld, welches den Namen "Wohnungsnummer-Mieter" trägt
(zb. M2001.01).

Gehen wir davon aus, dass Mieter Meier auszieht (M2001.01) und Mieter Müller einzieht, erhält Mieter Müller die Nummer M2001.02. Die letzten drei Strings sind somit fortlaufende Nummern.

Anbei zur Veranschaulichung eine Übersicht:

M2001.01 = Meier
M2001.02 = Müller
M2001.03 = Huber

Nun möchten wir in einem Indexfeld ("aktueller Mieter") lediglich jenen Mieter angezeigt bekommen, der die höchste Indexierung hat (in diesem Fall Mieter "Huber"). Somit wäre in dem Indexfeld immer der aktuellste Mieter zu erkennen.

Wie könnte man dies im Workflow-Designer sinnvoll abbilden (vermutlich mit der COUNT und UBOUND Funktion?)

VG Oliver A.
Veröffentlicht Mon, 09 Jan 2023 08:58:05 GMT von Simon H. Hellmann Toshiba Tec Germany Imaging Systems GmbH IT-Consultant Document Management Solutions
Hallo Herr Acker, 

ich verstehe glaube ich das Problem noch nicht ganz. Sind die Mieter mit Stammdaten in einem separaten Archiv oder einer anderen Datenbank gepflegt und sollen am Dokument vervollständigt werden? Oder soll über ein Indexwertprofil alles außer dem aktuellen Mieter ausgeblendet werden?
Oder verstehe ich Sie hier ganz falsch? 

Gruß aus Neuss, 
Simon H. Hellmann
DocuWare System Consultant
Veröffentlicht Mon, 09 Jan 2023 09:25:15 GMT von Oliver Acker Property Manager
Hallo Herr Hellmann,

entschuldigen Sie meine missverständliche Schilderung.

Die Wohnungen und Mieter befinden sich in einem separatem Archiv (Stammarchiv).
In einem weiteren Archiv haben wir alle Bauteile gelistet (z.B. Stromzähler).

Nun soll im Bauteilarchiv hinter den jeweiligen Stromzähler der aktuelleste Mieter angezeigt werden.

Ich hoffe, diese Infos helfen Ihnen weiter.

VG Oliver A.
Veröffentlicht Mon, 09 Jan 2023 10:00:28 GMT von Simon H. Hellmann Toshiba Tec Germany Imaging Systems GmbH IT-Consultant Document Management Solutions
Hallo Herr Acker, 

ja, das hilft. Handelt es sich um ein Cloud- oder on-premise System?
ier wäre es wahrscheinlich sinnvoll, in dem Mieterstammdatenarchiv die Mieternummer und die Wohnungsnummer beide in ein einzelnes Feld zu schreiben, also einmal "M2001" und einmal "03".

Option 1, falls on-premise System:
Hier könnte man mit einem MAX SQL Statement in einer DB-View arbeiten, welche dann über Daten zuweisen abgefragt wird.
SELECT MAX(Mieternummer), Wohnungsnummer
FROM Mieterstammdaten
// im Daten zuweisen filtern: 
WHERE Wohnungsnummer = GV_Wohnungsnummer

Option 2, falls Cloud:
Hier ist ja leider kein SQL Zugriff möglich. Dennoch können wir eine "versteckte" DW-Funktion ausnutzen: Wenn wir im Daten zuweisen ein Archiv abfragen, sind die Abfrageergebnisse immer absteigend nach DocID sortiert (zumindest bis einschl. Version 7.7, wer weiß was zukünftige Updates bringen).
SELECT TOP 1 Mieternummer
FROM Mieterstammdaten
WHERE Wohnungsnummer = GV_WOHNUNGSNUMMER
TOP 1 meint, dass unter dem WHERE-Feld ausgewählt wird, dass nur ein Dokument zurückgegeben wird. Das ist dann der Mieter mit der höchsten DocID, der ja wahrscheinlich auch der aktuelle Mieter ist.

Ich hoffe, das hilft ein bisschen weiter oder bringt zumindest einen Denkanstoß in die richtige Richtung :)

Gruß aus Neuss, 
Simon H. Hellmann
​​​​​​​DocuWare System Consultant
Veröffentlicht Mon, 09 Jan 2023 12:51:48 GMT von Oliver Acker Property Manager

wir haben die Cloud-Variante.

Aktuell fragen wir alle Mieter ab, die ich als erstes in eine Globale Variable (Typ Stichwortfeld) und anschließend als String in ein normals Textfeld umkopiere. Das Abgreifen der aller Mieter sieht wie folgt aus (siehe Anhang).

Wo müsste ich nun den "TOP1" Befehl eintragen?

Veröffentlicht Mon, 09 Jan 2023 13:11:23 GMT von Simon H. Hellmann Toshiba Tec Germany Imaging Systems GmbH IT-Consultant Document Management Solutions
Hallo Herr Acker,

"Maximale Anzahl an zurückgegebenen Dokumenten" im Screenshot unten ist äquivalent zu "TOP" in SQL, also dieses auf 1 stellen. So kommt nur das Dokument mit der höchsten DocID zurück. 

Gruß aus Neuss, 
Simon H. Hellmann
DocuWare System Consultant
Veröffentlicht Mon, 09 Jan 2023 14:22:24 GMT von Oliver Acker Property Manager

ok, das werde ich ausprobieren (allerdings habe ich im Hinterkopf, dass der ersten Eintrag dann willkürlich gewählt wird).

Ich halte Sie auf dem Laufenden.

Vielen Dank.

Veröffentlicht Sat, 14 Jan 2023 11:03:38 GMT von Oliver Acker Property Manager

Hallo Herr Hellmann,

Ihre Idee habe ich umgesetzt. Funktioniert in der Theorie sehr gut :-)

Allerdings habe ich bemerkt, dass der aktuellste Mieter nicht zwingend die höchste Doc-ID haben muss (liegt daran, dass die Mieterstruktur nicht immer klar ist, und dementsprechend Änderungen vorgenommen werden).

Somit müssten wir zurück auf die Grundidee, die letzten drei Zeichen (z.B. M2001.03) zusammeln, um anschließend den höchste Wert zu ermitteln.

Anbei nochmal ein Fallbeispiel:

M2001.01 = Meier
M2001.02 = Müller
M2001.03 = Huber

In diesem Fall ist Meier und Müller bereits ausgezogen und Huber ist der aktuelle Mieter.

Die Mieternummern befinden sich im Indexfeld " Wohnungsnummer-Mieter "

Ich bin auf einen weiteren Lösungsansatz gespannt.

Vielen Dank.

VG

Veröffentlicht Thu, 19 Jan 2023 11:49:01 GMT von Gerardo Lisanti Team Leader Product Management
Hallo Oliver,

so wie ich das verstehe, fragst du alle Mieter ab und schreibst sie in eine Globale Variable GV_ObjektEinheitNummer (Typ Stichwortfeld).
Deine globale Variable GV_ObjektEinheitNummer enthält also 3 Werte (Index 0-2): M2001.01, M2001.02, M2001.03

UBOUND() gibt dir den höchsten Index zurück, hier also 2.
Da die Daten in einem Stichwortfeld immer alphabetisch sortiert werden, ist der höchste Index auch der aktuellste Mieter "M2001.03"

Somit kannst du dir den Wert mit dem höchsten Index in eine Globale Variable z.B. GV_AktuellerMieterNummer (Typ Text) kopieren:
GV_ObjektEinheitNummer(UBOUND(GV_ObjektEinheitNummer))

Die Globale Variable GV_AktuellerMieterNummer nutzt du anschließend um den Namen des Mieters aus den Stammdaten abzufragen:
DW_OBJEKT_EINHEIT_NUMMER = 'GV_AktuellerMieterNummer'


Viele Grüße / With best regards,

 --

Gerardo Lisanti
Product Manager  |  DocuWare GmbH
Veröffentlicht Thu, 19 Jan 2023 21:04:11 GMT von Oliver Acker Property Manager

Hallo Herr Lisanti,

vielen Dank für den Lösungsvorschlag. Diesen habe ich umgesetzt und er funktioniert einwandfrei

Anbei eine Zusammenfassung:

Schritt 1: Es werden alle vorhandenen Mieternummern in eine Globale Variable geschrieben (Typ Stichwortfeld)

Schritt 2: Anschließend wird mit der UBOUND Funktion der letzte Eintrag aus der Stichwort-Variable ausgelesen und in ein Textfeld geschrieben

Schritt 3: Das beschriebene Textfeld, welches dann die höchste Mieternummer enthält, wird im Anschluss mit dem Stammarchiv verglichen. Dementsprechend wird dann der Mietername in ein weiteres Indexfeld "Mietername" geschrieben.

Ich wünsche allen ein schönes Wochenende.

VG Oliver A.

Sie müssen angemeldet sein um Beiträge in den Foren zu erstellen.