Unzulässiger Teilfeldzugriff: Offset zu groß

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

Unzulässiger Teilfeldzugriff: Offset zu groß

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo,

ich habe hier den Fall, dass ein Kurzdump im System A(282) auftritt und im System B(142) nicht.
Und zwar hat es was mit der Type länge zu tun.

So sieht der dump aus:
Fehleranalyse
Es ist eine Ausnahme aufgetreten, die weiter unten näher erläutert wird.
Die Ausnahme, der die Klasse 'CX_SY_RANGE_OUT_OF_BOUNDS' zugeordnet ist,
wurde in der Prozedur "GET_ACTION_OF_XVCLTOTAL" "(METHOD)" weder abgefangen,
noch durch eine RAISING-Klausel propagiert.
Da der Aufrufer der Prozedur nicht mit dem Auftreten der Ausnahme
rechnen konnte, wurde das laufende Programm abgebrochen.
Der Grund für die Ausnahme ist:

In dem laufenden Programm "/DZBW/SAPLFDI_IM" sollte auf das Feld "<0>", das den
Typ
"u" und die Länge 256 hat, mit dem Offset 284 zugegriffen werden.
Ein Teilfeldzugriff mit einer Offsetangabe, die nicht kleiner ist als
die Feldlänge, ist jedoch nicht erlaubt.


Code: Alles auswählen.

 describe_length_byte IMPORTING i_data          TYPE any                      OPTIONAL
                                                  i_datadescr     TYPE REF TO cl_abap_datadescr OPTIONAL
                                        PREFERRED PARAMETER i_data
                                        RETURNING value(r_length) TYPE i,

Code: Alles auswählen.

 METHOD describe_length_byte.
    DATA l_d TYPE REF TO data.
*
    FIELD-SYMBOLS <0> TYPE any.
*
    IF i_datadescr IS BOUND.
      CREATE DATA l_d TYPE HANDLE i_datadescr.
      ASSIGN l_d->* TO <0>.
      r_length = describe_length_byte( <0> ).
    ELSE.
      DESCRIBE FIELD i_data LENGTH r_length IN BYTE MODE.
    ENDIF.
  ENDMETHOD.                    "
r_length = describe_length_byte( <0> ) hat die Länge 284.
Woher nimmt er sich die Länge. Muss doch mit Customizing / Systemeinstellungen zu tun haben oder? Wo kann ich diese Einstellungen sehen?

Gruß
coco

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


Re: Unzulässiger Teilfeldzugriff: Offset zu groß

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Selbst wenn das Feld die Länge 284 hätte, kannst Du nicht mit Offset 284 darauf zugreifen.
Es hat aber laut Dump die Länge 256.
Wie kommst Du auf die 284?
Aus dem anderen System, in dem der Dump nicht auftritt?

Kann es sein, dass die Strukturen (denn Typ 'u' bedeutet ja "flache Struktur") abweichen?
Selbst wenn der Versionsvergleich keine Abweichung zeigt, kann es Abweichungen geben, z.B. durch abweichend definierte includierte Strukturen oder durch nur in einem der Systeme vorhandene APPEND-Strukturen.
Oder dadurch, dass eines der beiden Systeme ein Unicode-System ist, so dass zeichenartige Felder dort doppelt so lang (in Bytes) sind wie im Nicht-Unicode-System.

Frank

Re: Unzulässiger Teilfeldzugriff: Offset zu groß

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo Frank,

du hast ins Schwarze getroffen!!! Es handelt sich tatsächlich um den Unterschied zwischen Unicode und non Unicode System.
Danke!!!

Viele Grüße
coco

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2767
Views
Teilfeldzugriff auf Integer
von tho » 18.02.2005 15:24 • Verfasst in ABAP® Core
8
Antw.
909
Views
Offset in Where-Klausel
von L0w-RiDer » 29.07.2022 10:25 • Verfasst in ABAP® für Anfänger
0
Antw.
1634
Views
Select mit Offset?
von vwaadenm » 22.01.2007 09:15 • Verfasst in ABAP® für Anfänger
1
Antw.
1548
Views
ASSIGN+OFFSET in Unicode
von mazu » 14.04.2008 14:12 • Verfasst in ABAP® Core
1
Antw.
1065
Views
ASSIGN ung OFFSET im UNICODE
von alicemal » 03.09.2008 12:36 • Verfasst in ABAP® Core

Ü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

Dialog-Container mit Toolbar/Status
vor 58 Minuten von DeathAndPain gelöst 22 / 2753
Daten an Tabelle binden
vor 5 Stunden von Lukas Sanders 2 / 837

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

Dialog-Container mit Toolbar/Status
vor 58 Minuten von DeathAndPain gelöst 22 / 2753
Daten an Tabelle binden
vor 5 Stunden von Lukas Sanders 2 / 837

Unbeantwortete Forenbeiträge

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