EDI Dateien auf Inhalt prüfen und verschieben
Hallo zusammen,
ich habe gerade eine Aufgabe zu bewältigen bei welcher ich seit mehreren Tagen nicht weiterkomme. Evtl. hat ja jemand sowas schon mal gelöst.
Wir bekommen von einem Kunden täglich zu unterschiedlichen Zeiten per AS2 EDI Bestellungen (ORDERS) und Lagerbestandsberichte (INVRPT) übermittelt. Nach Erhalt befinden sich die .edi Dateien in einem Verzeichnis auf unserm EDI-Server.
Jetzt zum eigentlich Problem: Der Dateiname ist einfach eine fortlaufende Nummer sprich ich kann am Dateinamen nicht erkennen ob gerade eine Bestellung (ORDERS) oder ein Lagerbestandsbericht (INVRPT) angekommen ist. Wenn man die Datei mit einem Editor öffnet kann man am relativ schnell erkennen welcher TYP es ist. Für Bestandsberichte steht „UNH+2280+INVRPT“ und für Bestellungen „++ORDERS+++EANCOM“! Jetzt müssen aber beide Dateien von unterschiedlichen Systemen automatisch weiterverarbeitet werden. Ich muss es schaffen das Bestellungen nach erhalt automatisch nach z.B. C:/ORDERS und Bestandsberichte nach c:/ INVRPT verschoben / kopiert werden.
Unsere AS2 Software kann leider nicht auf Dateiinhalt unterscheiden… Derzeit öffne ich jede neue EDI Datei mit einem Editor prüfe ob es eine Order oder ein Bericht ist und verschiebe diese dann manuell.
Ich würde diesen Vorrang wirklich sehr sehr gerne automatisieren. Kennt wer eine Software welche sowas kann?
Vorab schon mal vielen Danke für eure Hilfe.
Tom
ich habe gerade eine Aufgabe zu bewältigen bei welcher ich seit mehreren Tagen nicht weiterkomme. Evtl. hat ja jemand sowas schon mal gelöst.
Wir bekommen von einem Kunden täglich zu unterschiedlichen Zeiten per AS2 EDI Bestellungen (ORDERS) und Lagerbestandsberichte (INVRPT) übermittelt. Nach Erhalt befinden sich die .edi Dateien in einem Verzeichnis auf unserm EDI-Server.
Jetzt zum eigentlich Problem: Der Dateiname ist einfach eine fortlaufende Nummer sprich ich kann am Dateinamen nicht erkennen ob gerade eine Bestellung (ORDERS) oder ein Lagerbestandsbericht (INVRPT) angekommen ist. Wenn man die Datei mit einem Editor öffnet kann man am relativ schnell erkennen welcher TYP es ist. Für Bestandsberichte steht „UNH+2280+INVRPT“ und für Bestellungen „++ORDERS+++EANCOM“! Jetzt müssen aber beide Dateien von unterschiedlichen Systemen automatisch weiterverarbeitet werden. Ich muss es schaffen das Bestellungen nach erhalt automatisch nach z.B. C:/ORDERS und Bestandsberichte nach c:/ INVRPT verschoben / kopiert werden.
Unsere AS2 Software kann leider nicht auf Dateiinhalt unterscheiden… Derzeit öffne ich jede neue EDI Datei mit einem Editor prüfe ob es eine Order oder ein Bericht ist und verschiebe diese dann manuell.
Ich würde diesen Vorrang wirklich sehr sehr gerne automatisieren. Kennt wer eine Software welche sowas kann?
Vorab schon mal vielen Danke für eure Hilfe.
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319013
Url: https://administrator.de/contentid/319013
Ausgedruckt am: 08.11.2024 um 10:11 Uhr
6 Kommentare
Neuester Kommentar
Lässt sich mit Powershell schnell erledigen
Gruß
$ordner = "c:\Data"
$ziel = "c:\Ziel"
gci $ordner | group {[regex]::match((gc $_.Fullname | out-string),'ORDERS|INVRPT').Value} | %{
$target = "$ziel\$($_.Name)"
If (!(Test-Path $target)){md $target -Force | out-null}
$_.Group | move-Item -Destination $target -Force
}
Moin,
du könntest das hiermit (VBS) lösen:
https://blogs.technet.microsoft.com/heyscriptingguy/2004/10/11/how-can-i ...
In dem hier erwähnten Script wird geprüft, ob sich im Verzeichnis X neue Dateien befinden. Ist das der Fall, wird zunächst der Name der Datei angezeigt.
Anstelle des Echo-Befehls könntest du aber ein Handle auf die Datei legen:
Weitere Hilfe hier:
https://blogs.technet.microsoft.com/heyscriptingguy/2007/03/29/how-can-i ...
https://msdn.microsoft.com/de-de/library/2wcf3ba6(v=vs.84).aspx
https://msdn.microsoft.com/de-de/library/752y8abs.aspx
Möglich, dass es noch eine kürzere PoerShell-Variante gäbe, aber da bin ich raus...
€dit: zu langsam :D
Gruß
em-pie
du könntest das hiermit (VBS) lösen:
https://blogs.technet.microsoft.com/heyscriptingguy/2004/10/11/how-can-i ...
In dem hier erwähnten Script wird geprüft, ob sich im Verzeichnis X neue Dateien befinden. Ist das der Fall, wird zunächst der Name der Datei angezeigt.
Anstelle des Echo-Befehls könntest du aber ein Handle auf die Datei legen:
- Datei öffnen
- Zeile/ Stelle auslesen, welche für dich relevant ist
- je nach gefundenem Kriterium die Datei verschieben
Weitere Hilfe hier:
https://blogs.technet.microsoft.com/heyscriptingguy/2007/03/29/how-can-i ...
https://msdn.microsoft.com/de-de/library/2wcf3ba6(v=vs.84).aspx
https://msdn.microsoft.com/de-de/library/752y8abs.aspx
Möglich, dass es noch eine kürzere PoerShell-Variante gäbe, aber da bin ich raus...
€dit: zu langsam :D
Gruß
em-pie