Eigene Makros aus der TRMAC benutzten

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

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Hallo Leute,

der Sinn und Zweck dieser Geschichte ist ja, dass es eben nicht debugt werden kann.
Nun wollte ich mal gucken wie die Möchtegernschlauen damit klar kommen. Und es kommen Antworten ala - huch, ein neuer Befehl? - usw. ;-)

Das ganze sollte lediglich eine Art Spaß sein.

Allerdings hatte es für mich noch einen guten Lerneffekt.

Danke + Gruß
danielA.

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


Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Hallo Daniel,
danielA. hat geschrieben:der Sinn und Zweck dieser Geschichte ist ja, dass es eben nicht debugt werden kann.
das interessiert mich: Warum schreibt man coding der nicht durch Debugging analysiert werden soll?


Ralf *den das wirklich interessiert
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Tja, wenn Angeber meinen sie sind die Helden und dann doch nicht auf Makros kommen........ ;-)

gruß
danielA.

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Zum Angeber entlarven eignen sich übrigens Makros, welche nahezu schreibgleich mit einem anderen allgemein bekannten Wort sind.

Etwa "PREFORM" oder "WIRTE".

Oder einen der üblichen Fehler nachstellen. Wenn in ein etwas längeres Programm verpackt, sieht man es kaum.

Code: Alles auswählen.

REPORT TEST.

* Auslagern Makro in TRMAC
DEFINE COUNTER=.
  ADD 1 TO COUNTER.
  IF SY-INDEX = 13.
    ADD 1 TO COUNTER.
  ENDIF.
  WRITE: &1 TO SY-LISEL.
  WRITE: '&2' TO SY-LISEL.
  WRITE: '&3' TO SY-LISEL.
END-OF-DEFINITION.

DATA: COUNTER TYPE I.


DO 100 TIMES.
  COUNTER= COUNTER + 1.
  WRITE:/ COUNTER.
ENDDO.
Die Ausgabe eines solchen Reports verblüfft die meisten. Am Besten noch als Sonderfeature von SAP verkaufen, die die "13" als böse Zahl nicht ausgeben wollen *lach*
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
hehe der ist gut, gefällt mir.

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Wie war doch gleich mein Lieblingssatz? "Ein gutes Programm dokumentiert sich durch sich selbst" ;)


Ralf *schallend lachend....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von Frank Dittrich (Expert / 674 / 0 / 15 ) »
danielA. hat geschrieben:der Sinn und Zweck dieser Geschichte ist ja, dass es eben nicht debugt werden kann.
Das nicht glaube ich so nicht.
Es ist nicht ganz so einfach, geht aber.

Auch in Releases, in denen im Debugger noch kein Überspringen von Anweisungen möglich war, konnte man jedenfalls problemlos über solche "Hürden" hinweg, wenn man Feldwerte im Debugger überschreiben durfte...

Code: Alles auswählen.

DEFINE auth_check.
AUTHORITY-CHECK OBJECT 'S_TABU_DIS' ... IF SY-SUBRC NE 0. MESSAGE E123. ENDIF.
END-OF-DEFINITION.
...
auth_check.

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Wem Makros zu einfach sind kann ich noch eine andere "debugfreie" ( zumindest bis Frank das hier liest und mich eines Besseren belehrt :) ) Programmiertechnik empfehlen, die einen überall beliebt machen wird.


Man erstelle einen Conversion-Exit für ein ansonsten harmlos aussehendes Datenelement.
In diesem Conversionexit wird nun via ASSIGN das Input-Feld referenziert ( den INPUT-Parameter kann man nicht verändern, da er nicht änderbar sein sollte ).

Nun kann man durch ein simples WRITE-Kommando die schönsten Aktionen ausführen wie z.B. das ausgegebene Feld leicht zu verändern.

Damit bekommt z.B. eine einfache DO-Schleife, die nur 10x dasselbe Feld ausgibt ohne weitere Aktionen im Programmcode einen extrem merkwürdigen Effekt.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Gehts nicht auch noch dreckiger?

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Hallo,

wie gesagt, dass war nur für die großen Meister meines Vertrauens ;-).

Irgendwo hab ich aber mal gehört, dass man auch seinen ABAP-Code verstecken kann. Ich verstehe das so, dass der Code im Editor nicht sichtbar ist!? Ist das so richtig?

Also das ging mit einer komischen Folge von Sonderzeichen ala:

##@##bla bla oder so.

Aber auch hier soll es möglich sein den Code wieder sichtbar zu machen.

Also, die Superprofis wissen doch bestimmt wie diese Sonderzeichen aussehen, oder?

gruß
danielA.

Re: Gehts nicht auch noch dreckiger?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
danielA. hat geschrieben:Ich verstehe das so, dass der Code im Editor nicht sichtbar ist!? Ist das so richtig?
Jo, ich rate dir: Lass es, solche Dinge probiert man nur aus mit Programmen die man wirklich nicht braucht. Wie heisst es so schön: Daten im Nirwana sind absolut sicher, der Haken sind die äußerst beschränkten Zugriffsrechte ;)


Ralf *der es in jungen Jahren mal ausprobiert hat und dann basteln musste um wieder an sein Coding zu kommen ;)
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Moin Ralf,

na, nun laß die Katze aus dem Sack!!!

gruß
danielA.

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
danielA. hat geschrieben:na, nun laß die Katze aus dem Sack!!!
Google ist dein Freund: "ABAP Coding verstecken" bringt als ersten Treffer:

*@#@@[SAP]

;)


Ralf *der das auch nachsehen musste
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von danielA. (ForumUser / 97 / 0 / 0 ) »
Ok, danke ;-).

Den Tread könnte man allerdings nun löschen.

gruß
danielA.

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
danielA. hat geschrieben:Den Tread könnte man allerdings nun löschen.
Warum sollte man das tun?


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

Beitrag von donny (Specialist / 253 / 0 / 2 ) »
Na, das hat mich aber neugierig gemacht :twisted:

Tut's aber nicht (mehr?). Ich hab's mal in ein nutzloses INCLUDE als erste Zeile reingschrieben, das Ding aktiviert und nix ist passiert. Nur die Zeile war weg. Release 4.6c

Und Ralf: Der erste Google-Treffer ist dieser Thread! :wink:

Gruß
donny

Vergleichbare Themen

4
Antw.
1610
Views
dynamisches ABAP mit der TRMAC?
von donny » 17.10.2008 14:43 • Verfasst in ABAP® Core
4
Antw.
791
Views
OO ALV - Liste der zuletzt benutzten Mat.Nrn. anzeigen
von kkauerau » 07.08.2019 11:04 • Verfasst in ABAP® für Anfänger
2
Antw.
5419
Views
IDocs: Segmente mit benutzten Feldern ausgeben
von adazip » 19.06.2007 14:32 • Verfasst in ABAP® für Anfänger
5
Antw.
4682
Views
Makros
von io » 26.07.2005 15:10 • Verfasst in ABAP® für Anfänger
5
Antw.
2149
Views
HR-Funktionsbaustein und Makros
von Ranganga » 04.07.2007 16:14 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 22 / 2763
Daten an Tabelle binden
vor 6 Stunden von Lukas Sanders 2 / 842

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

Dialog-Container mit Toolbar/Status
vor einer Stunde von DeathAndPain gelöst 22 / 2763
Daten an Tabelle binden
vor 6 Stunden von Lukas Sanders 2 / 842

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2440
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9024