Programmabbruch beim Refresh des ALV

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

Programmabbruch beim Refresh des ALV

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
Hallo alle zusammen,

ich habe da ein Problem mit meinem ALV Grid. Es werden Materialdaten selektiert, die bestimmten Kriterien entsprechen. Diese werden dann in einem ALV ausgegeben. Im ALV habe ich eigene Buttons eingebaut im Header, mit denen ich zum Beispiel das Wiedervorlagedatum eines markierten Materials auf 1, 2 oder 3 Jahre erhöhe. Am Ende dieser Aktion soll dann ein Refresh des ALV gemacht werden.
Hierbei bekomme ich allerdings immer einen Programmabbruch mit der Meldungsnummer 0K534.

Kann mir einer sagen was da schief läuft?

Die übergebene Struktur an das ALV ist eine DDIC Struktur

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


Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo tommasch6666,

benutztst Du einen OO-ALV? und was sagt Fehler 0K534 aus? Poste hier am besten Deinen Quellcode.

Gruss
Alexander

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
Ich benutze einen OO-ALV.

welche stelle vom Quellcode brauchst du genau?

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
zumindestens den, der nach dem drücken der erwähnten Schaltflächen durchlaufen wird. Der Text der Fehlermeldung wäre auch nicht verkehrt.

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
*&---------------------------------------------------------------------*
*& Module output_ALV1 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module output_ALV1 output.
*_____ 1 malige instanzierungen
*____________ Container für Grid
if gv_dock1 is initial .
* if iv_container = co_dock .
data: lv_ratio type i .
* gv_exts1 = 250 .
lv_ratio = 80 . "Prozent von Dynpro statt abs. extension
*----------------------------------------------------------
CREATE OBJECT gv_dock1
EXPORTING
* PARENT =
* REPID =
DYNNR = sy-dynnr
SIDE = cl_gui_docking_container=>dock_at_bottom
* EXTENSION = gv_exts1
* STYLE =
* LIFETIME = lifetime_default
CAPTION = 'Arbeitsvorrat Auslaufsteuerung'(AUS)
* METRIC = 0
RATIO = lv_ratio
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*_______________________ Grid _________________________
*_____ Grid : first display or refresh
call method gv_alv_work->display( iv_parent = gv_dock1 ) .
else.
* call method gv_alv_work->refresh .
call method gv_alv_work->display( iv_parent = gv_dock1 ) .
endif.



METHOD display .
* IMPORTING iv_parent type ref to cl_gui_container
** object_container type ref to cl_gui_container ,
** object_display type ref to object ,
** object_data type ref to data ,
data: Lv_visible type c .
field-symbols: <fs_av_control> like line of gt_av_control .

if gv_cnt_av = 1 .
*
*** create object gs_av_control-object_display
*** exPORTING iv_mode = 'A'
*** iv_wvdat = sy-datum .

gs_av_control-object_display->set_table(
changing ct_outtab = gs_av_control-av_outtab ) .
gs_av_control-object_display->create_alv_grid(
exporting iv_container = iv_parent ) .
* _____Feldkatalog anpassen - optional
*
gs_av_control-object_display->adjust_fcat( ) .
* _____Toolbarereignisse injizieren - optional
gs_av_control-object_display->add_tb_buttons( ) .
* _____Toolbarereignisse injizieren - optional
gs_av_control-object_display->exl_tb_buttons( ) .
* _____ Grid : first display or refresh
gs_av_control-object_display->display( ) .


METHOD display .
* eventhandler registrieren .
data: lv_handle type SLIS_HANDL .

lv_handle = gs_avcu-av .


SET HANDLER handle_user_command FOR alv_grid .
SET HANDLER handle_double_click for alv_grid .

IF v_display_fl <> abap_true .
CALL METHOD alv_grid->set_variant
EXPORTING
* IV_REPORT = SY-REPID
iv_handle = lv_handle . " = gv_avcu-av .

