Ein weiterer sinnloser Wettbewerb ;)

Alles Rund um SAP®.
45 Beiträge • Vorherige Seite 3 von 3 (current)
45 Beiträge Vorherige Seite 3 von 3 (current)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
dazu muss man jedoch in einem Unicode-System das 'Unicode aktiv'-Flag des Programs entfernen. Sonst lässt es sich nicht compilieren...
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

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


Beitrag von Thomas R. (Expert / 755 / 75 / 34 ) »
Hallo,
bei unserem 620 System bringt die erweiterte Prüfung die Warnung
Programm: ZRTTEST Zeile: 1
Systemfelder nicht überschreiben!
REPORT.sy = 1.
(Die Meldung ist ausblendbar durch: "#EC *)
Damit ist dieses superkurze Programm ja eigentlich aus dem Wettbewerb draußen.

Schade, es hat mir gut gefallen.

MfG
Thomas R.

Beitrag von ewx (Top Expert / 4830 / 305 / 636 ) »
Bei einem 4.5er-System gibt's keine Warnung.
Warnungen sind ja aber auch nicht schlimm, oder? :wink:
Kommt im 6.20er System auch der Kurzdump "PERFORM_NOT_FOUND"??

Gruß,
Enno

Beitrag von ewx (Top Expert / 4830 / 305 / 636 ) »

Code: Alles auswählen.

REPORT.DELETE %_sscr.
gibt: TABLE_ILLEGAL_STATEMENT

_.Enno._

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
ewx hat geschrieben:Bei einem 4.5er-System gibt's keine Warnung.
Warnungen sind ja aber auch nicht schlimm, oder? :wink:
Kommt im 6.20er System auch der Kurzdump "PERFORM_NOT_FOUND"??

Gruß,
Enno
gibt bei mir (6.20):

Code: Alles auswählen.

Laufzeitfehler         LOAD_PROGRAM_NOT_FOUND 
Ausnahme               CX_SY_PROGRAM_NOT_FOUND
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Kriskra (ForumUser / 24 / 0 / 0 ) »
BCD_OVERFLOW

Code: Alles auswählen.

REPORT.DO 9999999999 TIMES.ENDDO.
<-- Geht bestimmt noch kürzer

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Kriskra hat geschrieben:BCD_OVERFLOW

Code: Alles auswählen.

REPORT.DO 9999999999 TIMES.ENDDO.
Habe ich inzwischen in die Übersicht mit aufgenommen.

Interessant ist, dass der Dump schon beim ersten Eintritt in die DO-Schleife auftritt.
Und ich frage mich, welches Feld vom Typ P da überläuft.
<-- Geht bestimmt noch kürzer
Das muss erst mal jemand beweisen.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
INSERT_REPORT_LINE_TOO_LONG

Code: Alles auswählen.

REPORT.DATA:a(256),b TYPE TABLE OF string.CLEAR a WITH'"'.APPEND a TO b.
INSERT REPORT'X' FROM b.
Das führt anscheinend bei meinem Linux TestDrive (SY-SAPRL '640) noch zu anderen Nebeneffekten.
Laut Dump-Langtext ist SAP nämlich nicht der Meinung, dass ich Programm 'X' in die DB schreiben will, sondern ein Programm mit 4 Zeichen langem Namen:
1. U-Umlaut
2. y mit " drüber
3. umgekehrtes Fragezeichen
4. # (oder irgendein nicht druckbares Zeichen)

Den gleichen Dump (und den gleichen merkwürdigen Programmnamen) erhalte ich auch so:

Code: Alles auswählen.

REPORT.DATA:a(256),b LIKE TABLE OF a.CLEAR a WITH'*'.APPEND a TO b.
INSERT REPORT'X' FROM b.
Und noch ein etwas kürzerer:
DYNPRO_FIELD_CONVERSION

Code: Alles auswählen.

REPORT.PARAMETER p TYPE sy-ccurs DEFAULT'1-'.
sowie mit Hilfe von CALL FUNCTION ein paar neue Dumps (nur im Einstiegs-Beitrag ergänzt):
RAISE_EXCEPTION (im Dialog) bzw. CALL_FUNCTION_OPEN_ERROR (im Batch)
CALL_FUNCTION_NO_SENDER
CALL_FUNCTION_NO_DEST
(Hm. Kann man eine RFC-Destination '`' anlegen?
Wenn ja, dürfte es stattdessen zu CALL_FUNCTION_NOT_FOUND kommen - es sei denn, es gelingt dort, einen FB ohne Namen anzulegen.)

Und einen Laufzeitfehler CALL_FUNCTION_RECEIVE_ERROR und einen DBIF_RSQL_INVALID_CURSOR sowie LIST_TOO_MANY_LEVELS (alle drei natürlich ohne CALL-Anweisung).

Code: Alles auswählen.

REPORT.CALL'SYSTEM' ID'COMMAND' FIELD'stopsap'.
produziert nur für User ohne entsprechende Berechtigung einen Dump, zählt daher nicht :cry:
Ausführen sollte man das Programm aber besser nur auf seinem privaten Testsystem - das gilt evtl. auch für einige andere Beispiel-Codes in diesem Thread ;)

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Frank Dittrich hat geschrieben:

Code: Alles auswählen.

REPORT.DATA:a(256),b LIKE TABLE OF a.CLEAR a WITH'*'.APPEND a TO b.
INSERT REPORT'X' FROM b.
Das sollte eigentlich auch so klappen:

Code: Alles auswählen.

REPORT.DATA:a(256),b LIKE TABLE OF a.a+255 ='"'.APPEND a TO b.INSERT
REPORT'X' FROM b.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Für die, die immer noch nicht genug haben, neu hinzugefügte Dumps:
ADDF_INT_OVERFLOW
CALL_METHOD_NOT_IMPLEMENTED
DBIF_PGNT_INVALID_ARGUMENTS
DYNPRO_HEADER_ERROR
DYNPRO_WRITE_FAILED
EXSQL_ILLEGAL_DISCONNECTION
EXTRACT_AFTER_SORT/LOOP
ITAB_ILLEGAL_COMPONENT
SORT_AS_TEXT_BAD_DYN_TYPE
SORT_ITAB_FIELD_INVALID
SORT_NO_HEADER
WAIT_ILLEGAL_TIME_LIMIT

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Hier noch ein paar exotische Fälle:

Code: Alles auswählen.

* 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.

Code: Alles auswählen.

* SYSTEM_ON_COMMIT_INTERRUPTED
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.LEAVE.ENDFORM.
Das erste Beispiel, mit dem bei einmaliger Ausführung zwei verschiedene Dumps erzeugt werden:

Code: Alles auswählen.

* GEN_PROGRAM_NOT_EXISTS und SYSTEM_ON_COMMIT_INTERRUPTED
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.GENERATE REPORT''.LEAVE.
ENDFORM.
Und mit dem Beispiel unterbiete ich die bisherige Bestleistung von 11 Zeichen für einen Dump.
Mit 72 Zeichen Quelltext bei einmaliger Ausführung 47 Dumps, d.h. weniger als 2 Zeichen pro Dump ;)

