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.
3244
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.
1094
Views
Bi-Mappen für Transaktion FSP0 laufen auf Fehler?!
von MarkusW » 18.10.2007 17:17 • Verfasst in Financials
15
Antw.
11694
Views
Zahlen in Format xxx.xxx,xx bringen
von Wowa » 18.10.2013 10:49 • Verfasst in ABAP® für Anfänger
3
Antw.
5262
Views

Ü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

Daten an Tabelle binden
vor 10 Stunden von Bright4.5 1 / 220
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1862
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8465