Wenn man viele Drucker (manuell) im SAP anlegen muß kann die SPAD schon zur Qual werden. Aber es gibt Abhilfe. Das Folgende Script kann Drucker(Definitionen) nach Vorgabe automatisch erzeugen und in eine Datei schreiben. Diese Datei kann dann entsprechend per SPAD importiert werden. Hierbei werden die Drucker auf Wunsch automatisch gesperrt angelegt und in jedem Fall sauber generiert.
Das Script erwartet im gleichen Ordner eine Datei input.txt (Semikolon als Trennzeichen!), die wie folgt aufgebaut sein muss. Der SAP Druckername ist auch gleichzeitig der Kurzname. Das Script kann bei Bedarf einfach erweitert werden, sofern hier Änderungen/Erweiterungen gewünscht sind.
SAP Druckername, Hostname des Druckers, Kommentar
P001;printer-ffm-p001;Zentraldrucker Rechnungswesen (IP: 172.128.1.20)
Die Datei output.txt muss dann über die Transaktion SPAD -> Ausgabegeräte -> Import importiert werden. Der Anzugebende Pfad bezieht sich auf das SAP GUI bzw. den Host auf dem es läuft. Die output.txt kann z.B. unter c:\temp\output.txt abgelegt und von dort aus importiert werden.
So kann man im Handumdrehen 100 von Drucker für den Import im SAP vorbereiten. Anregungen und Verbesserungen sind natürlich gern gesehen!
#!/usr/bin/ksh #Script zum Anlegen von Druckern im SAP #Patrick Wessel #Konstanten TIME=`date "+%Y%m%d%H%M%S"` SCRIPT=$1 WORK=$(pwd) INPUT=$WORK/input.txt OUTPUT=$WORK/output.txt SAPPRINTER="" KOMMENTAR="" HOSTPRINTER="" PRINTERDISABLE="X" #Drucker deaktivieren=X ### Pruefen ob Input File existiert [ ! -f $INPUT ] && echo "Es wurde keine Input Datei gefunden. Das Script wird beendet." && exit 1 ### Pruefen ob altes Output File existiert und umbenennen if [ -f $OUTPUT ] then mv $OUTPUT $OUTPUT.old touch $OUTPUT chmod 666 $OUTPUT fi ### Output Header schreiben echo "VERSION = \"0.1\"\nTIME = \"${TIME}\"\nSYSTEM = \"D01\"\nRELEASE = \"700\"" >>$OUTPUT #Drucker konfiguration parsen und ausgeben cat $INPUT | while read ZEILE do #SAP-Drucker, Drucker und Kommenatar parsen SAPPRINTER="" HOSTPRINTER="" KOMMENTAR="" SAPPRINTER=$(echo ${ZEILE} | awk -F';' '{print $1}') HOSTPRINTER=$(echo ${ZEILE} | awk -F';' '{print $2}') KOMMENTAR=$(echo ${ZEILE} | awk -F';' '{print $3}') echo "Erzeuge Konfiguration fuer SAP Drucker $SAPPRINTER" echo "* DEVICE = {" >>$OUTPUT echo " NAME = \"${SAPPRINTER}\"" >>$OUTPUT echo " PADEST = \"${SAPPRINTER}\"" >>$OUTPUT echo " PATYPE = \"HPLJ5\"" >>$OUTPUT echo " PAMODEL = \"HP LJ 500\"" >>$OUTPUT echo " PACLASS = \"\"" >>$OUTPUT echo " PAARCHIVER = \"\"" >>$OUTPUT echo " PALANGU = \"D\"" >>$OUTPUT echo " PADISABLED = \"${PRINTERDISABLE}\"" >>$OUTPUT echo " PANOQUERY = \"X\"" >>$OUTPUT echo " PADUPCOPY = \"\"" >>$OUTPUT echo " PADUPLEX = \"\"" >>$OUTPUT echo " PASTORELOC = \"\"" >>$OUTPUT echo " PADFLTUTTL = \"\"" >>$OUTPUT echo " PADFLTSTTL = \"\"" >>$OUTPUT echo " PASYNC = \"X\"" >>$OUTPUT echo " PAMONI = \"\"" >>$OUTPUT echo " PASTANDORT = \"${KOMMENTAR}\"" >>$OUTPUT echo " PAMSG = \"${KOMMENTAR}\"" >>$OUTPUT echo " PAMSSERVER = \"sapservere01_E01_00\"" >>$OUTPUT echo " PAMETHOD = \"E\"" >>$OUTPUT echo " PAPROSNAME = \"${HOSTPRINTER}\"" >>$OUTPUT echo " PALOMS = \"Output\"" >>$OUTPUT echo " PALPRCMD = \"\"" >>$OUTPUT echo " PALPDHOST = \"\"" >>$OUTPUT echo " PALPDPORT = \"0\"" >>$OUTPUT echo " PACONNTIME = \"0\"" >>$OUTPUT echo " PAREADTIME = \"0\"" >>$OUTPUT echo " PATRAYS = \"0\"" >>$OUTPUT echo " PAXSHIFT = \"0\"" >>$OUTPUT echo " PAYSHIFT = \"0\"" >>$OUTPUT echo " PAXSHUNIT = \"MM\"" >>$OUTPUT echo " PAYSHUNIT = \"MM\"" >>$OUTPUT echo " PACRYPTMOD = \"\"" >>$OUTPUT echo " PACRYPTMET = \"\"" >>$OUTPUT echo " PANOVSERVR = \"\"" >>$OUTPUT echo " PAPOOLART = \"\"" >>$OUTPUT echo " PATRACE2 = \"\"" >>$OUTPUT echo " PATRACEF = \"\"" >>$OUTPUT echo " PAPROTDATA = \"\"" >>$OUTPUT echo " PAPROTCMD = \"\"" >>$OUTPUT echo " PAPROTRES = \"\"" >>$OUTPUT echo " PAKEEPFILE = \"\"" >>$OUTPUT echo " CHGNAME1 = \"Patrick\"" >>$OUTPUT echo " CHGTSTMP1 = \"${TIME}\"" >>$OUTPUT echo " CHGSAPREL1 = \"700\"" >>$OUTPUT echo " CHGSAPSYS1 = \"E01\"" >>$OUTPUT echo " PADEVGRP = \"\"" >>$OUTPUT echo " COLORPRT = \"\"" >>$OUTPUT echo " PRINTMODE = \"\"" >>$OUTPUT echo " INPUTTRAY = \"\"" >>$OUTPUT echo " PANOCHOICE = \"\"" >>$OUTPUT echo "}" >>$OUTPUT done echo "Fertig." exit 0
Das Script kann hier herunter geladen werden: drucker_anlegen.sh