- Beiträge: 9
Mehrere Zeilen von der READ-Seite zu einer Zeile WRITE
- Ulrich Löffler
- Autor
- Offline
- Benutzer
Weniger
Mehr
12 Jahre 7 Monate her #880
von Ulrich Löffler
Mehrere Zeilen von der READ-Seite zu einer Zeile WRITE wurde erstellt von Ulrich Löffler
Hallo,
ich denke, ich habe im Forum schon einiges bezüglich meines Problemes rauslesen können, aber es fehlt immer etwas.
Betrifft Buchungszeilen (Finanzbuchhaltung)
in der DB der READ-Seite sind mehrere Buchungszeilen in einer View vorhanden. Beispiel die Buchung einer Ausgangsrechnung auf drei Erlöskonten mit zwei Steuersätzen hat 6 Buchungszeilen.
1. Zeile Debitor mit Sammelkonto und Gesamtbetrag 213,00
2. Zeile Erlöskonto 1 (HW Gruppe1 20%)nettoBetrag 100,00
3. Zeile Erlöskonto 2 (HW Gruppe2 20%)nettoBetrag 50,00
4. Zeile Erlöskonto 3 (Lebensmittel 10%)nettoBetrag 30,00
5. Zeile Steuerkonto 1 (20%) Steuerbetrag 30,00
6. Zeile Steuerkonto 2 (10%) Steuerbetrag 3,00
Diese 6 Zeilen haben dieselbe Buchungs-ID und können bezüglich Debitorenzeile, Erlöskontenzeilen und Steuerkontenzeilen anhand von anderen Feldern klassifiziert werden.
Auf der WRITE-Seite (csv) soll nun wie folgt gruppiert werden.
1. Zeile Debitor mit Sammelkonto Gesamtbetrag 213,00
2. Zeile Erlöskonto 1, 100,00 mit Steuerkonto 20% und Steuerbetrag passend zum Nettobetrag 20,00
3. Zeile Erlöskonto 2, 50,00 mit Steuerkonto 20% und Steuerbetrag passen zum Nettobetrag 10,00
4. Zeile Erlöskonto 3, 30,00 mit Steuerkonto 10% und Steuerbetrag passen zum Nettobetrag 3,00.
Lösungsweg(e)?
Mit ifThen-else schaffe ich es, dass Erlöskonten in den Feldern Erlöskonten auf der Write-Seite stehen und ebenso dass Steuerkonten in den Feldern Steuerkonten der Write-Seite stehen. Aber alles immer noch in 6 Zeilen. Wie bekomme ich die Steuerwerte, Zeilen 5 und 6 der Read-Seite in die Zeilen 2,3 und 4 der Write-Seite? Weiters müssen die Steuerbeträge noch errechnet werden und es muss sichergestellt sein, dass keine Rundungsdifferenzen bezüglich des/der Steuerbeträge entstehen. Es müssen auch Buchungen mit vielleicht 30 - 50 Zeilen bearbeitet werden. Wäre denn der Group by-Heater mein Retter? Oder müssen mehrere Durchläufe absolviert werden?
Vielen Dank für Hilfen, Anregungen und Ideesn.
Ulrich Löffler
ich denke, ich habe im Forum schon einiges bezüglich meines Problemes rauslesen können, aber es fehlt immer etwas.
Betrifft Buchungszeilen (Finanzbuchhaltung)
in der DB der READ-Seite sind mehrere Buchungszeilen in einer View vorhanden. Beispiel die Buchung einer Ausgangsrechnung auf drei Erlöskonten mit zwei Steuersätzen hat 6 Buchungszeilen.
1. Zeile Debitor mit Sammelkonto und Gesamtbetrag 213,00
2. Zeile Erlöskonto 1 (HW Gruppe1 20%)nettoBetrag 100,00
3. Zeile Erlöskonto 2 (HW Gruppe2 20%)nettoBetrag 50,00
4. Zeile Erlöskonto 3 (Lebensmittel 10%)nettoBetrag 30,00
5. Zeile Steuerkonto 1 (20%) Steuerbetrag 30,00
6. Zeile Steuerkonto 2 (10%) Steuerbetrag 3,00
Diese 6 Zeilen haben dieselbe Buchungs-ID und können bezüglich Debitorenzeile, Erlöskontenzeilen und Steuerkontenzeilen anhand von anderen Feldern klassifiziert werden.
Auf der WRITE-Seite (csv) soll nun wie folgt gruppiert werden.
1. Zeile Debitor mit Sammelkonto Gesamtbetrag 213,00
2. Zeile Erlöskonto 1, 100,00 mit Steuerkonto 20% und Steuerbetrag passend zum Nettobetrag 20,00
3. Zeile Erlöskonto 2, 50,00 mit Steuerkonto 20% und Steuerbetrag passen zum Nettobetrag 10,00
4. Zeile Erlöskonto 3, 30,00 mit Steuerkonto 10% und Steuerbetrag passen zum Nettobetrag 3,00.
Lösungsweg(e)?
Mit ifThen-else schaffe ich es, dass Erlöskonten in den Feldern Erlöskonten auf der Write-Seite stehen und ebenso dass Steuerkonten in den Feldern Steuerkonten der Write-Seite stehen. Aber alles immer noch in 6 Zeilen. Wie bekomme ich die Steuerwerte, Zeilen 5 und 6 der Read-Seite in die Zeilen 2,3 und 4 der Write-Seite? Weiters müssen die Steuerbeträge noch errechnet werden und es muss sichergestellt sein, dass keine Rundungsdifferenzen bezüglich des/der Steuerbeträge entstehen. Es müssen auch Buchungen mit vielleicht 30 - 50 Zeilen bearbeitet werden. Wäre denn der Group by-Heater mein Retter? Oder müssen mehrere Durchläufe absolviert werden?
Vielen Dank für Hilfen, Anregungen und Ideesn.
Ulrich Löffler
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
12 Jahre 7 Monate her #883
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Aw: Mehrere Zeilen von der READ-Seite zu einer Zeile WRITE
Hallo Herr Löffler,
Der GroupBy Heater ist für Ihren Fall nicht das richtige. Hiermit würden Sie alle 6 Zeilen anhand der Buchungs-ID zu einem Datensatz der WRITE Seite machen und könnten darüber noch Berechnungen etc. durchführen.
Ihr Problem könnte man so angehen:
Im Select auf der READ Seite beschränken Sie die Datenmenge so dass keine Datensätze Steuerkonto (Zeile 5 und 6) vorhanden sind.
z.B. select * from IHR_VIEW where type <> steuerkonto
Die Werte für das passende Steuerkonto können Sie sich dann in der Definition über einen SQL Heater nachlesen. Hiermit können Sie ein einzelnes Feld der READ bzw. WRITE Seite auslesen.
z.B. select Steuerbetrag from IHR_VIEW where BuchungsID = $AKTUELLE_BUCHUNGSID$ and type = steuerkonto
Wenn Sie mehrere Felder benötigen können Sie problemlos auch weitere SQL Heater verwenden.
Hinweis: Der Wert für $AKTUELLE_BUCHUNGSID$ muss vorher über den Set Paramater Heater gesetzt werden.
Schauen Sie sich dazu mal folgenden Forumsbeitrag an: MySQL Datenabgleich
Hier finden Sie ein Beispiel zum SQL-Heater.
Der GroupBy Heater ist für Ihren Fall nicht das richtige. Hiermit würden Sie alle 6 Zeilen anhand der Buchungs-ID zu einem Datensatz der WRITE Seite machen und könnten darüber noch Berechnungen etc. durchführen.
Ihr Problem könnte man so angehen:
Im Select auf der READ Seite beschränken Sie die Datenmenge so dass keine Datensätze Steuerkonto (Zeile 5 und 6) vorhanden sind.
z.B. select * from IHR_VIEW where type <> steuerkonto
Die Werte für das passende Steuerkonto können Sie sich dann in der Definition über einen SQL Heater nachlesen. Hiermit können Sie ein einzelnes Feld der READ bzw. WRITE Seite auslesen.
z.B. select Steuerbetrag from IHR_VIEW where BuchungsID = $AKTUELLE_BUCHUNGSID$ and type = steuerkonto
Wenn Sie mehrere Felder benötigen können Sie problemlos auch weitere SQL Heater verwenden.
Hinweis: Der Wert für $AKTUELLE_BUCHUNGSID$ muss vorher über den Set Paramater Heater gesetzt werden.
Schauen Sie sich dazu mal folgenden Forumsbeitrag an: MySQL Datenabgleich
Hier finden Sie ein Beispiel zum SQL-Heater.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ulrich Löffler
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 9
12 Jahre 7 Monate her #886
von Ulrich Löffler
Ulrich Löffler antwortete auf Aw: Mehrere Zeilen von der READ-Seite zu einer Zeile WRITE
Hallo Herr Stark,
danke für die umfassende Auskunft. Ich werde versuchen dies so umzusetzen.
Grüße
Ulrich Löffler
danke für die umfassende Auskunft. Ich werde versuchen dies so umzusetzen.
Grüße
Ulrich Löffler
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.265 Sekunden