cl_gui_textedit an alv_grid anhängen

Getting started ... Alles für einen gelungenen Start.
14 Beiträge • Seite 1 von 1
14 Beiträge Seite 1 von 1

cl_gui_textedit an alv_grid anhängen

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
hallo zusammen,

ich möchte gerne ein dympro mit alv_grid und textedit ausgeben.
das alv_grid funktiniert einwandfrei und auch das textedit wird mir angezeigt, nun möchte ich aber, dass der benutzer in der lage ist zu jedem datensatz aus dem alv_grid einen langtext in das textedit controle schreiben kann und dieses auch gespeichert wird...
hat jemand von euch eine idee, wie man dies am besten verwirklichen kann!?

gruß hadde

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


Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
guten Morgen,

etwas in der Art musste ich auch realisieren. In meinem Fall wäht der Benutzer einen Eintrag im ALV aus, klickt auf eine Schaltfläche und pflegt dann in dem darauffolgenden Fenster die Langtexte. Schau Dir dazu folgende Links an, vielleicht helfen sie weiter:

http://sapwiki.iwoars.net/index.php/EDIT_TEXT
http://sapwiki.iwoars.net/index.php/READ_TEXT

gruss
Alexander

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
danke alexander,

jetzt ich kann den text jetzt aufrufen, ändern und speichern...
nun fehlt mir nur noch der bezug zu der jeweiligen spalte im alv grid.
es müsste doch in etwa so funktionieren, dass ich dem cl_gui_textedit die spalte übergebe und darunter der entsprechende text gespeichert wird.
nur wie realisiert man das?

gruß

hadde

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
wie genau hast du denn deinen alv aufgebaut? wie wird der text angezeigt, wie soll er gespeichert werden (beim verlassen der zelle, nach einem klick auf eine schaltfläche)

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
vielleicht hilft dir mein quelltext...

*&---------------------------------------------------------------------*
*& Report Z_AHARTL_7
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z_ahartl_7.

TABLES zlo_ec_lock.


*&---------------------------------------------------------------------*
*& DATA Anweisung
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

*****************************************************************
"Variablen AVL GRID

DATA: "Instanz auf das AVL Grid Control
grid TYPE REF TO cl_gui_alv_grid,

"Instanz auf den ALV Grid Container
gc_container TYPE REF TO cl_gui_custom_container,

"Name des AVL Grid Containers auf dem Dympro
gn_container TYPE scrfname VALUE 'ALV_CONTAINER',

"Interne Tabelle für die Daten der T-Tabelle
gt_zlo_ec_lock TYPE TABLE OF zlo_ec_lock WITH HEADER LINE,

" Sicherung der internen Tabelle.
gs_zlo_ec_lock TYPE SORTED TABLE OF zlo_ec_lock
WITH UNIQUE DEFAULT KEY
WITH HEADER LINE,

"Tabellen Layout
gs_layout TYPE lvc_s_layo.

* Paramter Variablen
"für Parameter I_SAVE ( A = Laden und Speichern des Layouts erlaubt)
DATA: x_save VALUE 'A',
" Für Parmeter IS_VARIANT
gs_variant TYPE disvariant.

*****************************************************************
" Constante Zur Speicherung der Zeilenlänge für das Text Controle
CONSTANTS: line_length TYPE i VALUE 131.


CONSTANTS:
gc_stern TYPE c VALUE '*',
gc_tdid TYPE tdid VALUE 'ZTXT', " Text-ID
gc_object TYPE tdobject VALUE 'ZLO_ECLOCK'. " Texte: Anwendungsobjekt

DATA: "Instanz von Textedit
editor TYPE REF TO cl_gui_textedit,
"Instanz des Costum Containers
text_container TYPE REF TO cl_gui_custom_container.


DATA:
g_text_tab TYPE STANDARD TABLE OF tline,
gt_textedit TYPE STANDARD TABLE OF tdline,
g_name TYPE tdobname, " ObjektName
g_header TYPE thead,
gwa_ec_lock TYPE zlo_ec_lock,
readonly TYPE i.