CALL METHOD alv_grid->display .
v_display_fl = abap_true .
ELSE.
CALL METHOD alv_grid->refresh
EXPORTING
is_stable = s_stable
i_soft_refresh = abap_false.
ENDIF.
ENDMETHOD.

method REFRESH .
CALL METHOD g_alv_grid->soft_refresh_table_display
EXPORTING
IS_STABLE = IS_STABLE
* I_SOFT_REFRESH = I_SOFT_REFRESH
EXCEPTIONS
FINISHED = 1
others = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endmethod.

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
Es kommt dann zum Programmabbruch mit der Meldungsnummer 0K534. Mehr steht leider auch nicht dazu.

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
über google habe ich noch ein Thema hier im Forum gefunden das sich mit dem Fehler beschäftigt:

http://www.abapforum.com/forum/viewtopic.php?t=14017

vielleicht hift das ein wenig weiter?

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
danke für den tipp. das thema habe ich auch schon gelesen, hat mir aber leider nicht weiter geholfen. trotzdem danke. wenn ich das problem gelöst habe, werde ich es hier veröffentlichen

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
kannst du zu deinem quellcode sagen an welcher stelle das programm dumpt?

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
es dumpt genau an der stelle, die ich mit dem pfeil markiert habe


method REFRESH .
===> CALL METHOD g_alv_grid->soft_refresh_table_display
EXPORTING
IS_STABLE = IS_STABLE
* I_SOFT_REFRESH = I_SOFT_REFRESH
EXCEPTIONS
FINISHED = 1
others = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endmethod.

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hast Du SET_TABLE_FOR_FIRST_DISPLAY ausgeführt? falls nicht, könnte das laut HW354581 die Ursache sein:

Shrt dmp:0K534:Refrsh executd despte empty IT_CELLS
SAP Note Number: 354581

Symptom

A termination occurs when calling the check_changed_data method.
The cause is that the application developer has not yet called the SET_TABLE_FOR_FIRST_DISPLAY method and because of Note 0332637, the user can now determine whether a refresh should not take place or not if needed.No determination is however done for the initial table IT_CELLS so that a refresh is carried out.

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
tommasch6666 hat geschrieben:es dumpt genau an der stelle, die ich mit dem pfeil markiert habe


method REFRESH .
===> CALL METHOD g_alv_grid->soft_refresh_table_display
EXPORTING
IS_STABLE = IS_STABLE
* I_SOFT_REFRESH = I_SOFT_REFRESH
EXCEPTIONS
FINISHED = 1
others = 2
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endmethod.

ÄHM, da ist woll das Problem.
Dese Mthode ist eine PRIVATE-Methode der Klasse!
Du darfst nur PUBLIC-Methoden nehmen. in dem Fall REFRESH_TABLE_DISPLAY

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
ich habe die refresh_table_display auch schon genommen. gleicher abbruch

Beitrag von tommasch6666 (ForumUser / 9 / 0 / 0 ) »
so ich habe den fehler gelöst. ich habe einen splitcontainer in diesem ich 2 mal den refresh gemacht habe, so dass es schief gehen musste. danke euch allen für die hilfe. so ist es eben, wenn man nix mehr sieht vor lauter code

Seite 1 von 1

Vergleichbare Themen

1
Antw.
3559
Views
Gezielter Programmabbruch
von Troilus » 25.10.2007 12:34 • Verfasst in ABAP® für Anfänger
2
Antw.
1667
Views
Programmabbruch wg. Datenbank Commit
von KlausB » 25.07.2007 17:24 • Verfasst in ABAP® für Anfänger
6
Antw.
4080
Views
ALV: Programmabbruch bei Aufruf Funktion aus Toolbar
von toto » 04.07.2007 14:17 • Verfasst in ABAP Objects®
1
Antw.
1314
Views
Programmabbruch beim Zugriff auf die Wertehilfe im Dynpro
von ManMan » 24.07.2017 22:25 • Verfasst in ABAP® für Anfänger
7
Antw.
3066
Views
Refresh im ALV
von jondahl11 » 21.09.2006 11:02 • Verfasst in ABAP® für Anfänger

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 516
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2149
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8744