ABAP-Kurzdump ist nicht komplett abgespeichert (zu groß)

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
18 Beiträge • Seite 1 von 2 (current) Nächste
18 Beiträge Seite 1 von 2 (current) Nächste

ABAP-Kurzdump ist nicht komplett abgespeichert (zu groß)

Beitrag von Handeglo (ForumUser / 36 / 0 / 0 ) »
Bitte um hilfe,

bekomme bei den WS_UPLOAD
folgendes fehler

-->Unzulässiger Teilfeldzugriff: Offset negativ


ich versuche dabei zwei dateien zu laden. hierbei entsteht einen kurzdum

woran kann es liegen?

Gruss

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


Re: ABAP-Kurzdump ist nicht komplett abgespeichert (zu groß)

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ohne Coding wird dir das keiner sagen können.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Unzulässiger Teilfeldzugriff: Offset negativ

Beitrag von ST22 (Specialist / 277 / 41 / 40 ) »
na ja, es geht auch ohne Coding, da ja schon die Aussage "Unzulässiger Teilfeldzugriff: Offset negativ " ein wenig aussagt.

Es wird mit negativem Offset auf ein Feld zugegriffen.

z.B. Feld+offset(länge) = irgendwas. Wenn der Wert von offset < 0 ist, dann rappelt es halt.
Ich gehe mal davon aus, dass es im selbstprogrammierten Teil vorkommt, oder stürzt der Standardbaustein ab?

Ansonsten musst du halt abfangen, dass der Offset negativ wird.

Gruß

ST22

Re: Unzulässiger Teilfeldzugriff: Offset negativ

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
ST22 hat geschrieben:Es wird mit negativem Offset auf ein Feld zugegriffen.
Ach?! Und dein Posting hilft ihm jetzt? Das bezweifle ich.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von ST22 (Specialist / 277 / 41 / 40 ) »
Hallo Ralf, ich wußte, dass dir meine Antwort keine Ruhe lassen wird.

Frage war:
"woran kann es liegen? "

Meine Antwort, die natürlich nicht hinreichend aber immerhin ein Ansatzpunkt ist:

"Es wird mit negativem Offset auf ein Feld zugegriffen.

z.B. Feld+offset(länge) = irgendwas. Wenn der Wert von offset < 0 ist, dann rappelt es halt.
Ich gehe mal davon aus, dass es im selbstprogrammierten Teil vorkommt, oder stürzt der Standardbaustein ab?"

Also war meine Antwort lediglich als Einstieg in eine Fehlersuche gedacht. Nix für ungut
:wink:

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
ST22 hat geschrieben:Meine Antwort, die natürlich nicht hinreichend aber immerhin ein Ansatzpunkt ist
Aber was du geantwortet hast, steht doch schon im Dump. Wenn man mehr sagen will als der Dump, braucht man das Coding dazu - so einfach ist das.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Unzulässiger Teilfeldzugriff: Offset negativ

Beitrag von ST22 (Specialist / 277 / 41 / 40 ) »
Lass das Programm laufen, bis es abraucht.
Wenn du den Kurzdump kriegst, hast du einen Button "Debugger". Du springst sofort an die Fehlerstelle und da liegt der Hase im Pfeffer. Da wird irgendeine Variable mit der du auf ein Feld zugreifst einen negativen Wert haben.

Prüfe bitte deine Programmlogik dahingehend, wie es zu diesem Zustand kommt und ändere das Programmverhalten ab.

Das war's für heute

ST22

Beitrag von Handeglo (ForumUser / 36 / 0 / 0 ) »
Hallo zusammen,

Vielen Dank schon mal, dass ihr da heftig miteinander diskutiert....

Es handelt sich hierbei nicht um den FB WS_UPLOAD, sondern um den GUI_UPLOAD. ...Sorry, habe mich verschrieben (mit dem WS_UPLOAD funktioniert es nähmlich)

Ich möchte gern den GUI_UPLOAD nutzen, da es sich hier um den "neuen" Standard FB zur Beladung von Dateien handelt.

Hier mal ein Auszug aus dem Dump:
"Fehleranalyse"
In dem laufenden Programm "SAPLSFES " sollte auf das Feld "LINEBUFFER" mit dem Offset "-2" zugegriffen werden. Ein Teilfeldzugriff mit negativer Offsetangabe ist jedoch nicht erlaubt.

Der Dump entsteht in der Form: COM_DLLUNREGISTERSERVER an folgender Stelle...
* Daten in Zeilenpuffer ablegen
FORM PUT_LINEBUFFER USING DATA LEN.
IF LEN > 0.
MOVE DATA TO LINEBUFFER+LINEBUFFERSIZE(LEN).
LINEBUFFERSIZE = LINEBUFFERSIZE + LEN.
ENDIF.
ENDFORM.

Der Fehler entsteht, wenn man mehr als eine Datei innerhalb der Routine beladen möchte. Bei der ersten Datei funktioniert es, danach bricht der FB ab.

Es scheint, dass die Variable LINEBUFFERSIZE nach dem ersten Durchlauf nicht initialisiert wid.

Danke und viele Grüße

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Poste doch mal deinen FB-Aufruf und das Coding ringsrum. Das von der SAP können wir eh alle nachgucken ;)


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Handeglo (ForumUser / 36 / 0 / 0 ) »
Hallo Ralf,

Ich rufe die GUI_UPLOAD ganz "normal" auf ohne zusätzlichen parameter also nur die dateiname sowie eine table für den Import der geladenen Daten!

