Artikel-Nummerierung: Abfrage eines UDF Wertes aus Maske
Michael Hubenschmid
HalloHabe nochmal ein ähnliches Problem wie bei meinem Eintrag bezüglich der GP-Nummerierung.
Habe folgende Query erstellt, die Im Queryanalyzer mit festen Variablen funktioniert, jedoch im Customize nicht.
SELECT CASE WHEN MAX(CAST(T0.ItemCode AS INTEGER)) <> 0 Then CAST(MAX(CAST(T0.ItemCode AS INTEGER))+1 AS varchar(20)) Else MIN(T0.U_ItmSubGrp) END
FROM OITM T0
INNER JOIN OITB T1 ON T0.ItmsGrpCod = T1.ItmsGrpCod
INNER JOIN [@MTF_ITMSUBGRP] T2 ON T1.ItmsGrpNam = T2.U_Itm_Mn_grp AND T2.Code = '[%G;U_ItmSubGrp]'
WHERE
T0.ItmsGrpCod = '[%G;39]'
HAVING MAX(CAST(T0.ItemCode AS INTEGER)) < MAX(CAST(T2.U_Code_bis AS INTEGER))
Wie frage ich den Inhalt eines UDFs aus der aktuellen Maske ab. Diese Felder haben ja keine Nummer als Item sondern den Feldnamen.
Danke für hilfreiche Tips.
Andreas Eugster
Auf welcher Maske bist du den (Artikelstamm, Ausgangsrechnung)?Eigentlich sollte Folgende Syntax funktionieren: $[$Item,Column,Zeile] also bei dir:
$[$U_ItmSubGrp,0,0]
Wenns nicht geht schreib doch bitte auf welcher Maske du bist.
Michael Hubenschmid
Hallo Andreas.Danke für die Antwort.
Ich bin auf der Artikelstammmaske und möchte die Artikelnummer automatisch generieren lassen aufgrund von Angaben in dem UDF.
Gruss Micha
Michael Hubenschmid
Hallo!Leider funktioniert meine Funktion auch mit dem Parameter $[$U_ItmSubGrp,0,0] nicht. Wo liegt mein Fehler.
In einer Query irekt auf dem SQL Server ausgeführt mit festen Parameter läuft es.
Merci
Michael Hubenschmid
Hallo zusammen.Habe den Code nochmal erweitert, jedoch keine Wirkung:
SELECT CASE WHEN MAX(CAST(T0.ItemCode AS INTEGER)) <> 0 Then CAST(MAX(CAST(T0.ItemCode AS INTEGER))+1 AS varchar(20)) Else MIN(T0.U_ItmSubGrp) END
FROM OITM T0
INNER JOIN OITB T1 ON T0.ItmsGrpCod = T1.ItmsGrpCod
INNER JOIN [@MTF_ITMSUBGRP] T2 ON T1.ItmsGrpNam = T2.U_Itm_Mn_grp AND T2.Code = '$[$U_ItmSubGrp,0,0]'
WHERE
T0.ItmsGrpCod = '[%G;39]'
AND T0.U_ItmSubGrp = '$[$U_ItmSubGrp,0,0]'
HAVING MAX(CAST(T0.ItemCode AS INTEGER)) < MAX(CAST(T2.U_Code_bis AS INTEGER))
Gruss Micha
Andreas Eugster
Sry leider hab ich mich verirrt. Ich dachte ich bin beim Designer. Dort würde es so funktionieren.Hier wäre die Syntax so wie du zu beginn gesagt hast '[%G,U_ItmSubGrp]'
Doch leider kann ich selber auch keine Werte so auslesen.
Michael Egloff
Hallo zusammen,SQL Auslese aus UDF Felder auf dem UDF Form funktioniert erst in der nächsten Version. Diese sollte bis Ende Monat draussen sein.
Die Syntax ist dann wie anfangs geschrieben
'[%G;U_ItmSubGrp]'
Michael Hubenschmid
Hallo Michael!Danke für die Antwort.
Dann freue ich mich auf diese neue Version.
Kannst du mir dann eine Mail machen wenn diese freigegeben ist.
Ist es vorher auch nicht möglich per SQL
das Produkt von UDF1 * UDF2 in ein UDF3 zu übertragen?
Gruss Michael
Michael Egloff
Wenn Auslöser, lesende und schreibende Elemente alle auf demselben Formular sind, ist es momentan möglich. Übergreifend funktioniert noch nicht."das Produkt von UDF1 * UDF2 in ein UDF3 zu übertragen" sollte gehen
Michael Hubenschmid
Hallo!Das heisst wenn der Auslöser der Buttojn "Hinzufügen" oder "Aktualisieren" ist, dann funktioniert es per SQL noch nicht, oder?
Wenn ja bis wann ist es dann möglich.
Gruss Micha
Michael Egloff
Hallo,du kannst ohne Probleme als Auslöser den Button definieren, und etwas in ein UDF schreiben.
Die Parameterauslese ( [%G,U_ItmSubGrp] ) funktioniert aber nur auf dem Formular, auf welchem der Auslöser platziert ist.
Konkret:
- Auslöser auf "normalem" Form -> Alle Parameter vom "normalen" Form auslesbar
- Auslöser auf UDF Form -> Alle Parameter vom UDF Form auslesbar
0
Please sign in to leave a comment.
Comments
0 comments