ALV-Grid Kurzdump: "Feldsymbol ist noch nicht zugewies

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

ALV-Grid Kurzdump: "Feldsymbol ist noch nicht zugewies

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Hallo Zusammen,

ich programmiere schon eine Weile ABAP, doch mit dem ALV-Grid betrete ich Neuland, so dass ich euch zu Rate ziehen muss.

Ich habe mit ...

Code: Alles auswählen.

  CALL METHOD grid->set_table_for_first_display
    EXPORTING
*     I_BUFFER_ACTIVE                 =
*     I_CONSISTENCY_CHECK             =
      i_structure_name                = 'P01CKA'
*     IS_VARIANT                      =
*     I_SAVE                          =
*     I_DEFAULT                       = 'X'
      is_layout                       = grid_layout
*     IS_PRINT                        =
*     IT_SPECIAL_GROUPS               =
*     IT_TOOLBAR_EXCLUDING            =
*     IT_HYPERLINK                    =
    CHANGING
      it_outtab                       = gt_p01cka
      it_fieldcatalog                 = gt_fieldcat
*     IT_SORT                         =
*     IT_FILTER                       =
    EXCEPTIONS
      invalid_parameter_combination   = 1
      program_error                   = 2
      too_many_lines                  = 3
      OTHERS                          = 4 .
... ein ALV-Grid generiert, welches die SAP-Tabelle P01CKA darstellen soll.
Der Fieldcatalog ist definiert, so dass die Anzeige der Inhalte kein Problem ist.

Mittels ...

Code: Alles auswählen.

  CALL METHOD grid->set_ready_for_input
    EXPORTING
      i_ready_for_input = 1.
... habe ich offensichtlich die Pflegeoption des ALV-Grid aktiviert.

Nun stehe ich vor folgendem Problem:
Einige Felder der P01CKA sind mit einer Wertehilfe hinterlegt, welche sich auch auf das Grid überträgt. Versuche ich jedoch die Liste der möglichen Werte im Grid aufzuklappen, bekomme ich einen Laufzeitfehler "Feldsymbol ist noch nicht zugewiesen.".

Ich habe absolut keine Idee wie ich diesen Fehler beheben kann. Was habe ich vergessen bzw. was ist falsch?

Ich wäre für jede Hilfe dankbar.
Gruß
Oli

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Oli,

was sagt denn der Dump, wo der Fehler auftritt. Ist das Teil Deines Programms oder ist das ein SAP-Standardprogramm?
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Der Fehler tritt nicht in meinem Programm auf. Dies ist ein Auszug aus dem Kurzdump:

Code: Alles auswählen.

                                                                            
Im Quelltext befindet sich die Abbruchstelle in Zeile 56                    
des (Include-)Programms "CL_GUI_ALV_GRID===============CM03E".              
(bei Anwahl des Editors: 560) der ABAP-Source                               
 "CL_GUI_ALV_GRID===============CM03E".                                     
                                                                            
                                                                            
Ausschnitt Source-Code                                                      
                                                                            
                                                                            
000260     endif.                                                           
000270   *Ende Hinweis 320712                                               
000280                                                                      
000290     if m_edit_global eq '1'.                                         
000300       ready_for_input = 1.                                           
000310     elseif m_edit_global eq '0'.                                     
000320       ready_for_input = 0.                                           
000330     elseif m_edit eq 'X'.                                            
000340       ready_for_input = 1.                                           
000350     else.                                                            
000360       ready_for_input = 0.                                           
000370     endif.                                                           
000380                                                                      
000390     check ready_for_input eq 1.                                      
000400                                                                      
000410     if not i_row_id is initial and                                   
000420        not is_col_id is initial and                                  
000430        not m_cl_variant->ms_layout-stylefname is initial.            
000440   *... Prüfen ob Grid auf ZELLENEBENE eingabebereit                  
000450       assign mt_outtab->* to <tab1>.                                 
000460       if not sy-subrc is initial.                                    
000470         message a534(0k).                                            
000480       endif.                                                         
000490                                                                      
000500       create data lp_wa like line of <tab1>.                         
000510       assign lp_wa->* to <ls_wa>.                                    
000520                                                                      
000530       read table <tab1> into <ls_wa> index i_row_id.                 
000540       assign component m_cl_variant->ms_layout-stylefname            
000550              of structure <ls_wa> to <l_field>.                      
     >       read table <l_field> into ls_style                             
