Gibt es eine Art Verwendungsnachweis für Belege?

16. Mai 2011 14:09

Hallo!
Ich habe da nur eine kleine Frage. Ich würde gerne wissen, ob irgendwo aufgelistet wird, wo welcher Beleg verwendet wird? Die Tabelle 77 (Report Selections) habe ich schon gefunden, aber sie hilft nur zum Teil. Wir haben bisher 100 eigene Belege erstellt, d.h. wir können z.Zt. keine weiteren erstellen und bevor wir jetzt das nächste Paket bestellen, soll ich sicherstellen, dass die bisherigen auch alle irgendwo verwendet werden. Bevor ich mich jetzt aber händisch daran mache, jeden "Berichte"-Ordner im NAV zu durchforsten, dachte ich, ich frage lieber mal die Experten. Die Frage ist also, ob man irgendwo feststellen kann, dass z.B. Beleg 50089 im Ordner [Produktion]-[Planung]-[Berichte] verknüpft ist. Gibt es sowas?

Gruß
Walter

Re: Gibt es eine Art Verwendungsnachweis für Belege?

16. Mai 2011 14:14

Im Developers Toolkit gibt es eine "Where Used"-Option, die das auflisten müsste. Das erfordert aber eine SD-Lizenz, glaube ich.

Re: Gibt es eine Art Verwendungsnachweis für Belege?

16. Mai 2011 14:35

Der Object Manager hat auch so eine "Where used"-Funktion. http://www.msdynamics.de/viewtopic.php?f=20&t=10279

Re: Gibt es eine Art Verwendungsnachweis für Belege?

17. Mai 2011 12:43

Hallo,

@ McClane
Der Developers toolkit würde diese Bericht (leider) beim "Where-Used" nicht finden, da die Reports nicht direkt im Programmcode bzw. den Properties angesprochen werden,
sondern indirekt über z.B. die Funktion "PrintRecords" in der Table 112 aufgerufen werden.

Gruß
Jörg

P.S.:
Ich weiß nicht, ob der Object Manager Advanced (OMA) diese Reports über eine "Where Used"-Funktion findet.

Re: Gibt es eine Art Verwendungsnachweis für Belege?

17. Mai 2011 12:47

Den Satz hier
Walter hat geschrieben:Bevor ich mich jetzt aber händisch daran mache, jeden "Berichte"-Ordner im NAV zu durchforsten,
verstehe ich anders ..

Re: Gibt es eine Art Verwendungsnachweis für Belege?

17. Mai 2011 15:53

Ich verstehe die Frage dahingehend, dass Walter herausfinden möchte, ob ein bestimmter Report überhaupt noch genutzt wird.
Wo er im System eingebunden ist, spielt dabei dann wohl eher eine untergeordnete Rolle.

NAV bietet hier (noch) keine Verwendungs-Statistiken an (sollen aber aller Voraussicht mit Version "7" kommen).

Ich habe eine solche Verwendungs-Statistik jedoch schon einmal selber geschrieben.
(Leider habe ich den SourceCode gerade nicht zur Hand, kann ihn aber noch nachreichen.)

Prinzipiell funktioniert es aber so:
  1. Neue Tabelle anlegen, welche die zu protokollierenden Informationen speichern kann.
    (Report-ID, Anzahl Aufrufe, Datum des letzten Aufrufs, ...)
  2. In der Codeunit 1 - FindPrinter() wird der Aufruf des Reports in einer temporären Recordvariablen (auf Tabelle zu 1.) gespeichert.
  3. In der Codeunit 1 - LogInEnd() werden die Daten aus der temporären Recordvariablen physikalisch in die Tabelle zu 1. übertragen.
Hintergrund für diesen zweigeteilten Ablauf: Es der Funktion FindPrinter() kann nicht in die Datenbank geschrieben werden.

Mit dieser Lösung werden alle Report-Aufrufe protokolliert, welche nicht per C/AL-Code direkt an den Windows-Standard-Drucker geschickt werden.
Allerdings wird hier nur der Aufruf des Reports protokolliert. Ob der Report tatsächlich gedruckt wurde kann damit nicht dokumentiert werden.

