HILFE! wie kann ich die markiert Zeile loeschen?

Benutzeroberflächen in SAP Systemen.

HILFE! wie kann ich die markiert Zeile loeschen?

Postby Jule2250 » Mon Apr 12, 2004 1:22 am

hallo zusammen,

ich versuche hier, eine markiert Zeile von einem Table Control zu löschen.

aber wenn ich so mache : LOOP AT itab INTO demo_conn WHERE mark = 'X'. wie es in der "SAP Help" angezeigt wird, bekomme ich immer eine fehlermeldung: Es existiert eine Komponente mit Namen "MARK".

Keine Ahnung! ich habe "mark" schon in Dynpro richtig eingestellt und bei Debug kann ich es auch test.

Hat jemand eine Idee?

danke im voraus

Jinn
12.04.04
Jule2250
..
..
 
Posts: 25
Joined: Wed Apr 07, 2004 7:15 pm

Postby Jule2250 » Mon Apr 12, 2004 1:25 am

wie kann ich wissen, welche Zeile wurde markiert?
Jule2250
..
..
 
Posts: 25
Joined: Wed Apr 07, 2004 7:15 pm

Postby Curt3333 » Tue Apr 13, 2004 11:02 am

Hallo Jinn,

mark muss dann auch der Spaltenname deiner Markierungsspalte in der itab sein.

Im PAI kannst du dann so etwas machen:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. loop at itab.
  2.     field FELDNAME-DYNPROSPALTE (z.B. t000-marked) module read_table_control.
  3.  
GeSHi ©


Und im MODULE:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. delete itab where CONTROLNAME-marked eq 'X'.
  2.  
GeSHi ©


Probiers mal aus, vielleicht funktioniert es. Habe es noch nicht getestet.

Gruß
Mrs. Hilflos
Curt3333
...
...
 
Posts: 298
Joined: Mon Feb 03, 2003 4:05 pm

Postby Erich410 » Thu Apr 15, 2004 8:05 pm

Hallo,

wenn man das Table-Control mit dem Wizard angelegt hat, kann man den Namen einer Markierungsspalte angeben.

Schau mal die erstellten Prozeduren an. Es gibt auch eine, die auf das DELE-Kommando "hört". Die kann man ja nehmen oder abgucken, wie es geht.


Im allgemeinen geht es wohl so:

Bei PBO wird das Table-Control aus der Tabelle gefüllt.

Bei PAI wird das Table-Control in die zugehörige interne Tabelle übertragen (Mit X im MARK-Feld, fals markiert wurde).

Jetzt kann man in einer Prozedur ganz entspannt die markierten Zeilen löschen (eigene Prozedur oder Wizard).

Bei PBO stellt man die ganze Tabelle mit den übriggebliebenen Einträgen wieder in das Table-Control und zeigt sie an.

mfg.
babap
Erich410
....
....
 
Posts: 680
Joined: Thu Feb 05, 2004 4:22 pm

Postby Alessandro3089 » Fri Apr 16, 2004 10:35 am

Hallo.
1. Das Mark-feld muss ein Feld der internen-Tabelle sein.
2. Das Mark-feld muss im Screen-Painter bei den TC-Attributen mitgegeben sein. z.B: itab-mark oder T01-MARK und nicht nur der name der Komponete.
3. IM PAI muss dieses Mark-feld innerhalb des LOOP - ENDLOOP in der Chain-kette bzw. Field-Anweisung vorkommen.
4. im PAI-Module wird das MARK-FELD aus der Kopfzeile in den Tabellen-Körper übertragen: MODIFY itab INDEX tc-name-CURRENT-LINE.
5. in einem 2. Module NACH dem Ablauf-Logik-LOOP zb. USER-COMMAND. wird der DELETE wie oben beschrieben abgesetzt.

bzw. die interne Tabelle abgearbeitet, wenn mit der markierten Zeile etwas anderes geschehen soll. (abhängig von unterschiedlichen OK_CODE)
Alessandro3089
..
..
 
Posts: 68
Joined: Thu Mar 06, 2003 3:20 pm

Postby Jule2250 » Sat Apr 17, 2004 12:43 am

hi, Leute,

hab es schon gelöscht.

danke euch!

Jinn
17.04.04
Jule2250
..
..
 
Posts: 25
Joined: Wed Apr 07, 2004 7:15 pm


Return to Dialogprogrammierung

Who is online

Users browsing this forum: No registered users and 16 guests