Klassen Source Code Generierung - Klasseninclude wird nicht verwendet

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Klassen Source Code Generierung - Klasseninclude wird nicht verwendet

Beitrag von der_neuling (ForumUser / 87 / 17 / 3 ) »
Hallo,

für ein Projekt versuche ich gerade Klassen zur Laufzeit zu erstellen. Dabei benutze ich die FuBas aus der Gruppe SEOQ, vor allem den Baustein 'SEO_CLASS_CREATE_COMPLETE'.

Soweit so gut, Klasse wird erstellt aber mit einem Problem:
Es sollen auch lokale Klassen mit erzeugt werden, genauer Unit-Tests. Der Quellcode ist dann auch sichtbar, allerdings erscheint folgende Meldung:
Das Include mit dem für Testquelltext reservierten Namen "ZCL_ENUM_TEST_004=============CCAU" existiert, wird aber nicht verwendet. Löschen Sie es oder benennen Sie es um.
warning_for_local_testclass.png
Lokale Definition und Lokale Implementierung wird aber ohne Fehler erzeugt, es geht also wirklich nur um die Testklassen.

Der Quellcode wird als geschrieben, aber im falschen Include? Folgerichtig können auch die Unit-Tests nicht ausgeführt werden.
Im Beispielprogramm der SAP, 'SEO_GENERATE_CLASS_EXAMPLE' gibt es zu meinem Szenario auch keine Lösung.

Code: Alles auswählen.

src_code_generator = NEW #( |ZCL_ENUM_TEST_{ pa_num }| ).
  DATA t_attributes TYPE seoo_attributes_r.
  DATA t_methods TYPE seoo_methods_r.
  DATA t_method_sources TYPE seo_method_source_table.
  DATA t_interfaces TYPE seor_implementings_r.
  DATA s_class TYPE vseoclass.

  s_class = VALUE #(
    clsname = |ZCL_ENUM_TEST_{ pa_num }|
    descript = |Test class number { pa_num }|
    langu    = sy-langu
    exposure = 2
    fixpt    = abap_true
    state    = 1 ). "implemented

  t_attributes = VALUE #(
    ( clsname    = s_class-clsname
      cmpname    = 'DEMO'
      descript   = 'Demo attribute'
      exposure   = 2 "public
      attdecltyp = 0 "instance
      state      = 1
      ) ).
  t_methods = VALUE #(
   ( clsname    = s_class-clsname
     cmpname    = 'DEMO'
     descript   = 'demo method'
     langu      = sy-langu
     exposure   = 2 "public
     mtddecltyp = 0 "instance
     state      = 1
     ) ).

  DATA: src_code_def TYPE rswsourcet,
            src_code_imp LIKE src_code_def.

* CLASS DEFINITION :
DATA: wa_vseoclass TYPE vseoclass.
wa_vseoclass-clsname = |ZCL_ENUM_TEST_{ pa_num }|.
wa_vseoclass-state = seoc_state_implemented.
wa_vseoclass-exposure = seoc_exposure_public.
wa_vseoclass-langu = 'EN'.
wa_vseoclass-descript = 'Generated Testclass'.              "#EC NOTEXT
wa_vseoclass-clsccincl = abap_true.
wa_vseoclass-unicode = 'X'.
wa_vseoclass-author = sy-uname.

  "Create class
  CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE'
    EXPORTING
      devclass                   = '$TMP'
      version                     = seoc_version_active
      authority_check        = seox_true
      overwrite                  = seox_true
      suppress_method_generation = seox_false
      genflag                     = seox_true
      method_sources             = t_method_sources
      locals_def                  = src_code_generator->get_src_code_lcl_types(  )
      locals_imp                 = src_code_imp
      locals_au                   = src_code_generator->get_src_code_test_class(  )
    CHANGING
      class                          = wa_vseoclass
      implementings              = t_interfaces
      attributes                   = t_attributes
      methods                     = t_methods
    EXCEPTIONS
      existing                      = 1
      is_interface               = 2
      db_error                   = 3
      component_error            = 4
      no_access                  = 5
      other                      = 6
      OTHERS                     = 7.
  WRITE: / sy-subrc.
[/code]

Was habe ich schon probiert?
Ich habe versucht die lokalen Klassen nach dem o.g. FuBa explizit zu erstellen mittels SEO_CLASS_GENERATE_LOCALS. Das Problem tritt hier aber genauso auf.

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


Re: Klassen Source Code Generierung - Klasseninclude wird nicht verwendet

Beitrag von ewx (Top Expert / 4804 / 296 / 631 ) »
SNAG-1434.png
SAP-Doku hat geschrieben: FU SEO_CLASS_CREATE_COMPLETE LOCALS_AU
____________________________________________________

Short Text

Sourcecode for local testclasses

Description

The parameter provides the sourcecode for local testclasses. The
parameter is similar to LOCALS_DEF, LOCALS_IMP, LOCALS_MAC.

Be aware that a class with local testclasses requires in parameter CLAS
that the field WITH_UNIT_TESTS is set to 'X'.

Re: Klassen Source Code Generierung - Klasseninclude wird nicht verwendet

Beitrag von der_neuling (ForumUser / 87 / 17 / 3 ) »
Au mann, danke @ewx, in der ADT ist der Langtext der Parameter nicht verfügbar, ich hatte nicht in die SE37 gesehen...

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2244
Views
Ansicht kompletter Source-Code von Modulpool
von Maerkl » 11.04.2005 09:51 • Verfasst in ABAP® für Anfänger
1
Antw.
8424
Views
Programmname einer Methode ermitteln für Lesen Source Code
von polle » 03.01.2007 10:51 • Verfasst in ABAP® Core
20
Antw.
1570
Views
Globale Klassen oder Lokale Klassen
von ZF_SAPler » 29.11.2022 13:47 • Verfasst in ABAP® für Anfänger
8
Antw.
8398
Views
Architektur von Abap-Klassen (Klassen Attribute)
von snooze » 12.04.2005 12:56 • Verfasst in ABAP Objects®

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Ideensammlung für Apps/Reports
vor 3 Tagen von JHM 3 / 246
API als OData
vor 4 Tagen von Bugfrei 2 / 657
SQL letzter Datensatz
vor 4 Tagen von Bugfrei 8 / 10013

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.