Code: Alles auswählen.
REPORT ztest. CALL FUNCTION 'DOES_NOT_EXIST'.
Code: Alles auswählen.
* ADDF_INT_OVERFLOW
REPORT.DATA:a TYPE i,b type i.a = b = 2147483647.ADD a THEN b UNTIL b TO
a.
* (aber zu 6.40 beschwert sich die erweiterte Syntaxprüfung
* über die Verwendung veralteter Anweisungen)
* ASSERTION_FAILED
REPORT.ASSERT'' <''.
* ASSIGN_BASE_WRONG_ALIGNMENT " black_adept
REPORT.FIELD-SYMBOLS <> TYPE i.ASSIGN sy-ccurs TO <> CASTING.
* BCD_OVERFLOW " Kriskra
REPORT.DO 9999999999 TIMES.ENDDO.
* BCD_ZERODIVIDE
REPORT.sy-host:=:1:/''.
* BITS_WRONG_TYPE
REPORT.PERFORM a USING sy.FORM a USING a TYPE any.a = a BIT-OR a.ENDFORM
.
* BIT_OFFSET_NOT_POSITIVE
REPORT.GET BIT 0 OF sy-subty INTO sy-host.
* CALL_C_FUNCTION_NOT_FOUND " black_adept
REPORT.CALL sy.
* die Version liefert zu 6.40 einen Syntaxfehler,
* wenn die Unicode-Prüfungen aktiv sind.
* "SY" muß ein zeichenartiges Feld sein (Datentyp C, N, D oder T)
* CALL_C_FUNCTION_NOT_FOUND
REPORT.CALL';'.
* CALL_DIALOG_NOT_FOUND
REPORT.CALL DIALOG''.
* CALL_FUNCTION_NOT_FOUND
REPORT.CALL FUNCTION space.
* CALL_FUNCTION_NO_DEST
REPORT.CALL FUNCTION'' DESTINATION'`'.
* CALL_FUNCTION_NO_SENDER
REPORT.CALL FUNCTION'' DESTINATION'BACK'.
* CALL_FUNCTION_OPEN_ERROR (nur im Batch, im Dialog RAISE_EXCEPTION)
REPORT.CALL FUNCTION'' DESTINATION'SAPGUI'.
* CALL_FUNCTION_RECEIVE_ERROR
REPORT.RECEIVE RESULTS FROM FUNCTION''.
* CALL_METHOD_NOT_IMPLEMENTED
REPORT.CLASS y DEFINITION.PUBLIC SECTION.CLASS-METHODS y.ENDCLASS.CLASS
y IMPLEMENTATION.METHOD y BY KERNEL MODULE y fail.ENDMETHOD.ENDCLASS.
INITIALIZATION.y=>y( ).
* CALL_TRANSACTION_NOT_FOUND
REPORT.CALL TRANSACTION''.
* CHECK_SELOPT_ILLEGAL_SIGN
REPORT.DATA a LIKE RANGE OF''.APPEND'' TO a.CHECK'' IN a.
* CHECK_SELOPT_ILLEGAL_OPTION
REPORT.DATA a LIKE RANGE OF''.APPEND'I' TO a.CHECK'' IN a.
* CLEAR_VALUE_WRONG_LENGTH
REPORT.CLEAR sy-host WITH``.
* COMMIT_IN_PERFORM_ON_COMMIT
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.COMMIT WORK.ENDFORM.
* COMPUTE_ACOS_DOMAIN
REPORT.sy-host = ACOS( 9 ).
* COMPUTE_ASIN_DOMAIN
REPORT.sy-host = ASIN( 9 ).
* COMPUTE_EXP_RANGE
REPORT.sy-host = EXP( 711 ).
* COMPUTE_LOG10_ERROR
REPORT.sy-host = LOG10( 0 ).
* COMPUTE_LOG_ERROR
REPORT.sy-host = LOG( 0 ).
* COMPUTE_SQRT_DOMAIN
REPORT.sy-host = SQRT( -1 ).
* CONNE_IMPORT_WRONG_COMP_TYPE
REPORT.EXPORT s = sy TO MEMORY ID''.IMPORT s = vari FROM MEMORY ID''.
* CONNE_IMPORT_WRONG_OBJECT_TYPE
REPORT.EXPORT s ='' TO MEMORY ID''.IMPORT s = vari FROM MEMORY ID''.
* CONVT_NO_NUMBER
REPORT.DATA a.a ='-' + a.
* DATASET_NOT_OPEN
REPORT.TRANSFER`` TO``.
* DATA_LENGTH_0
REPORT.DATA a.a = a(a).
* DATA_LENGTH_NEGATIVE
REPORT.DATA a(2).a =:-2,a(a).
* DATA_OFFSET_NEGATIVE
REPORT.DATA:a(2).a =:-2,a+a.
* DATA_OFFSET_TOO_LARGE
REPORT.DATA a.a =:2,a+a.
* DATREF_NOT_ASSIGNED
REPORT.DATA:a TYPE REF TO i.a->* = 1.
* DBIF_DSQL2_SQL_ERROR
REPORT.EXEC sql.; ENDEXEC.
* DBIF_PGNT_INVALID_ARGUMENTS
REPORT.DATA a.EXPORT NAMETAB a %_sscr ID a.
* auch so ein Programm, das man lieber nicht auf Systemen
* starten sollte, die man nicht selbst installiert hat.
* DBIF_RSQL_INVALID_CURSOR
REPORT.SELECT * FROM VARI INTO VARI.PERFORM f.ENDSELECT.FORM f.COMMIT
WORK.ENDFORM.
* Auch so bringt die erw. Syntaxprüfung zu 6.4 noch eine Meldung.
* Aber keinen Fehler und keine Warnung.
* DYNPRO_FIELD_CONVERSION
REPORT.PARAMETER p TYPE sy-ccurs DEFAULT'1-'.
* DYNPRO_HEADER_ERROR
REPORT.DATA:a TYPE d020s,b TYPE TABLE OF d021s,c TYPE TABLE OF d022s,d
TYPE TABLE OF d023s,BEGIN OF e,f(40),g(4),END OF e.EXPORT DYNPRO a b c d
ID e.
* DYNPRO_NOT_FOUND
REPORT.CALL SCREEN 0.
* DYNPRO_WRITE_FAILED
REPORT.DATA:a TYPE d020s,b TYPE TABLE OF d021s,c TYPE TABLE OF d022s,d
TYPE TABLE OF d023s,BEGIN OF e,f(40),g(4),END OF e.e-g ='1'.EXPORT
DYNPRO a b c d ID e.
* DYNP_TOO_MANY_RADIOBUTTONS_ON
REPORT.PARAMETER:a RADIOBUTTON GROUP x,b RADIOBUTTON GROUP x.
INITIALIZATION.a = b ='X'.
* (das erste mal, dass im Dump nicht mein Quelltext steht,
* sondern der von SAPMSSYD)
* wegen der fehlenden Texte gibt der erw. Syntax-Check nur
* Meldungen aus, keine Fehler oder Warnungen
* DYN_CALL_METH_CLASS_NOT_FOUND
REPORT.CALL METHOD ('')=>a.
* DYN_CALL_METH_NOT_FOUND
REPORT.CALL METHOD cl_fp=>('').
* Falls jemand meint, man könnte die Klasse cl_fp löschen,
* so dass stattdessen DYN_CALL_METH_CLASS_NOT_FOUND auftritt,
* muss ich mir eine Klasse suchen, ohne die SAP nicht startet
* DYN_IMEX_OBJ_NAME_EMPTY
REPORT.DATA:BEGIN OF a,b,c,END OF a,d LIKE TABLE OF a.APPEND a TO d.
EXPORT (d) TO MEMORY ID''.
* DYN_IMEX_OBJ_NAME_TWICE
REPORT.DATA:BEGIN OF a,b,c,END OF a,d LIKE TABLE OF a.a ='A'.APPEND a TO
d:,.EXPORT (d) TO MEMORY ID''.
* DYN_IMEX_OBJ_NOT_FOUND
REPORT.DATA:BEGIN OF a,b,c,END OF a,d LIKE TABLE OF a.a ='X'.APPEND a
TO d.EXPORT (d) TO MEMORY ID''.
* EXSQL_ILLEGAL_DISCONNECTION
REPORT.EXEC SQL.DISCONNECT 'DEFAULT' ENDEXEC.
* EXTRACT_AFTER_SORT/LOOP
REPORT.FIELD-GROUPS:header.EXTRACT.SORT.EXTRACT.
* zu 6.40 Fehler in erw. Syntaxprüfung wg. veralteter Anweisung
* GEN_PROGRAM_NOT_EXISTS
REPORT.GENERATE REPORT''.
* zu 6.x sieht man im aktuellen Modus nicht, dass ein Dump auftritt.
* Es wird hier also auch nicht direkt in den Debugger gesprungen.
* Aber in der ST22 findet man den Dump.
* GEN_PROGRAM_NOT_EXISTS und SYSTEM_ON_COMMIT_INTERRUPTED
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.GENERATE REPORT''.LEAVE.
ENDFORM.
* Das erste Beispiel, mit dem bei einmaliger Ausführung
* zwei verschiedene Dumps erzeugt werden.
* GEN_PROGRAM_NOT_EXISTS
REPORT.GENERATE REPORT'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
* Mit 72 Zeichen Quelltext bei einmaliger Ausführung 47 Dumps,
* d.h. weniger als 2 Zeichen pro Dump ;)
* GETWA_NOT_ASSIGNED " - 3 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <> TYPE ANY.UNASSIGN <>.<> = 1.
* GENERATE_SUBPOOL_DIR_FULL
REPORT.DATA:a TYPE TABLE OF string,b.APPEND'REPORT.' TO a.
DO.GENERATE SUBROUTINE POOL a NAME b.ENDDO.HIDE:b.
* HIDE_FIELD_TOO_LARGE
REPORT.DATA:a(8193).ULINE.HIDE a.
* INSERT_PROGRAM_NAME_BLANK
REPORT.DATA:c,i LIKE TABLE OF c.INSERT REPORT c FROM i.
* INSERT_REPORT_ILLEGAL_FLAG
REPORT.DATA:a,b LIKE TABLE OF''.a ='a'.INSERT REPORT'X' FROM b UNICODE ENABLING a.
* INSERT_REPORT_ILLEGAL_PROGTYPE
REPORT.DATA:a,b LIKE TABLE OF''.INSERT REPORT'Y' FROM b PROGRAM TYPE a.
* INSERT_REPORT_ILLEGAL_STATE
REPORT.DATA:c,i LIKE TABLE OF c.READ REPORT'' INTO i STATE''.
* INSERT_REPORT_LINE_TOO_LONG
REPORT.DATA:a(256),b LIKE TABLE OF a.CLEAR a WITH'*'.APPEND a TO b.
INSERT REPORT'X' FROM b.
* INSERT_REPORT_NO_APPTYPE
REPORT.DATA:c(40),i LIKE TABLE OF c.c+39 = c ='-'.INSERT REPORT c FROM i.
* passt nicht mehr in 72 Zeichen, bis 4.6 also so:
REPORT.DATA:c(40),i LIKE TABLE OF c.c+39 = c ='-'.INSERT REPORT c FROM i
.
* Wenn sich jemand die Mühe macht, entspr. Quelltexte zu speichern, so
* dass der Dump nicht mehr auftritt, ist die Lösung ungültig.
* Dann sieht die kürzeste Lösung so aus:
REPORT.DATA:c(40),i LIKE TABLE OF c.c+39 = c ='-'.DELETE REPORT c.INSERT
REPORT c FROM i.
* INSERT_REPORT_NO_EXTTYPE
REPORT.DATA:c(40),i LIKE TABLE OF c.c+31 = c ='-'.INSERT REPORT c FROM i.
* bzw. (s.o.)
REPORT.DATA:c(40),i LIKE TABLE OF c.c+31 = c ='-'.DELETE REPORT c.INSERT
REPORT c FROM i.
* ITAB_DUPLICATE_KEY_IDX_OP
REPORT.DATA:a LIKE SORTED TABLE OF sy WITH UNIQUE KEY host. APPEND sy TO
a:,.CHECK a = a.
* ITAB_ILLEGAL_COMPONENT
REPORT.DATA a LIKE TABLE OF''.SORT a BY ('X').
* ITAB_NON_NUMERIC_COMPONENT
REPORT.DATA: BEGIN OF a,b,c LIKE TABLE OF a-b, END OF a, d LIKE TABLE OF
a.APPEND:'' TO a-c,a TO d.LOOP AT d INTO a.SUM.ENDLOOP.
* LIST_TOO_MANY_LEVELS
REPORT.ULINE.SET USER-COMMAND'PF08'.AT PF8.ULINE.SET USER-COMMAND'PF08'.
* LIST_TOPOFPAGE_OVERFLOW
REPORT z LINE-COUNT 1(1).ULINE.
* LOAD_COMMON_PART
REPORT.DATA:BEGIN OF COMMON PART a,c(72),END OF COMMON PART,b LIKE TABLE
OF c.READ REPORT sy-repid INTO b.READ TABLE b INDEX 1 INTO c. CLEAR:b.
c+59 ='.'.REPLACE'7' WITH`` INTO c.APPEND c TO b.c =''.GENERATE
SUBROUTINE POOL b NAME c.PERFORM a IN PROGRAM (c).
* LOAD_PROGRAM_NOT_FOUND
REPORT.SUBMIT ('').
* LOGDB_SSCR_NOT_FOUND " zzcpak
CLASS-POOL.
* zu 6.40 gibt es da eine Warnung bei der Syntaxprüfung.
* Daher ist die folgende Variante momentan die "beste" unter 6.40:
* LOGDB_SSCR_NOT_FOUND " zzcpak
TYPE-POOL a.
* MESSAGE_TYPE_UNKNOWN
REPORT.MESSAGE'' TYPE''.
* MESSAGE_TYPE_X " GastX (zzcpak mit einem unnötigen Zeichen)
REPORT.MESSAGE x000(00).
* MESSAGE_TYPE_X_TEXT
REPORT.MESSAGE'' TYPE'X'.
* MOVE_TO_LIT_NOTALLOWED_NODATA " GastX " - 2 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <>.<> = 1.
* MOVE_TO_LIT_NOTALLOWED_NODATA zu 6.40, sonst Fehler erw. Syntaxpr.:
* Der aktuelle ABAP-Befehl ist veraltet/problematisch
REPORT.FIELD-SYMBOLS <> TYPE i.<> = 1.
* NESTED_PRINT_ON
REPORT.DATA p TYPE pri_params.PERFORM a.FORM a.NEW-PAGE PRINT ON NO
DIALOG PARAMETERS p.ULINE.PERFORM a.ENDFORM.
* OBJECTS_NOT_FLAT
REPORT.PERFORM f USING``.FORM f USING a. ULINE.HIDE a.ENDFORM.
* PERFORM_CONFLICT_TAB_TYPE
REPORT.DATA a TYPE SORTED TABLE OF sy WITH UNIQUE KEY HOST.PERFORM a IN
PROGRAM (sy-repid) USING a.FORM a USING a TYPE STANDARD TABLE.SORT a.
ENDFORM.
* (aber mit Warnung bei der erweiterten Syntax-Prüfung)
* PERFORM_CONFLICT_TYPE
REPORT.PERFORM a:IN PROGRAM (sy-repid) USING sy,USING''.FORM a USING b
TYPE i.HIDE b.ENDFORM.
* PERFORM_INDEX_0
REPORT.PERFORM 0 OF a.FORM a.ENDFORM.
* PERFORM_INDEX_NEGATIVE
REPORT.PERFORM -1 OF a.FORM a.ENDFORM.
* PERFORM_INDEX_TOO_LARGE
REPORT.PERFORM 2 OF a.FORM a.ENDFORM.
* PERFORM_NOT_FOUND " ewx
REPORT.sy = 1. " bis Release 4.5
* PERFORM_NOT_FOUND
REPORT.PERFORM a IN PROGRAM (sy-repid). " Releases >= 4.6
* PERFORM_PARAMETER_MISSING
REPORT.PERFORM a:IN PROGRAM (sy-repid),USING''.FORM a USING b TYPE
c.HIDE b.ENDFORM.
* PERFORM_TOO_MANY_PARAMETERS
REPORT.PERFORM a:IN PROGRAM (sy-repid) USING'',.FORM a.ENDFORM.
* Oder, wenn auch die Meldung der erw. Syntaxprüfung stört:
* PERFORM_TOO_MANY_PARAMETERS
REPORT.PERFORM a:IN PROGRAM (sy-repid) USING'',.FORM a.SUM.ENDFORM.
* RAISE_EXCEPTION (nur im Dialog, im Batch CALL_FUNCTION_OPEN_ERROR)
REPORT.CALL FUNCTION'' DESTINATION'SAPGUI'.
* READ_REPORT_LINE_TOO_LONG
REPORT.DATA:b LIKE TABLE OF''.READ REPORT sy-repid INTO b.SORT b.
* REFS_NOT_SUPPORTED_YET
REPORT.DATA:BEGIN OF a,b,c,END OF a,r TYPE REF TO i,d LIKE TABLE OF a
.a ='r'.APPEND a TO d.EXPORT (d) TO MEMORY ID''.r->* = 0.
* SAPSQL_AGGREGATE_LOB
REPORT.SELECT MAX( data ) FROM ('REPOSRC') INTO sy-host.
* SAPSQL_ARRAY_INSERT_DUPREC
REPORT.DATA:a TYPE TABLE OF vari.APPEND vari TO a:,.INSERT vari FROM
TABLE a.
* SAPSQL_EMPTY_TABNAME
REPORT.UPDATE ('') FROM''.
* SAPSQL_INVALID_FIELDNAME
REPORT.DATA:a,b LIKE TABLE OF a.APPEND';' TO b.SELECT (b) FROM t000
INTO TABLE b.
* SAPSQL_INVALID_TABLENAME
REPORT.UPDATE (';') FROM''.
* SAPSQL_MISSING_LOG_CONDITION
REPORT.DATA:a,b LIKE TABLE OF a.APPEND'(' TO b.SELECT * FROM ('T000')
INTO TABLE b WHERE (b).
* SAPSQL_SELECT_TAB_TOO_SMALL
REPORT.DATA:a,b LIKE TABLE OF a.SELECT (b) FROM t000 INTO TABLE b.
* SAPSQL_SELECT_WA_TOO_SMALL
REPORT.DATA:a.SELECT * FROM ('T000') INTO a.HIDE a.ENDSELECT.
* SAPSQL_SQLS_INVALID_CURSOR
REPORT.DATA:a TYPE i.FETCH NEXT CURSOR a INTO a.
* SAPSQL_WHERE_MISSING_OPERATOR
REPORT.DATA:a(9),b LIKE TABLE OF a.APPEND'MANDT' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).
* SAPSQL_WHERE_MISSING_VALUE
REPORT.DATA:a(9),b LIKE TABLE OF a.APPEND'MANDT =' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).
* SAPSQL_WHERE_UNKNOWN_OPERATOR
REPORT.DATA:a(9),b LIKE TABLE OF a.APPEND'MANDT Q' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).
* SET_PARAMETER_ID_TOO_LONG
REPORT.DATA a(21).CLEAR a WITH'X'.GET PARAMETER ID a FIELD a.
* SET_PARAMETER_ID_TOO_LONG
REPORT.DATA a(21).CLEAR a WITH'X'.SET PARAMETER ID a FIELD''.
* SORT_AS_TEXT_BAD_DYN_TYPE
REPORT.DATA a type TABLE OF sy.SORT a BY ('TABIX') AS TEXT.
* SORT_ITAB_FIELD_INVALID
REPORT.FIELD-SYMBOLS <>.SORT %_sscr BY <>.
* unter 6.40 mit Fehler bei erw. Syntaxprüfung wg.
* veralteter Anw. SORT itab BY <fs> und Warnung wg.
* Änderung von Systemfeldern
* Daher hier auch <> nicht mit TYPE ANY "typisiert"
* SORT_NO_HEADER
REPORT.FIELD-GROUPS f.EXTRACT f.SORT.
* zu 6.40 Fehler bei erw. Syntaxprüfung wg. veralteter Anweisung
* STRING_LENGTH_NEGATIVE
REPORT.DATA:a TYPE string.a =:-1,a(a).
* STRING_OFFSET_NEGATIVE
REPORT.DATA:a TYPE string.a =:-1,a+a.
* STRING_OFFSET_TOO_LARGE
REPORT.DATA:a TYPE string.a =:3,a+a.
* SUM_NO_INTERNAL_TABLE " black_adept
REPORT.SUM.
* SYSTEM_LOAD_OF_PROGRAM_FAILED
REPORT.LOAD-OF-PROGRAM.EXIT.
* SYSTEM_NO_MEMORY
REPORT.PERFORM a.FORM a.DATA a(65535).WRITE a.PERFORM a.ENDFORM.
* ist bei mir bis zum Stack level 6119 gekommen. Im Debugger werden aber
* anscheinend nur die letzten 3 Stellen des Stack levels angezeigt.
* Und im Dump (ST22) sind nur 256 Stack-Ebenen (5864 - 6119) zu sehen.
* Dafür wird auch 256 mal der Inhalt der ersten 255 Bytes des Feldes a
* (zu jedem der Stack Level einmal) im Dump aufgeführt.
* SYSTEM_ON_COMMIT_INTERRUPTED
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.LEAVE.ENDFORM.
* TABLE_ILLEGAL_STATEMENT " ewx
REPORT.DELETE %_sscr.
* unter 6.40 mit Warnung bei erweiterter Syntaxprüfung:
*
* (aber bisher die einzige Variante, daher gültig für alle SY-SAPRL)
* TABLE_INVALID_INDEX
REPORT.DATA a LIKE TABLE OF''.DELETE a INDEX 0.
* TCHK_TYPELINE_LOAD
REPORT.DATA:d LIKE TABLE OF sy.APPEND sy TO d.EXPORT (d) TO MEMORY ID''.
* Das interne Tabelle "(itab)" hat einen nicht erlaubten Zeilentyp.
* TIME_OUT (nur im Dialog)
REPORT.DO.ENDDO.
* TSV_TNEW_PAGE_ALLOC_FAILED oder andere Speicherplatz-Fehler
REPORT.DATA:a LIKE TABLE OF''.DO.APPEND'' TO a.ENDDO.SORT a.
* UC_OBJECTS_NOT_CHAR " - 3 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <> TYPE ANY.ASSIGN sy TO <>.WRITE'' UNIT <>.
* Ohne Zusatz TYPE ANY meckert zu 6.40 die erweiterte Syntaxprüfung
* Der Dump tritt nur bei aktivierten Unicodepruefungen auf
* UC_OBJECTS_NOT_CHARLIKE " - 3 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <> TYPE ANY.ASSIGN sy TO <>.CLEAR <> WITH``.
* Auch nur bei Unicode-Prüfungen
* UC_OBJECTS_NOT_CONVERTIBLE
REPORT.DATA:a(30).a ='POPUP_TO_CONFIRM'.CALL FUNCTION a EXPORTING
text_question = sy.
* WAIT_ILLEGAL_TIME_LIMIT
REPORT.WAIT UP TO -2 SECONDS.
* WRITE_CURRENCY_ILLEGAL_TYPE " - 3 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <> TYPE ANY.ASSIGN 0 TO <>.WRITE'' CURRENCY <>.
* WRITE_TO_LENGTH_NEGATIVE
REPORT.DATA a.WRITE a TO a(-2).
* WRITE_TO_OFFSET_NEGATIVE
REPORT.DATA a.WRITE a TO a+-2.
* WRITE_TO_OFFSET_TOOLARGE
REPORT.DATA a.WRITE a TO a+2.
* WRITE_UNIT_ILLEGAL_TYPE "" - 3 Zeichen dank black_adept
REPORT.FIELD-SYMBOLS <> TYPE any.ASSIGN 0 TO <>.WRITE'' UNIT <>.
Code: Alles auswählen.
report 1.
data i type i.
i = 4 / i.
Wie viele Zeichen man braucht, hängt auch vom Dump ab, den man produzieren will.Thomas R. hat geschrieben:gegen Deine 15 Zeichen kann ich zwar nicht anstinken
kann man auch alsCode: Alles auswählen.
report 1. data i type i. i = 4 / i.
Code: Alles auswählen.
report 1.data i type i.i = 4 / i.
Das Beispiel sollte Release-unabhängig sein.Nachtrag:
SY-SAPRL ist 620
Code: Alles auswählen.
Laufzeitfehler: SUM_NO_INTERNAL_TABLE
Code: report.sum.
Codelänge: 11
Code: Alles auswählen.
Laufzeitfehler: CALL_C_FUNCTION_NOT_FOUND
Code: report.call sy.
Codelänge: 15
Ich mir auch nicht. Genial.black_adept hat geschrieben:Ich kann mir nicht vorstellen, dass das obige noch unterboten werden kann von der Länge her.Code: Alles auswählen.
Laufzeitfehler: SUM_NO_INTERNAL_TABLE Code: report.sum. Codelänge: 11
Meine Version mit 15 Zeichen sah so aus:Code: Alles auswählen.
Laufzeitfehler: CALL_C_FUNCTION_NOT_FOUND Code: report.call sy. Codelänge: 15
Code: Alles auswählen.
REPORT.CALL';'.
*Lach*Anonymous hat geschrieben:Die meisten wohl mit SELECT DISTINCT ERRID FROM SNAPT ...black_adept hat geschrieben:Hmm - wo finde ich denn eine Liste aller möglichen Laufzeitfehler?
Bei neueren Kernel-Patches kommt es aber vor, dass SNAPT-Einträge zu einigen Dumps fehlen.
Tja - das war ja auch meine Überlegung. Explizit ausgeschlossen war es nicht - aber die Frage ist ja immer: "Wie weit darf ich um die Ecke denken - bzw. wie hinterhältig darf mein Lösungsansatz sein?"Anonymous hat geschrieben:Dann kann man ja nahezu jeden Dump mit zwei Zeichen Quelltext produzieren:black_adept hat geschrieben:Darf ich einen Makro in TRMAC ablegen, dessen Code nicht zu dem Quellcode des Laufzeitfehlerprogramms zählt?Code: Alles auswählen.
z.
Dann bin ich aber so hinterhältig und ändere hinterher Deine Makro-Definition in etwas Harmloses ab, so dass der Dump dann nicht mehr auftritt.Explizit ausgeschlossen war es nicht - aber die Frage ist ja immer: "Wie weit darf ich um die Ecke denken - bzw. wie hinterhältig darf mein Lösungsansatz sein?"
damit sollte klar sein, dass auch Einträge in der TRMAC unzulässig sind. Schade eigentlichFrank Dittrich hat geschrieben:...
Wenn ein Laufzeitfehler vermieden werden kann, ohne dass das Programm geändert wird, zählt der Beitrag nicht.
Das Beispiel:
führt zwar zu einem Laufzeitfehler CALL_FUNCTION_NOT_FOUND.Code: Alles auswählen.
REPORT ztest. CALL FUNCTION 'DOES_NOT_EXIST'.
Man kann aber einen Funktionsbaustein DOES_NOT_EXIST anlegen, so dass der Laufzeitfehler danach nicht mehr auftritt (auch wenn der Funktionsbaustein im SAP-Namensraum liegt).
Daher wäre so ein "Wettbewerbsbeitrag" ungültig.
...