Hallo zusammen,
ich baue zur Zeit einen Converter mit dem ich csv-Dateien in ein EDI-Format umwandeln kann.
Leider krieg ich die Gruppierung nicht hin, vielleicht kann mir ja jemand einen Tipp geben
CSV-Beispielstruktur
Datum;Liefantnr;Lieferantname;Lieferscheinnr;Port;Position;ArtikelNR;Artikel;Menge;Preis;AuftragGPreis
01.01.17;100001;LieferanABCD;20000011411;9,99€;000001;99998888;Muster;000001;9,99;27,97
01.01.17;100001;LieferanABCD;20000011411;9,99€;000002;99998887;Demo1;000002;8,99;27,97
01.01.17;100001;LieferanABCD;20000011412;5,99€;000001;99998888;Muster;000001;9,99;9,99
01.01.17;100221;LieferanEFGH;20000011415;9,99€;000001;77998888;Kugel;000001;9,99;9,99
02.01.17;100001;LieferanABCD;20000011413;9,99€;000001;99998888;Muster;000001;9,99;9,99
Ergebnis sollte dann z.B.
01.01.17
100001|LieferanABCD
20000011411|9,99€
000001|99998888|Muster|000001|9,99
000002|99998887|Demo1|000001|8,99
27,97
01.01.17
100001|LieferanABCD
20000011412|5,99€
000001|99998888|Muster|000001|9,99
9,99
01.01.17
100221|LieferanEFGH
20000011415|9,99€
000001|77998888|Kugel|000001|9,99
9,99
02.01.17
100001|LieferanABCD
20000011413|9,99€
000001|99998888|Muster|000001|9,99
9,99
hierbei handelt es sich lediglich um ein kleines Beispiel.
So habe ich das bisher umgesetzt und es hat auch funktioniert, weil in einer Datei nur ein Auftag mit mehreren Positionen war.
Die Dateien beihalten nun mehrere Aufträge und da komme ich nicht weiter.
Hier ein Ausschnitt aus meinem Quellcode
ich baue zur Zeit einen Converter mit dem ich csv-Dateien in ein EDI-Format umwandeln kann.
Leider krieg ich die Gruppierung nicht hin, vielleicht kann mir ja jemand einen Tipp geben
CSV-Beispielstruktur
Datum;Liefantnr;Lieferantname;Lieferscheinnr;Port;Position;ArtikelNR;Artikel;Menge;Preis;AuftragGPreis
01.01.17;100001;LieferanABCD;20000011411;9,99€;000001;99998888;Muster;000001;9,99;27,97
01.01.17;100001;LieferanABCD;20000011411;9,99€;000002;99998887;Demo1;000002;8,99;27,97
01.01.17;100001;LieferanABCD;20000011412;5,99€;000001;99998888;Muster;000001;9,99;9,99
01.01.17;100221;LieferanEFGH;20000011415;9,99€;000001;77998888;Kugel;000001;9,99;9,99
02.01.17;100001;LieferanABCD;20000011413;9,99€;000001;99998888;Muster;000001;9,99;9,99
Ergebnis sollte dann z.B.
01.01.17
100001|LieferanABCD
20000011411|9,99€
000001|99998888|Muster|000001|9,99
000002|99998887|Demo1|000001|8,99
27,97
01.01.17
100001|LieferanABCD
20000011412|5,99€
000001|99998888|Muster|000001|9,99
9,99
01.01.17
100221|LieferanEFGH
20000011415|9,99€
000001|77998888|Kugel|000001|9,99
9,99
02.01.17
100001|LieferanABCD
20000011413|9,99€
000001|99998888|Muster|000001|9,99
9,99
hierbei handelt es sich lediglich um ein kleines Beispiel.
So habe ich das bisher umgesetzt und es hat auch funktioniert, weil in einer Datei nur ein Auftag mit mehreren Positionen war.
Die Dateien beihalten nun mehrere Aufträge und da komme ich nicht weiter.
Hier ein Ausschnitt aus meinem Quellcode
Code:
if ($filename -eq "") {
$filename= $NewFilename, $210_uebdat, $210_lief_name_1 -join "_"
}
# $ADRESSDATEN
if ($ADRESSDATEN -eq "") {
$ADRESSDATEN = $210_vda_satzart ,$210_vda_version,$210_uebnr,$210_uebnr_alt,$210_uebdat,$210_satzart,$210_konto,$210_lfnr_kdnr,$210_fi_nr,$210_lief_name_1,$210_lief_name_2,$210_lief_name_3,$210_lief_strasse,$210_lief_plz,$210_lief_ort,$210_lief_kzland,$210_lief_ust_identnr,$210_iln,$210_dummy -join ""
}
# $AUFTRAGSDATEN
if ($AUFTRAGSDATEN -eq "") {
$AUFTRAGSDATEN = $220_vda_satzart,$220_vda_version,$220_ls_nr,$220_ls_dat,$220_kd_name_1,$220_kd_name_2,$220_kd_name_3,$220_kd_strasse,$220_kd_plz,$220_kd_ort,$220_kd_land,$220_sendnr,$220_send_dat,$220_lief_term,$220_lb,$220_vers_art,$220_sb_name,$220_dummy -join ""
}
# $AUFTRAGABSCHLUSS
if ($AUFTRAGABSCHLUSS -eq "") {
$AUFTRAGABSCHLUSS = '24001' -join ""
}
# $ABSCHLUSS
if ($ABSCHLUSS -eq "") {
$ABSCHLUSS = '25001' -join ""
}
# $POSITIONEN
$POSITION = $230_vda_satzart,$230_vda_version,$230_aufnr,$230_auf_dat,$230_best_nr,$230_best_dat,$230_identnr,$230_var,$230_kdidentnr,$230_kdvar,$230_menge_gel,$230_me,$230_gewicht,$230_aufpos,$230_ean,$230_kd_zeichnr,$230_kd_zeichidx,$230_kd_aendkonstr,$230_kostst -join ""
$POSITIONEN += $POSITION
}
##############Datei schreiben##############
################ZielPfand##################
$target = "$ZielVerzeichnis$filename.txt"
Out-File -FilePath $target -Encoding default -InputObject $ADRESSDATEN, $AUFTRAGSDATEN
$POSITIONEN | %{
Out-File -FilePath $target -Append -InputObject $_ -Encoding default
}
Out-File -FilePath $target -Encoding default -Append -InputObject $AUFTRAGABSCHLUSS
Out-File -FilePath $target -Encoding default -Append -InputObject $ABSCHLUSS}
Zuletzt bearbeitet von einem Moderator: