Sort by UDF in OITW
Michael Hubenschmid
HalloMöchte gerne im Marketing Dokument die Sortierung eines Detailbandes im DocumentRow nach einem UDF (Lagerplatz) in der Tabelle OITW (Zuordnung Artikel - Lager) in Abhängigkeit vom Freetext definieren.
Habe dazu die Query
in der Layoutdefinition mit der Standardquery DocumentRow verknüpft mittels ItemCode.Select * From OITW
Danach habe ich auf dem Datenband DocumentRow im Property Sort folgende Sortierungfunktion hinterlegt:
iif(GetData("LD.Par.FreeText")= "Rüstschein", GetData("B1_Data.Document.DocumentRow.RowLagerzuordnung.U_LagerPlz"), GetData("B1_Data.Document.DocumentRow.LineNum"))Leider bleibt nach Abspeichern des Layouts und aufruf der jeweiligen Printdefinition alles wie vorher.
Was muss ich ändern?
Auch wäre es sinnvoll wenn in einer der nächsten Versionen des MarketingDocuments auch die OITW in der Datasource verknüpft wäre, denn mit meiner Lösung bekomme ich dann ein Problem wenn mehr als 1 Lager vorhanden ist.
Danke für die Hilfe.
Philipp Knecht
Hi MichaelSehe nichts falsches. Hast du dir die Felder (bzw. den ganzen Ausdruck) auch mal ausgegeben?
hth
Michael Hubenschmid
Hallo PhilippDie query bringt mir einfach jeden Datensatz aus der OITW.
Wie aber prüfe ich was mir die iif Clausel selektiert. Ich kann ja beim Layout Form Typ nicht nach Freetext einschränken?
Philipp Knecht
HiMach ein Textfeld und im Value Property machst du den gesamten Ausdruck rein....
hth
Michael Hubenschmid
Hallo Philipp.Jetzt hat es komischerweise funktioniert. Jedoch habe ich einen Fehler gesehen: Wenn ich nicht bei jedem Artikel einen Lagerort habe dann kommt auf dem Rüstschein gar nichts!
Michael Hubenschmid
Hallo Philipp.Hat sich erledigt. Habe im IIf noch einn IIf eingesetzt welches prüft ob der lagerplatz empty ist: wenn ja gibt er dann fix 0 aus.
Andere Frage zu dem Breich:
Wie bekomme ich eine Sortierung hin bei der der Wert 1B2 vor 13C2 kommt?
Philipp Knecht
Hallo MichaelDann musst du etwas in der Art: CASE WHEN Item = '1B2' THEN '00' ELSE Item END machen.
Alternativ kannst du auch ein UDF anlegen in welchem du dann die Soortierung vorgibst (am besten numerisch)
hth
0
Please sign in to leave a comment.
Comments
0 comments