000570               with table key fieldname = is_col_id-fieldname.        
000580       if sy-subrc eq 0.                                              
000590         if ls_style-style o mc_style_enabled.                        
000600           ready_for_input = 1.                                       
Ich hoffe das hilft weiter, mir hat es nicht geholfen. Anscheinend fehlt irgendetwas.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

kannst du auch noch den Code für den Fieldkatalog posten??

mfg
Richard

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Natürlich ...

Code: Alles auswählen.

FORM prepare_field_catalog CHANGING pt_fieldcat TYPE lvc_t_fcat.

  DATA: ls_fcat TYPE lvc_s_fcat.
  CLEAR ls_fcat.

  ls_fcat-fieldname = 'PERNR'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'PERNR'.
  ls_fcat-coltext   = 'Pernr.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'HANSP'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'HANSP'.
  ls_fcat-coltext   = 'Anspruch'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'ENDDA'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'ENDDA'.
  ls_fcat-coltext   = 'Gült.ende'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'BEGDA'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'BEGDA'.
  ls_fcat-coltext   = 'Gült.beginn'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'LGART'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'LGART'.
  ls_fcat-coltext   = 'Lohnart'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'ANWRT'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'ANWRT'.
  ls_fcat-coltext   = 'Anwarts.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'DKKAP'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'DKKAP'.
  ls_fcat-coltext   = 'Deckungskap.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'WAERS'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'WAERS'.
  ls_fcat-coltext   = 'Währ.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'EDDAT'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'EDDAT'.
  ls_fcat-coltext   = 'Einzahldat.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'GREKA'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'GREKA'.
  ls_fcat-coltext   = 'Grund'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'RELRE'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'RELRE'.
  ls_fcat-coltext   = 'Rel. Rückerst.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'RUECK'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'RUECK'.
  ls_fcat-coltext   = 'Kz. Rückerst.'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'BTZNR'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'BTZNR'.
  ls_fcat-coltext   = 'Zuordnung'.
  APPEND ls_fcat TO pt_fieldcat.

  ls_fcat-fieldname = 'RELRE'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'RELRE'.
  ls_fcat-coltext   = 'Besteuer.'.
  APPEND ls_fcat TO pt_fieldcat.

ENDFORM.                    "prepare_field_catalog
Interessant wäre für mich an dieser Stelle auch die Bedeutung der einzelnen Felder. ref_table ist wahrscheinlich meine P01CKA, fieldname die Bezeichnung innerhalb des Katalogs und ref_field der referenzierte Feld in der ref_table!? Vielleicht liegt da der Fehler.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo,

hab das mal nachgebaut (nach deinen Angaben).
bei mir funktioniert es.

was hast du bei 'grid_layout ' reingestellt??

was mir aufgefallen wäre (funktioniert aber bei mir trotzdem)

i_structure_name = 'P01CKA'
CHANGING
it_fieldcatalog = gt_fieldcat

icg denk mal, mit i_structure_name sagt du dem ALV sozusagen 'bau dir deinen Feldkatalog selbst auf, und zwar so wie die TAbelle P01CKA aussieht'
Also - doppelt gemoppelt -
eine von den zwei Zeilen kannst du dir sparen

mfg
Richard

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
RiffRaff hat geschrieben:...
was mir aufgefallen wäre (funktioniert aber bei mir trotzdem)

i_structure_name = 'P01CKA'
CHANGING
it_fieldcatalog = gt_fieldcat

icg denk mal, mit i_structure_name sagt du dem ALV sozusagen 'bau dir deinen Feldkatalog selbst auf, und zwar so wie die TAbelle P01CKA aussieht'
Also - doppelt gemoppelt -
eine von den zwei Zeilen kannst du dir sparen
...
was aber wiederum genau der Fehler sein könnte, da der ALV bei den Feldsymbolzugriffen möglicherweise davon ausgegangen ist, dass ein ASSIGN funktioniert, es aber nicht mehr geprüft hat, weil es durch dieses DoppelMoppel mehr Felder im Katalog als in der Struktur gibt... :?: :?:
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
Hallo ereglam,

hab's darum auch mal erwähnt.
Ist auf jeden Fall gefährlich (Fehlerquelle).

Aber in diesem Fall:
hab bei mir den ALV mit beiden Zeilen gestartet - und es funktioniert.
Der Fehler muß sich wo anders eingeschlichen haben.

