| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| edi-schnittstelle:kundenbestellungen_einlesen [2026/05/06 07:58] – n.schaefer | edi-schnittstelle:kundenbestellungen_einlesen [2026/09/03 10:22] (aktuell) – [Kundenbestellungen über die Webservice-API einlesen] Isabel Pinder |
|---|
| * **_AnschriftenUeberKostenstelle**: bei >0 werden die Anschriften über die Kostenstelle ermittelt, sofern der Kunde vorhanden und eine Kostenstelle angegeben ist | * **_AnschriftenUeberKostenstelle**: bei >0 werden die Anschriften über die Kostenstelle ermittelt, sofern der Kunde vorhanden und eine Kostenstelle angegeben ist |
| * **_APBestellungInBestellnummer**: bei >0 wird der AP für die Bestellung (gegebenenfalls nach der Bestellnummer und dem Bestelldatum) in das Bestellnummern-Feld von CO eingetragen | * **_APBestellungInBestellnummer**: bei >0 wird der AP für die Bestellung (gegebenenfalls nach der Bestellnummer und dem Bestelldatum) in das Bestellnummern-Feld von CO eingetragen |
| | * **_ApiArchivVerzeichnis**: Verzeichnis, in dem Kundenbestellungen abgelegt werden, die über die Webservice-API importiert wurden und zu einem Vorgang geführt haben. Es ist ein vollständiger Pfad anzugeben; ohne Angabe erfolgt keine Archivierung. Gilt nicht für das Einlesen aus einem Verzeichnis. Siehe Abschnitt „Kundenbestellungen über die Webservice-API einlesen“. |
| | * **_ApiFehlerArchivVerzeichnis**: wie _ApiArchivVerzeichnis, jedoch für übermittelte Bestellungen, aus denen kein Vorgang angelegt werden konnte. |
| * **_ArtikelErstausstattungHinzufuegen**: bei>0 werden zugeordnete Erstausstattungsartikel automatisch hinzugefügt | * **_ArtikelErstausstattungHinzufuegen**: bei>0 werden zugeordnete Erstausstattungsartikel automatisch hinzugefügt |
| * **_APLieferungInLieferadresse**: bei >0 wird der Ansprechpartner für die Lieferung (gegebenenfalls nach dem Liefername und der Abteilung) in die Lieferanschrift (Feld //Liefername//) eingetragen. | * **_APLieferungInLieferadresse**: bei >0 wird der Ansprechpartner für die Lieferung (gegebenenfalls nach dem Liefername und der Abteilung) in die Lieferanschrift (Feld //Liefername//) eingetragen. |
| * **_BeiFolgeArtikelWarnen**: bei =0 wird nur die Info im Protokoll hinterlegt, dass ein Artikel durch einen Folgeartikel ersetzt wurde, bei =1 wird der Vorgang in so einem Fall auf 'Erfasst' gesetzt. Der Standwert ist wie bisher =1 | * **_BeiFolgeArtikelWarnen**: bei =0 wird nur die Info im Protokoll hinterlegt, dass ein Artikel durch einen Folgeartikel ersetzt wurde, bei =1 wird der Vorgang in so einem Fall auf 'Erfasst' gesetzt. Der Standwert ist wie bisher =1 |
| * **_BeiLieferungsBemerkungAuftragAufErfasst**: falls eine Bemerkung für die Lieferung vorhanden ist (Kopf wie Position), wird der Auftrag auf 'erfasst' gesetzt. | * **_BeiLieferungsBemerkungAuftragAufErfasst**: falls eine Bemerkung für die Lieferung vorhanden ist (Kopf wie Position), wird der Auftrag auf 'erfasst' gesetzt. |
| * **_BeiVertragLeistungAuftragAufErfasst**: speichert den Vorgang im Status 'erfasst', falls eine Vertragsleistung gewährt wurde. Voraussetzung ist, dass Konfiguration 236 aktiviert wurde. | * **_BeiVertragLeistungAuftragAufErfasst**: speichert den Vorgang im Status 'erfasst', falls eine Vertragsleistung gewährt wurde. Voraussetzung ist, dass Konfiguration 236 (Zuordnung von Vertragsleistungen automatisch vornehmen) aktiviert wurde. |
| * **_BemerkungAlsArtikelPosition (zB. REMARKS aus ORDER_HEADER bei openTRANS)**: | * **_BemerkungAlsArtikelPosition (zB. REMARKS aus ORDER_HEADER bei openTRANS)**: |
| * 0 - keine Bemerkung als erste Artikelposition | * 0 - keine Bemerkung als erste Artikelposition |
| * **_TextPositionTBS**: fügt einen Textbaustein vor der Positionsliste ein. zB _TextPositionTBS=#bwNews fügt den Textbaustein mit dem Schlüssel 'bwNews' ein. | * **_TextPositionTBS**: fügt einen Textbaustein vor der Positionsliste ein. zB _TextPositionTBS=#bwNews fügt den Textbaustein mit dem Schlüssel 'bwNews' ein. |
| * **_TextPositionTBSAmEnde**: fügt einen Textbaustein am Ende der Positionsliste ein. zB _TextPositionTBS=#bwNews fügt den Textbaustein mit dem Schlüssel 'bwNews' ein. | * **_TextPositionTBSAmEnde**: fügt einen Textbaustein am Ende der Positionsliste ein. zB _TextPositionTBS=#bwNews fügt den Textbaustein mit dem Schlüssel 'bwNews' ein. |
| | * **_TourErmittlungsRechercheNummer=<nnnn>**: Es besteht die Möglichkeit beim Kundenbestellungsimport, als Rückfallvariante die Tour über eine Recherche bei Auftragsimport ermitteln zu lassen. |
| * **UeberGeordneterGeschaeftsbereich**=#XX. Der Kundenbestellungsimport ermittelt den Geschäftsbereich über die Filiale aus dem Kunden. Der Schalter UeberGeordneterGeschaeftsbereich=#BOE guckt, welche Lieferanschrift mit der Bestellung kommt, und prüft die Filiale anhand dieser Anschrift sowie welche Geschäftsbereich für diese Filiale festgelegten ist. | * **UeberGeordneterGeschaeftsbereich**=#XX. Der Kundenbestellungsimport ermittelt den Geschäftsbereich über die Filiale aus dem Kunden. Der Schalter UeberGeordneterGeschaeftsbereich=#BOE guckt, welche Lieferanschrift mit der Bestellung kommt, und prüft die Filiale anhand dieser Anschrift sowie welche Geschäftsbereich für diese Filiale festgelegten ist. |
| * **_UebernahmeKundenbestellpositionsnummer**: bei >0 wird die Positionsnummer der Kundenbestellung übernommen. Standardmäßig erfolgt eine Übernahme der Kundenbestellpositionsnummer. | * **_UebernahmeKundenbestellpositionsnummer**: bei >0 wird die Positionsnummer der Kundenbestellung übernommen. Standardmäßig erfolgt eine Übernahme der Kundenbestellpositionsnummer. |
| * **_WunschLieferTerminIgnorieren**: bei =1 wird der elektronisch übermittelte Wunschliefertermin ignoriert, so dass die Auslieferung abhängig von der Tour zeitnah erfolgen kann. | * **_WunschLieferTerminIgnorieren**: bei =1 wird der elektronisch übermittelte Wunschliefertermin ignoriert, so dass die Auslieferung abhängig von der Tour zeitnah erfolgen kann. |
| * **_WunschLieferTerminVersatz**: Mit Hilfe des Schalters '_WunschLieferTerminVersatz' kann beim Import von mehreren Dateien dafür gesorgt werden, dass der Wunschliefertermin ab einer bestimmten Anzahl verschoben wird._WunschLieferTerminVersatz=#50:1;100:2 bedeutet, ab der 51. Bestellung Wunschliefertermin oder Heute +1, ab der der 101. Bestellung +2. Die Anzahl wird pro Kundennummer gezählt. Es kann auch zusätzlich ein Delay zum Versatz angegeben werden. _WunschLieferTerminVersatz=#2:4:1 bedeutet damit, das aller zwei Vorgänge ein Versatz von 4 Arbeitstagen statt findet und ab dem ersten Vorgang ein zusätzlicher Versatz von einem Tag. | * **_WunschLieferTerminVersatz**: Mit Hilfe des Schalters '_WunschLieferTerminVersatz' kann beim Import von mehreren Dateien dafür gesorgt werden, dass der Wunschliefertermin ab einer bestimmten Anzahl verschoben wird._WunschLieferTerminVersatz=#50:1;100:2 bedeutet, ab der 51. Bestellung Wunschliefertermin oder Heute +1, ab der der 101. Bestellung +2. Die Anzahl wird pro Kundennummer gezählt. Es kann auch zusätzlich ein Delay zum Versatz angegeben werden. _WunschLieferTerminVersatz=#2:4:1 bedeutet damit, das aller zwei Vorgänge ein Versatz von 4 Arbeitstagen statt findet und ab dem ersten Vorgang ein zusätzlicher Versatz von einem Tag. |
| | * ** _ZahlungsbedingungAusStammdaten** : bei 1 werden die Zahlungsbedingungen immer aus den Stammdaten ermittelt, anstatt das versucht wird eine entsprechend der Datei aus CO zu ermitteln. |
| * **_ZuIgnorierendeKostenstellen**: Es können mit Komma getrennte Kostenstellen angegeben werden, die beim Auftragsimport nicht in den Vorgang übernommen werden sollen. | * **_ZuIgnorierendeKostenstellen**: Es können mit Komma getrennte Kostenstellen angegeben werden, die beim Auftragsimport nicht in den Vorgang übernommen werden sollen. |
| * **_ZulieferndeMengeSetzen**: bei >0 wird die zuliefernde Menge auf die bestellte Menge gesetzt. Ist der Eintrag nicht vorhanden wird die zuliefernde Menge nicht gesetzt. | * **_ZulieferndeMengeSetzen**: bei >0 wird die zuliefernde Menge auf die bestellte Menge gesetzt. Ist der Eintrag nicht vorhanden wird die zuliefernde Menge nicht gesetzt. |
| * **SammelRechnung**=#1 ;0 - nein, 1 - ja | * **SammelRechnung**=#1 ;0 - nein, 1 - ja |
| * **SbMitarbeiterNr** =# kein Eintrag oder Wert=0 - es wird der lt. CO zuständige Sachbearbeiter ermittelt, Wert > 0 - der vorgegebene Wert wird als Sachbearbeiternummer verwendet, Wert=-1 - der aktuell angemeldete Mitarbeiter wird verwendet | * **SbMitarbeiterNr** =# kein Eintrag oder Wert=0 - es wird der lt. CO zuständige Sachbearbeiter ermittelt, Wert > 0 - der vorgegebene Wert wird als Sachbearbeiternummer verwendet, Wert=-1 - der aktuell angemeldete Mitarbeiter wird verwendet |
| | |
| | |
| ===== Filteroptionen ===== | ===== Filteroptionen ===== |
| |
| |
| {{tag>Edi-Schnittstelle OEXXML Kundenbestellungen}} | {{tag>Edi-Schnittstelle OEXXML Kundenbestellungen}} |
| | |
| | |
| | ===== Kundenbestellungen über die Webservice-API einlesen ===== |
| | |
| | Neben dem Einlesen aus einem Verzeichnis können Kundenbestellungen auch direkt über den [[allgemein:webservice|Concept Office Webservice]] übergeben werden. Das anbindende System übermittelt die Bestellung als Datenstrom und erhält unmittelbar zurück, ob ein Vorgang angelegt wurde und unter welcher Auftragsnummer. Eine Dateiablage ist dafür nicht erforderlich. |
| | |
| | Unterschiede zum Einlesen aus einem Verzeichnis: |
| | |
| | * Es wird ausschließlich das Format **OpenTrans** unterstützt. |
| | * Pro Aufruf wird genau eine Bestellung verarbeitet. |
| | * Das zu verwendende Übernahmeschema (die Sektion aus der //Kundenbestellung_einlesen.ini//) wird beim Aufruf mitgegeben. |
| | * Die Rückmeldung erfolgt sofort in der Antwort des Aufrufs. |
| | |
| | Die Pfade gelten unterhalb des hinterlegten Endpunktes für den Service Host, also z.B. unterhalb von %%http://<server>:<port>/Office/CoServiceRestApi/%% |
| | |
| | * **office/auftraege/importOpenTrans?section=<Sektion>&token=<Token>** (POST): Import. Der Dateiinhalt wird als Bytestream im Body übergeben. Als **section** sind nur Sektionen zulässig, die in der //Kundenbestellung_einlesen.ini// angelegt sind. |
| | |
| | <html> |
| | <table width="100%" style="border:0px;"> |
| | <tr> |
| | <td style="border:3px solid #228b22; padding:5px; background-color:#d9fdd9;"> |
| | <table width="100%" style="border:0px; margin:0px"> |
| | <tr> |
| | <td width="100px" style="border:0px; text-align:center; padding:5px;" > |
| | <img src="./scpictures/beispiel.png"> |
| | </td> |
| | <td style="border:0px; padding:10px; "> |
| | <p><b>Beispiel:</b>Übergabe einer Bestellung</p> |
| | <p><code>curl -X POST "http://localhost:8080/Office/CoServiceRestApi/office/auftraege/importOpenTrans?section=xmlOEXOrderImport&token=base64:<Token>" -H "Content-Type: application/xml" --data-binary "@bestellung.xml"</code></p> |
| | </td> |
| | </tr> |
| | </table></td></tr></table> |
| | </html> |
| | |
| | Die Antwort enthält: |
| | |
| | * **AuftragsNummer**: Nummer des angelegten Vorgangs, **0** wenn kein Vorgang angelegt werden konnte |
| | * **Erfolgreich** bzw. **HatFehler**: Ergebnis des Imports |
| | * **Message**: Meldungstext |
| | |
| | |
| | <html> |
| | <table width="100%" style="border:0px;"> |
| | <tr> |
| | <td style="border:3px solid #87220a; padding:5px; background-color:#ffebcd;"> |
| | <table width="100%" style="border:0px; margin:0px"> |
| | <tr> |
| | <td width="100px" style="border:0px; text-align:center; padding:5px;" > |
| | <img src="./scpictures/rechte.png"> |
| | </td> |
| | <td style="border:0px; padding:10px;"> |
| | <p><a href="http://www.software-concept.de/wiki/doku.php?id=administration:rechteverwaltung" style="color:#56B04F;"></a>Voraussetzung ist das Recht zum Anlegen von Vorgängen</p> |
| | <p></p> |
| | <ul style="color: #333333;"> |
| | </ul> |
| | |
| | </td> |
| | </tr> |
| | </table></td></tr></table> |
| | </html> |
| | |
| | |
| | Archivierung der Bestellung: |
| | |
| | * **_ApiArchivVerzeichnis** |
| | * **_ApiFehlerArchivVerzeichnis** |
| | |
| | <html> |
| | <table width="100%" style="border:0px;"> |
| | <tr> |
| | <td style="border:3px solid #228b22; padding:5px; background-color:#d9fdd9;"> |
| | <table width="100%" style="border:0px; margin:0px"> |
| | <tr> |
| | <td width="100px" style="border:0px; text-align:center; padding:5px;" > |
| | <img src="./scpictures/beispiel.png"> |
| | </td> |
| | <td style="border:0px; padding:10px; "> |
| | <p><b>Beispiel:</b></p> |
| | <p><code>_ApiArchivVerzeichnis=#\\fileserver\co\edi\api\archiv</code> |
| | <br><code>_ApiFehlerArchivVerzeichnis=#\\fileserver\co\edi\api\fehler</code></p> |
| | <p>Ergibt z.B. die Datei <code>API_xmlOEXOrderImport_20260818_142212_230000627.xml</code></p> |
| | </td> |
| | </tr> |
| | </table></td></tr></table> |
| | </html> |
| | |
| | <note important> |
| | Ist kein Verzeichnis angegeben, wird nicht archiviert. Diese Verzeichnisse gelten ausschließlich für den Import über die API. |
| | </note> |
| | |
| | Die Dateien werden nach dem Muster **API_<Sektion>_<YYYYMMDD>_<HHMMSS>_<Auftragsnummer>.xml** abgelegt. |
| | Konnte kein Vorgang angelegt werden, entfällt die Auftragsnummer im Dateinamen. |
| | |
| | Die Protokollierung erfolgt nach derselben Logik wie beim EDI-Import. |