Ein weiterer sinnloser Wettbewerb ;)

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

Beitrag von Gast ( / / 0 / 3 ) »
black_adept hat geschrieben:*Lach*
Das sind im Minisap allein 1636 Einträge. Ich glaube ich lass es mit meinen Versionen gut sein...
Es sind genug Dumps für alle da.
So hat jeder die Chance, die kürzeste Version für einen bestimmten Dump zu erzeugen 8)

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


Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
kommt es euch nicht auch seltsam vor, daß bei dieser vermeintlich unsinnigen Aktion wesentlich mehr Resonanz herrscht als beim offiziellen Tutorial-Contest? :lol:

Beitrag von PsychoMantis (ForumUser / 98 / 0 / 0 ) »
zzcpak hat geschrieben:kommt es euch nicht auch seltsam vor, daß bei dieser vermeintlich unsinnigen Aktion wesentlich mehr Resonanz herrscht als beim offiziellen Tutorial-Contest? :lol:
Kommt vielleicht daher, dass hier mehr die destruktive als die konstruktive Seite des Programmieres angesprochen wird :roll:

Beitrag von GastX (Specialist / 277 / 4 / 18 ) »
Nach meinen längeren Abap oben nun ein reichlich primitiver (aber der Fehler wurde, glaube ich, in den anderen Beiträgen noch nicht gebracht):

Code: Alles auswählen.

REPORT.MESSAGE X000(00).

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
@GastX
sorry, war schon da ;)

@Psycho
würde ich noch nicht mal als destruktiv sehen. Vielleicht lag es ja auch nur in Franks Absicht, möglichst elegante Lösungen zu provozieren. Dadurch bekommt die ganze Aktion sogar noch eine Art pädagogischen Wert.

Beitrag von GastX (Specialist / 277 / 4 / 18 ) »
@zzcpak
shit, nicht aufgepasst... :?

'ne aktualisierte Ergebnisliste ("für Fehler xyz momentan kürzestes Coding ....") wäre hilfreich :wink:

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
das hier geht auch.

Ausführung in SE38 führt zu Dump LOGDB_SSCR_NOT_FOUND

Code: Alles auswählen.

type-pool a.

Beitrag von Gast ( / / 0 / 3 ) »
zzcpak hat geschrieben:das hier geht auch.

Ausführung in SE38 führt zu Dump LOGDB_SSCR_NOT_FOUND

Code: Alles auswählen.

type-pool a.
Wow. nach REPORT.SUM. die kürzeste Variante.

Wie kommt man denn auf so eine Idee?

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
Naja, eigentlich lohnt sich hierbei ja ein Blick auf die programmeinleitenden Befehle.

Das hier bringt den gleichen Dump.

Code: Alles auswählen.

class-pool.
Aber wie gesagt nur, wenn man das Teil in SE38 ausführt. Weiß jetzt gar nicht ob das zählt.

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

Code: Alles auswählen.

class-pool.
Aber wie gesagt nur, wenn man das Teil in SE38 ausführt. Weiß jetzt gar nicht ob das zählt.
Wenn SAP erlaubt, ein Rahmenprogramm mit Typ '1' (Report) anzulegen und als Programm-einleitende Anweisung TYPE-POOL oder CLASS-POOL zu verwenden: Klar zählt das.
Und die CLASS-POOL-Lösung gefällt mir noch besser als

Code: Alles auswählen.

REPORT.SUM.
Gleiche Anzahl Zeichen, nur eine Anweisung (und nur ein Token), und noch weniger naheliegend.
Auch die Verwendung der SUM-Anweisung war kreativ.
Aber es mit TYPE-POOL und CLASS-POOL zu versuchen, finde ich noch besser.

Auf die Idee wäre ich bestimmt nicht gekommen.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
Hier noch ein paar weitere Dumps, die bisher nicht erwähnt wurden bzw. für die bisher nur Versionen mit längeren Quelltexten genannt waren, alle auf einem Linux TestDrive NW4 (SY-SAPRL '640') getestet.

BCD_ZERODIVIDE:

Code: Alles auswählen.

REPORT.DATA a.a = 1 / a.
Die verwendete Variable muss nicht vom Typ I sein.
Und so ist's noch kürzer:

Code: Alles auswählen.

REPORT.sy-host:=:1:/''.
CALL_DIALOG_NOT_FOUND:

Code: Alles auswählen.

REPORT.CALL DIALOG''.
CALL_FUNCTION_NOT_FOUND:

Code: Alles auswählen.

REPORT.CALL FUNCTION space.
CALL_TRANSACTION_NOT_FOUND:

Code: Alles auswählen.

REPORT.CALL TRANSACTION''.
DATA_LENGTH_0

Code: Alles auswählen.

REPORT.DATA a.a = a(a).
DATA_LENGTH_NEGATIVE:

Code: Alles auswählen.

REPORT.DATA a(2).a = -2.a(a) = 0.
DATA_OFFSET_NEGATIVE:

Code: Alles auswählen.

REPORT.DATA a(2).a = -2.a+a = 0.
DATA_OFFSET_TOO_LARGE:

Code: Alles auswählen.

REPORT.DATA a.a = 2.a+a = 0.
DYNPRO_NOT_FOUND:

Code: Alles auswählen.

REPORT.CALL SCREEN 0.
LOAD_PROGRAM_NOT_FOUND:

Code: Alles auswählen.

REPORT.SUBMIT ('').
MESSAGE_TYPE_UNKNOWN:

Code: Alles auswählen.

REPORT.MESSAGE'' TYPE''.
MESSAGE_TYPE_X_TEXT:

Code: Alles auswählen.

REPORT.MESSAGE'' TYPE'X'.
SET_PARAMETER_ID_TOO_LONG:

Code: Alles auswählen.