*****************************************************************
"Dynpro Code Übergabefeld
DATA: ok_code LIKE sy-ucomm,
ok_save LIKE sy-ucomm,

"Titelfelde
dtitle TYPE string VALUE 'MAIN_100'.

*****************************************************************

"Definiton des Selection-Screens
SELECTION-SCREEN BEGIN OF SCREEN 500
AS WINDOW TITLE text-010.
SELECTION-SCREEN: SKIP,
BEGIN OF BLOCK b1
WITH FRAME TITLE text-020.
SELECT-OPTIONS:
so_matnr FOR zlo_ec_lock-matnr, "NO-EXTENSION,
so_werks FOR zlo_ec_lock-werks, "NO-EXTENSION,
so_ecnr FOR zlo_ec_lock-ecnr, "NO-EXTENSION,
so_kunwe FOR zlo_ec_lock-kunwe, "NO-EXTENSION,
so_datab FOR zlo_ec_lock-datab, "NO-EXTENSION,
so_zgst FOR zlo_ec_lock-zgstnd. "NO-EXTENSION. "M001
SELECTION-SCREEN: END OF BLOCK b1,
END OF SCREEN 500 .

"Das Ereigniss START-OF-SELECTION

START-OF-SELECTION.
"Aufruf des Dynpros mit der Nummer 500
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
"Aufruf des Dynpros 100
CALL SCREEN 100.

*----------------------------------------------------------------------*
* MODULE status_0100 OUTPUT
*----------------------------------------------------------------------*
* Process Before Output
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.

* some initialization
readonly = 0.

"Festlegen des Status für das Dynpro
SET PF-STATUS 'SCREEN_100'.
"Festlegen des Titels für das Dynpro
"SET TITLEBAR title OF PROGRAM prog WITH p1.
SET TITLEBAR dtitle.

"Überprüfen ob eine Instanz des Custom Containers besteht
IF gc_container IS INITIAL.
"Neuer Instanz der Custom Containers wird erstellt
CREATE OBJECT gc_container " Containers auf dem Dympro
EXPORTING
container_name = gn_container. "Eingabe Parameter ist der Name des
CREATE OBJECT grid "Neue Instanz des ALV Grid Controls wird erstellt
EXPORTING "Bezug auf den 'Parent' Container
i_parent = gc_container.

ENDIF.

"Die Spaltenbreite wird optimiert
gs_layout-cwidth_opt = 'X'.

"Füllen der Internen Tabelle
SELECT *
FROM zlo_ec_lock
INTO TABLE gt_zlo_ec_lock
WHERE matnr IN so_matnr AND
werks IN so_werks AND
ecnr IN so_ecnr AND
kunwe IN so_kunwe AND
datab IN so_datab AND
zgstnd IN so_zgst.

" Befüllen der Sicherungstabelle
gs_zlo_ec_lock[] = gt_zlo_ec_lock[].

"Layout-Eigenschaften definieren
gs_variant-report = sy-repid.

grid->register_edit_event( EXPORTING i_event_id = 18 ) .
"Darstellung der Tabelle für den Start-Bildschirm
CALL METHOD grid->set_table_for_first_display
"Übergabe der Tabellen Struktur
EXPORTING i_structure_name = 'zlo_ec_lock'
is_variant = gs_variant " Legt die Variante Fest
i_save = x_save " Legt die Speicherung fest
is_layout = gs_layout
"Übergabe der Tabellenwerte
CHANGING it_outtab = gt_zlo_ec_lock[].

PERFORM create_text_control.

CALL METHOD editor->set_status_text
EXPORTING
status_text = text-011.

"PERFORM read_text_and_edit.



ENDMODULE. "STATUS_0100 OUTPUT



*----------------------------------------------------------------------*
* MODULE user_command_0100 INPUT
*----------------------------------------------------------------------*
* Process After Input
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.

ok_save = ok_code.
CLEAR ok_code.

