Suchfunktion für Table-Control

Benutzeroberflächen in SAP Systemen.

Suchfunktion für Table-Control

Postby Gerd494 » Tue Mar 02, 2004 10:27 am

Hallo,

gibt es einen fertigen Baustein, der eine Suchfuntion in einem Table-Control implementiert? Ich möchte eine Spalte markieren, dann den Such-Button klicken und es soll ein Pop-Up erscheinen. Nach Eingabe des Wertes (Kriterium ist die markierte Spalte) soll die Zeile markiert werden, die den Wert enthält.

Falls es keinen Baustein gibt, wie geht man am besten vor?

Vielen, vielen Dank!!!!!!!

Beni
Gerd494
..
..
 
Posts: 69
Joined: Thu Feb 05, 2004 4:33 pm

Re: Suchfunktion für Table-Control

Postby Fiete453 » Thu Mar 25, 2004 1:56 pm

Hallo Beni,


ich weiß zwar auch nicht, ob es einen f-baustein für deine anforderung gibt :oops: , aber folgende lösung kann ich dir anbieten.

vorerst die definition der benötigten daten, um herauszufinden, welche spalte gerade markiert worden ist:

CONTROLS: tc_9010 type tableview using screen '9010'.

DATA: my_cols LIKE tc_9010-cols,
my_str_cols LIKE LINE OF tc_9010-cols.

zum Zeitpunkt PAI gehts weiter:

refresh my_cols.
loop at tc_9010-cols into my_str_cols.
append my_str_cols to my_cols.
endloop.

in der tabelle my_cols sind alle spalten des tablecontrols aufgelistet. dort gibt es ein feld 'selected'. das hat den wert 'X' hat, wenn diese spalte markiert worden ist.

dann programmierst du einfach einen button der ein modales fenster aufruft, indem du den wert eingeben lässt, der gesucht werden soll.

zum tablecontrol 'musst' du ja auch eine interne tabelle haben, welche die daten deines tc's beinhaltet. z.B.: TAB_DATA

du machst einfach einen loop über diese tabelle tab_data und je nachdem welche spalte markiert worden ist, (my_cols-selected = 'X') suchst du dann das entsprechende feld nach dem eingegeben wert ab.
wenn du was gefunden hast, gehst du setzt du noch den cursor auf den wert und schon wird er dir angezeigt.

z.b.: tc_9010-top_lines = "Index der gefundenen Zeile".

set cursor 'FELD' lines 1.

ich hoffe ich hab das jetzt nicht zu verwirrend geschrieben :shock:

lg, bassix
Fiete453
.
.
 
Posts: 5
Joined: Thu Mar 25, 2004 8:19 am

Postby Elanur354 » Wed Mar 31, 2004 8:11 am

1)beschaff dir den namen der spalte deren inhalt durchsucht werden soll
geht am einfachsten mit
LOOP AT tc1-cols INTO tc_col WHERE selected = x.
oder dem entsprechenden read table.
innerhalb einer leseschleife über deine itab setzt du dann nur noch ein feldsymbol auf dieses feld und schaust obs passt.
bei treffer haste nen tabix den du dann nur noch bei pbo auf tc1-top_line übergibts und schwupp steht der gesuchte satz in der ersten zeile.
Elanur354
..
..
 
Posts: 26
Joined: Wed Mar 31, 2004 8:11 am


Return to Dialogprogrammierung

Who is online

Users browsing this forum: No registered users and 20 guests