REPORT.DATA a(21).CLEAR a WITH 'X'.GET PARAMETER ID a FIELD a.
oder auch

Code: Alles auswählen.

REPORT.DATA a(21).CLEAR a WITH 'X'.SET PARAMETER ID a FIELD''.
SYSTEM_LOAD_OF_PROGRAM_FAILED:

Code: Alles auswählen.

REPORT.LOAD-OF-PROGRAM.LEAVE.
Bei

Code: Alles auswählen.

REPORT.LOAD-OF-PROGRAM.STOP.
nörgelt zu 6.40 die erweiterte Syntaxprüfung.

Hier hängt der Dump vermutlich von den Profile-Parameter-Einstellungen ab. Bei mir war es TSV_TNEW_PAGE_ALLOC_FAILED:

Code: Alles auswählen.

REPORT.DATA:a like table of space.DO.APPEND'' TO a.ENDDO.
Während ich bei einigen meiner vorherigen Varianten mit einer Warnung beim Syntax-Check gerechnet hatte und erstaunt war, dass die ausblieb, hätte ich hier mit einem Integer-Overflow gerechnet:

Code: Alles auswählen.

REPORT.DO.ENDDO.
Aber SAP macht einfach munter weiter, auch wenn SY-INDEX dann negativ ist.
Im Dialog dürfte es aber irgendwann zu einem Abbruch wegen Überschreitung der max. zulässigen Laufzeit kommen.

Mal sehen, ob ich am Wochenende mal dazu komme, die bisherigen Ergebnisse zusammenzufassen.
(Hoffentlich werden nicht alle Dumps realisiert, sonst artet das ja noch in Arbeit aus.)

Frank

Nachtrag:
Ich habe jetzt alle bisher geposteten "Bestwerte" und einige weitere, zuvor noch nicht genannte Lösungen am Ende meines Einstiegs-Beitrags zusammengefasst.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
GastX hat geschrieben:'ne aktualisierte Ergebnisliste ("für Fehler xyz momentan kürzestes Coding ....") wäre hilfreich :wink:
Die Arbeit habe ich mir ja letzte Woche gemacht (s. Ende meines ersten Beitrags).
Dann hat das Thema anscheinend keinen mehr interessiert.

Dabei gibt es bestimmt noch jede Menge Möglichkeiten.
(z.B. unter Verwendung von ASSIGN)

Anbei noch ein paar neue Varianten, alle unter 6.40:

Code: Alles auswählen.

* SAPSQL_AGGREGATE_LOB
REPORT.SELECT MAX( data ) FROM ('REPOSRC') INTO sy-host.

* SAPSQL_INVALID_FIELDNAME
REPORT.DATA:a,b LIKE TABLE OF a.APPEND';' TO b.SELECT (b) FROM t000
INTO TABLE b.

* 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_WHERE_MISSING_OPERATOR
REPORT.DATA:a(5),b LIKE TABLE OF a.APPEND'MANDT' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).

* SAPSQL_WHERE_MISSING_VALUE
REPORT.DATA:a(50),b LIKE TABLE OF a.APPEND'MANDT =' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).

* SAPSQL_WHERE_UNKNOWN_OPERATOR
REPORT.DATA:a(50),b LIKE TABLE OF a.APPEND'MANDT Q' TO b.SELECT * FROM
('T000') INTO TABLE b WHERE (b).

* UC_OBJECTS_NOT_CONVERTIBLE
REPORT.DATA:a(30).a ='POPUP_TO_CONFIRM'.CALL FUNCTION a EXPORTING
text_question = sy.

Beitrag von black_adept (Top Expert / 4034 / 117 / 921 ) »
Na gut, Frank. Wenn du einen Dump mit ASSIGN haben möchtest hab ich mal einen provoziert, der nicht so häufig auftritt. Man beachte bitte auch den unüblichen Namen des Feldsymbols.

Code: Alles auswählen.

REPORT.field-symbols <> type i.assign sy-CCURS to <> casting.
Dump: ASSIGN_BASE_WRONG_ALIGNMENT
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Gast ( / / 0 / 3 ) »
black_adept hat geschrieben:... ASSIGN_BASE_WRONG_ALIGNMENT
Gefällt mir (habe sofort die Liste der erzeugten Dumps im Einstiegs-Beitrag entsprechend ergänzt).
Mit diesem Namen für ein FIELD-SYMBOL lassen sich auch alle Beispiele, die bisher FIELD-SYMBOLS verwendet haben, in einer kürzeren Form schreiben.

Und statt

Code: Alles auswählen.

IF 1 EQ 2. ... ENDIF.
kann man dann ja auch schreiben

Code: Alles auswählen.

IF <> <> <>. ... ENDIF.

Beitrag von ewx (Top Expert / 4830 / 305 / 636 ) »
Ich hab auch noch einen kurzen:

Code: Alles auswählen.

REPORT.sy = 1.
Den Kurzdump dazu finde ich übrigens auch klasse...
_.Enno._

Vergleichbare Themen

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

Aktuelle Forenbeiträge

Get und Set
vor 2 Stunden von msfox 17 / 3086
Neue Themen als SAP Entwickler
vor 15 Stunden von ralf.wenzel 138 / 18488
Wissensdatenbank
vor 22 Stunden von ralf.wenzel 13 / 1809
Workflow, LOOP alle 15 Minuten durchlaufen
vor 22 Stunden von tar 6 / 1114

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 2 Stunden von msfox 17 / 3086
Neue Themen als SAP Entwickler
vor 15 Stunden von ralf.wenzel 138 / 18488
Wissensdatenbank
vor 22 Stunden von ralf.wenzel 13 / 1809
Workflow, LOOP alle 15 Minuten durchlaufen
vor 22 Stunden von tar 6 / 1114