"Code Übergabe prüfen.
CASE ok_save.
"Fall EXIT
WHEN 'EXIT'.
"Ruft das Modul 'exit' auf
PERFORM exit.
"FALL SWITCH
WHEN 'EDIT_ALV'.
"Ruft das Modul 'edit' auf
PERFORM edit_alv_grid.
WHEN 'CHANGE'.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
WHEN 'SAVE'.
PERFORM save.
WHEN 'IMP'.
PERFORM get_text_and_save.
"PERFORM free_text_control.
WHEN 'EDIT_TEXT'.
PERFORM read_text_and_edit.
WHEN OTHERS.
ENDCASE.

ENDMODULE. "user_command_0100 INPUT

END-OF-SELECTION.


*&---------------------------------------------------------------------*
*& Form exit
*&---------------------------------------------------------------------*
* beendet das akutelle Dympro
*----------------------------------------------------------------------*
FORM exit.
LEAVE PROGRAM.
ENDFORM. "exit

*&---------------------------------------------------------------------*
*& Form edit
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM edit_alv_grid.

"Ausgabe-String in Statusleiste bei ok_code 'CHANGE'
DATA: v_string TYPE string VALUE 'Anzeigen <-> Ändern'.

"Abfrage des AVL Grid Status
IF grid->is_ready_for_input( ) EQ 0.

"sperrt die Tabelle ZLO_EC_LOCK
PERFORM enqueue.

" Eingabe Modus des AlV Grid wird gesetzt
CALL METHOD grid->set_ready_for_input
EXPORTING
i_ready_for_input = 1.

" Layout wird zur Eingabe freigegeben
gs_layout-edit = 'X'.

" Message in der Statusleiste
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = v_string.

ELSE.

"entspert die Tabelle ZLO_EC_LOCK
PERFORM dequeue.

" Anzeigemodus des Grid Views
CALL METHOD grid->set_ready_for_input
EXPORTING
i_ready_for_input = 0. " Übergabe Parameter

" Das Layout wird auf 'nicht eingabebereit gesetzt'
gs_layout-edit = ''.

"Message in der Statusleiste
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
text = v_string.

ENDIF.

readonly = editor->m_readonly_mode.
IF readonly <> editor->false.
readonly = editor->false.
ELSE.
readonly = editor->true.
ENDIF.

* set the new readonly_mode
CALL METHOD editor->set_readonly_mode
EXPORTING
readonly_mode = readonly.

ENDFORM. " SWITCH_EDIT_MODE

*&---------------------------------------------------------------------*
*& Form save
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM save.

" die Interne Tabelle wird mit dem ALV Grid abgeglichen
CALL METHOD grid->check_changed_data.

" Filterung der zu löschenden Datensätze.
LOOP AT gt_zlo_ec_lock.
DELETE TABLE gs_zlo_ec_lock FROM gt_zlo_ec_lock.
ENDLOOP.

" Löschen der Datensätze auf der Datenbank
DELETE zlo_ec_lock
FROM TABLE gs_zlo_ec_lock.

" Anpassen der geänderten Datensätze auf der DB
MODIFY zlo_ec_lock
FROM TABLE gt_zlo_ec_lock.

" Einfügen der 'neuen Datensätze' in die DB
INSERT zlo_ec_lock
FROM TABLE gt_zlo_ec_lock
ACCEPTING DUPLICATE KEYS.

"ALV Grid wird neu geladen (mit Änderungen)
CALL METHOD grid->refresh_table_display.

IF sy-subrc = 0.
COMMIT WORK. " Schreiben der gesamten Änderungen in die DB
MESSAGE s782(/bev2/edmess1).
ELSE.
ROLLBACK WORK. " Zurückschreiben der Datenbank bei Fehlern
MESSAGE s822(/bev2/edmess1).
ENDIF.

ENDFORM. "save

