PEIQ Knowledge Base
[1-28] INBOUND Anzeigenimport von kaufmännischem System
Transportverfahren | Datei-Import/Export über SFTP-Hotfolder |
|---|---|
Objekt | Anzeigen (XML (Buchungsdaten: eine XML-Datei pro Auftrag oder pro Anzeige mit jeweils allen Daten des Auftrages / der Anzeige), PDF (Anzeigenmotive)) |
Trigger | zeitgesteuert mit Intervall (Workflow-basiert) |
Typische Drittsysteme | Typische Drittsysteme sind zum Beispiel Vi&Va, SAP oder alfa adsuite |
Funktionalitäten der Schnittstelle
Import Auftragsdaten
Import Anzeigenmotive
Inhaltsverzeichnis
Eindeutigkeit der Anzeige
Eine Anzeige besteht in PRINT NGEN aus genau einem Anzeigenmotiv im PDF-Format und einem Buchungssatz im XML-Format.
Die eindeutige Zuordnung von Anzeigenmotiv und Buchungssatz erfolgt über den Dateinamen des Anzeigenmotivs (PDF) sowie der Anzeigennummer im Buchungssatz (XML). Die Anzeigennummer sollte daher eine Kombination aus Auftragsnummer und Motivnummer sein und muss über Erscheinungstage hinweg bis zum Löschdatum der Anzeige eindeutig bleiben.
Der Dateiname des Buchungssatzes spielt keine Rolle.
Wenn im Anzeigensystem einem Auftrag mehrere Anzeigenmotive zugeordnet sind, muss zu jedem Anzeigenmotiv ein eigener Buchungssatz an NGEN übermittelt werden.
Import der Buchungssätze
Das Anzeigensystem übermittelt für jede Anzeige einen Buchungssatz als XML-Datei in das SFTP-Verzeichnis \Anzeigenimport\xml.
Ein Dämon-Rechner überwacht dieses Verzeichnis und importiert automatisch die XML-Dateien in die NGEN-Datenbank. Die Struktur und die Felder der XML-Datei werden nachfolgend beschrieben.
Der oder die Planer:in kann die Anzeige platzieren, sobald der Buchungssatz in NGEN vorliegt.
XML-Beispiel
Nachfolgend ein Beispiel der Struktur eines Buchungssatzes. Alle Felder, die zur technischen Produktion unbedingt erforderlich sind, sind fett gekennzeichnet (Pflichtfelder). Die anderen Felder werden optional für weitere Funktionalitäten benötigt (siehe entsprechende Beschreibungen) und optimieren den digitalen Workflow.
<?xml version="1.0" encoding="UTF-8"?>
<Anzeigen>
<Anzeige>
<DAnzeigeNr>500011-1</DAnzeigeNr>
<AENVERS_NR>1</AENVERS_NR>
<DAnzAuftragNr>500011</DAnzAuftragNr>
<DAnzMotivNr>1</DAnzMotivNr>
<DAnzeigeName>Musteranzeige1</DAnzeigeName>
<DAnzeigeKunde>Musterkunde</DAnzeigeKunde>
<DAnzeigeKundenNr>344453</DAnzeigeKundenNr>
<Status>Geplant</Status>
<DAnzProduktTyp>TA</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>45</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>75</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht>
<DAnzGroesseFest>001</DAnzGroesseFest>
<DAnzSort1/>
<DAnzSort2/>
<DAnzeigeFormat>mitLinie</DAnzeigeFormat>
<AnzeigeBuchungen>
<Buchung>
<Ausgabe>peiq-crea</Ausgabe>
<Termin>2026-05-25</Termin>
<AnzeigenRubrik>S011</AnzeigenRubrik>
<Platzierung>s1</Platzierung>
<PlKommentar>Erste Seite</PlKommentar>
<Kollektiv></Kollektiv>
</Buchung>
<Buchung>
<Ausgabe>peiq-crea</Ausgabe>
<Termin>2026-05-26</Termin>
<AnzeigenRubrik>S011</AnzeigenRubrik>
<Platzierung>s1</Platzierung>
<PlKommentar>Erste Seite</PlKommentar>
<Kollektiv></Kollektiv>
</Buchung>
</AnzeigeBuchungen>
</Anzeige>
<Anzeige>
<DAnzeigeNr>500011-2</DAnzeigeNr>
<AENVERS_NR>1</AENVERS_NR>
<DAnzAuftragNr>500011</DAnzAuftragNr>
<DAnzMotivNr>2</DAnzMotivNr>
<DAnzeigeName>Musteranzeige2</DAnzeigeName>
<DAnzeigeKunde>Musterkunde</DAnzeigeKunde>
<DAnzeigeKundenNr>344453</DAnzeigeKundenNr>
<Status>beauftragt</Status>
<DAnzProduktTyp>TA</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>90</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>75</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht>
<DAnzGroesseFest>001</DAnzGroesseFest>
<DAnzSort1/>
<DAnzSort2/>
<DAnzeigeFormat></DAnzeigeFormat>
<AnzeigeBuchungen>
<Buchung>
<Ausgabe>ta-ma</Ausgabe>
<Termin>2026-05-26</Termin>
<AnzeigenRubrik>S011</AnzeigenRubrik>
<Platzierung>s1</Platzierung>
<PlKommentar>Erste Seite</PlKommentar>
<Kollektiv></Kollektiv>
</Buchung>
</AnzeigeBuchungen>
</Anzeige>
</Anzeigen>
Beschreibung der Felder
Feld | Pflicht | Bezeichnung | Wert | Funktion |
|---|
Feld | Pflicht | Bezeichnung | Wert | Funktion |
|---|---|---|---|---|
Anzeigen | ja |
| [XML] | Umschließendes Tag für alle Anzeigen |
Anzeige | ja |
| [XML] | Umschließendes Tag für eine einzelne Anzeige. Ein XML kann Daten für mehrere Anzeigen enthalten. |
DAnzeigeNr | ja | Anzeigennummer | [Zeichen] | Definiert die Eindeutigkeit einer Anzeige und ordnet Anzeigenmotiv und Buchungsdaten einander zu. |
AENVERS_NR | nein | Änderungs-versionsnummer | [NUMBER] | Wenn vom Anzeigensystem mehrere XMLs zum gleichen Auftrag im Import-Ordner abgelegt werden und diese nicht sofort nacheinander importiert werden, sondern erst später in einer unbestimmten Reihenfolge, dann stellt diese Nummer sicher, dass eine in PRINT NGEN bereits vorhandene Anzeige nicht mit einer älteren Version überschrieben wird. Ganzzahl, Maximal erlaubte Länge: 30 Stellen |
DAnzAuftragNr | nein | Auftragsnummer |
| informativ |
DAnzMotivNr | nein | Motivnummer |
| informativ |
DAnzeigeName | nein | Anzeigenname | [Zeichen] | informativ |
DAnzeigeKunde | nein | Kundenname | [Zeichen] | informativ |
DAnzeigeKundenNr | nein | Kundennummer | [Zeichen] | informativ |
Status | nein | kfm. Status | [Zeichen] | optional: hat Auswirkung auf die Sichtbarkeit eines Anzeigenmotivs auf Seiten |
DAnzProduktTyp | nein | Produkttyp | [Zeichen] | Dieses Merkmal kann eine blattbestimmende von einer Kleinanzeige unterscheiden. Mögliche Werte “AT” (Anzeigenteil), “TT” (Textteil) oder “TA” (Textanschließend) |
DAnzeigeBreiteGebucht | ja | gebuchte Breite in mm | [Größe] | Definiert die Breite des Anzeigenbereiches auf der Seite, wenn noch kein Anzeigenmotiv vorliegt. Wird mit Motivbreite verglichen. |
DAnzeigeHoeheGebucht | ja | gebuchte Höhe in mm | [Größe] | Definiert die Höhe des Anzeigenbereiches auf der Seite, wenn noch kein Anzeigenmotiv vorliegt. Wird mit Motivhöhe verglichen. |
DAnzeigeFarbPlanGebucht | ja | gebuchte Farben | [Farben] z.B. K,C,M,Y | Definiert die benötigten Farben des Anzeigenbereiches auf der Seite, wenn noch kein Anzeigenmotiv vorliegt. Wird mit dem Farbplan des Motivs verglichen. |
DAnzGroesseFest | nein | feste Anzeigenhöhe |
| Definiert, ob die gebuchte Höhe fix oder variabel ist. |
DAnzSort1 | nein | Sortierkriterium 1 | [Zeichen] | Sortierung von Anzeigen im Kleinanzigenumbruch |
DAnzSort2 | nein | Sortierukriterium 2 | [Zeichen] | Sortierung von Anzeigen im Kleinanzigenumbruch |
DAnzeigeFormat | nein | Anzeigenformat | [Zeichen] | Ermöglicht die automatische Generierung von Anzeigentrennlinien im Anzeigenumbruch |
AnzeigeBuchungen | ja |
|
| Umschließendes Tag für die Buchungen einer Anzeige; nimmt die einzelnen Buchungen als XML-Daten auf |
Buchung | ja |
| [XML] | Definiert eine Buchung für die Anzeige |
Ausgabe | ja | Ausgabe | [Zeichen] | Definiert die Ausgabe oder den Belegungsbereich innerhalb einer Buchung |
Termin | ja | ERscheinungstermin | [Datum] | Definiert den Erscheinungstag innerhalb einer Buchung |
AnzeigenRubrik | ja | Anzeigenrubrik | [Zeichen] | Notwendig für rubrizierten Kleinanzeigenumbruch. Bestimmte Rubriken können blattbestimmende Anzeigen kennzeichnen. |
Platzierung | nein | Platzierungsvorschrift | [Ressort, Seite, Buchseite, Seitenname/oben, unten, innen, außen] | Angabe in NGEN-Syntax oder eindeutig übersetzbar in NGEN-Syntax; ermöglicht ein halbautomatisches Platzieren von Anzeigen auf Knopfdruck |
PlKommentar | nein | Platzierungshinweis | [Zeichen] | Freitextlicher Platzierungshinweis. Wird informativ zur Anzeige übernommen. Maximal erlaubte Länge: 249 Zeichen |
Kollektiv | nein | Kollektivbezeichnung / Name der Sonderveröffentlichung | [Zeichen] | Relevant für die Zuordnung von Anzeigen zu Kollektiven / Sonderveröffentlichungen |
Einschränkungen zu mitgelieferten Inhalten
Neben den Pflichtfeldern, die zwingend mitgeliefert werden müssen, gibt es für bestimmte Eigenschaften auch eine formale Struktur, die eingehalten werden muss.
DAnzProduktTyp
Zu DAnzProduktTyp dürfen nur folgende Werte geliefert werden: “AT”, “TT” oder “TA”.
Richtig angeliefertes Beispiel:
<DAnzProduktTyp>TT</DAnzProduktTyp>
Falsch angelieferte Beispiele:
<DAnzProduktTyp>TT-Textteil</DAnzProduktTyp>
<DAnzProduktTyp>ST</DAnzProduktTyp>
DAnzeigeBreiteGebucht und DAnzeigeHoeheGebucht
Kommastellen müssen hier mit einem “.” oder “,” voneinander getrennt werden (ein Punkt wird in dem Stylesheet in ein Komma umgewandelt). Beispiel:
angeliefert: <DAnzeigeBreiteGebucht>47.8</DAnzeigeBreiteGebucht> → Fehler
wird übersetzt in: <DAnzeigeBreiteGebucht>47,8</DAnzeigeBreiteGebucht>
DAnzGroesseFest
Im Feld DAnzGroesseFest wird die Information übergeben, ob die Anzeige mit einer festen oder flexiblen Höhe gebucht wurde. Im Falle einer flexiblen Höhe ergibt sich die endgültige Höhe aus dem angelieferten PDF (Anzeigenmotiv). Dieses Feld ist optional. Standardmäßig sollen die Werte “Ja” oder “Nein” angeliefert werden. Ist dies nicht möglich, kann eine Mapping-Abbildung “AnzeigenImportXML_Anzeige_AnzeigenGroesseFest” eingerichtet werden. Hierfür bitte an das PEIQ Support Team wenden.
Wenn DAnzGroesseFest = Nein übermittelt wird, wird die Höhe des angelieferten Motivs unter folgenden Bedingungen als gebuchte Größe zur Anzeige übernommen:
Die Höhe des gelieferten Motivs ist eine andere als die gebuchte Höhe der Anzeige.
Die Breite des gelieferten Motivs weicht maximal 1 mm von der gebuchten Breite der Anzeige ab.
Somit erhält die Anzeige beim Abgleich von Buchungs- und Motivgrößen nicht den Status “Fehler”.
Bei geänderter Höhe im Motiv und abweichender gebuchter Höhe in den XML-Daten (DAnzeigeHoeheGebucht) übernimmt die importierte Anzeige stets die Höhe des Motivs.
Termin
Termine (Erscheinungstage) müssen in dem Format “JJJJ-MM-TT” mitgeliefert werden.
Richtig angeliefertes Beispiel:
<Termin>2023-02-22</Termin>
Falsch angeliefertes Beispiel:
<Termin>22.02.2023</Termin>
Import der Anzeigenmotive vom Anzeigensystem
Zusätzlich überstellt das Anzeigensystem das Anzeigenmotiv als PDF-Datei in das SFTP-Verzeichnis \Anzeigenimport\pdf.
Auch dieses Verzeichnis wird vom Dämon-Rechner überwacht, der die angelieferten PDF-Dateien automatisch in die NGEN-Datenbank importiert.
Buchungssatz und Anzeigenmotiv können in beliebiger Reihenfolge importiert werden.
PRINT NGEN erwartet alle Anzeigenmotive als „normalisierte“ PDF-Dateien. Ein vorgeschalteter Prozess muss sicherstellen, dass z. B. alle Schriften eingebettet und keine OPI-Kommentare enthalten sind. Hierfür können Tools wie Asura von OneVision verwendet werden.
Beim Import des hochaufgelösten Anzeigenmotivs erstellt PRINT NGEN drei verschiedene Auflösungsvarianten für die Bildschirmdarstellung.
Beim Import des Anzeigenmotivs in PRINT NGEN zu einer bereits platzierten Anzeige, ist dieses sofort auf der Seite sichtbar.
Überprüfung der Anzeigendaten
Beim Import eines Anzeigenmotivs erfolgt ein automatischer Abgleich mit dem Buchungssatz. Die gebuchte Breite, Höhe und Farbigkeit der Anzeige werden mit den Ist-Daten aus der PDF-Datei des Anzeigenmotivs überprüft. Abweichungen in der Größe werden bis zu einem im Benutzerkontext einstellbaren Wert akzeptiert. In der Regel sind das 0,5mm.
Bei größeren Abweichungen oder Abweichungen in der Farbigkeit wird die Anzeige in den Status „Fehler“ versetzt.
Bei erfolgreicher Prüfung wird die Anzeige in den Status „Fertig“ gesetzt.
Update von Anzeigen
Wenn im Anzeigensystem aktualisierte Buchungssätze oder Anzeigenmotive vorliegen, werden diese in der o. g. Form an NGEN überstellt. Das Update erfolgt über die eindeutige Zuordnung aus Anzeigennummer und PDF-Dateiname.
Der Buchungssatz bzw. das Anzeigenmotiv werden in NGEN entsprechend aktualisiert. Alle Änderungen sind in NGEN über die Historie in Inhalt und Zeitpunkt nachvollziehbar.
NGEN überprüft automatisch bei jeder aktualisierten Anzeige, ob diese auf einer Seite mit Erscheinung in der Zukunft platziert ist. Ist das der Fall, wird überprüft, ob sich das Update auf die Erscheinungsweise auswirkt. Ist es zu einer Größenänderung gekommen, wird die Anzeige auf den Seiten mit einem Gelb-grünen Rahmen markiert. Gibt es nach dem Update keine zur Platzierung passende Buchung mehr, wird die Anzeige auf der Seite mit einem roten Rahmen und roten Kreuz als storniert markiert.
Anzeigen, die auf einer Seite mit Erscheinung in der Zukunft platziert sind und eine Aktualisierung des Buchungssatzes erfahren, werden von NGEN automatisch auf der Seite angepasst und die betroffenen Seiten in eine dafür vorgesehene Arbeitsmappe gelegt, in der sie von Planer:in oder Redakteur:in den Aktualisierungen entsprechend bearbeitet werden.
Storno
Um Anzeigen als “Storniert” zu kennzeichnen, sind leere Buchungen mitzugeben. Wichtig zu beachten ist, dass das Tag für die Buchungen weiterhin bestehen muss. Lediglich die Inhalte sind leer zu lassen.
Beispiel einer korrekt angelieferten, stornierten Anzeige:
<Anzeigen>
- <Anzeige>
<DAnzeigeNr>638308-1</DAnzeigeNr>
<DAnzAuftragNr>638308</DAnzAuftragNr>
<DAnzMotivNr>1</DAnzMotivNr>
<DAnzeigeName>638308name</DAnzeigeName>
<DAnzeigeKunde />
<DAnzeigeKundenNr />
<Status>storno</Status>
<DAnzProduktTyp>AT</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>42</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>42</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht />
<DAnzSort1 />
<DAnzSort2 />
<AnzeigeBuchungen />
</Anzeige>
</Anzeigen>
Voraussetzungen für den Betrieb der Schnittstelle:
Belieferung des sFTP mit entsprechendem XML
Das Modul Blattplanung (optional Anzeigenumbruch, technisches Anzeigensystem) muss sich im Einsatz befinden.
Es müssen immer die gesamten Daten eines Auftrages im XML mitgeliefert werden – auch beim Update (kein Delta, Teile oder einzelne Erscheinungstage).
Auslagerung von Bilddaten zur Entlastung der Datenbank
Anzeigenmotive von Anzeigen, deren letzte Erscheinung mehr als 30 Tage zurückliegt, werden automatisch ins Filesystem ausgelagert. Die Erzeugung von Druck-PDFs ist auch nach dem Auslagern der Anzeigenmotive weiterhin möglich.
Verwandte Seiten
Nur für PEIQ-Mirabeiter:innen