Dokumentation von SAS-Programmen
Hallo,
in einer der vielen XING-Gruppen zu SAS kam die o.g. Frage auf:
(..) mich würde mal interessiern, wie ihr eure SAS-Programme dokumentiert?
Dokumentiert ihr garnichts, macht ihr kleine Notizen im Programm oder schreibt ihr halbe Handbücher zu den Auswertungen?
Ich will einzelne Programme auch mal besser dokumentieren und überlege jetzt, wie ich das am besten mache. (..)
Meine Antwort darauf war:
Die Dokumentation von Programmen ist für uns absolut wichtig!
Wir haben alle Programme als Macros realisiert. Dadurch ist eine gewisse formale Struktur zwangsläufig gegeben. Diese nutzen wir aus, um mit einem (selbstprogrammierten) Dokumentations-Tool aus dem Source-Code die Dokumentation automatisch erstellen zu lassen.
Durch die Realisierung der Programme als Macros ist zum Beispiel die Aufruf-Schnittstelle "klar". Da wir in den allermeisten Fällen mit Kennwort-Parametern statt mit Stellungs-Parametern arbeiten sind diese meist selbst erklärend, ansonsten wird der Kommentar aus dem Code in die Dokumentation übernommen.
Beispiel, erst der Source-Code:
, VKORG= /* z.B. 10XX HIER AKTUELLE VKORG EINTRAGEN !!! */
, Transfer=JA /* Transfer=Nein für Test-Lauf o.ä. default: JA */
, debug=no /* Doku-No */
);
/*---------------------------------------------------------------------------------------
* Programm zur Newsletter-Selektion mit Nachbearbeitung "nach SAP"
*
* Programm-Ablauf:
* Text
* Text
* Text
*
* Beispiele/Muster-Aufrufe:
* =========================
* %NewslSel( Aktion=A061088
* , VKORG=10XX
* );
*--------------------------------------------------------------------------------------- */
Base_Code= 0;
Base_Code= 1;
Base_Code= 2;
%put INFO: Macro &SYSMACRONAME., Ende;
%mend NewslSel;
Beispiel, die Doku dazu:
, VKORG= /* z.B. 10XX HIER AKTUELLE VKORG EINTRAGEN !!! */
, Transfer=JA /* Transfer=Nein für Test-Lauf o.ä. default: JA */
);
/*---------------------------------------------------------------------------------------
* Programm zur Newsletter-Selektion mit Nachbearbeitung "nach SAP"
*
* Programm-Ablauf:
* Text
* Text
* Text
*
* Beispiele/Muster-Aufrufe:
* =========================
* %NewslSel( Aktion=A061088
* , VKORG=10XX
* );
*--------------------------------------------------------------------------------------- */
Man beachte, dass es auch Geheim-Parameter gibt, die nicht Teil der Dokumentation sind: Der Begriff Doku-No steuert das.
Realisiert ist unser Dokumentations-Tool als kleines awk-Script. mit ca. 80 Zeilen.
Der awk (pattern scanning and processing language) ist eines der Standard-Unix-Tools die üblicherweise bei jedem Unix dabei ist, egal ob es jetzt z.B. Solaris, AIX, HP-UX oder Linux heißt.
Hier lässt sich der Beitrag wesentlich schöner formatieren und die Diskussionen bzw. die Beteiligung ist lebhafter als in den XING-SAS-Gruppen. Deshalb (und weil das Theam sowieso interessant ist) habe ich den Beitrag auch hier veröffentlicht.
Die Antwort auf den Teil der Eingangs-Frage schreibt ihr halbe Handbücher zu den Auswertungen fehlt noch:
Ja, wir schreiben oft halbe Handbücher zu den Auswertungen.
Gruß
Hans Kneilmann, Schäfer Shop GmbH (SSI)
- Anmelden oder Registrieren um Kommentare zu schreiben
