migrationshansel hat geschrieben:
Programmiere gerade an einem Tool herum, das Domäneninhalte umsetzen soll. Dafür brauche ich für eine bestimmte Funktionalität (Lizenzprüfung) Coding, welches im Debugger nicht sichtbar sein darf und das in diesem Zustand transportiert und beim Kunden eingespielt werden kann.
Und das Tool zum Umsetzen von Domäneninhalten (was auch immer Du da konkret "umsetzt", z.B. Feldinhalte in Tabellen, die mit Bezug auf die Domäne definiert sind) ist so toll, dass den Quelltext keiner sehen darf?
Und wer behebt dort die Bugs?
(Du willst noch mal kassieren? Du machst keine Fehler? Der Kunde kann ruhig warten, bis Du mal wieder Zeit hast?)
Ich hatte mal ein Stück Coding, ich glaube ZHIDE, mit welchem man das Coding für Programme die im Z- oder Y-Raum liegen, quasi "unsichtbar" machen konnte. Allerdings programmiere ich im Namensraum (/XXX/) und dort funktioniert der Codingschnipsel nicht.
Das Nicht-Funktionieren liegt aber nicht am Namensraum, soweit man bei ZHIDE von Funktionieren reden kann.
Jedenfalls ist das Aufheben der Beschränkung auf den Kundennamensraum noch das kleinste Problem.
Hat irgendjemand eine Source, mit dem man einen Report, besser ein Include, so verändern kann, das es zwar ausgeführt und transportiert wird, das Coding in der SE38/80 und im Debugger jedoch nicht sichtbar ist?
Das geht nicht. Der "Schutz" lässt sich umgehen.
Ausserdem muss der ganze Prozess auch reversibel sein (damit ich den Quellcode auch auf unserem Entwicklungssystem wieder bearbeiten kann).
Das Problem ist doch trivial lösbar..
Ach ja, wenn jemand eine Möglichkeit kennt, eine Lizenzabfrage so zu gestalten, das diese vom Kunden nicht ausgehebelt werden kann, bin ich auch dafür dankbar.
Steff hat schon den passenden Link zum Thread aus April 2002 genannt.
In meinem Beitrag sind auch ein paar Links auf News-Beiträge aus de.alt.comp.sap-r3.
Anscheinend haben sich nicht genug Eigentümer von /PREFIX/-Namensräumen gefunden, die mal entsprechende Entwicklungsanträge eingereicht haben.
Quelltext-Schutz lässt sich zwar auch von SAP nicht umsetzen.
Aber ein Ausführen nicht lizensierter Programme könnte die SAP-Laufzeitumgebung schon verhindern bzw. wesentlich schwerer umgehbar gestalten als so einen Quelltext-Schutz.
Allerdings fällt mir dazu nichts rechtes ein, da alles was ich mir überlegt habe auch mit ABAP-Mitteln wieder ausgehebelt werden kann.
Eben. Auch wenn man nicht weiß, wie man den Quelltext-Schutz aufheben soll, kommentiert man eben die Lizenzabfrage aus.
(Oder Du musst allen Deinen Quelltext schützen.)
Und ja, ich weiss, das ich mir jetzt wieder anhören muss, das man Coding nicht versteckt
Wenn Du das schon weißt, warum fragst Du dann?
und ich ein schlechter Programmierer bin oder das es schlechter Stil ist und was weiss ich nicht noch alles. Ja, ihr habt recht (bis auf den schlechten Programmierer :P )
Wasd heißt schon "schlechter Stil". Den findet man auch in vielen nicht "geschützten" Quelltexten.
Ob Du ein Schlechter Programmierer bist, kann ich nicht beurteilen. Allerdings hast Du bisher hier auch noch keinen Beweis des Gegenteils geliefert.
Dass Du ZHIDE nicht sofort als einen Haufen Sondermüll erkannt hast, spricht jedenfalls nicht gerade für Dich. (Ein paar der Probleme sind Dir aber anscheinend aufgefallen, z. B. das mit den Includes/der Transportierbarkeit.
Das ist aber nur ein Bruchteil.)
Aber mir fällt ausser dieser Möglichkeit keine andere ein, mit der ich ein lebenswichtiges Include vor Änderung schützen und in diesem auch noch die Lizenzprüfung unterbringen kann.
Es gibt auch keine brauchbare Möglichkeit.
Von wem Kommt denn die Anforderung.
Ja, ich weiss auch, das es Vereinbarungen mit Kunden gibt aber jeder von euch, der mehr als nur ein halbes Jahr in dieser Branche tätig war, weiss, das, sobald man kein Zugriff mehr auf das Kundensystem hat, dieser damit tun und lassen kann, was er will
Manchmal musss er auch einfach Zugriff haben, um Fehler zu korrigieren.
Gerade in Lizenzprüfungs-Routinen findet sich oft ekelhafter Code, der anscheinend auch nach gelungenem Aufheben des Quelltext-Schutzes das Umgehen der Lizenzprüfung verhindern soll.
(Geht sowieso nicht, man kommentiert die Prüfung einfach aus.)
Die ist oft nicht release-unabhängig, nicht unicode-fähig, scheitert in Systemen mit gemischten Big- und Little-Endian-Servern ...
Und auch bei Deinem Programm kann ich mir die Notwendigkeit, Fehler beheben zu müssen, gut vorstellen.
Wenn Du nur die Tabelleninhalte für Felder anpasst, die sich auf die Domäne beziehen, ist ein Hauptproblem ja die Wiederaufsetzbarkeit.
Insbesondere wenn der alte und neue Wertebereich sich überschneiden.
(Je nach SDOMA und Tabellen kann es auch noch um die Größe der Rollback Area, Sperren von Objekten, Änderungsbelege ... gehen.)
Wenn Du aber auch noch Report-Varianten anpassen mussst, in denen Felder sich über DTEL auf die DOMA beziehen, komt man schnell in komplexere Abhängigkeiten, wo man durchaus Fehler machen kann.
Ebenso bei DDIC-Strukturen, die mit EXPORT ... TO DATABASE gesichet wurden.
(und weiss auch von Fällen, wo genau das passiert ist. Leider kann ich es nicht beweisen, da ich keinen Zugriff mehr auf das System habe und auch nicht mehr bekommen werde).
Dann schreib doch genau dieses Recht in Deine Lizenzverträge rein.
Bedenke aber, dass Du ehrliche Kunden verprellen könntest.
Da Du mal "wir" und mal "ich" sagst: Wem gehört denn der Namensraum?
Welche Kostem muss man mindestens für eine Entwickler-Lizenz einkalkulieren, so dass man bei SAP seinen eigenen Namensraum registrieren darf?