Code: Alles auswählen.

REPORT.GENERATE REPORT'':,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »

Code: Alles auswählen.

REPORT.DO.GENERATE REPORT''.ENDDO.
Hm. Wie viele Dumps erzeugt man damit?
Bzw. wie lange läuft das Programm?

Im Dialog bis zur Überschreitung der max. Laufzeit?
Bis Max Extends für Tabelle SNAP erreicht wurden?
(Und wird in dem Fall als letzter Dump noch ein DBIF_SQL_* in die SNAP geschrieben? Oder sieht man nur noch im SysLog, dass das Schreiben des Dumps schief gegangen ist?)
Bis der Table Space oder Index Table Space voll ist (bei max Extends 0 / SY-SAPRL 6.x)?

Wer mag das mal ausprobieren und über seine Erfahrungen berichten ;)

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Frank Dittrich hat geschrieben: Das erste Beispiel, mit dem bei einmaliger Ausführung zwei verschiedene Dumps erzeugt werden:

Code: Alles auswählen.

* GEN_PROGRAM_NOT_EXISTS und SYSTEM_ON_COMMIT_INTERRUPTED
REPORT.PERFORM a ON COMMIT.COMMIT WORK.FORM a.GENERATE REPORT''.LEAVE.
ENDFORM.
Geht auch kürzer:

Code: Alles auswählen.

REPORT.PERFORM a ON ROLLBACK.ROLLBACK WORK.FORM a.LEAVE.ENDFORM.
Erzeugt SYSTEM_ON_COMMIT_INTERRUPTED und MESSAGE_TYPE_X

Und so kann man bei einem Aufruf 2 Dumps MESSAGE_TYPE_X erzeugen

Code: Alles auswählen.

REPORT.PERFORM a ON ROLLBACK.ROLLBACK WORK.FORM a.COMMIT WORK.ENDFORM.

Re: Ein weiterer sinnloser Wettbewerb ;)

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »

Code: Alles auswählen.

REPORT.LOAD-OF-PROGRAM.EXIT.
führt auch zu einem Dump, EXIT ist kürzer als LEAVE und vermeidet die Warnung, die man bei STOP erhält.

Die "Hitliste" http://www.abapforum.com/forum/viewtopi ... 749#p15803 habe ich auch angepasst.

BTW: Es sind noch genug Dumps für alle da ;)

Re: Ein weiterer sinnloser Wettbewerb ;)

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Frank Dittrich hat geschrieben:BTW: Es sind noch genug Dumps für alle da ;)
Und wem dieser "Wettbewerb" zu einfach ist, der wird vielleicht hier fündig:
http://www.yaabb.de/viewtopic.php?t=44

Vergleichbare Themen

3
Antw.
2221
Views
ABAP-Stotter-Wettbewerb
von ewx » 30.11.2005 10:09 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Get und Set
vor 7 Stunden von tar 16 / 3019
Neue Themen als SAP Entwickler
vor 13 Stunden von ralf.wenzel 138 / 18396
Wissensdatenbank
vor 19 Stunden von ralf.wenzel 13 / 1759
Workflow, LOOP alle 15 Minuten durchlaufen
vor 20 Stunden von tar 6 / 1073

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

Get und Set
vor 7 Stunden von tar 16 / 3019
Neue Themen als SAP Entwickler
vor 13 Stunden von ralf.wenzel 138 / 18396
Wissensdatenbank
vor 19 Stunden von ralf.wenzel 13 / 1759
Workflow, LOOP alle 15 Minuten durchlaufen
vor 20 Stunden von tar 6 / 1073