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

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 81327
Stücklisten
vor einer Woche von Selma.schwarz 1 / 82947

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

Batchjobs die im Minutentakt laufen
von fawkes » 27.06.2007 12:44
Call transaction dunkel laufen lassen
von chfreise » 09.01.2008 23:20
Bi-Mappen für Transaktion FSP0 laufen auf Fehler?!
von MarkusW » 18.10.2007 17:17
Zahlen in Format xxx.xxx,xx bringen
von Wowa » 18.10.2013 10:49
Bringen Datenbank-Cursoren irgendwas?
von DeathAndPain » 28.11.2017 16:58

Aktuelle Forenbeiträge

Feldroutine ADSO Transformation
vor einer Woche von codemaster1 2 / 81327
Stücklisten
vor einer Woche von Selma.schwarz 1 / 82947

Unbeantwortete Forenbeiträge

Stücklisten
vor einer Woche von Selma.schwarz 1 / 82947
Belege
vor einer Woche von Selma.schwarz 1 / 80756