Sobald ich über ein LOOP mehrere Daten bzw. grösser 1 uploaden möchte kommt die oben gennanten Fehlermeldung


Gruss+ Danke

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Ich finde deinen Codingausschnitt nicht. Ohne den kann dir niemand wirklich weiterhelfen.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Handeglo (ForumUser / 36 / 0 / 0 ) »
Hallo Ralf,

hier die nötige stelle wo ich die Funktion ausrufe

Code: Alles auswählen.

*Aus dem Customizing die relevanten Dateinamen zur Beladung
*ermitteln
 loop at mt_load_def
 into ls_load_def.

*  Initialisierung
   refresh lt_import_table.

*  Pfad und Dateiname verknüpfen
   concatenate msz_path ls_load_def-filename into lsz_input_file.

*  Aus PC-Laufwerk das File auslesen
   case msz_server_typ_id.

   when cn_local.
*   Funktion zum Holen der CSV-Datei aus der Workstation
    call function 'GUI_UPLOAD'
    exporting  filename                     = lsz_input_file
    tables     data_tab                      = lt_import_table
    exceptions conversion_error      = 1
               file_open_error                = 2
               file_read_error                 = 3
               invalid_type                      = 4
               no_batch                          = 5
               unknown_error                 = 6
               invalid_table_width           = 7
               gui_refuse_filetransfer     = 8
               customer_error                 = 9
               others                               = 10.

*     Falls Fehler beim öffnen der Datei entsteht
      if sy-subrc ne 0.
*      Öffnungsfehler
       call method mptr_protocol->add_error
        exporting
        pnr      = '001'
        pmsgval1 = ls_load_def-filename.
*       Abbrechen
        exit.

......
.....
.......


genau nach der zweiten Upload bricht es ab

Gruss

GUI_UPLOAD

Beitrag von ST22 (Specialist / 277 / 41 / 40 ) »
Moin Zusammen,

hast du mal im OSS geguckt, ob es evtl. ein SAP Fehler ist? Der Abbruch passiert ja innerhalb des Fugr. SAPLFES.
Andere Idee, hast du mal mit Filetype (ASC / BIN ) versucht?
Sind vielleicht in den Dateien irgendwelche HEX-Werte versteckt, die den Fehler verursachen (kannst du die Reihenfolge der eingelesenen Dateien mal verändern, um rauszubekommen ob es evtl an den Daten liegt)?

Gruß

ST22

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
ST22 hat recht, definiere deine Tabellenfelder mal alle als String. Damit ist dein fehler erst einmal weg.
Lese doch mal die Doku zu dem FB den du benutzt. Unter anderen gibt es dort einen Parameter HAS_FIELD_SEPARATOR. In der Doku steht dann auch, das die Daten eventuell dann nur in der ersten Spalte stehen, wenn dieser nicht gesetzt ist.
Das passiert aufgrund deiner Datenlänge. Trennst du deine Eingabedatei mit tabulatoren und setzt HAS_FIELD_SEPARATOR=X, dann gibt es keine Probleme, sofern die Datendefinitionen sich nicht wiedersprechen.
Liest du die Daten ohne Tablulator ein, entscheidet deine Satzstruktur darüber, wann ein Feld getrennt wird. In diesem Fall sollte deine Eingabedatei mit festen Feldlängen kommen.
Ein beliebter Fehler wäre auch, wenn du in der Eingabedatei Wertfelder hast und in diesem z.B Tausenderpunkte auftauchen bzw. das Komma ein Komma ist und nicht wie im SAP erwartet ein Punkt. Um das zu umgehen definiere mal alle Felder mit Werten testweise als Felder vom Type C.

Gruß

Thomas

Beitrag von Handeglo (ForumUser / 36 / 0 / 0 ) »
Hallo Zusammen,

Der "lt_import_table" ist ein STRING was kann noch gemacht werden ?



Gruss

Vergleichbare Themen

14
Antw.
1256
Views
Ein Abap Programm Komplett kopieren
von the_skywalker » 15.11.2021 10:13 • Verfasst in ABAP® Core
2
Antw.
8410
Views
Material komplett löschen
von whasl » 20.03.2008 17:43 • Verfasst in Material Management & Produktionsplanung
3
Antw.
5862
Views
Außenhandel komplett deaktivieren ?
von Matthias_L. » 16.04.2008 17:05 • Verfasst in Sales and Distribution
1
Antw.
1725
Views
komplett neues Package
von Gast » 22.09.2004 15:02 • Verfasst in ABAP® für Anfänger
7
Antw.
4890
Views
Datumsfeld komplett selbst überprüfen.
von Nordlicht » 26.08.2016 10:23 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Dump HTTP_OUT_OF_MEMORY
vor 15 Stunden von Shortcut IT 3 / 68
Wie standardtabelle Updaten?
vor 2 Tagen von A6272 6 / 357
Neue Themen als SAP Entwickler
vor 3 Tagen von IHe 7 / 527
Problem mit Custom-Dynpro in VL02N
vor 3 Tagen von Xilukarim gelöst 2 / 67

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

Dump HTTP_OUT_OF_MEMORY
vor 15 Stunden von Shortcut IT 3 / 68
Wie standardtabelle Updaten?
vor 2 Tagen von A6272 6 / 357
Neue Themen als SAP Entwickler
vor 3 Tagen von IHe 7 / 527
Problem mit Custom-Dynpro in VL02N
vor 3 Tagen von Xilukarim gelöst 2 / 67