Dataitems aus einem Report auslesen[CC]

20. Juni 2011 11:49

Hallo zusammen,
ich habe eine Frage, unzwar:

Gibt es eine Möglichkeit,Kniff,Trick,WorkAround um aus einem Report die verwendeten Dataitems bzw verwendeten Tabellen auszulesen?
Also bevor ich ihn aufrufe?

Evtl gibts ja eine Funktion wie in etwa (ReportXYZ.GETDATAITEM) o.ä

Hat jemand eine Idee

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 11:59

Herzlich Willkommen bei uns!

paddy_cmd hat geschrieben:Evtl gibts ja eine Funktion wie in etwa (ReportXYZ.GETDATAITEM) o.ä

So direkt nicht, wofür brauchst du das denn?

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 12:11

Naja ich baue gerade einen Scheduler der Zeitgesteuert verschiedene Reports mit verschiedenen Filtermöglichkeiten zu verschiedenen Zeitpunkten an verschiedene Leute per Email sendet :)

Nun habe ich eine "Report Parameter Tabelle" gebaut, um für verschiedene Reports Filter einzurichten und in dieser hätte ich gerne nur die möglichen Tabellen für einen Report als auswahl!
Denn ich weiss welche Reports ich schicken will nur nicht welche Tabellen dahinter hängen, diese möchte ich herausfinden:)

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 13:08

Hm mir erschließt sich der Sinn noch immer nicht recht ...

paddy_cmd hat geschrieben:Naja ich baue gerade einen Scheduler der Zeitgesteuert verschiedene Reports mit verschiedenen Filtermöglichkeiten zu verschiedenen Zeitpunkten an verschiedene Leute per Email sendet :)

Kennst du die Projektwarteschlange bzw. habt ihr die lizensiert?
Verwaltung -> Anwendung Einrichtung -> Projektwarteschlange -> Projektwarteschlangenposten
Hier weitere Infos: http://blogs.msdn.com/b/nav/archive/200 ... v-5-0.aspx

Nun habe ich eine "Report Parameter Tabelle" gebaut, um für verschiedene Reports Filter einzurichten
Hast du ein Beispiel? Ich kann mir leider nichts darunter vorstellen.

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 13:57

Naja,

ja das ist sehr kompliziert zu beschreiben,
wenn ich mir einen Report betrachte der aus zwei Tabellen Daten aufführt,
zu einem Customer zum anderen Employee.

Bekomme ich irgendwie über eine Codeunit o.ä vor dem Aufruf des Report heraus das der Report auf (Cust,empl) guckt.
optimalerweise Tabellen Nr.

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 14:13

paddy_cmd hat geschrieben:Bekomme ich irgendwie über eine Codeunit o.ä vor dem Aufruf des Report heraus das der Report auf (Cust,empl) guckt.

Selbst wenn du das so vorher herausbekommen würdest - welchen Vorteil hätte das?
Um den Report auf diese DataItems vorzufiltern, brauchste du ohnehin gefilterte Recordvariablen, d.h. du musst ohnehin vorher wissen, auf welche Tabelle du gehen musst. Deswegen hatte ich ja um ein Beispiel gebeten. Ich bin nämlich noch nicht davon überzeugt, dass du das Konstrukt wirklich brauchst.

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 14:54

Meine Tabelle "Parameter ..."
hat folgende Felder: "Scheduler Line Nr.","Table No.", "Field no." und Value
In meiner Scheduler Tabelle befindet sich die restlichen Informationen ua die "Report No." und "Line No."
Mit der "Line No." referiere ich auf die "Scheduler Line No.", somit weis ich in meiner Parameter tabelle was für ein Report aufgerufen werden soll, jetzt an der stelle soll nun die auswahl der Möglichen tabellen von alle beschrenkt werden auf die, die im Report verwendet werden, damit der User noch alle möglichen felder der Report Tabelle filtern kann.

Quasi ein dynamischer versuch Reports zu filtern.



Meine Routine die mir meine Felder dynamisch Filter funktioniert 1a, ich brauche nur noch die möglichkeit die Spalte "Table" auf die Tabellen zu begrenzen, die wirklich im Report verbaut sind

Re: Dataitems aus einem Report auslesen[CC]

20. Juni 2011 15:59

Direkt ist dies nicht möglich.
Indirekt könntest du im Hintergrund den jeweiligen Report als txt exportieren und die Datei entsprechend durchsuchen.

Re: Dataitems aus einem Report auslesen[CC]

21. Juni 2011 09:20

Man könnte, sofern ichs verstanden habe, den Report mit einer Set-Methode versehen und alle Recordvariablen übergeben. Die die nicht benötigt werden lässt du leer, die du übergeben willst, filterst du entsprechend. Im Zielreport hast Du dann ein If isempty then break im OnPreDataItem.

Du solltest Dein Konzept nochmal von einem fachkundigen NAVler prüfen lassen. Das hört sich nicht effektiv/robust an.

Re: Dataitems aus einem Report auslesen[CC]

21. Juni 2011 13:18

Ich glaube ich drücke mich Falsch aus.

Ich möchte herausfinden welche Dataitems in Reports verwendet werden ohne ihn auszuführen.
Auf die idee JEDEN Report den ich brauche mit einer Funktion auszustatten bin ich auch schon gekommen, dies ist jedoch nicht dynamisch!

Ob meine Idee/Konzeption Stabil/robust ist, spielt ja keine Rolle.
Wie oben erwähnt habe ich mich Falsch ausgedrückt...

Re: Dataitems aus einem Report auslesen[CC]

21. Juni 2011 18:18

Doch das geht schon.

Schau Dir mal die Permissiontabelle an. Feld Security Filter Datatype TableFilter.
So geht das. In einem Feld legst Du die Tabellennummer ab, im Feld TableFilter den zugehörigen Filter.
Den Filter kannst Du dann dem Report übergeben.

Gruss