CL_ABAP_CLASSDESCR und Syntaxfehler Thema ist als GELÖST markiert

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

CL_ABAP_CLASSDESCR und Syntaxfehler

Beitrag von GastX (Specialist / 288 / 6 / 20 ) »
Hallo, steh gerade etwas auf dem Schlauch:
ich möchte zu einer kleinen Menge von Klassen weitere Informationen erhalten und habe hier einen Aufruf wie folgt:

Code: Alles auswählen.

lo_classdescr ?= cl_abap_classdescr=>describe_by_name( ... )
Problem: wenn die angegebene Klasse Syntaxfehler hat, steigt diese Zeile ebenfalls mit einem Syntaxfehler aus / ich bekomme einen Dump. Wie kann ich das verhindern?

(Die Situation entstand, da eine Methode von Klasse1 eine Klasse2 nutzte und deren Interface sich änderte. Damit war formal Klasse 1 noch aktiviert, aber syntaktisch fehlerhaft geworden.)

VG

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


Re: CL_ABAP_CLASSDESCR und Syntaxfehler

Beitrag von black_adept (Top Expert / 4161 / 136 / 961 ) »

Code: Alles auswählen.

TRY.
    lo_classdescr ?= cl_abap_classdescr=>describe_by_name( ... ).
  CATCH cx_sy_rtti_syntax_error.
   ...
ENDTRY.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CL_ABAP_CLASSDESCR und Syntaxfehler

Beitrag von GastX (Specialist / 288 / 6 / 20 ) »
Moin Stefan, danke für die schnelle Reaktion.

Klappt bei diesem System leider nicht (740, SP 0006).
Type "CX_SY_RTTI_SYNTAX_ERROR" is unknown
Passt auch zur Signatur von DESCRIBE_BY_NAME: importing P_NAME, exporting, P_DESCR_REF exception TYPE_NOT_FOUND (nicht klassenbasierte Exception)

VG Frank

Re: CL_ABAP_CLASSDESCR und Syntaxfehler

Beitrag von black_adept (Top Expert / 4161 / 136 / 961 ) »
Hallo Frank,

wenn du mit solchen Voraussetzungen arbeiten musst könntest du ja vorher einen Check machen, ob die Klasse überhaupt syntaxfehlerfrei ist und nur dann versuchen dir Informationen über die Klasse zu beschaffen.

Code: Alles auswählen.

DATA: lv_seoclskey   TYPE seoclskey,
      lv_syntaxerror TYPE seox_boolean,
      lv_cancelled   TYPE seox_boolean.
lv_seoclskey = 'klassenname hier rein'.
CALL FUNCTION 'SEO_CLASS_CHECK_CLASSPOOL'
  EXPORTING
    clskey                       = lv_seoclskey
    suppress_error_popup         = seox_true
  IMPORTING
    syntaxerror                  = lv_syntaxerror
    cancelled                    = lv_cancelled
  EXCEPTIONS
    _internal_class_not_existing = 1
    OTHERS                       = 2.
IF sy-subrc <> 0 OR lv_syntaxerror = seox_true.
  WRITE:/ 'Sy-subrc', sy-subrc.
  WRITE:/ 'Syntaxerror', lv_syntaxerror.
ENDIF.
Brauchst du Informationen aus der Klasse, auch wenn diese nicht syntaxfehlerfrei ist oder reicht es zu zeigen, dass hier was völlig daneben ist?

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 2):
GastXIcke0801

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: CL_ABAP_CLASSDESCR und Syntaxfehler

Beitrag von GastX (Specialist / 288 / 6 / 20 ) »
Hallo Stefan, das war's was mir fehlte, Danke!

Zum Zweck: die Klassen sollen ein bestimmtes Interface implementieren, nicht abstrakt sein u.ä.. Daher der Weg über die CLASSDESCR.

Seite 1 von 1

Ü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.

Vergleichbare Themen

ABAP 7.40 - merkwürdiger Syntaxfehler
von ralf.wenzel » 11.05.2015 12:02
Unicode-Umstellung mit Syntaxfehler
von Kristin » 17.12.2008 13:33
Dynpro Table Control Syntaxfehler
von pitty » 16.10.2015 16:13
Syntaxfehler, bei denen man jedes mal erneut sucht...
von ewx » 24.06.2010 09:35
OLE und ABAP: Aufruf von Excel-VBA Prozeduren aus ABAP
von OnkelSAP » 26.05.2010 09:45