In Bearbeitung Zahlung Transaktionsnummer Trigger

Puma7

Sehr aktives Mitglied
4. Mai 2016
394
42
Hi,

in der Buchhaltung ist gerade aufgefallen, dass bei den Zahlungen seit dem 12.02. keine Transaktionsnummern mehr im System sind.
Ich habe auch geprüft ob der Tigger existiert und ob der Datenbanknutzer Berechtigungen hat. Aber es scheint alles soweit zu stimmen. Wie kann ich prüfen ob der Tigger noch ausgeführt wird?
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
Hallo @Puma7,

werden die Transaktionsnummern zur Wawi übertragen? Es wurde Conennector seitig schon länger nichts mehr am Zahlungs-Import geändert.
 

Puma7

Sehr aktives Mitglied
4. Mai 2016
394
42
@Immanuel
Hättest du einen tip in welchem Log ich schauen könnte ob die Transaktionsid übertragen wird?

Update:
hab jtl_connector_payments Tabelle geprüft. Dort sind die TransaktionsID enthalten. Bedeutet, der Tigger wird ausgeführt und in die Tabelle geschrieben, aber es kommt nicht in der Wawi an
 

MP1

Aktives Mitglied
1. März 2017
49
15
Wir haben leider das exakt gleiche Problem... Die Transaktionsids stehen unter "s_order" bei den jeweiligen Bestellungen mit dem Wert "12" bei "cleared" und sowohl "jtl_connector_link_payment" als auch "jtl_connector_payment" sind komplett leer. Es werden keinerlei Transaktionsids in die jeweiligen JTL-Datenbanktabellen geschrieben. Gibt es hier schon eine Lösung?
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
SQL:
SHOW TRIGGERS
Es sollte ein Trigger mit dem Namen "jtl_connector_payment" für die Tabelle "s_order" gelistet werden. Wenn nicht, fehlt der Trigger.
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
Versuch's mal hiermit:

SQL:
CREATE TRIGGER `jtl_connector_payment` AFTER UPDATE ON `s_order`
FOR EACH ROW
BEGIN
    IF LENGTH(NEW.transactionID) > 0 AND NEW.cleared = 12 THEN
        SET @paymentId = (SELECT id FROM jtl_connector_payment WHERE customerOrderId = NEW.id);
        DELETE FROM jtl_connector_payment WHERE customerOrderId = NEW.id;
        INSERT IGNORE INTO jtl_connector_payment VALUES (if(@paymentId > 0, @paymentId, null), NEW.id, '', now(), '', NEW.invoice_amount, NEW.transactionID);
    END IF;
END;
 

MP1

Aktives Mitglied
1. März 2017
49
15
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
 

MP1

Aktives Mitglied
1. März 2017
49
15
Folgende fehlermeldung erscheint bei der SQL-Abfrage:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
Dann ist deine Datenbank möglicherweise anders konfiguriert. Den Trigger hast du ja jetzt, ich würde an deiner Stelle damit mal etwas rumspielen. Bspw. anstelle der Single Quotes es mit Double Quotes in dem INSERT IGNORE Statement versuchen.