SAP Jobsuche bei DV-Treff
huibui
  • huibui
  • SAP Forum - Profi Thema Starter
vor 13 Jahre

Hallo zusammen,

 

ich möchte in einem Query mit einem lokalen Feld eine Ikone einblenden - und zwar wenn ein Listfeld einen bestimmten Wert enthält.

Das funktioniert bei Zahlen, Datum usw wunderbar - nur leider nicht beim Systemstatus.

 

Konkret möchte ich die Ikone einblenden, wenn im Feld Systemstatus der Status FMAT (=I0004) enthalten ist.

Ich kriegs nicht hin - hat jemand eine Idee?

 

Gruß

huibui

newgui
vor 13 Jahre
Hallo huibui,

weiß nicht ob ich das jetzt richtig verstehe. Nehme mal an, dasss das Feld Systemstatus aus einer Tabelle kommt. Damit es bei einem Textfeld funktioniert musst du das folgendermaßen machen.

Bedingung: FMAT = 'I00004'

Formel: Iconenname

Wichtig bei Texten diese unter die einfachen Hochkommas stellen 'Text'

Hoffe das wars.

lg

newgui

huibui
  • huibui
  • SAP Forum - Profi Thema Starter
vor 13 Jahre
Hallo newgui,

das wars leider noch nicht! Die Hochkommas hatte ich bereits eingefügt.

Ich vermute dass es damit zusammenhängt, dass das Feld Systemkopf nicht GLEICH 'I00004' ist, sondern nur 'I00004' enthält.

Gruß

Huibui

wreichelt
vor 13 Jahre

Hallo huibui,

ich habe mit der Tab: JEST getestet und eine Query angelegt. Das Lokale Feld habe ich dabei im Infoset ausgeprägt.

Beispiel: Coding zum Zusatzfeld

clear status. INCLUDE <ICON>.

if jest-stat = 'I0099'.

status = ICON_ALARM.

endif.

IE000000000010000000 I0099  001 @1V@   = Alarm

IE000000000010000000 E0002  001 

Gruß

Wolfgang

 

newgui
vor 13 Jahre
Hi huibui,

eine Möglichkeit gäbe es dann noch. Wenn das I00004 immer an der gleichen Stelle steht könntest du den Wert rausschneiden und dann vergleichen. ZB FMAT = 21000I00004

Bedingung: FMAT [6:11] = 'I00004'

Formel: Iconenname

Voraussetzung ist wie gesagt, dass der Wert immer an der gleichen Stelle steht. Wenn das nicht der Fall ist geht es nur über ein Coding wie von Wolfgang beschrieben.

lg

newgui

huibui
  • huibui
  • SAP Forum - Profi Thema Starter
vor 13 Jahre
Hallo und danke für die Antworten.

Ich denke es wäre am besten, das Ganze über ein Coding im Infoset abzuhandeln.

Das habe ich jetzt auch so gemacht (Feld angelegt, Feldgruppe zugeordnet usw).

Das Coding sieht in meinem Fall so aus:

clear AMPEL_FEHLMATERIAL. INCLUDE .

if IOHEADER-STTXT = 'I0004'.

AMPEL_FEHLMATERIAL = ICON_ALARM.

endif.

Syntaxfehler habe ich keinen - allerdings bleibt mein schönes Feld weiterhin leer.

Was habe ich vergessen?

Viele Grüße

huibui

wreichelt
vor 13 Jahre

Hallo,

steht wirklich in den Textfeld STTXT dein Status ?.

Gruß

Wolfgang

huibui
  • huibui
  • SAP Forum - Profi Thema Starter
vor 13 Jahre
Hallo,

ich lasse das Feld IOHEADER-STTXT im Query ausgeben. Hierbei wird der aktuelle Systemstatus Kopf angezeigt. Und zwar in Form von Buchstaben (z.B. FREI FMAT DRUC usw.)

Möglicherweise hängt es noch an der Umschlüsselung von "FMAT" nach "I0004" aus der Tabelle TJ02T.

Aber auch wenn ich im Coding das "I0004" gegen "FMAT" tausche passiert rein gar nichts.

Gruß

huibui

wreichelt
vor 13 Jahre

Hallo huibui,

ich habe das ganze auch mal für IOHEADER probiert, und das Coding wie folgt geändert:

clear status. INCLUDE <ICON>.

*tables: ioheader.

search ioheader-sttxt for 'ABGR'.     "Status ABGR

if sy-subrc = 0.

status = ICON_ALARM.

endif.

Bitte beachte im STXT wird duch einen * angezeigt, dass es weitere Stati gibt. Um die Stati genau aufzulösen gibt es den FB: READ_STATUS.

Gruß

Wolfgang

huibui
  • huibui
  • SAP Forum - Profi Thema Starter
vor 13 Jahre
Hallo Wolfgang,

so hats funktioniert - vielen Dank!

Da werden sich meine Anwender freuen.

Gruß

huibui