Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
edi-schnittstelle:kundenbestellungen_einlesen [2026/06/15 09:19] Andrea Mülleredi-schnittstelle:kundenbestellungen_einlesen [2026/09/03 10:22] (aktuell) – [Kundenbestellungen über die Webservice-API einlesen] Isabel Pinder
Zeile 59: Zeile 59:
   * **_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.
Zeile 273: Zeile 275:
   * **_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.
Zeile 286: Zeile 289:
   * **_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.
Zeile 297: Zeile 301:
   * **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 =====
  
Zeile 326: Zeile 332:
  
 {{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&amp;token=base64:&lt;Token&gt;" -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.
edi-schnittstelle/kundenbestellungen_einlesen.1781515180.txt.gz · Zuletzt geändert: 2026/06/15 09:19 von Andrea Müller
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0