ich habe untenstehenden Code.
Ich habe eine Markierungsspalte (Box) diese kann ich auch markieren etc....
Wenn ich aber etwas markiere und den Zurück Button drücke dann dumpt mein Programm.
Was muß ich tun?
Wie bekomme ich einen Button (oder mehrere) dazu?
Durch markieren und drücken des Buttons möchte ich dann etwas mit den markierten Zeilen machen - wie mache ich das?
Wo finde ich Hilfe hierzu (d.h. zu dem Fuba + dem was man darum codieren muß).
Ich habe eine Doku zur ALV Grid Control (OO) - aber die hilft mir nicht wirklich...
data: lt type table of zide_correct_send WITH HEADER LINE.
selection-screen begin of block warenkorb with frame title text-b01.
select-options:
ssc_id for lt-SC_OBJECT_ID,
ssc_crt for lt-SC_CREATED_AT,
ssc_mitg for lt-sc_zmitglied,
ssc_empf for lt-sc_zwempf,
ssc_fil for lt-sc_zfiliale,
ssc_isys for lt-sc_zintersysid,
ssc_dtyp for lt-sc_zdateityp.
selection-screen end of block Warenkorb.
selection-screen begin of block order with frame title text-b02.
select-options:
spo_crt for lt-po_CREATED_AT,
spo_fil for lt-po_zfiliale,
spo_isys for lt-po_zintersysid,
spo_dtyp for lt-po_zdateityp.
selection-screen end of block order.
***********************************************************************
* start of selection - F8
***********************************************************************
start-of-selection.
*
* interne Tabelle löschen
*
refresh lt.
*
* Shopping-Card
*
select object_id CREATED_AT DESCRIPTION
zmitglied zwempf zzfiliale zintersysid zdateityp
into (lt-sc_object_id, lt-sc_created_at, lt-sc_description,
lt-sc_ZMITGLIED, lt-SC_ZWEMPF, lt-SC_ZFILIALE,
lt-SC_ZINTERSYSID, lt-sc_zdateityp)
from BBP_PDHGP as BBP_PDHGP
join crmd_orderadm_h as crmd_orderadm_h
on crmd_orderadm_h~guid = bbp_pdhgp~guid
where object_id in ssc_id and
created_at in ssc_crt and
zmitglied in ssc_mitg and
zwempf in ssc_empf and
zzfiliale in ssc_fil and
zintersysid in ssc_isys and
zdateityp in ssc_dtyp and
PROCESS_TYPE = 'SHC'.
*
* Order
*
select object_id CREATED_AT
zzfiliale zintersysid zdateityp
into (lt-po_object_id, lt-po_created_at,
lt-po_ZFILIALE, lt-po_ZINTERSYSID, lt-po_zdateityp)
from BBP_PDHGP as BBP_PDHGP
join crmd_orderadm_h as crmd_orderadm_h
on crmd_orderadm_h~guid = bbp_pdhgp~guid
where created_at in spo_crt and
zzfiliale in spo_fil and
zintersysid in spo_isys and
ZZ_OBJECT_ID = lt-sc_object_id and
zdateityp in spo_dtyp and
PROCESS_TYPE = 'ECPO'.
append lt.
endselect.
if sy-subrc <> 0 and
spo_crt is initial and
spo_fil is initial and
spo_isys is initial and
spo_dtyp is initial.
append lt.
endif.
endselect.
perform alv_display.
*&---------------------------------------------------------------------*
*& Form alv_display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM alv_display .
type-pools: slis.
data: lt_fcat type slis_t_fieldcat_alv.
data: lv_repid like sy-repid.
field-symbols: <f> type slis_fieldcat_alv.
Laufzeitfehler MOVE_TO_LIT_NOTALLOWED_NODATA
aufgetreten am 07.04.2005 um 18:25:52
Fehler bei Zuweisung: Überschreiben eines geschützten Felds.
Was ist passiert?
Fehler im ABAP-Anwendungsprogramm.
Das laufende ABAP-Programm "SAPLSLVC_FULLSCREEN " mußte abgebrochen werden, da es auf eine Anweisung gestoßen ist, die leider nicht ausgeführt werden kann.
Was können Sie tun?
Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt haben.
Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren SAP-Administrator.
Mit der Transaktion ST22 zur ABAP-Dumpanalyse können Sie Abbruchmeldungen anschauen und verwalten, insbesondere längere Zeit aufbewahren.
verwalten, insbesondere längere Zeit aufbewahren.
Fehleranalyse
Einem Feld soll ein neuer Wert zugewiesen werden,
obwohl dieses Feld gegen Änderungen geschützt ist.
Gegen Änderungen geschützt sind:
- Zeichenliterale oder numerische Literale,
- Konstanten (CONSTANTS),
- Parameter der Kategorie IMPORTING REFERENCE bei Funktionen und Methoden,
- ungetypte Feldsymbole, denen noch kein Feld mittels ASSIGN zugewiesen wurde,
- TABLES-Parameter, wenn der Aktualparameter hierfür gegen Änderungen geschützt ist,
- USING-Reference-Parameter und CHANGING-Parameter bei FORMs, wenn der Aktualparameter hierfür gegen Änderungen geschützt ist und
- Feldsymbole, wenn das mit ASSIGN zugewiesene Feld gegen Änderungen geschützt ist,
- Schreibende Zugriffe von außen auf READ-ONLY Attribute,
- Schlüsselkomponenten der Zeilen von internen Tabellen vom Typ HASHED und SORTED TABLE.
Hinweise zur Fehlerbehebung
Das zu überschreibende Feld ist ein Parameter oder ein Feldsymbol:
Deklarieren Sie den Parameter als VALUE Parameter oder übergeben Sie ein Hilfsfeld, dem Sie zuvor die Konstante zugewiesen haben, bzw. weisen Sie dem Feldsymbol dieses Hilfsfeld statt der Konstanten zu.
Falls der Fehler in einem eigenen ABAP-Programm oder in einem von Ihnen modifizierten SAP-Programm vorkommt, versuchen Sie den Fehler zu
beheben.
Falls der Fehler in einem nicht modifizierten SAP-Programm vorkommt findet sich vielleicht eine Vorablösung im SAP-Hinweissystem.
Falls Sie selbst Zugang zum SAP-Hinweissystem haben, so suchen Sie bitte zunächst mit folgenden Schlagworten:
"MOVE_TO_LIT_NOTALLOWED_NODATA" " "
"SAPLSLVC_FULLSCREEN " bzw. "LSLVC_FULLSCREENF02 "
"MARKS_SAVE"
Der Abbruch trat im ABAP-Programm "SAPLSLVC_FULLSCREEN " auf, und zwar in
"MARKS_SAVE". Das Hauptprogramm war "ZIDE_CORRECT_SEND ".
Im Quelltext befindet sich die Abbruchstelle in Zeile 596
des (Include-)Programms "LSLVC_FULLSCREENF02 ".
(bei Anwahl des Editors: 5960) der ABAP-Source "LSLVC_FULLSCREENF02 ".
Ausschnitt Source-Code
005660 *
005670 * r_ucomm *
005680 *
005690 form marks_save using r_ucomm type sy-ucomm.
005700 field-symbols: <l_box>.
005710 data: l_tabix type sy-tabix.
005720 data: l_index type lvc_index.
005730 data: lt_rows type lvc_t_row.
005740 if not gt_grid-s_layout-box_fieldname is initial.
005750 call method gt_grid-grid->get_selected_rows
005760 importing
005770 et_index_rows = lt_rows.
005780 sort lt_rows by index.
005790 assign component gt_grid-s_layout-box_fieldname
005800 of structure t_outtab
005810 to <l_box>.
005820 loop at t_outtab.
005830 l_tabix = l_tabix + 1.
005840 if r_ucomm = '&ALL'.
005850 <l_box> = 'X'.
005860 modify t_outtab index l_tabix.
005870 elseif r_ucomm = '&SAL'.
005880 <l_box> = ' '.
005890 modify t_outtab index l_tabix.
005900 else.
005910 move l_tabix to l_index.
005920 read table lt_rows with key index = l_index rowtype = ' '
005930 transporting no fields.
005940 if sy-subrc = 0.
005940 if sy-subrc = 0.
005950 if <l_box> ne 'X'.
> <l_box> = 'X'.
005970 modify t_outtab index l_tabix.
005980 endif.
005990 else.
006000 if <l_box> = 'X'.
006010 <l_box> = ' '.
006020 modify t_outtab index l_tabix.
006030 endif.
006040 endif.
006050 endif.
006060 endloop.
006070 endif.
006080
006090 endform. " MARKS_SAVE