| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| edi-schnittstelle:kundenbestellungen_einlesen [2026/08/19 12:56] – [Einleseoptionen] Christoph Thum | edi-schnittstelle:kundenbestellungen_einlesen [2026/10/19 10:52] (aktuell) – Kopfrabatt Thi Thu Nguyen |
|---|
| * **_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) |
| * **_KopfRabattArtikel**: Sofern Kopfrabattangaben beim entsprechenden Dokument verarbeitet werden, kann hier der Artikel angegeben werden, über den diese am Vorgang hinterlegt werden. | |
| * **_KostenstelleAusPosAmKopfEintragen**: (nur Kundenidentifikationsart 0 oder 2) bei =1 wird die Kostenstelle aus der letzten Positionen des Auftrages an den Kopf übernommen (nur sinnvoll, wenn alle Positionen zur selben Kostenstelle gehören). Funktioniert nur, wenn _KostenstelleAusStammdaten=#0, da diese Einstellung die Option _KostenstelleAusPosAmKopfEintragen übersteuert. | * **_KostenstelleAusPosAmKopfEintragen**: (nur Kundenidentifikationsart 0 oder 2) bei =1 wird die Kostenstelle aus der letzten Positionen des Auftrages an den Kopf übernommen (nur sinnvoll, wenn alle Positionen zur selben Kostenstelle gehören). Funktioniert nur, wenn _KostenstelleAusStammdaten=#0, da diese Einstellung die Option _KostenstelleAusPosAmKopfEintragen übersteuert. |
| * **_KostenStelleAusLieferAnschriftName2**: wird die Kostenstelle im Feld Lieferanschrift.Name (zB. OpenTrans <NAME2>) übermittelt, dann kann sie über diesen Schalter als Kostenstelle verwendet werden. | * **_KostenStelleAusLieferAnschriftName2**: wird die Kostenstelle im Feld Lieferanschrift.Name (zB. OpenTrans <NAME2>) übermittelt, dann kann sie über diesen Schalter als Kostenstelle verwendet werden. |
| * #1 - Kundenanlage erlaubt | * #1 - Kundenanlage erlaubt |
| * #> 1 Verwendet die angegebene Nummer als Kontaktnummer des Auftrages, wenn der Kunde aus der Datei nicht gefunden werden kann. | * #> 1 Verwendet die angegebene Nummer als Kontaktnummer des Auftrages, wenn der Kunde aus der Datei nicht gefunden werden kann. |
| | * ** _KundenBemerkungInVorgang**: sorgt dafür, dass "Remarks" anstatt in die "Bemerkung aus Kunde" in die "Bemerkung aus Vorgang" geschrieben werden. Dieser Schalter übersteuert "_BemerkungInternVorBemerkungExtern", falls beide aktiv sind. |
| * **_KundenBestellNrEindeutigkeitPruefen**: | * **_KundenBestellNrEindeutigkeitPruefen**: |
| * 0 - keine Prüfung | * 0 - keine Prüfung |
| |
| * **_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. //Ohne Anpassungen bezieht sich dies immer auf die Kundennummer des Käufers/Auftragsgebers aus der importierten Datei. (openTRANS 1.0 BUYER_PARTY/PARTY/PARTY_ID, openTRANS 2.1 PARTY/PARTY_ID der PARTY mit PARTY_ROLE = buyer)// |
| * 0 - CO-Kundennummer (Kunde wird ermittelt aus BUYER_PARTY/PARTY/PARTY_ID und diese Daten kommen in die Angebots- und Auftragsbestätigungsanschrift) | * 0 - CO-Kundennummer |
| * 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//), |
| * 3 - ILN des Kunden. | * 3 - ILN des Kunden. |
| * 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. |
| * 3 die Angabe in <PARTY_ID type="supplier_specific">34212</PARTY_ID> wird als CO-Anschriftsnummer interpretiert | * 3 die Angabe in <PARTY_ID type="supplier_specific">34212</PARTY_ID> wird als CO-Anschriftsnummer interpretiert und die Daten von dort übernommen. |
| * **_LieferantenArtikelNrBeiArtikelSucheNichtVerwenden**: Wird dieser Schalter aktiviert, dann werden die übermittelten Bestellnummern nicht mehr mit den Lieferantenartikelbestellnummern verglichen, um hier falsche Zuordnungen auszuschließen. | * **_LieferantenArtikelNrBeiArtikelSucheNichtVerwenden**: Wird dieser Schalter aktiviert, dann werden die übermittelten Bestellnummern nicht mehr mit den Lieferantenartikelbestellnummern verglichen, um hier falsche Zuordnungen auszuschließen. |
| * **_LieferantenNummerVorgabe**: Hier kann eine Lieferantennummer gesetzt werden, so dass die Bestellung nicht beim Hauptlieferanten erfolgt. | * **_LieferantenNummerVorgabe**: Hier kann eine Lieferantennummer gesetzt werden, so dass die Bestellung nicht beim Hauptlieferanten erfolgt. |
| * **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. |