Report - nach Flowfield sortieren

31. März 2009 18:08

Hallo Leute,

ich stehe mal wieder vor einem Report - Problem.

Ich habe in eine Tabelle ein Flowfield eingefügt. Dies holt den Wert mittels LookUp aus einer anderen Tabelle.

Nun wollte ich einen Report erstellen der nach diesem Flowfield sortiert. Also wollte ich das Flowfield als zusätzlichen

Key einfügen. Dann kommt leider die Fehlermeldung "Ein Flowfield kann nicht Bestandteil eines Schlüssels sein".

Hat einer eine Idee wie trotzdem nach diesem Feld im Report sotieren kann?

vielen dank für eure Hilfe ...
mfg

zimbo

Re: Report - nach Flowfield sortieren

31. März 2009 20:47

Hallo Zimbo,

am besten wäre es, Du schreibst die Daten in eine temporäre Tabelle und lässt dann diese ausgeben.
Eine andere Möglichkeit wäre, den Bericht über die untergeordnete Tabelle zu schreiben und die benötigten Felder aus der übergeordneten Tabelle zu holen.

VG,
Jürgen

Re: Report - nach Flowfield sortieren

31. März 2009 20:56

jukr1975 hat geschrieben:am besten wäre es, Du schreibst die Daten in eine temporäre Tabelle und lässt dann diese ausgeben.

... einfach abzukupfern aus Report 111.

Re: Report - nach Flowfield sortieren

23. Januar 2012 14:11

Hallo zusammen,

ich brauch beim Report 111 noch einen Schupps:

Die Variable "CustAmount" ist als temporärer Record der Tabelle "Customer Amount" deklariert.
Das Data Item "Integer" hat in den Eigenschaften die Sortierung "SORTING(Number) WHERE(Number=FILTER(1..))" eingestellt.
Aber wo finde ich die Stelle an der der Kunde mit dem meisten Umsatz die "1" im Feld "Number" zugewiesen wird?

Vg und vielen Dank

Shunkskill

Re: Report - nach Flowfield sortieren

23. Januar 2012 14:32

shunkskill hat geschrieben:Das Data Item "Integer" hat in den Eigenschaften die Sortierung "SORTING(Number) WHERE(Number=FILTER(1..))" eingestellt.

Dies ist nur ein Gerüst, damit überhaupt eine Schleife durchlaufen wird.
Was und in welcher Reihenfolge gedruckt wird, wird allein bestimmt über:

Code:
IF Number = 1 THEN BEGIN
  IF NOT CustAmount.FIND('-') THEN // 1), siehe unten
    CurrReport.BREAK;
END ELSE
  IF CustAmount.NEXT = 0 THEN
    CurrReport.BREAK;


Zum Zeitpunkt von 1) bestimmt einzig die Recordvariable CustAmount, in welcher Reihenfolge Daten gedruckt werden.
Welchen Schlüssel hat also CustAmount? Da im C/AL-Code keiner explizit gesetzt wird, ist es der Primärschlüssel: Amount (LCY),Amount 2 (LCY),Customer No.
Diese Hilfstabelle ist also so konstruiert, dass sich anhand des Primärschlüssels die Reihenfolge automatisch ergibt.

Re: Report - nach Flowfield sortieren

23. Januar 2012 15:02

Genau,

falls Number=1, dann soll der erste Datensatz gelesen werden CustAmount.FIND('-'), falls es den nicht gibt Abbrechen.
Andernfalls wird immer ein NEXT ausgeführt was den nächsten Datensatz einliest, falls es den nicht gibt Abbrechen.

Der Vorteil ein Dataitem Integer hier zu nehmen ist eigentlich nur der, dass man dann dafür die Sections designen und ausprogrammieren kann.

mfg,
winfy