cancel
Showing results for 
Search instead for 
Did you mean: 

UDF-Beschreibung in Abfrage ausgeben

bastian_hofmeister
Participant
0 Kudos

Hallo zusammen!

Ich habe eine kurze Frage an die SQL-Spezialisten unter euch.

Ich habe auf GP-Ebene verschiedene UDFs mit vordefinierten Werten angelegt.

Dabei habe ich den UDFs als WERT immer eine numerische Zahl gegeben und als Beschreibung eben eine Alphanumerische Beschreibung.

Pflege ich nun diese UDFs in den GP-Stammdaten, zeigt mir das System auf der rechten Seite auch korrekt die gültige Beschreibung des UDFs an.

Erstelle ich aber eine Abfrage mit diesen UDFs, zeigt er mir nur den numerischen WERT an, was völlig unbrauchbar ist.

Weiß zufällig jemand, wie ich mir die Beschreibung der UDFs anstatt der WERTE anzeigen lasse?

Vielen Dank bereits im Voraus!

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

SELECT T0.[U_UDFNAME] , T0.CardCode ,
case T0.[U_UDFNAME]
  when  'Y'  then 'Ja'
  when  'N' then 'Nein'
End
as status

FROM OCRD T0
Former Member
0 Kudos

Kann dem nur zustimmen. Trotzdem noch einmal der Hinweis, das es besser ist mit UDT's zu arbieiten. Dann muss man nicht immer in die Tabellen/Felddefinition, unr weil mal einen neuen Wert benötigt.

Hdh

Andreas

bastian_hofmeister
Participant
0 Kudos

Hi Sabine,

Klar, das mit der Tabelle UFD1 hab ich schon rausgefunden.

Leider bin ich nicht so ein SQL-Profi um diese beiden Tabellen zu verbinden.

Former Member
0 Kudos

Hi Bastian,

hilft dir das vielleicht weiter?

...

(CASE WHEN T1.[u_newsletter] <> '' THEN (Select t11.descr from UFD1 T11 where tableid = 'OCPR' and FieldID = 3 and t11.fldvalue = t1.[u_newsletter]) end) as Newsletter,

....

LG

Sabine

bastian_hofmeister
Participant
0 Kudos

Ja, die Werte liegen direkt hinter dem UDF 😆

Aber ich verstehe wie du das meinst

Former Member
0 Kudos

Falls du die Werte direkt im UDF hinterlegt hast wäre das übrigens die UFD1. Hier musst du dann mit Tabellen und Feld ID arbeiten.

LG

Sabine

Former Member
0 Kudos

Hallo Bastian,

kein Problem.

Beispiel: OCRD, UDF U_PLZ_GEBIET, Feld ist verknüpft mit einer Tabelle:

@PLZ_GEBIET mit Code und Name (Beispiel 0=Osten, 1=Norden, 2=mitte, 3=Süden)

SQL:

Select T0.CardCode, T0.CardName, T1.Name 
from OCRD
inner join [@PLZ_GEBIET] on t0.U_PLZ_GEBIET = t1.code

Falls Du mit hinterlegten Werten (direkt am UDF) arbeitest, sieht die Lösung anders aus.

hdh

Andreas