*&---------------------------------------------------------------------*
*& Form enqueue
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM enqueue.
CALL FUNCTION 'ENQUEUE_EZ_AHLOCK'
EXPORTING
mode_zlo_ec_lock = 'X'
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3
.
CASE sy-subrc.
WHEN 0.
MESSAGE s888(sabapdocu) WITH 'Enqueue successful'(001).
WHEN 1.
MESSAGE e888(sabapdocu) WITH 'Record already'(002) 'locked by'(003)
sy-uname.
CALL TRANSACTION 'SM12'.
WHEN 2 OR 3.
MESSAGE e888(sabapdocu) WITH 'Error in enqueue!'(004)
'SY-SUBRC:' sy-subrc.
ENDCASE.
ENDFORM. "enqueue

*&---------------------------------------------------------------------*
*& Form dequeue
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM dequeue.
CALL FUNCTION 'DEQUEUE_EZ_AHLOCK'
EXPORTING
mode_zlo_ec_lock = 'X'
EXCEPTIONS
OTHERS = 1.
CASE sy-subrc.
WHEN 0.
MESSAGE s888(sabapdocu) WITH 'Dequeue successful'(005).
WHEN 1.
MESSAGE e888(sabapdocu) WITH 'Error in dequeue!'(006).
ENDCASE.

ENDFORM. "dequeue

*******************************************************************

*&---------------------------------------------------------------------*
*& Form create_text_control
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM create_text_control.
CHECK gwa_ec_lock IS INITIAL.
IF editor IS INITIAL.
CREATE OBJECT text_container
EXPORTING
container_name = 'TEXT_CTRL'
EXCEPTIONS
OTHERS = 1.
CREATE OBJECT editor
EXPORTING
parent = text_container
wordwrap_mode = cl_gui_textedit=>wordwrap_at_windowborder
* wordwrap_mode = cl_gui_textedit=>wordwrap_at_fixed_position
wordwrap_position = line_length
wordwrap_to_linebreak_mode = cl_gui_textedit=>true
EXCEPTIONS
OTHERS = 1.

* Set the default mode for the editor
CALL METHOD editor->set_statusbar_mode
EXPORTING
statusbar_mode = 1.
CALL METHOD editor->set_toolbar_mode
EXPORTING
toolbar_mode = 1.
CALL METHOD editor->set_readonly_mode
EXPORTING
readonly_mode = 1.
*
ENDIF. "
ENDFORM. " create_text_control


*&---------------------------------------------------------------------*
*& Form read_text_and_edit
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM read_text_and_edit.
** local objekt declaration
FIELD-SYMBOLS:
<tdline> TYPE tdline,
<tline> TYPE tline.
** -----------------------------------
* CHECK NOT gwa_ec_lock IS INITIAL.

* Mandt + MatNr + Werks +
CONCATENATE sy-mandt gt_zlo_ec_lock-matnr gt_zlo_ec_lock-werks
* EcNr + KunWE + DatAb +
gt_zlo_ec_lock-ecnr gt_zlo_ec_lock-kunwe gt_zlo_ec_lock-datab
* FREITEXT ergeben den Namen zum Text
text-fto INTO g_name SEPARATED BY '_'.
TRANSLATE g_name USING '*!'.
CLEAR gt_textedit[].
CALL FUNCTION 'READ_TEXT'
EXPORTING
* CLIENT = SY-MANDT
id = gc_tdid
language = sy-langu
name = g_name
object = gc_object
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
IMPORTING
header = g_header
TABLES
lines = g_text_tab
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8
.
IF sy-subrc <> 0.
* Header wurde nicht gefüllt, nachholen
g_header-tdobject = gc_object.
g_header-tdname = g_name.
g_header-tdid = gc_tdid.
g_header-tdspras = sy-langu.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
CLEAR: sy-msgid, sy-msgty, sy-msgno, sy-msgv1,sy-msgv2,sy-msgv3,sy-msgv4.
CLEAR g_text_tab.
APPEND INITIAL LINE TO gt_textedit.
ELSE.
LOOP AT g_text_tab[] ASSIGNING <tline>.
APPEND INITIAL LINE TO gt_textedit[] ASSIGNING <tdline>.
<tdline> = <tline>-tdline.
ENDLOOP.
ENDIF.