Re: Gibt es eine Art Verwendungsnachweis für Belege?

18. Mai 2011 09:59

JRenz hat geschrieben:Der Developers toolkit würde diese Bericht (leider) beim "Where-Used" nicht finden, da die Reports nicht direkt im Programmcode bzw. den Properties angesprochen werden, sondern indirekt über z.B. die Funktion "PrintRecords" in der Table 112 aufgerufen werden.
Ja, genau daran habe ich auch gedacht. Es ist halt die Frage, was genau gemeint ist.

JRenz hat geschrieben:Ich weiß nicht, ob der Object Manager Advanced (OMA) diese Reports über eine "Where Used"-Funktion findet.
Nein, das OMA-Tool liest meines Wissens nach die Objekte als Textdatei aus und analysiert nach internen Referenzen.
Ein Aufruf wie
Code:
REPORT.RUN(SetupTable."Report ID" [, ReqWindow] [, SystemPrinter] [, Record])
würde nicht erkannt werden.
Und es gibt ein weiteres Problem: Es können natürlich nur die Objekte ausgelesen werden, für die man die entsprechende Lizenz besitzt.

Aber die Frage ist dann ja auch eigentlich eine andere. Nur weil ein Report an einer bestimmten Stelle im Code eingebunden ist oder in einer Berichtsliste auftaucht, heißt das ja noch lange nicht, daß er noch benutzt wird. Die von Timo beschriebene Variante bietet dazu schon mehr Informationen, allerdings funktioniert das Ganze auch nur so lange wie der Client ordentlich aussteigt. Die Frage ist dann allerdings wieder, wenn ein User einen Report nutzt und danach irgendwann der Client abstürzt, so daß die Datensätze über die Benutzung nicht abgespeichert werden können, sollte es dann nicht so sein, daß der Report in absehbarer Zeit noch einmal verwendet worden ist?! Es gibt nur wenige Reports, die nur einmal im Jahr verwendet werden und trotzdem sehr wichtig sein können. Also, eine definitive Aussage über die Verwendungsstatistik wird man nicht bekommen (Timo sprach ja auch noch das andere Problem mit der wirklichen Ausführung an), aber allgemein, ob ein Report in Verwendung ist, sollte sich darüber schon ermitteln lassen. Allerdings ist das dann schon eine historische Sache, kurzfrstig hilft das einem auch nicht weiter.

Generell ist es hilfreich alle Reports, die nur für eine Übergangszeit gebraucht werden, mit einem speziellen Kennzeichen in der Versionsliste zu markieren, z.B. TEMP. Für alle anderen bleibt einem je nach Genauigkeitsgrad manchmal nichts anderes über als die User zu befragen. Ich würde dann eine Liste erstellen von Kandidaten, die irgendwie den Anschein machen, daß sie nicht mehr verwendet werden, und allen Usern eine Email zukommen lassen, in der das Problem erklärt wird und die Kandidaten aufgelistet sind. Wenn sich darauf niemand nach einer bestimmten, festzulegenden Zeit meldet, daß er den Report aber verwendet, dann kann man diesen sichern und entfernen.

Re: Gibt es eine Art Verwendungsnachweis für Belege?

14. Juli 2011 12:40

Hallo,

falls das Thema noch aktuell ist, könnte eventuell dieser Link weiterhelfen:

"How to log report usage"
http://blogs.msdn.com/b/nav/archive/2011/06/23/how-to-log-report-usage.aspx

durch ein paar kleinere Anpassungen (unter einem aktuellen Build des NAV5-Clients) kann damit protokolliert werden, welcher Report wann und von wem aufgerufen wird.

Gruß
Jörg

Re: Gibt es eine Art Verwendungsnachweis für Belege?

14. Juli 2011 13:00

JRenz hat geschrieben:könnte eventuell dieser Link weiterhelfen:

Feine Sache, das kann ich sicher mal brauchen. danke :)