Schachtsteuerung von SAP Formularen auf der Basis der Adobe Forms
Mit SAP Script oder Smart Forms ist die Schachtsteuerung von SAP Formularen einfach zu realisieren. Der Formularentwickler ruft den SAP Standardtext „SAPSCRIPT-TRAYTEST“ auf, druckt den Standardtest auf dem Drucker aus und notiert sich, welches Print-Control dem jeweiligen Schacht zugeordnet ist. Anschließend trägt er das Print-Control im Formular in der Definition der Seite ein. Ohne sich mit weiteren Personen abzustimmen, kann in vielen Konstellationen die Schachtsteuerung von SAP Formularen auf diese Weise schnell implementiert werden.
Wesentlich komplizierter ist das Thema Schachtsteuerung bei der Entwicklung von SAP Formularen auf der Basis der SAP Interactive Forms by Adobe anzugehen. Die größte Hürde liegt nicht auf technischer Ebene, sondern dass mehrere Personen involviert sind. Eine besondere Herausforderung ist es, den Administrator des SAP Systems davon zu überzeugen, XDC-Dateien auf dem Server der Adobe Document Services (ADS) abzulegen, insbesondere wenn der SAP Administrator beim externen Outsourcing-Partner angestellt ist.
Szenario
Zielsetzung ist die die Abbildung folgendes Szenarios:
Einrichten einer Schachtsteuerung für SAP Adobe Formulare, gedruckt auf einem PCL-fähigen Laserducker.
Es soll ein PDF-basiertes SAP Druckformular Auftragsbestätigung gedruckt werden, wobei das Papier aus folgenden Schächten gezogen wird:
- Seite 1 A4-Papier mit Logo aus Schacht 2
- Folgeseiten A4-Blanko-Papier aus Schacht 1 = Default-Schacht des Druckers
SAP Formular Auftragsbestätigung mit 2 Seiten
Für das Ziehen des Papiers aus Schacht 2 muss die Schachtsteuerung aus SAP erfolgen, da dies nicht der Standardschacht des Druckers ist. Für Seite 1 muss also eine explizite Schachtsteuerung implementiert werden.
Wir gehen davon aus, dass der Druck auf PCL-Druckern, also HP-kompatiblen Druckern erfolgt.
Organisatorische Vorbereitungen
Zur Implementierung der Schachtsteuerung ist zu Beginn ein Termin vor Ort oder zumindest eine Telefonkonferenz zu vereinbaren.
An diesem Termin müssen folgende Personen anwesend sein
- Formularentwickler mit Kenntnissen der Adobe Schachtsteuerung
- Netzwerkadministrator mit Kenntnissen der Druckersteuerung vor Ort
- SAP-Basis-Administrator oder SAP-Basis-Berater, der Zugang zum ADS-Server hat; im Outsourcing ist der SAP-Basis-Administrator des Outsourcers zum Termin einzuladen
Herausfinden der Steuerkommandos zur Schachtsteuerung
Üblicherweise ist jedem Papierschacht eine interne Nummer zugewiesen.
Bei HP-Druckern gilt z.B. folgende Schachtbelegung.
Schacht 1 | Nummer = 2 |
Schacht 2 | Nummer = 3 |
Schacht 3 | Nummer = 5 |
Es gilt also herauszufinden, welche interne Nummer dem Papierschacht für das Druckermodell zugeordnet ist.
Herunterladen der originalen XDC-Dateien
Die XDC-Dateien liegen in folgendem Verzeichnis des Adobe Designers auf dem Frontend des SAP Formularentwicklers:
C:\Program Files (x86)\Adobe\Designer 10.4 (gilt für Version 10.4)
Die Datei hppcl5e.xdc ist lokal auf dem Rechner als Kopie zu sichern.
Modifizieren der XDC-Datei
Die Datei hppcl5e.xdc ist in zhppcl5e.xdc umzubenennen und mit einem Editor, z.B. Wordpad zu öffnen.
Als erstes ist im Header in den Metadaten der Name der XDC-Datei zu ändern. Es ist überall ein „Z“ davorzusetzen, d.h. überall wo „hppcl5e“ steht muss „zhppcl5e“ eingesetzt werden.
Dies ist wichtig, damit der richtige Dateiname in die Trace-Datei für die Fehlersuche geschrieben wird.
Informationen in der XDC-Datei
In der XDC-Datei sind einem Seitenformat, das im Adobe Designer der Masterpage zugeordnet wird, verschiedene Informationen zugeordnet.
Z.B. ist der Seite FIRST im Adobe Designer das Seitenformat A4 NORMAL zugeordnet.
In der XDC-Datei sind nun einige Eigenschaften der Seite A4 NORMAL = a4Plain zugeordnet:
</medium>
<medium stock=“a4Plain“ short=“210mm“ long=“297mm“>26</medium>
Erweitern der XDC-Datei um die Schachtsteuerung
Die XDC-Datei wird jetzt um folgende Sequenzen erweitert:
<!– ========================================== –>
<!– Input Trays –>
<!– ========================================== –>
<inputTrays>
<inputTrayDefinition name=“Tray 2″ medium=“a4Plain“ trayType=“Plain“ trayNumber=“3″/>
</inputTrays>
In der o.a. Sequenz wird dem Seitenformat a4Plain der Papierschacht 2 mit der internen Schachtnummer = 3 zugeordnet. Im Papierschacht 2 liegt Blankopapier (Plain).
Der Übersicht halber wird die Sequenz unterhalb der Seitenformate in der XDC-Datei eingefügt.
Der Ausschnitt der XDC-Datei sieht dann folgendermaßen aus:
</medium>
<medium stock=“a4Color“ short=“210mm“ long=“297mm“>26</medium>
<medium stock=“b4JISPlain“ short=“250mm“ long=“354mm“>46</medium>
<medium stock=“b4JISLetterhead“ short=“250mm“ long=“354mm“>46</medium>
<medium stock=“b4JISSpecial“ short=“250mm“ long=“354mm“>46</medium>
<medium stock=“b4JISColor“ short=“250mm“ long=“354mm“>46</medium>
<!– ========================================== –>
<!– Input Trays –>
<!– ========================================== –> <inputTrays>
<inputTrayDefinition name=“Tray 3″ medium=“a4Plain“ trayType=“Plain“ trayNumber=“5″/>
</inputTrays>
<!– ========================================== –>
<!– Units –>
<!– ========================================== –>
<deviceUnits name=“general“ hSize=“.12pt“ vSize=“.12pt“ fracDigits=“0″ fraction=“round“/>
<deviceUnits name=“pageDimensions“ hSize=“.1pt“ vSize=“.1pt“ fracDigits=“0″ fraction=“round“/>
<deviceUnits name=“lineDimensions“ hSize=“.12pt“ vSize=“.12pt“ fracDigits=“0″ fraction=“round“/>
Die Datei zhppcl5c.xdc ist jetzt zu sichern.
Anlegen eines neuen Gerätetypen
In Tabelle TSPOB kann man sehen, welchem SAP-Gerätetyp eine XDC-Datei zugeordnet ist. Für PCL-fähige Schwarz-Weiß-Drucker ist es z.B. der Gerätetyp HPLJ4.
Kopieren eines SAP-Gerätetypen
In TRX SPAD lässt man sich alle Gerätetypen anzeigen. In der Ansicht der Gerätetypen markiert man HPLJ4 und drückt auf Kopieren.
Nun kopiert man den Gerätytpen HPLJ4 in ZHPLJ4.
Nach der Kopie ist auch automatisch ein neuer Eintrag für ZHPLJ4 in Tabelle TSPOB erzeugt worden.
Zuordnung der modifzierten XDC-Datei zum neuen Gerätetypen
- Aufrufen des Reports RSPO0022.
- Markieren des Gerätetypen ZHPLJ4.
- Drücken des Ändern-Buttons.
Jetzt als XDC-Name „zhppcl5e.xdc“ eintragen und als Typ „pcl“.
Der Eintrag in Tabelle TSPOB wird nun geändert. Beim Generieren des PDF-Formulars wird dem Drucker nun die Information gegeben, dass er die angegebene XDC-Datei nutzen soll.
Dem Drucker den neuen Gerätetypen zuordnen
Der Drucker, auf dem die Schachtsteuerung greifen soll, erhält nun den Gerätetypen ZHPLJ4.
TRX SPAD
Ablegen der modifizierten XDC-Datei auf dem ADS-Server
Dem Administrator beim SAP Anwender bzw. beim Outsourcer ist jetzt die modifizierte XDC-Datei zhppcl5e.xdc zu übergeben, z.B. per Mail.
Der Administrator legt die XDC-Datei nun in folgendem Verzeichnis auf dem ADS-Server ab:
\usr\sap\<SID>\SYS\global\AdobeDocumentServices\lib
Hinweise zur Beschleunigung der Arbeit
Es kann sein, dass man den Drucker mit mehreren internen Nummern für den Schacht testen muss, da jeder Drucker eine andere Nummernzuweisung haben kann. Es empfiehlt sich daher, mehrere XDC-Dateien mit jeweils differierenden Schachtnummern und auch mehrere Z-Gerätetypen im Vorfeld anzulegen. Die XDC-Dateien werden dann gesammelt dem Administrator gegeben. So vermeidet man über den Tag verteilt unnötige Wartezeiten, da der Administrator häufig mit anderen akuten Problemen beschäftigt oder nicht erreichbar ist.
Seitenformat den Masterpages zuordnen
Im Formular werden nun ggfs. die Seitenformate den Masterpages zugeordnet.
In unserem Szenario sieht das folgendermaßen aus:
Seite FIRST | Seitenformat = A4Normal | Druck aus Schacht 2 = Papier mit Logo |
Seite NEXT | Seitenformat = A4 | Druck aus Defaultschacht = Blankopapier |
Testen der Schachtsteuerung
In der SFP auf dem Mandanten, auf dem getestet wird geht man im entsprechenden Formular in folgendes Menü:
Hilfsmittel –> Einstellungen –> 4 = Sehr ausführlicher Trace
Wenn das Formular prozessiert wird, dann werden an das PDF einige Dateien angehangen.
In den Trace-Dateien kann man z.B. erkennen, welche XDC-Datei gezogen wird.
Fehlersuche
Bei der Fehlersuche muss zunächst geprüft werden, ob die richtige XDC-Datei gezogen wird.
Dafür ist zunächst der Trace mit Level = 4 einzuschalten.
Dann ist das Formular in den Spool zu drucken und die PDF-Datei aus dem Spool lokal zu sichern.
Bei eingeschaltetem Trace werden an die PDF-Datei weitere Dateien als Anhang hinzugefügt.
Als XDC-Datei wird die adobepdf.xdc – Datei angezeigt. Das ist die XDC-Datei, die in der Druckvorschau gezeigt wird, allerdings nicht die beim Druck verwendete XDC-Datei.
Es ist wichtig zu erfahren, die beim Druck verwendete XDC-Datei zu ermitteln. Diese steht in der Datei xfa.xci.
Hier sollte eigentlich laut SAP die z-xdc-Datei stehen, die auf dem ADS verwendet wird. Bei mir steht jedoch immer die Standard-XDC-Datei drin, auch wenn die Schachtsteuerung funktioniert.
Darauf kann man sich also nicht verlassen.
Sollte einiges darauf hindeuten, dass auf dem ADS-Server nicht die richtige XDC-Datei ermittelt wird, ist die gesamte Konfiguration noch einmal zu überprüfen.
Ergänzende Dokumentationen
OSS-Hinweise zur Schachtsteuerung
1729666 – Erweiterte Druckoptionen für ADS-Druck
1777740 – Druckerschachtwahl mit SAPPDFPRINT
Forum-Diskussion
https://scn.sap.com/thread/1924221
Weitere Informationen
Spezialthemen zu SAP Formularen