CALL FUNCTION 'INIT_TEXT'
EXPORTING
id = gc_tdid
language = sy-langu
name = g_name
object = gc_object
IMPORTING
header = g_header
TABLES
lines = g_text_tab
* EXCEPTIONS
* ID = 1
* LANGUAGE = 2
* NAME = 3
* OBJECT = 4
* OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


CALL METHOD editor->set_text_as_r3table
EXPORTING
table = gt_textedit[]
EXCEPTIONS
error_dp = 1
error_dp_create = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.


ENDFORM. " read_text_and_edit
*&---------------------------------------------------------------------*
*& Form get_text_and_save
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_text_and_save.
* local objekt declaration
FIELD-SYMBOLS:
<tdline> TYPE tdline,
<tline> TYPE tline.
* -----------------------------------
CHECK NOT editor IS INITIAL.
CALL METHOD editor->get_text_as_r3table
IMPORTING
table = gt_textedit[]
EXCEPTIONS
error_dp = 1
error_cntl_call_method = 2
error_dp_create = 3
potential_data_loss = 4
OTHERS = 5.

IF sy-subrc <> 0 AND sy-subrc <> 4.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR g_text_tab[].
LOOP AT gt_textedit[] ASSIGNING <tdline>.
APPEND INITIAL LINE TO g_text_tab[] ASSIGNING <tline>.
<tline>-tdformat = ''.
<tline>-tdline = <tdline>.
ENDLOOP.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
header = g_header
* INSERT = ' '
* SAVEMODE_DIRECT = ' '
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
TABLES
lines = g_text_tab[]
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " get_text_and_save
*&---------------------------------------------------------------------*
*& Form free_text_control
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM free_text_control.
CHECK editor IS INITIAL.
CALL METHOD:
editor->free,
text_container->free.
CLEAR: editor, text_container, g_text_tab, gwa_ec_lock.
ENDFORM. " free_text_control


ich hätte es jetzt über einen butten realisiert...
mit den events komm ich no ned so richtig klar...

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
ohne jetzt deinen Quelltext durchgelesen zu haben. wo genau ist denn das problem, wenn die die texte bereits lesen und speichern kannst?

