Code auf 4.6.c zum Laufen bringen

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

Code auf 4.6.c zum Laufen bringen

Beitrag von bohne (Specialist / 437 / 0 / 0 ) »
Hallo Zusammen!

Dieser u.s. Code funktionert auf der 4.6c nicht. Wie kann man
abhilfe verschaffen ?

Code: Alles auswählen.

PARAMETERS:
  pa_Struc TYPE C LENGTH 30.

DATA:
  oError TYPE REF TO cx_root,
  txtError TYPE STRING,
  ptrInternalTable TYPE REF TO DATA.

FIELD-SYMBOLS:
  <fsTable> TYPE ANY TABLE,
  <fsWa>    TYPE DATA,
  <fsField> TYPE DATA.

TRY.
  CREATE DATA ptrInternalTable TYPE TABLE OF (pa_Struc).
  ASSIGN ptrInternalTable->* TO <fsTable>.

  SELECT *
    FROM (pa_Struc)
    INTO  TABLE <fsTable>.

  LOOP AT <fsTable> ASSIGNING <fsWa>.
    DO.
      ASSIGN COMPONENT sy-index OF STRUCTURE <fsWa> TO <fsField>.
      IF sy-subrc <> 0.
        EXIT.
      ENDIF.
      WRITE: <fsField>.
    ENDDO. "Felder abarbeiten
    SKIP.
  ENDLOOP. "Zeilen abarbeiten

CATCH cx_sy_create_data_error INTO oError.
  txtError = oError->get_text( ).
  WRITE: / 'Ausnahme: ', txtError.

CATCH cx_sy_dynamic_osql_semantics INTO oError.
  txtError = oError->get_text( ).
  WRITE: / 'Ausnahme: ', txtError.

ENDTRY.
Viele Grüße
bohne

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Tya, Dynamische Tabellen geht halt erst ab 4.7.

Aber in deinem Fall könnte man noch einen Workaround machen:
Mach einfach aus deinem "Select ... into Table + loop" einen "select ... into wa ... endselect".

Ist zwar nicht das schönste so, aber wie schon gesagt gehen dynamische Tabelen erst ab 4.7 und 4.6 kann leider nur dynamische Strukturen.

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »

Code: Alles auswählen.

TRY.
  CREATE DATA ptrInternalTable TYPE TABLE OF (pa_Struc).
  ASSIGN ptrInternalTable->* TO <fsTable>.

CATCH cx_sy_create_data_error INTO oError.
  txtError = oError->get_text( ).
  WRITE: / 'Ausnahme: ', txtError.

CATCH cx_sy_dynamic_osql_semantics INTO oError.
  txtError = oError->get_text( ).
  WRITE: / 'Ausnahme: ', txtError.

ENDTRY.
Diesen Bereich kannste knicken...bekommste so nicht in 4.6c zu laufen.

Das Create Data ... TYPE TABLE OF ... gibts erst ab 4.7.
Genauso das Try und Catch.

Ne Lösung so auf die schnelle ist schwierig, die Ausnahmeklasse cx_root ist auf 4.6c auch nicht vorhanden...naja zumindest auf dem system hier nicht ;)

Gruß
Markus

Beitrag von MarkusW (Specialist / 406 / 5 / 0 ) »
DeathGuardian hat geschrieben:Tya, Dynamische Tabellen geht halt erst ab 4.7.

Aber in deinem Fall könnte man noch einen Workaround machen:
Mach einfach aus deinem "Select ... into Table + loop" einen "select ... into wa ... endselect".

Ist zwar nicht das schönste so, aber wie schon gesagt gehen dynamische Tabelen erst ab 4.7 und 4.6 kann leider nur dynamische Strukturen.
Guter Tip.

das mit select into wa...

Code: Alles auswählen.

    CREATE DATA ptrInternalStruc TYPE (pa_Struc).
    ASSIGN ptrInternalStruc->* TO <fs_Struct>.

Select *
From    (pa_Struc)
into     <fs_Struct>.


endselect.
gruß
Markus

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3246
Views
Batchjobs die im Minutentakt laufen
von fawkes » 27.06.2007 12:44 • Verfasst in ABAP® Core
5
Antw.
2317
Views
Call transaction dunkel laufen lassen
von chfreise » 09.01.2008 23:20 • Verfasst in ABAP® Core
0
Antw.
1095
Views
Bi-Mappen für Transaktion FSP0 laufen auf Fehler?!
von MarkusW » 18.10.2007 17:17 • Verfasst in Financials
15
Antw.
11706
Views
Zahlen in Format xxx.xxx,xx bringen
von Wowa » 18.10.2013 10:49 • Verfasst in ABAP® für Anfänger
3
Antw.
5270
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor 48 Minuten von payten 13 / 10237
Dialog-Container mit Toolbar/Status
vor 15 Stunden von DeathAndPain gelöst 22 / 3212
Daten an Tabelle binden
vor 20 Stunden von Lukas Sanders 2 / 1074
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 643

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

Trennen Strasse und Hausnummer
vor 48 Minuten von payten 13 / 10237
Dialog-Container mit Toolbar/Status
vor 15 Stunden von DeathAndPain gelöst 22 / 3212
Daten an Tabelle binden
vor 20 Stunden von Lukas Sanders 2 / 1074
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 643

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2636
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9222