Table Control: Einzelne Zeilen sperren? Eilt etwas... :(

Benutzeroberflächen in SAP®-Systemen.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Table Control: Einzelne Zeilen sperren? Eilt etwas... :(

Beitrag von Spaulding (ForumUser / 21 / 0 / 0 ) »
Hallo,

ich arbeite gerade an einem Programm welches ein TC benutzt, um den Inhalt einer Tabelle zu pflegen. Abhängig vom Benutzer sollen jedoch nur bestimmte Zeilen der Tabellen gepflegt werden können.
Beim Anzeigen des TC könnte zwar die dazugehörige interne Tabelle nur mit den Werten gelesen werden, die der jeweilige Benutzer ändern darf, jedoch muss er auch wissen, was bereits in der Tabelle steht.


Ein kleines Beispiel:
TC mit Spalten
Object DLVUNIT
-----------------
TABL SAP_BASIS
PROG SAP_BASIS
ENHS IS_OIL

Der Benutzer soll nun im TC alle Zeilen sehen, jedoch nur Zeilen mit DLVUNIT = IS_OIL ändern können?

Geht so etwas überhaupt? Wenn ja, wie? Wenn nein, gibt es eine andere Möglichkeit, dieses zu realisieren?

Danke und Gruß,
Spaulding

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von bechi (ForumUser / 22 / 0 / 1 ) »
Hallo Spaulding!

Dies ist möglich über die Flowlogik des Dynpros.
Hier hast du einen LOOP über die interne Tabelle.
Der sollte ungefähr so ausschauen:

Code: Alles auswählen.

LOOP AT itab INTO <Struktur des Table Controls> WITH CONTROL <Table Control>.
*Modul das Zeilen-/Zellenweise den Input auf dem Table Control steuert
    MODULE set_input.  
  ENDLOOP.
Nun im Programm das Modul ausprogrammieren

Code: Alles auswählen.

MODULE set_input.
IF SY-UNAME = <STRUKTUR>-name  " z.B.
LOOP AT SCREEN.
*Hier besteht die Möglichkeit auf die einzelnen Felder des TableControls abzufragen mit SCREEN-NAME
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.

ENDMODUL.

Dies sollte soweit dein Problem lösen.

Gruß
Bechi

Beitrag von Spaulding (ForumUser / 21 / 0 / 0 ) »
Hi Bechi,

schon einmal vielen Dank für die Antwort.
Leider funktioniert es nicht ganz so, wie ich es gerne hätte oder ich verstehe die Antwort nicht richtig :)

In dem Modul kann ich zwar auf die einzelnen Felder des TC zugreifen und sie auch sperren, aber das will ich nur, wenn z.B. DLVUNIT = 'IS_OIL' ist. Wie ich das mache, habe ich leider immer noch nicht verstanden.

Ein weiterer Rat wäre hier vielleicht noch hilfreich :)

Danke und Gruß,
Spaulding

Beitrag von bechi (ForumUser / 22 / 0 / 1 ) »
Hallo Spaulding,

ich verstehe dich jetzt so:

Das Feld DLVUNIT ist in der Struktur des Table Controls vorhanden.
Nun kannst du das Modul so abändern:

Code: Alles auswählen.

MODULE set_input. 
IF <STRUKTUR>-DLVUNIT <> 'IS_OIL'  
LOOP AT SCREEN. 
*Hier besteht die Möglichkeit auf die einzelnen Felder des TableControls abzufragen mit SCREEN-NAME 
SCREEN-INPUT = 0. 
MODIFY SCREEN. 
ENDLOOP. 
ENDIF. 

ENDMODUL. 
Jetzt werden nur die Zeilen eingabebereit bleiben mit der Bedingung DLVUNIT='IS_OIL'.

Jetzt könntest du es verfeinern, indem du sagst, das nur das Feld z.B. DLVUNIT eingabebereit sein soll.

Dann musst du das Module so abändern:

Code: Alles auswählen.

MODULE set_input. 
IF <STRUKTUR>-DLVUNIT <> 'IS_OIL'  
LOOP AT SCREEN. 
IF SCREEN-NAME = '<STRUKTUR>-DLVUNIT'  "!!Alles groß schreiben
SCREEN-INPUT = 0. 
MODIFY SCREEN. 
ENDLOOP. 
ENDIF. 
Ich hoffe, das eine Lösung für dich dabei ist.

Gruß
Bechi

Beitrag von Spaulding (ForumUser / 21 / 0 / 0 ) »
Hi Bechi,

genau so etwas habe ich gesucht! :P

Werde damit nun noch etwas rumspielen.

Vielen Dank,
Spaulding

Seite 1 von 1

Vergleichbare Themen

5
Antw.
6382
Views
Im Table Control einzelne Zellen eingabebereit machen
von ring » 14.11.2007 17:10 • Verfasst in Dialogprogrammierung
4
Antw.
7344
Views
Table Control - Markierte Zeilen lesen
von ThomasCGN » 25.10.2006 10:42 • Verfasst in Dialogprogrammierung
10
Antw.
5915
Views
TABLE CONTROL zeigt leere Zeilen an
von damtre » 26.09.2011 01:48 • Verfasst in ABAP® für Anfänger
0
Antw.
1011
Views
2
Antw.
6120
Views
Table Control: Eingabebereitschaft nur für bestimmte Zeilen
von tigs » 14.02.2006 13:34 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3071
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 1008
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 577

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3071
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 1008
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 577

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2586
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9169