mfg
Richard

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Beim Warten auf Antworten habe ich weiterhin selbst versucht die Probleme zu lösen und mich gefragt wieso Fehler bei den Spalten vorlagen. In dem Zusammenhang habt ich den Code abgeändert:

Code: Alles auswählen.

  CALL METHOD grid->set_table_for_first_display
    EXPORTING
*     I_BUFFER_ACTIVE                 =
*     I_CONSISTENCY_CHECK             =
*     i_structure_name                = 'P01CKA'
*     IS_VARIANT                      =
*     I_SAVE                          =
*     I_DEFAULT                       = 'X'
      is_layout                       = grid_layout
*     IS_PRINT                        =
*     IT_SPECIAL_GROUPS               =
*     IT_TOOLBAR_EXCLUDING            =
*     IT_HYPERLINK                    =
    CHANGING
      it_outtab                       = gt_p01cka
      it_fieldcatalog                 = gt_fieldcat
*     IT_SORT                         =
*     IT_FILTER                       =
    EXCEPTIONS
      invalid_parameter_combination   = 1
      program_error                   = 2
      too_many_lines                  = 3
      OTHERS                          = 4 .
Hinzu kamen noch doppelte Felder im Fieldcatalog. Leider funktioniert das Ausklappen der Werteliste immernoch nicht. :(

Ein wenig herum experimentieren, in Kombination mit euren Antworten hat mich jetzt zu folgender Erkenntnis gebracht. Der Fehler liegt eindeutig im grid_layout. Ob ich nun i_structure_name und/oder it_fieldcatalog verwende, scheint ihm egal zu sein. Ohne die Übergabe meiner grid_layout-Workarea funktioniert die "F4-Hilfe". Leider habe ich jetzt keine Eingabemöglichkeit mehr. Wie muss denn ein richtiges eingabefähiges Layout aussehen?

Da ich ja eine Pflege der Tabelle per ALV-Grid realisieren möchte, dachte ich mir das folgendes grid_layout, mich zum Erfolg führt.

Code: Alles auswählen.

grid_layout-stylefname = 'INPUT_STYLE'.
grid_layout-edit       = 'X'.
Offensichtlich ist dies jedoch eindeutig falsch.

Schon mal vielen Dank für die kompetente Hilfe.

Gruß
Oli

Beitrag von OliTe (ForumUser / 21 / 0 / 0 ) »
Okay, das Problem habe ich gelöst.

Auf ...

Code: Alles auswählen.

grid_layout-stylefname = 'INPUT_STYLE'.
... kann ich verzichten und schreibe lediglich ...

Code: Alles auswählen.

grid_layout-edit = 'X'.
Jetzt muss ich nur noch hinbekommen, dass die Daten auch in der internen Tabelle landen.

Vielen Dank nochmal.

Beitrag von RiffRaff (Specialist / 379 / 0 / 1 ) »
hallo,

eigentlich brauchst du dafür im grid_layout nichts einstellen,
die methode 'set_ready_for_input ' auch nicht.

es reicht zB:

Code: Alles auswählen.

  ls_fcat-fieldname = 'ENDDA'.
  ls_fcat-ref_table = 'P01CKA'.
  ls_fcat-ref_field = 'ENDDA'.
  ls_fcat-coltext   = 'Gült.ende'.
  ls_fcat-edit = 'X'.
  APPEND ls_fcat TO gt_fieldcat.
  CLEAR ls_fcat.
nicht vergessen die WA danach leeren, sonst ist der Paramter für alle folgenden gesetzt.

schreib mal was bei dir in grid_layout alles drinsteht.

mfg
Richard

Seite 1 von 1

Vergleichbare Themen

4
Antw.
4979
Views
ALV GRID Kurzdump RAISE_EXCEPTION: NO_FIELDCATALOG_AVAILABLE
von codierknecht » 12.10.2006 10:21 • Verfasst in ABAP® Core
5
Antw.
2732
Views
ALV-Grid: Einzelne Zelle farbig (Feldsymbol)
von Annnelies » 21.08.2008 14:34 • Verfasst in ABAP® Core
1
Antw.
417
Views
Kurzdump
von Rabea1103 » 07.07.2021 20:29 • Verfasst in ABAP® Core
2
Antw.
184
Views
Kurzdump CJ20N
von Bright4.5 » 20.04.2022 13:49 • Verfasst in ABAP® für Anfänger
15
Antw.
6931
Views
Kurzdump Batchinput
von kostonstyle » 12.03.2007 11:31 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

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

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141