Dokumentenpflege und Transaktion SE61
- SAP-Objekte, wie z. B. Klassen oder Adobe Forms-Formulare werden häufig eine hohe Komplexität haben und hier macht es Sinn diese Funktionalitäten zu dokumentieren.
- Hier bieten viele Entwicklungstransaktionen einen direkten Einstieg in die Dokumentation des jeweiligen Objekts, so wie z. B. der Class Builder über die Transaktion SE24.
- Jede Dokumentation lässt sich auch über die Transaktion SE61 pflegen. Einige Dokumentationen, wie z. B. allgemeine Texte, können nur über die Transaktion SE61 gepflegt werden.
Grundlagen
Abgrenzung Codingkommentare und Dokumentenpflege
- Während eine Kommentierung des Codes im Programm, Funktionsbaustein oder den Methoden der Klasse mehr die Details beschreibt, beschreibt eine Dokumentenpflege den großen Rahmen.
- In der Dokumentenpflege sollte nicht zu sehr auf konkrete Codingdetails eingegangen werden.
- Vermeidung Redundanz zum Codingkommentar
- Vermeidung veraltete Dokumentation, da umfangreiche Dokumentation nur selten aktualisiert werden wird.
- Konzentration auf das Gesamtbild des Prozesses.
Vorteile SAP-Dokumentenpflege
Vorteile SAP-Dokumentenpflege gegenüber Word-Dokumentation
- Die SAP-Dokumentenpflege ist innerhalb des SAP-Systems verfügbar
- Sie ist über das Drücken einer Schaltfläche sehr leicht aufzurufen
- Im Abgleich mit dem vorliegenden SAP-Entwicklungsobjekt fällt schnell auf, wenn die Dokumentation nicht mehr aktuell ist
- Dokumenten aus der Dokumentenpflege können verlinkt werden
- Dokumentobjekte können in ein anderes Dokumentenobjekt eingebunden werden und so Redundanz vermieden werden
- Word-Dokmentationen werden in aller Regel einmal erstellt, selten aktualisiert und sind häufig den Projektteammitgliedern auch nicht bekannt
Dokumentenklassen
In der SAP-Tabelle TDCLT stehen alle zulässigen Dokumentenklassen.
Dokumentenklasse | Titel |
---|---|
ABAP | Syntaxdokumentation ABAP |
ABEN | Umfeld ABAP |
AD | PDF-basiertes Formular |
AI | PDF-basiertes Formular - Schnittstelle |
AO | Archivierungsobjekt |
BCST | BC-Set Dokumentation |
BF | Business Function + Zuordnung |
BI | Business Add Ins: Implementierungen |
BIBL | Verweis auf eine Struktur |
BOOK | Hauptkapitel einer Struktur (BOOK) |
BS | Business Function Set + Zuordnung |
BZ | Beziehung |
CA | Klassen-Attribut |
CATE | Beschreibung zu einem Testablauf |
CATT | CATT (Computer Aided Test Tool) |
CC | Konfigurationsprüfungsgruppe |
CE | Klassen-Ereignis |
CF | Programmfunktion |
CH | Charakteristik |
CHAP | Kapitel einer Struktur (CHAP) |
CHHR | HR: Kapitel einer Struktur |
CL | Klasse |
CM | Aktionsmenü, Menüleiste |
CO | Klassen-Methode |
CONC | Hypertext-WWS-Konzept |
CONT | Syntaxdokumentation CONT |
CT | Klassen-Typ |
CU | Cluster |
DE | Datenelement |
DI | Dialogbaustein und Parameter |
DM | UDM mit Entitätsvariablen |
DO | Domäne |
DOKU | Doku-Text |
DT | Text im Dialog |
DYNP | Syntaxdokumentation Dynpro |
DZ | Datenelementzusatz |
EDIT | Syntaxdokumentation Editor |
EQ | Sperrobjekt |
FG | Funktionsgruppe |
FRAM | Frame Dokument |
FU | Funktionsbaustein und Parameter |
FX | Funktionsbaustein Ausnahmen |
GD | Datenobjekt |
GH | Datenmodell |
GLOS | Eintrag im Glossar |
GO | Operationen |
GS | Konsumierungs-Modell |
HRDS | HR: Dokumentationsobjekt |
IA | Interface-Attribut |
IE | Interface-Ereignis |
IF | Interface |
IM | UDM |
IMGS | |
INFO | Info-Systemtext |
IO | Interface-Methode |
IS | BSP-Extension-Objekt |
KENO | Knowledge Engineer: Struktur und Info-Objekt |
LB | Logische Datenbank |
MCLI | Dokumentation zur Mehrmandantenfähigkeit |
MG | Migrationstext |
MO | Modifikationstext |
NA | Nachricht |
NAVI | Fiori UI Navigation |
NC | Nachrichtenklasse |
NORM | Ergonomienorm |
NORP | Beschreibung der Ergonomienorm |
NOTE | Notiz zu Kapitel einer Struktur |
OD | BOR-Objekt |
PARD | Hypertext-WWS-Parameter-Doku |
PP | Profilparameter |
PRDC | Hypertext-WWS-Programm-Doku |
PROJ | DDIC-Intern |
PS | Prozessschritt Text |
RE | Report, Funktions-Gr.,Log.DB |
RELN | Release-Information |
REPB | Sofortausführung eines Reports im Batch |
REPC | Terminierte Ausführung eines Reports |
REPN | Online Ausführung eines Reports mit Parameterauswahl |
REPO | Online Ausführung eines Reports |
RSYN | Syntaxdokumentation RSYN |
SA | Analyse |
SBCS | Switch BC-Set Dokumentation |
SD | ABAP Syntax |
SDUM | Unternehmens Daten Modell Texte |
SE | Metrik- / Ereignis- / Alertbeschreibung |
SG | Beschreibung der metrischen Gruppe |
SI | Bewertung und Auswirkung |
SIMG | Kapitel des Einführungsleitfadens (SIMG) |
SL | Systemlog |
ST | Struktur |
SW | Schalter + Zuordnung von Objekten zum Schalter |
SYSP | Kapitel mit Systemparametern |
TA | Transportauftrag, Korrektur |
TB | Tabelle / Strukture |
TCOD | Transaktionen |
TEST | Testinformationen |
TITL | Titel ohne Dokument |
TOCX | Eingebundene Struktur |
TP | Dokumentation: |
TR | Transaktion |
TRAN | Link auf Transaktion |
TRAS | Link auf Transaktion und skip first screen |
TT | Tabellentyp |
TU | Tutorialtext |
TX | Allgemeiner Text |
UC | Konfigurationsprüfung |
UO | Berechtigungsobjekt |
UP | Berechtigungsprofil |
URLA | URL-link |
VA | Festwert |
VW | View |
WA | Web-Application |
WAVI | Video for Windows |
WC | Web Dynpro: ( Komponente / View ) Controller |
WD | Web Dynpro: Komponente / Interface |
WHLP | Winhelp-Datei |
WINH | |
WORD | Kapitel einer Struktur im WinWord Format |
WPPT | PowerPoint-Präsentation |
WSCM | Lotus ScreenCam |
XI | Extension-Index |
Dokumentenpflege Transaktion SE61 (Beispiel Klassendokumentation)
- Die Klassendokumentation lässt sich sowohl über die Transaktion SE24 als auch die Transaktion SE61 (Dokumentenpflege) aufrufen.
- In der Transaktion SE61 hat man neben den Klassendokumentationen Zugriff auf die Dokumentationen sehr vieler Entwicklungsobjekte und es lassen sich auch Dokumentationen anlegen, die nicht an ein spezielles Entwicklungsobjekt gebunden sind, aber dann in der Dokumentation der Entwicklungsobjekte eingebunden werden können.
Einstieg über den Class Builder (Transaktion SE24)
Man geht im Änderungsmodus in den Class Builder (Transaktion SE24).
Pflege Klassendokumentation
Hier drückt man auf die Schaltfläche , um die Klassendokumentation zu pflegen.
Folgendes Fenster erscheint (SAPscript-Editor). Der SAPscript-Editor ist gewöhnungsbedürftig. Aber durch die technische Darstellung der Texte (mit Absatz- und Zeichenformaten) kann man auch sehr präzise arbeiten.
Rupriken mit Ausgabe identifizieren
Es ist erst mal nicht sehr sprechend welche Ruprik für welche Ausgabe sorgt. Daher kann man sich behelfen, in dem unter die Ruprik jeweils einen gleichnamigen Text schreibt. Das macht Sinn, da im Änderungsmodus die Rupriküberschriften Englisch sind, aber im Anzeigemodus in der Anmeldesprache.
Verweise auf andere Dokumentationen anlegen
Im SAPscript-Editor ist es über das Menü sehr einfach auf eine andere Dokumentation zu erstellen.
Im Tricktresor sind alle Dokumentenklassen aufgeführt, die mittels Matchcode auswählbar sind und noch einige andere, die nicht über den Matchcode auswählbar sind, aber auch möglich sind.
Hier soll der Sprung der Dokumentation Klasse ZREBCONSTANTS zur Dokumentation der Klasse ZREBALV erfolgen. Zunächst wählt man ein passendes Absatzformat für eine Zeile, hier "AS" und geht dann über das Menü auf "Einbinden - Verweis".
Hier wird nun die passende Dokumentenklasse und das Objekt ausgewählt. Also wieder "Klasse" und "ZREBALV" und den Linktext.
Im SAPscript-Editor erscheint nun.
In der Anzeigeansicht sieht man nun den Link "Link zur Klasse ZREBALV".
Nach einem Klick auf den Link erscheint die Dokumentation der Klasse ZREBALV.
Aufruf Dokumentation über Dokumentenpflege (Transaktion SE61)
Ruft man die Transaktion SE61 auf, lassen sich die Dokumentationen von sehr vielen SAP-Entwicklungsobjekten pflegen.
Die Dokumentationsklasse ist hier "Klasse" und es wird der Klassenname "ZREBALV" gepflegt. Dokumentenklasse und Sprache lassen sich ändern, auch wenn die graue Formatierung der Felder reine Anzeigefunktionalität vermuten lässt.
Geht man über die Schaltfläche "Ändern" in die Klassendokumentation sieht man das altbekannte Pflegebild des SAPscript-Editors.
Ausgabe Klassendokumentation im Anzeigemodus
Als erste Ruprik erscheint die Kurzbezeichnung der Klasse. Danach sind die Inhalte zu sehen, die vorher gepflegt wurden unter der gleichnamigen englischsprachigen Rupriküberschrift.
Einbinden Links
ID zur Dokumentation identifizieren
Man kann die Klassendokumentation über den Class Builder erreichen. Aber die Dokumentation ist auch zentral abgelegt. Um dann den Einstieg für diese Klassendokumentation zu finden, öffnet man im Änderungsmodus die Klassendokumentation und geht über das Menü.
Es öffnet sich in diesem Beispiel das folgende Fenster.
Die folgenden 4 Felder identifizieren eindeutig die Dokumentation.
- Textname = ZREBALV
- Sprache = DE
- Text-ID = CL
- Textobjekt = DOKU
Einbinden Include-Texte in Dokumentation
- Es können auch Dokumentationen in eine andere Dokumentation eingebunden werden. Siehe hier SAP-Hilfe.
/: INCLUDE name [OBJECT o] [ID i] [LANGUAGE l] [PARAGRAPH p] [NEW-PARAGRAPH np]
Hier sind in einem Dokument zwei andere Dokumente eingebunden worden, u. a. der Allgemeine Text ZREBINTERFACES.
Im Allgemeinen Text ZREBINTERFACES wird die Dokumentation vom Interface ZREBIF_ALV verlinkt.
<DS:IF.ZREBIF_ALV>Dokumentation ZREBIF_ALV</>
Beim Anzeigen der Dokumentation wird der Text unter "Interfaces" und der Text unter "Klassen" zur Laufzeit eingebunden. Würde das Dokument ZREBINTERFACES in mehreren Dokumenten eingebunden, so braucht nur der Allgemeine Text ZREBINTERFACES geändert werden und man hat in allen Dokumenten durch die Include-Einbindung stets den aktuellen Inhalt der Interfaces.
URLs als Link einbinden
- Ein neuer Eintrags in der Standardtabelle TDCLD ist nötig (siehe http://www.tricktresor.de/blog/internetadressen-einbinden/)
Link:
<DS:URLA.http://www.google.de>Google</>
Datei:
<DS:URLA.file://o:/Projekte/SAP/Inhalt.doc>SAP Doku (Word)</>
Der neue Eintrag
Eine URL zu Google wird eingebunden
Der Link zu Google wird angezeigt
Internet-URL einbinden
Tabelle TDCLD ergänzen
- Enno beschreibung im Tricktresor, wie man auch Internet-URLs einbinden kann in eine Dokumentation.
URL-Shortener
- Wird der Link zu lang für eine Zeile, kann man sich für Internetlinks mit einem URL-Shortener behelfen wie Bitly.
Der Link
https://www.google.de/search?q=Boberger+D%C3%BCnen&espv=2&biw=1920&bih=949&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwiS556spJ3MAhVHZCwKHcrjA_cQsAQILg
wird ersetzt durch
http://bit.ly/1NlaOo7
Einbindung Report-Links in eine Dokumentation
oder hier für ein Programm ZBC_PAKET.
HU ZBC_PAKET "Überschrift in fett B1 <DS:RE.ZBC_PAKET>Dokumentation</> "zeigt Dokumentation vom Programm ZBC_PAKET an B1 <DS:REPN.ZBC_PAKET>Ausführen</> "führt das Programm ZBC_PAKET aus
Es erscheint dann in der Anzeige der Dokumentation.
SAPscript-Stil S_DOCUS1
Konzept Integration Dokumentation
Eine Dokumentation innerhalb eines Entwicklungsobjektes ist sehr häufig sinnvoll.
Nützlich wäre es auch, wenn man Links zu verwandten Entwicklungsobjekten (Klassen, Interfaces, Reporte, ..) hätte. Es wäre jedoch sehr zeitaufwendig und fehlerträchtig, wenn man innerhalb jedes Entwicklungsobjektes Links auf jede andere relevante Dokumentation anlegen würde.
Viel einfacher ist es, wenn man die Dokumentationen herarchirsch strukturiert sind und untereinander verlinken oder auch die untergeordneten Dokumentationen in die übergeordnete Dokumentation eingebunden sind. Dies erlaubt eine redundanzfreie, schnelle um einfache Dokumentationsstruktur.
HIer erfolgt ein 3-stufiger Ansatz. Ein allgemeiner zentraler Text auf der höchsten Ebene, der in jedes Dokumentationsobjekt eingebunden wird. Eine allgemeiner Text für jeden Entwicklungstyp, die im höchsten allgemeinen Text verlinkt sind und die Dokumentationen der Entwicklungsobjekte, die im allgemeinen Text der Entwicklungstypen verlinkt sind.
Allgemeinen Text anlegen
Hier wurde der allgemeine Text ZREBALLG angelegt in der Transaktion SE61.
In diesem allgemeinen Text befinden sich auch lediglich Links zu anderen allgemeinen Texten, wie hier ZREBINTERFACES, ZREBKLASSEN und ZREBREPORTS. B1 steht für eine Aufzählung.
<DS:TX.ZREBINTERFACES>Dokumentation Interfaces</> <DS:TX.ZREBKLASSEN>Dokumentation Klassen</> <DS:TX.ZREBREPORTS.Dokumentation Reports</>
Anlage allgemeinen Text für einen Entwicklungstyp
Schaut man sich den allgemeinen Text ZREBINTERFACES an, stehen hier alle Interface-Dokumentationen.
In diesem Fall lediglich eine Dokumentation.
<DS:IF.ZREBIF_ALV>Dokumentation ZREBIF_ALV</>
Einbindung allgemeiner Text in eine Dokumentation
In die Klasse ZREBWIKI wird nun die Dokumentation eingebunden.
Die Dokumentation der Klasse wird im Änderungsmodus aufgerufen.
Hier gibt es nur 2 relevante Zeilen. Die Überschrift mit "U1 Links" (Überschrift erster Ordnung mit dem Text "Links") und die nächste Zeile "/: INCLUDE ZREBALLG".
/: steht für eine Kommandozeile. Mit INCLUDE wird der der allgemeine Text ZREBALLG eingebunden, bzw. dessen Inhalt in der Klassendokumentation angezeigt.
U1 Links /: INCLUDE ZBC_ALLG
Anzeige Dokumentation
Die Klassendokumentation wird nun im Anzeigemodus aufgerufen.
Ist der Cursor über einem Link färbt sich der Link rot.
Nach einem Klick springt die Dokumentation zur Interfacedokumentation ZREBINTERFACES.
Die Interfacedokumentation vom Interface ZREBIF_ALV wird angezeigt.
Einfachheit Einbindung
Zur Sicherstellung der allgemeinen Verlinkung kommt man nun mit lediglich 2 Zeilen in jedem Entwicklungsobjekt aus
U1 Links /: INCLUDE ZBC_ALLG
Selbst die Zeile "U1 Links" könnte man noch in den allgemeinen Text ZREBALLG schreiben, sodass lediglich eine Zeile nötig wäre.
- Möchte man einen neuen Entwicklungstyp dokumentieren, legt man einfach eine neue Zeile in dem allgemeinen Text ZREBALLG an
- Möchte man eine spezielle Dokumentation hinzufügen, so legt man z. B. einen Link in ZREBKLASSEN, ZREBINTERFACES oder ZREBREPORTS an
Man hat so keinerlei Redundanz, wenig Aufwand und in jedem Dokument, was den allgemeinen Text ZREBALLG verlinkt hat, jeweils den aktuellen Gesamtstand der Dokumentation zur Verfügung.