ich hoffe ich bin jetzt im richtigen Themenbereich.
Ich bekomme immer die selbe Fehlermeldung beim durchführen der Transaktion "KE30" (ABAP-Programm "SAPMKCBE").
Bekomme den Fehler aber nur auf einem bestimmten PC, logge ich mich auf einem anderen Rechner, mit meinem User ein, kommt der Fehler nicht (also keine Berechtigungsprobleme).
Auf beiden Rechner ist die selbe Version installiert.
Was ist passiert?
Fehler im ABAP-Anwendungsprogramm.
Das laufende ABAP-Programm "SAPMKCBE " mußte abgebrochen werden, da es auf
eine Anweisung gestoßen ist, die leider nicht ausgeführt werden kann.
Fehleranalyse
In dem laufenden Programm "SAPMKCBE " wurde die Anweisung ASSIGN verwendet.
Das Feldoffset 7602 ist größer als die Länge 7592 der Quellstruktur.
Dies ist nicht erlaubt.
1. Probleme mit ASSIGN_OFFSET_NOTINFIELD im SAPMKCBE beim Drucken von Berichten.
Dieser Fehler tritt nur beim Druck der Übersichtliste auf, und auch nur dann, wenn dem Bericht ein breites zweidimensionales Formular zugrundeliegt.
2. In der Routine PRINT_TABLEAU(MKCBEF04) kommt es zum Abbruch:
"Fehler in ASSIGN-Zuweisung: Speicherschutzfehler
Was ist passiert?
Das laufende ABAP/4-Programm "SAPMKCBE" mußte abgebrochen werden,...."
Dieser Fehler tritt nur auf, wenn folgende Bedingungen erfüllt sind:
a) Es handelt sich um einen Standardbericht, wobei die Zeilen-/Spaltenstruktur genau eine Zeile und mehrere Spalten enthält.
b) Nach Ausführen des Berichts wird aus der Zeilen-/Spaltenstruktur mindestens eine Spalte ausgeblendet.
Es kann auch zu einem Abbruch "ASSIGN_OFFSET+LENGTH_TOOLARGE" im Programm SAPMKCBE (Form ULINE) kommen. Dieser Abbruch tritt auf, wenn man versucht, alle Spalten der Aufrissliste zu drucken.
Weitere Begriffe
2. Programmfehler (der oben beschriebene Spezialfall war nicht berücksichtigt).
Lösung
1. Hinweis 15679 im MKCBEF20, Routine TOP_VERGLEICH.
2. Reparatur P22K007690 im MKCBEF04, Routine PRINT_TABLEAU.
Reparaturen im Coding
============ANFANG Punkt 1==========================================
FORM TOP_VERGLEICH.
DATA: TVG_INDPR TYPE I, " Print Index
TVG_GROFF TYPE I, " Aktueller Gruppenoffset
TVG_GRLEN TYPE I, " Aktuelle Gruppenlänge
TVG_GROUP TYPE I, " Gruppe 1,2,3 oder 4
TVG_CNTPR TYPE I. " Zähler Spalten in Print
DATA: TVG_EXIT(1). "Exit Liste > 255 "K11K093313
DATA: TVG_MAXWD TYPE I. "<--INSERT 15679 / 22I/30F
PERFORM VLINE USING 'L' SLINSZ.
PERFORM LEERE_FUEHRUNGSSPALTE.
FORMAT: COLOR 1, INTENSIFIED.
* PERFORM GET_KEYSP USING TVG_GROFF. "P22l
* TVG_GROFF = TVG_GROFF + POFFS_V. "P22l
TVG_GROFF = POFFS. """""""""""""""""""" "P22l
IL = PRINT_SPOFF + 1.
IH = PRINT_SPOFF + PRINT_SPANZ.
TVG_CNTPR = 0.
LOOP AT PRINT FROM IL TO IH WHERE FORMAT EQ SPACE.
TVG_CNTPR = TVG_CNTPR + 1.
TVG_GRLEN = TVG_GRLEN + PRINT-PLEN + 1.
TVG_INDPR = TVG_CNTPR MOD RKB1F-FANZPA.
TVG_GROUP = TVG_CNTPR DIV RKB1F-FANZPA.
IF TVG_GRLEN GT TVG_MAXWD. "<--INSERT 15679 / 22I/30F
* IF TVG_GRLEN GT MAXIM_WIDTH. "<--DELETE 15679 / 22I/30F "K11K093313
*.....................................Kann auftreten für TVG_GROUP = 0..
* TVG_GRLEN = MAXIM_WIDTH. "<--DELETE 15679 / 22I/30F "K11K093313
TVG_GRLEN = TVG_MAXWD. "<--INSERT 15679 / 22I/30F "K11K093313
....
....
ENDFORM.
===============ENDE Punkt 1==========================================
============ANFANG Punkt 2==========================================
FORM PRINT_TABLEAU.
DATA: PRT_FLAG(1).
BATCHZEIL = 1.
READ TABLE PRINT INDEX 1.
IF PRINT-TWAHL NE 1 OR
RKB1F-VLINE NE SPACE AND VLINES+1 EQ SPACE.
PRINT_SPOFF = 0.
PRINT_SPANZ = 0.
SORT PRINT BY TWAHL.
* LOOP AT PRINT. "<--DELETE P22K007690
LOOP AT PRINT WHERE TWAHL LT INDEX_100. "<--INSERT P22K007690
IF PRINT-NEW_LINE NE SPACE.
....
....
ENDFORM.
===============ENDE Punkt 2==========================================
+++++++++++++++++++++++++++++++++++++++++++++
Problem ist nur das ich damit nichts anfangen kann. Das Problem muss ja irgend wo vom Windows bzw. von der SAP-Client-Konfiguration kommen oder?