auf Abfragen der coresuite Berichte zugreifen
Elisabeth Schluga
Hallo zusammen,Wie kann ich generell auf die hinterlegen Abfragen der bereits fertigen Berichte zugreifen?
Beispielsweise möchte ich im Modul Coresuite Accounting die OP-Liste ändern/erweitern und hierzu auf die Abfrage Business Partner Ageing zugreifen bzw. diese ändern.
Ist dies möglich?
Wenn ja, wo sind diese Abfragen hinterlegt?
Besten Dank
Elisabeth
Manuel Marhold
Hi Elisabeth,in der designer-config den Haken "Queries loggen" setzen und dann in %temp%swa_ldund es gibt dann zum überschreiben einen @@overwrite-paramter, aber wie das genau funktioniert, weiß ich nicht.
Daniel Ebi
Hallo Manuel,ich habe bisher auch immer die Queries geloggt, geändert und dann meine Queries verwendet. Das mit dem Overwrite-Parameter härt sich interessant an. Kannst Du mir sagen, wo ich Infos dazu finde? Habe nichts dergleichen gesehen.
Gruss
Daniel
Manuel Marhold
Hi Daniel,[quote]"Philipp Knecht"]Hallo Andreas
Alos hab mal ne einfache Query namens "Budget" gemacht:
/* @@Overwrite */
SELECT 1 As Hurray
Die eingehängt in der Layoutdef und es hat funktioniert.
hth [/quote]
aus: http://www.coresuite.ch/forum.html?&tx_mmforum_pi1[action]=list_post&tx_mmforum_pi1[tid]=2962&tx_mmforum_pi1[pid]=10452&tx_mmforum_pi1[sword]=overwrite
Elisabeth Schluga
Hallo ich bin lt. Link vorgegangen... und habe alle Einstellungen gemacht.Wo genau sollte dieses Temp-Verzeichnis liegen?
Ich finde bei mir die abgespeicherten Queries nicht!
Welches Datenformat sollten diese haben?
LG
Elisabeth
Tobias Hermeling
[quote]"ElisabethPolzhofer"]Wo genau sollte dieses Temp-Verzeichnis liegen?
Ich finde bei mir die abgespeicherten Queries nicht!
Welches Datenformat sollten diese haben?
[/quote]
start -> ausführen -> %temp% und schon öffnet sich das Temp Verzeichnis im Explorer.
Such mal nach "SWALD" nicht mit Unterstrich, die querys sind afaik im *.txt Format geloggt, soweit ich das richtig im Kopf hab.
hth
Tobias Hermeling
Nachtrag:%temp% --> swald --> %Mandant% --> queries --> queries.txt
Elisabeth Schluga
Danke für die Beschreibung,Habe das File nun endlich gefunden.
Dennoch habe ich ein Problem und bin mir nicht sicher, wie ich dieses lösen kann:
Ich möchte den bestehenden Bericht von coresuite reports (Business Partner Movements) ändern.
Und zwar möchte ich die Abstimmungsnummern der einzelnen Transaktionen hinzufügen.
Nun weiß ich nicht, ob ich deshalb am besten die bestehende Abfrage ändere und überspeichere,
oder ob ich in der Layoutdefinition um eine Abfrage erweitern kann.
Ich habe schon versucht eine zusätzliche Abfrage der Layoutdefinition hinzuzufügen. Dies funktioniert auch und ich kann die Daten auch innerhalb des Berichtes abfragen.
Dennoch bräucht ich eine Verknüpfung zu den bestehenden Daten.
Wenn ich das Feld ReconNum aus ITR1 hinzufüge, so erscheint mir bei jeder Transid innerhalb des Berichtes die Nr. 1.
Irgendwie logisch, die erste Abstimmung also der erste DAtensatz der in der Datenbank gefunden wird, wird angezeigt.
Wie schaffe ich eine Verknüpfung? Ist das überhaupt möglich?
Philipp Knecht
Hi Elisabethgenau für diesen Zweck gibts die Query2 Linkfield - Möglichkeit.
Das heisst auf der linken Seite musst du einen Querynamen selektieren ders auch in der entsprechenden Datensource gibt und auf der rechten Seite deine eigene Query. Die Verlinkung machst du dann über die Linkfields. Falls es mehrere Spalten sind kannst du diese mit ; trennen.
Pass auf ist case sensitiv.
Tipp: Die Query auf der linken Seite musst du selber erstellen.
Mach einfach ein Select 1 und speichere diese Query unter dem entsprechenden namen ab (Der Name ist für die Verlinkung einer existierender Query relevant, nicht die Query)
hth
Elisabeth Schluga
Hallo Philipp,also leider funktioniert das nicht - bin schon etwas verzweifelt.
Entweder mein System stürtzt ab, oder der Report ist leer, oder es wird im Report immer noch die Abstimmungsnummer 1 angezeigt.
Folgende Schritte habe ich gemacht:
- die Queries mitgeloggt.
- eine neue Query namens "Abstimmungen" erstellt (SELECT * FROM ITR1)
- die Layoutdefinition wie beschrieben erweitert (siehe Anhang).
- eine Query "SELECT 1" abgespeichert als "GPDetails" und einmal als "GPHeaderDetails", da ich nicht sicher war, welche Query wirklich im Bericht herangezogen wird. Getestet habe ich alle Varianten
Ist die Layoutdefinition so richtig?
Auf der linken Seite habe ich es einmal mit Query "GPDetail" und einmal mit "GPHeaderGPDetails" versucht. Nicht führt zum gewünschten Erfolg!
Muss ich auch etwas im Bericht ändern?
Im Bericht ist im Datenbank die DataSource GPHeaderGPDetails ?!?
Gehört das auch geändert?
Wenn ich das auf GPDetails ändere hängt sich SAP auf.
Bitte um Unterstützung.
:cry:
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/elisabethpolzhofer/Verknuepfung.bmp]Verknuepfung.bmp[/url]
Elisabeth Schluga
Hier der Screenshot, wie der Bericht aussieht.Was mache ich falsch?
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/elisabethpolzhofer/Bericht.bmp]Bericht.bmp[/url]
Christian Gey
[quote]"ElisabethPolzhofer"]Hallo Philipp,
also leider funktioniert das nicht - bin schon etwas verzweifelt.
Entweder mein System stürtzt ab, oder der Report ist leer, oder es wird im Report immer noch die Abstimmungsnummer 1 angezeigt.
Folgende Schritte habe ich gemacht:
- die Queries mitgeloggt.
- eine neue Query namens "Abstimmungen" erstellt (SELECT * FROM ITR1)
- die Layoutdefinition wie beschrieben erweitert (siehe Anhang).
- eine Query "SELECT 1" abgespeichert als "GPDetails" und einmal als "GPHeaderDetails", da ich nicht sicher war, welche Query wirklich im Bericht herangezogen wird. Getestet habe ich alle Varianten
Ist die Layoutdefinition so richtig?
Auf der linken Seite habe ich es einmal mit Query "GPDetail" und einmal mit "GPHeaderGPDetails" versucht. Nicht führt zum gewünschten Erfolg!
Muss ich auch etwas im Bericht ändern?
Im Bericht ist im Datenbank die DataSource GPHeaderGPDetails ?!?
Gehört das auch geändert?
Wenn ich das auf GPDetails ändere hängt sich SAP auf.
Bitte um Unterstützung.
:cry:
[/quote]
Hallo Elisabeth
Wenn ich es ichtig verstehe willst du den Rückgabezeilen der Abfrage "GPHeaderDetails" jeweils die Menge der Rückgabewerte der Abfrage 2 zuordnen, die über eine identischen TransID verfügen.
Dazu müsstest du aber in der Spalte "Link Feld" noch das Ergebnisfeld definieren, das in "GPHeaderDetails" dem Eintrag "TransID" für Abfrage 2 entspricht (vermutlich ebenfalls TransID !?)
Im Moment vergleichst du TransID mit einem Leerwert. Da kannst du für die zweite Abfrage nichts zurückbekommen, da dieser Zustand nicht eintreten kann.
Elisabeth Schluga
Nunja so ähnlich.Abfrage1 und Abfrage2 liefern nicht die selbe Anzahl von Ergebnissen!
Nur dort wo Abfrage1 eine TransID liefert, die auch in Abfrage2 vorkommt, sollen innerhalb des Berichtes dann zusätzlich Daten aus Abfrage 2 angezeigt werden.
Verständlich?
Der doppelte Eintrag von TransID bringt hilft mir nicht weiter..
Christian Gey
[quote]"ElisabethPolzhofer"]Nunja so ähnlich.
Abfrage1 und Abfrage2 liefern nicht die selbe Anzahl von Ergebnissen![/quote]
Ist klar.
[quote]"ElisabethPolzhofer"]
Nur dort wo Abfrage1 eine TransID liefert, die auch in Abfrage2 vorkommt, sollen innerhalb des Berichtes dann zusätzlich Daten aus Abfrage 2 angezeigt werden.
Verständlich?
[/quote]
Ja, ist es. Genau deshalb ist es notwendig sowohl "Linkfeld 1" als auch "Link Feld 2" zu benennen. Im Prinzip baust du hier den Bezug zwischen den beiden Abfragen (Schlüssel-Wert aus Abfrage 1 = Schlüssel-Wert aus Abfrage 2)
[quote]"ElisabethPolzhofer"]
Der doppelte Eintrag von TransID bringt hilft mir nicht weiter..
[/quote]
Inwiefern nicht. Was passiert wenn du das machst? Stürzt Coresuite ab oder bekommst du immer noch keine Werte für dein erweitertes Layout?
Ich habe jetzt mal in den BP Movements Bericht reingeschaut und dabei folgende potenzielle Fehlerquellen entdeckt:
1. Basis für deine Verknüpfung ist die Abfrage GPDetails. Es existiert keine Abfrage mit dem Namen GPHeaderGPDetails. Dies ist lediglich die automatisch generierte visuelle Verlinkung zwischen den beiden Queries GPHeader und GPDetails. Bennene also deine Abfrage (Select 1...) entsprechend um.
2. Als "Link Feld 1" trägts du den exakten Spaltenbezeichner für die Transaktion ID ein. Dieser lautet TransID (WICHTIG! Groß und Kleinschreibung beachten!)
3. Trage unter Abfrage 2 deine Abfrage "Abstimmungen" ein.
4. Die Abfrage "Abstimmungen" (Select * from ITR1) liefert als Spaltenbezeichner den Namen "TransId" und nicht "TransID" zurück. Wie Philipp bereits schrieb werden hier Groß- und Kleinschreibung unterschieden (Stichwort Case Sensitive). Du musst also den Eintrag in "Link Feld 2" enstprechend korrigieren!
Jetzt gehe in den Designer. Wenn du o.g. Änderungen vorgenommen hast solltest du jetzt im Datenband "GPDetails" einen Knoten mirt der Bezeichnung "GPDetailsAbstimmungen" finden, über den du auf die verknüften Rückgabewerte aus der Tabelle ITR1 zugreifen kannst.
Philipp Knecht
Hallo zusammenChristian hat das Prinzip sehr schön umschrieben.
Möchte noch ergänzen das man neuerdings (ab 2.0) auch mehrere Linkfields mit ";" getrennt verknüpfen kann.
@Christian: Vielen Dank für diese löbliche Erklärung :)
hth
Elisabeth Schluga
JA super DANKE!Danke für die tolle Erklärung! Es funktioniert wunderbar, kann mich Philipp nur anschließen.
:D
Elisabeth Schluga
Hallo zusammen,nach einiger Zeit kämpfe ich mit einem ähnlichen Problem.
Und zwar muss ich dieses mal eine Verknüpfung der Tabelle INV6 mit dem Bericht OP-Liste FIN05406 schaffen.
Anforderung ist es das Mahnlevel pro Ausgangsrechnung anzudrucken. Da die vorbereiteten Felder der Coresuite die falschen Inhalte ausweisen möchte ich nun eine Korrektur vornehmen.
Ich habe die Abfragen mitgeloggt. Es handelt sich um die Abfrage BusinessPartnerAgeing.
Wie bringe ich die Abfrage BusinessPartnerAgeing und INV6 in Verbindung?
Eine Verknüpfung via DocEntry funktioniert nicht. TransID ist ebenfalls nicht möglich.
Kann mir hier jemand helfen?
LG Elisabeth
:cry:
Philipp Knecht
Hi ElisabethDu könntest über die BaseRef,SourceLine und Transactiontype gehen.
Wenn das nicht reicht kansst du auch mittels TransId und TransRowId aid die JDT1 gehen und von dort aus dann weiterschauen...
hth
Elisabeth Schluga
Hallo Philipp,danke für die Vorschläge.
Habe einiges probiert und leider bleibt mein Bericht an der Stelle "Mahnstufe: " immer leer.
Ich denke das liegt eher daran, dass ich nicht richtig in der Layoutdefinition verknüpfe.
Wie zu selektieren ist, damit ich bestimmte Tabellen in Verbindung bringe ist mir klar, nur weiß ich nicht wie ich das mit der Abfrage BusinessPartnerAgeing in Verbindung bringe, weshalb ich einen Screenshot in den Anhang gegeben habe.
Meine Abfrage ARMahnungen lautet:
SELECT T0.DocEntry,T0.DunnLevel,T0.DunDate,T2.TransID
FROM INV6 T0, OINV T1, JDT1 T2
WHERE T0.DocEntry=T1.DocEntry
AND T1.TransId=T2.TransId
AND T2.TransType=T1.ObjType
Ich hätte diese Abfrage nun über die Parameter TransID verknüpft. Siehe Screenshot.
Was mache ich falsch?
LG
Elisabeth
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/elisabethpolzhofer/AbfrageOpListe.JPG]AbfrageOpListe.JPG[/url]
Philipp Knecht
Hi ElisabethGPHeaderGPDetails ist schon eine Verknüpfung.
Du musst eine Tabelle (wahrscheinlich GPDetails) auf der linken Seite haben.
Dann deine Query mit dem SELECT * FROM ITR1 ist suboptimal. Schau zu dass du eine Verknüpfung hinkriegst damit du auch ne WHERE Clause hast.
Falls du nicht weiterkommst musst du halt einen Supporfall bei uns eröffnen.
hth
Elisabeth Schluga
Hallo,bin mittlerweile draufgekommen, dass die Verknüpfung nicht funktionieren kann.
Lasse ich mir nämlich die TransID innerhalb der Vernküpfung Documents ausgeben ist diese IMMER leer!
Von dem her kann die Abfrage nie funktionieren.
Kann ich den Fehler irgendwie beheben, dass Coresuite hier immer einer leere T_id in ihren Bands hat?
LG
Elisabeth
0
Please sign in to leave a comment.
Comments
0 comments