wenn es um die zuordnung geht, so setze ich den textschlüssel aus einem präfix und der laufenden nummer der angeklickten zeile zusammen:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*&      Form  edit_text
*&---------------------------------------------------------------------*
*       Langtext zum Vorgang anlegen/bearbeiten
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM EDIT_TEXT USING U_LFDNR LIKE ZLO16K-LFDNR.
  CONCATENATE 'ZLO16'
              U_LFDNR
    INTO SAV_TDNAME.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      ID                      = 'ZLO1'
      LANGUAGE                = SY-LANGU
      NAME                    = SAV_TDNAME
      OBJECT                  = 'ZLO16'
    IMPORTING
      HEADER                  = TEXTHEAD
    TABLES
      LINES                   = TEXTTAB
    EXCEPTIONS
      ID                      = 1
      LANGUAGE                = 2
      NAME                    = 3
      NOT_FOUND               = 4
      OBJECT                  = 5
      REFERENCE_CHECK         = 6
      WRONG_ACCESS_TO_ARCHIVE = 7
      OTHERS                  = 8.

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
mein problem glaube ich liegt bei der übergabe der spalte,
also welche spalte gerade ausgewählt ist.
der parameter bei deinem edit_text übergibt also die aktuelle spalte!?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
nein. die spalte ist in meinem fall nicht wichtig, da ich pro zeile nur einen langtext pflege. der parameter ist die eindeutige ID der spalte. spalten brauchst du eigentlich nur, wenn du das pro zelle machen möchtest und da habe ich auf anhieb keine lösung.

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
sorry, ich meinte zeile...
mein fehler... :(
ja was macht die id einer spalte aus ( primärschlüssel , laufendenummer)???
und woher bekomme ich die id (muss ich alle entscheidende felder einzelen übergeben oder gibt es ein feld id) ????

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
in meinem fall vergeb ich die id selbst. die angeklickte zeile kannst du folgendemmaßen ermitteln:

Code: Alles auswählen.

*---------------------------------------------------------------------*
*       FORM USER_COMMAND                                             *
* Auf Benutzeraktion iim ALV reagieren                                *
*---------------------------------------------------------------------*
FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                       RS_SELFIELD TYPE SLIS_SELFIELD.

  DATA: SAV_INDEX LIKE SY-TABIX.   "Index der angeklickten Zeile

  SAV_INDEX = RS_SELFIELD-TABINDEX.

*angeklickte Zeile ermitteln
  READ TABLE ITAB INDEX SAV_INDEX.

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
bei den methode des alv grids habe ich vielleicht zwei gefunden die mir die id automatisch liefern....

GET_CURRENT_CELL_ROW Protected Ermittelt die Zeilennummer der Focuszelle
GET_CURRENT_CELL_ROW_ID Protected Ermittelt die Zeilen ID der Focuszelle
GET_CURRENT_CELL_TEXT Protected Ermittelt den Text der Focuszelle

was glaubst du?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
GET_CURRENT_CELL_ROW_ID hört sich gut an. mit der ermittelten id musst du aber anschliessend trotzdem noch "READ TABLE ITAB INDEX deineErmittelteId" ausführen, um an die Daten in der internen Tabelle in der bestimmten Zeile zu kommen

Beitrag von uh (Specialist / 158 / 0 / 1 ) »
hadde85 hat geschrieben:bei den methode des alv grids habe ich vielleicht zwei gefunden die mir die id automatisch liefern....

GET_CURRENT_CELL_ROW Protected Ermittelt die Zeilennummer der Focuszelle
GET_CURRENT_CELL_ROW_ID Protected Ermittelt die Zeilen ID der Focuszelle
GET_CURRENT_CELL_TEXT Protected Ermittelt den Text der Focuszelle

was glaubst du?
Wenn du keine eigene Klasse definierst, kommst du an die Methoden aber nciht ran.

Grüße

uh

Beitrag von hadde85 (ForumUser / 17 / 0 / 0 ) »
da hast recht uh,
ich habs jetzt auch anders realisiert...


Code: Alles auswählen.

         Lokale Hilfsvariablen
  DATA lt_roid TYPE lvc_t_roid.
  DATA l_roid TYPE lvc_s_roid.
  DATA wa TYPE zlo_ec_lock.

  "Hole mir alle Selektierten Zeilen

  CALL METHOD grid->get_selected_rows
    IMPORTING
      et_row_no = lt_roid.

  IF NOT lt_roid IS INITIAL.
    LOOP AT lt_roid INTO l_roid.
      "LOOP AT gt_zlo_ec_lock INTO wa.
        READ TABLE gt_zlo_ec_lock
        INTO wa INDEX l_roid-row_id.
      "ENDLOOP.
    ENDLOOP.
  ENDIF.
danke für die hilfe! :D

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1631
Views
TextEdit Verwaltung
von Miss » 17.04.2014 14:55 • Verfasst in ABAP® für Anfänger
3
Antw.
4175
Views
Dynpro Textedit-Control
von gazzle » 19.01.2010 12:00 • Verfasst in Dialogprogrammierung
0
Antw.
2314
Views
Toolbar im Textedit-Control?
von ewx » 30.08.2007 15:42 • Verfasst in ABAP Objects®
1
Antw.
2672
Views
TextEdit Control nicht eingabebereit ?
von jesse001 » 13.11.2019 17:46 • Verfasst in Dialogprogrammierung
7
Antw.
4262
Views
drag&drop von alv_list ----> textedit
von abap-strizi » 05.08.2005 09:35 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

BAPI_GOODSMVT_CREATE
vor 4 Stunden von waltersen 4 / 127
SAP GUI Installation Probleme
vor 4 Tagen von Romaniac gelöst 2 / 479
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 692

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

BAPI_GOODSMVT_CREATE
vor 4 Stunden von waltersen 4 / 127
SAP GUI Installation Probleme
vor 4 Tagen von Romaniac gelöst 2 / 479
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 692

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 692
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 605