shihayazad
Goto Top

SAP HANA SQL Abfrage per Batch auslösen und in CSV schreiben

Hallo zusammen,

ich habe folgendes Problem, wir haben ein SAP System, das ich von außen mit einer .sql ansprechen kann, die Datei enthält genau das Query das ich benötige. Per Batch mit folgendem Befehl funktioniert das ganze auch:

"SAP Software Pfad" -c ";" -n 192.168.x.x:x -i 00 -u Username -p Passwort -I "Pfad der SQL Datei" -o "Pfad der csv D:\Muster.csv"

ABER -c ";" soll angeblich den Spaltentrenner auf Semikolon festlegen, das passier aber genau nicht, die Daten sind Komma getrennt in der CSV vorhanden. Da die Daten leider aber auf einem Fremdsystem weiterverarbeitet werden müssen und das System hier das Semikolon als Trennzeichen erwartet, habe ich ein Probelm. Müsste ich die Datei "nur" in Excel öffen wäre es kein Thema.

Ich kann leider auch nicht einfach jedes Komma in der Datei ersetzen lassen, da teilweise Artikelbezeichnungen Komma enthalten bzw. das Dezimaltrennzeichen auch Komma enthält.

Meine Fragen dahingehend sind:

1. ist die Syntax richtig, sprich -c ";" sollte im Idealfall genau das oben beschriebene machen und "nur" weil es aus SAP Hana B1 kommt funktioniert es nicht?
2. Batch ist evtl nicht mehr Zeitgemäß, leider kenne ich mich mit Powershell nicht gut genug aus um die SQL Datei anzutriggern und eine CSV zu erzeugen die Semikolon getrennt ist, kann mir hier evtl. jemand unter die Arme greifen? (Gerne nehme ich auch Tutorials, Buchempfehlungen, etc. um mir das selber vernünftig anzueignen)

Vielen Dank für eure Hilfe!

Grüße

Eric

Content-Key: 389746

Url: https://administrator.de/contentid/389746

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: Kraemer
Kraemer 17.10.2018 um 12:18:13 Uhr
Goto Top
Moin,

ich habe keine Ahnung von der Software, aber
Zitat von @Shihayazad:
"SAP Software Pfad" -c ";" -n 192.168.x.x:x -i 00 -u Username -p Passwort -I "Pfad der SQL Datei" -o "Pfad der csv D:\Muster.csv"

ABER -c ";" soll angeblich den Spaltentrenner auf Semikolon festlegen, das passier aber genau nicht, die Daten sind Komma getrennt in der CSV vorhanden. Da die Daten leider aber auf einem Fremdsystem weiterverarbeitet werden müssen und das System hier das Semikolon als Trennzeichen erwartet, habe ich ein Probelm. Müsste ich die Datei "nur" in Excel öffen wäre es kein Thema.
beim -c würde ich erwarten, dass man den in der CSV vorhandenen Spaltentrenner angibt - hier nämlich das ,

Gruß
Mitglied: Shihayazad
Shihayazad 17.10.2018 um 12:31:44 Uhr
Goto Top
Hi,

ich muss den Spaltentrenner aber von , auf ; ändern, dass ist mein Problem.

Wenn ich Dich richtig verstehe gibt -c also nicht an, welcher Spaltentrenner verwendet werden soll, sondern man bestätigt nur das in der csv vorhandene Trennzeichen?!

Grüße
Mitglied: Kraemer
Kraemer 17.10.2018 um 12:34:41 Uhr
Goto Top
Zitat von @Shihayazad:
ich muss den Spaltentrenner aber von , auf ; ändern, dass ist mein Problem.
warum?

Wenn ich Dich richtig verstehe gibt -c also nicht an, welcher Spaltentrenner verwendet werden soll, sondern man bestätigt nur das in der csv vorhandene Trennzeichen?!
man bestätigt den nicht, man gibt ihn schlicht an. Bei CSV üblich: Komma, Semikolon und TAB - kann aber auch | oder sonstwas sein
Mitglied: Shihayazad
Shihayazad 17.10.2018 um 13:21:59 Uhr
Goto Top
Zitat von @Kraemer:

Zitat von @Shihayazad:
ich muss den Spaltentrenner aber von , auf ; ändern, dass ist mein Problem.
warum?
Weil obwohl ich -c ";" angegeben habe er die Datei mit , trennt und ich zur weiterverarbeitung aber das ; brauche.

Wenn ich Dich richtig verstehe gibt -c also nicht an, welcher Spaltentrenner verwendet werden soll, sondern man bestätigt nur das in der csv vorhandene Trennzeichen?!
man bestätigt den nicht, man gibt ihn schlicht an. Bei CSV üblich: Komma, Semikolon und TAB - kann aber auch | oder sonstwas sein
Siehe oben: -c ";" ist angegeben aber die Datei trennt mit , und das kann ich nicht gebrauchen. Das der Trenner auch Tab oder sonst was sein kann ist mir bewusst.

Danke für die Hilfe!
Mitglied: godlie
godlie 17.10.2018 um 13:25:35 Uhr
Goto Top
Hallo,

wenn ich die Command Line Reference von der SAP richtig interpretiere,
solltest du mit einem
-F ;
zu dienem gewünschten Ergebniss kommen.

grüße
Mitglied: wiesi200
wiesi200 17.10.2018 um 17:07:16 Uhr
Goto Top
Hallo
Ich würd eher sagen „\f[ieldsep] <separator>„

Uses the specified separator character to separate the individual fields of the result. The default is ,.
Mitglied: Shihayazad
Shihayazad 18.10.2018 um 08:21:16 Uhr
Goto Top
Hallo godlie,

vielen Dank, das war genau das was ich gesucht habe, jetzt funktioniert die Batch genau so wie sie soll.

Danke auch für den Link auf die Command Line Reference, die habe ich beim Suchen tatsächlich nicht gefunden!

Vielen Dank auch an die anderen, helfenden Hände!

Grüße

Eric