| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| edi-schnittstelle:kundenbestellungen_einlesen [2025/11/10 07:48] – [Einleseoptionen] Isabel Pinder | 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 |
| * **_GeschenkArtikelAbgabeWert**: Betrag ab dem der Geschenkartikel dem Auftrag hinzugefügt wird. (mindestens 0) | * **_GeschenkArtikelAbgabeWert**: Betrag ab dem der Geschenkartikel dem Auftrag hinzugefügt wird. (mindestens 0) |
| * **_GratisArtikel**: In der Importschemadatei können jetzt am Schalter "_GratisArtikel" Gratisartikel im Format "_GratisArtikel=#Art11,Art12,Art15" hinterlegt werden. Bei Plausibilitätsprüfungen auf den Positionswert werden diese ignoriert und ohne Fehler übernommen. | * **_GratisArtikel**: In der Importschemadatei können jetzt am Schalter "_GratisArtikel" Gratisartikel im Format "_GratisArtikel=#Art11,Art12,Art15" hinterlegt werden. Bei Plausibilitätsprüfungen auf den Positionswert werden diese ignoriert und ohne Fehler übernommen. |
| * **InterneEndKundenNummer**: Fixe Angabe der Kundennummer | |
| <note important>Bitte formatabhängig prüfen! Nur für IDoc und OpenTrans.</note> | |
| * **_KeinePlausibilitaetsPruefung**: Wird dieser Schalter aktiviert, dann werden die Positionswertprüfungen (Extern <> Intern, _PositionsWertOberGrenze und _PositionsWertUnterGrenze) nicht mehr durchgeführt. | * **_KeinePlausibilitaetsPruefung**: Wird dieser Schalter aktiviert, dann werden die Positionswertprüfungen (Extern <> Intern, _PositionsWertOberGrenze und _PositionsWertUnterGrenze) nicht mehr durchgeführt. |
| * **_KomplettAuftraegeBestellenFuerEinLieferant**: Im Kundebestellungsschema kann jetzt der neue Schalter „_KomplettAuftraegeBestellenFuerEinLieferant=#1“ gesetzt werden, der die automatische Bestellungserzeugung zulässt, wenn ein Auftrag komplett (bestätigt) ist und alle Positionen einem einzigen Lieferanten zugeordnet sind. Diese Funktion ist unabhängig von der Mandantenkonfiguration 393 (automatische Bestellungen) | * **_KomplettAuftraegeBestellenFuerEinLieferant**: Im Kundebestellungsschema kann jetzt der neue Schalter „_KomplettAuftraegeBestellenFuerEinLieferant=#1“ gesetzt werden, der die automatische Bestellungserzeugung zulässt, wenn ein Auftrag komplett (bestätigt) ist und alle Positionen einem einzigen Lieferanten zugeordnet sind. Diese Funktion ist unabhängig von der Mandantenkonfiguration 393 (automatische Bestellungen) |
| * **_KundenDuplikatePruefen**: bei >0 wird (nach der Neuanlage eines Kunden während der Bestellung) geprüft, ob es nun Duplikate des Kunden gibt - standardmäßig deaktiviert | * **_KundenDuplikatePruefen**: bei >0 wird (nach der Neuanlage eines Kunden während der Bestellung) geprüft, ob es nun Duplikate des Kunden gibt - standardmäßig deaktiviert |
| * **_KundenIdentifikationsart**: Bestimmt die Art wie ein Kunde Identifiziert werden kann. | * **_KundenIdentifikationsart**: Bestimmt die Art wie ein Kunde Identifiziert werden kann. |
| * 0 - CO-Kundennummer, | * 0 - CO-Kundennummer (Kunde wird ermittelt aus BUYER_PARTY/PARTY/PARTY_ID und diese Daten kommen in die Angebots- und Auftragsbestätigungsanschrift) |
| * 1 - CO-Anschriftsnummer, | * 1 - CO-Anschriftsnummer, |
| * 2 - CO-Kundennummer mit durch //-// angefügte Kostenstelle (z.B. //17482-001//), | * 2 - CO-Kundennummer mit durch //-// angefügte Kostenstelle (z.B. //17482-001//), |
| * ** _LieferadresseZusatzBildungsvorschrift**: Es kann eine Zeichenfolge angegeben werden, die als zusätzliche Zeile in den Namen der Lieferadresse aufgenommen wird. Dabei werden Platzhalter wie '#BestellNummer#' unterstützt. (s. auch _KundenBestellNummerBildungsVorschrift) | * ** _LieferadresseZusatzBildungsvorschrift**: Es kann eine Zeichenfolge angegeben werden, die als zusätzliche Zeile in den Namen der Lieferadresse aufgenommen wird. Dabei werden Platzhalter wie '#BestellNummer#' unterstützt. (s. auch _KundenBestellNummerBildungsVorschrift) |
| * **_LieferanschriftAusStammdaten**: | * **_LieferanschriftAusStammdaten**: |
| * 0 die Lieferanschrift wird komplett aus dem importierten Auftrag ermittelt (Standard) | * 0 die Lieferanschrift wird komplett aus dem importierten Auftrag ermittelt (Standard / Kommt aus SHIPMENT_PARTIES/DELIVERY_PARTY/PARTY ) |
| * 1 die Lieferanschrift wird zwangsweise aus den Stammdaten ermittelt. (Kunde muss vorhanden sein) | * 1 die Lieferanschrift wird zwangsweise aus den Stammdaten ermittelt. (Kunde muss vorhanden sein) |
| * 2 die externe Lieferanschriftsnummer wird als ILN interpretiert, über die dann aus den Stammdaten die korrekte Lieferanschrift ermittelt wird. | * 2 die externe Lieferanschriftsnummer wird als ILN interpretiert, über die dann aus den Stammdaten die korrekte Lieferanschrift ermittelt wird. |
| * **_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. |
| * **_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. |
| * **_UnsereKundennummer**: Dient als Schalter für Import von Textbestellungen bei Waser. Über diesen Schalter werden die Zeilen selektiert, welche der angebenen Kundennummer entsprechen. Kann nur verwendet werden, wenn in der Bestellung die Kundennummer des Händlers beim Lieferanten angegeben ist. | * **_UnsereKundennummer**: Dient als Schalter für Import von Textbestellungen bei Waser. Über diesen Schalter werden die Zeilen selektiert, welche der angebenen Kundennummer entsprechen. Kann nur verwendet werden, wenn in der Bestellung die Kundennummer des Händlers beim Lieferanten angegeben ist. |
| * **_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. |
| * **SammelLieferschein**=#1 ;0 - nein, 1 - ja | * **SammelLieferschein**=#1 ;0 - nein, 1 - ja |
| * **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. |