Skip to main content

ItemCode an Layout Abfrage übergeben

Comments

6 comments

  • Lothar Hasenkämper

    Moin Sven,

    kannst du bitte mal Screenshots von der Laydef und deine Abfrage schicken, bitte.

    Gruß Lothar

    0
  • Sven Neuelmann

    Moin Lothar,

    klar. Bei Abfrage 1 ist meine SQL Abfrage drin, welche über ...where T99.ItemCode = '[%ItemCode]' weitere Daten zu dem Artikel aus anderen Tabellen abfragt.

    Bei Parameter habe ich den ItemCode hinterlegt. Wenn ich Design Param Wert mit einem statischen Wert fülle, dann "klappt" das alles. Aber natürlich nur statisch. D.h. bei jedem Artikel aus der AB werden dann die gleichen abgefragten Daten angezeigt.

    Hier müsste ich dynamisch die Artikelnummer pro Zeile aus dem Beleg haben.


    Die Abfrage schaut dann im Detail so aus

    select T99.ItemCode, T99.ISRelevant, T100.Code, T99.ISOrCRYImp,T103.Descr AS 'Bestimmungsregion-Bundesland', T99.ISOriCntry, T102.Name AS 'Intrastat-Ursprungsland-Name', T101.BWeight1, 

    CASE 
    WHEN T101.BWght1Unit = '2' THEN 'g'
    WHEN T101.BWght1Unit = '3' THEN 'Kg'
    END AS 'GewichtEinheit',

    T101.BWght1Unit
    from itm10 T99
    left join ODCI T100 on T100.AbsEntry = T99.ISCommCode
    left join OITM T101 on T101.ItemCode = T99.ItemCode
    left join OCRY T102 on T102.Code = T99.ISOriCntry
    left join ODCI T103 on T103.AbsEntry = T99.ISOrCSTImp
    where T99.ItemCode = '[%ItemCode]'


    Gruß
    Sven

    0
  • Lothar Hasenkämper

    Hi Sven,

    auf diesem Weg bekommst du nicht jede Zeile. Du musst auf das Dokument gehen und sie dort holen.

    WHERE T99.ItemCode in (SELECT Distinct ItemCode FROM @@RDR1 WHERE DocEntry = [%DocEntry])

    Dann kannst du wenn du möchtest die Artikel direkt an die Lines knüpfen im Reiter Abfragen.

    Wähle in Abfrage 1 die SWA_LD_Document:Row aus und in Abfrage 2 deine Abfrage. Linke die beiden dann über den ItemCode.

    Das hat den Charme das du die Daten auch  direkt in den Detail-Lines deines Layouts nutzen kannst.

    Grüße Lothar

    0
  • Sven Neuelmann

    Super, das funktioniert jetzt damit genauso, wie ich mir das vorgestellt habe! Danke!!!

    Ich muss zwar das ganz noch etwas im Detail testen, aber bis jetzt, top.

    Nur zur Sicherheit, bzgl. deinem Screenshot von der Laydef, auf dem Reiter Abfrage. Die zweite Zeile (Abfrage mit der LineNum) benötige ich nicht, richtig? Die ist bei dir nur aus einem anderen Projekt und hat nichts mit meinem Vorhaben zu tun, oder?

    Eine kleine Frage hätte ich noch, hat allerdings nur bedingt mit der Grundfrage zu tun.
    Wie kann man Werte runden (auf 3 Stellen nach dem Komma)?

    In meinem Layout habe ich das so eingebunden:

    "Bruttogewicht pro Stück: " + LD.MultiLineRTF(DocumentRow("RowIntra4.BWeight1"))

    Kann man das im Layout machen, oder muss das schon in der Abfrage passieren?

    Noch mal Danke!

    0
  • Sven Neuelmann

    Ah! Das mit dem Runden habe ich nun hinbekommen.

    LD.MultiLineRTF(System.Math.Round(DocumentRow("RowIntra4.BWeight1"),3, System.MidpointRounding.AwayFromZero))

    0
  • Lothar Hasenkämper

    Hi Sven,

    schön das es geklappt hat und das sich manche Dinge von selbst erledigen ;-).

    Die Zweite Zeile ist für dich nicht relevant. Der Screenshot war zu grob :-).

    Das wäre ein Beispiel wenn du es genau für eine Zeile brauchst, dann halt die LineNum.

    Gruß Lothar

    0

Please sign in to leave a comment.