ALV im Dialogboxcontainer erzeugt Dump

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

ALV im Dialogboxcontainer erzeugt Dump

Beitrag von h.c.w (ForumUser / 3 / 0 / 0 ) »
Hallo,

ich habe einen Dialogboxcontainer der Klasse cl_gui_dialogbox_container erstellt. Darin möchte ich ein ALV mit Kundendaten ausgeben. Für das ALV habe ich ein Objekt der Klasse cl_gui_alv_grid erzeugt. Das ganze funktioniert auch solange in dem ALV nur 68 Zeilen angezeigt werden sollen. Sobald ich nur eine Zeile mehr anzeigen möchte bricht SAP mit einem Laufzeitfehler GETWA_NOT_ASSIGNED ab.

Der Fehler kommt soweit ich im Debuger sehen konnte aus der Methode LVC_TABLE_FILL (CL_GUI_ALV_GRID), diese wird bis 68 Zeilen nur einmal beim Aufruf der Dialogbox aufgerufen und die Tabelle mt_outtab ist gefüllt. Ab 68 Zeilen durchläuft das System die Methode ein zweites mal, wobei die Tabelle mt_outtab nicht mehr gefüllt ist und der ASSIGN (assign mt_outtab->* to <tab1>.) schief geht.

Gibt es hier eine Beschränkung seitens des Dialogboxcontainers, das nur eine bestimmte anzahl an Zeilen darin angezeigt werden darf? Ich weiß die Klasse cl_gui_alv_grid hat eigentlich keine Beschränkung.

Hier mal mein Coding, vielleicht habt Ihr ne Idee was ich falsch mache.

Code: Alles auswählen.

  DATA:
* dialogbox Container
        gr_dialogbox     TYPE  REF TO cl_gui_dialogbox_container,
        gr_alv_customer   TYPE  REF TO cl_gui_alv_grid.

  DATA:  lt_kna1          TYPE STANDARD TABLE OF kna1,
        ls_kna1          TYPE kna1.

  DATA cnt TYPE i.

    SELECT * FROM kna1   INTO ls_kna1.
    check cnt LE 67.
    add 1 to cnt.
     append ls_kna1 to lt_kna1
   endselect.

  SORT lt_kna1 BY kunnr.
  DELETE ADJACENT DUPLICATES FROM lt_kna1.

  CREATE OBJECT gr_dialogbox
    EXPORTING
      width  = 600
      height = 400
      top    = 50
      left   = 50
*    EXCEPTIONS
*      cntl_error                  = 1
*      cntl_system_error           = 2
*      create_error                = 3
*      lifetime_error              = 4
*      lifetime_dynpro_dynpro_link = 5
*      event_already_registered    = 6
*      error_regist_event          = 7
*      others                      = 8
    .
  IF sy-subrc <> 0.
*   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


  CREATE OBJECT gr_alv_customer
    EXPORTING
      i_parent          = gr_dialogbox    " Parent-Container
*    EXCEPTIONS
*      error_cntl_create = 1
*      error_cntl_init   = 2
*      error_cntl_link   = 3
*      error_dp_create   = 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.

  gr_alv_cusomer->set_table_for_first_display(
    EXPORTING
      i_structure_name              =  'KNA1'    " Strukturname der internen Ausgabetabelle
    CHANGING
      it_outtab                     =  lt_kna1   " Ausgabetabelle
*    EXCEPTIONS
*      invalid_parameter_combination = 1
*      program_error                 = 2
*      too_many_lines                = 3
*      others                        = 4
  ).
  IF sy-subrc <> 0.
*   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  SET HANDLER gr_event_receiver->catch_close
             FOR gr_dialogbox.

Vielen Dank

h.c.w

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


Re: ALV im Dialogboxcontainer erzeugt Dump

Beitrag von a-dead-trousers (Top Expert / 4282 / 214 / 1141 ) »
hmmm...

Ein wilder Gedanke ist aufgetaucht!
Möglich, dass sich aus der Größe der Struktur und der Zeilenanzahl die Menge der zu übertragenden Daten errechnet.
Das würde nämlich, weil das ALV bei großen Datenmengen nicht alles auf einmal überträgt, einigermaßen die ominösen 68 Zeilen erklären.

Den Kurzdump kann ich mir nur irgendwie so erklären, dass die Referenz auf die Tabelle die du bei SET_TABLE_FOR_FIRST_DISPLAY angegeben hast, "verloren" gegangen ist. Du darfst nicht vergessen, dass das ALV auch als Eingabe genutzt werden kann und daher die Daten die der Benutzer ändert, auch wieder in dieser Tabelle landen (müssen). Deswegen auch als CHANGING definiert.

Daher sollte die an das ALV übergebene Tabelle IMMER global im Programm vorhanden sein. So wie ich dein Coding lese handelt es sich um einem Auszug einer Unterroutine. (lt_kna1 = lokale Tabelle)
Versuch es mal mit einer globalen Tabelle.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ALV im Dialogboxcontainer erzeugt Dump

Beitrag von h.c.w (ForumUser / 3 / 0 / 0 ) »
Super vielen Dank, für die schnelle Antwort :up: .

Ich hab die lt_kna1 als globale Tabelle definiert und kann Sie nun komplett ausgeben ohne Dump :D .

Danke noch mal, Gruß h.c.w

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1266
Views
Compute Programm erzeugt DUMP
von JohnLocklay » 10.05.2016 12:26 • Verfasst in ABAP® für Anfänger
9
Antw.
3600
Views
Wie man einfach einen Dump erzeugt....
von ralf.wenzel » 30.10.2013 10:11 • Verfasst in ABAP® Core
4
Antw.
263
Views
replace erzeugt Leerzeichen
von A6272 » 18.02.2022 14:06 • Verfasst in ABAP® für Anfänger
2
Antw.
2581
Views
Storno RE Beleg aus Idoc erzeugt
von Buetzy » 19.10.2007 10:51 • Verfasst in Financials
0
Antw.
1047
Views
LSMW der 2 verschiedene BI Mappen erzeugt
von balu » 29.09.2007 19:28 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 41
SELECT CHAR16 in CHAR12-Feld
vor 10 Stunden von Shortcut IT 3 / 39
alv_grid aktualisieren
vor 10 Stunden von a-dead-trousers gelöst 3 / 76

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

RFC FuBa Call - Korrupte Daten
vor einer Stunde von a-dead-trousers 4 / 41
SELECT CHAR16 in CHAR12-Feld
vor 10 Stunden von Shortcut IT 3 / 39
alv_grid aktualisieren
vor 10 Stunden von a-dead-trousers gelöst 3 / 76

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 170