Ich habe mir mal angesehen, was CAO für SQL-Befehle absetzt, wenn eine Zahlung gebucht wird:
Code: Alles auswählen
28.12.11 11:33:47:028
SQL:select J.*,
SUM(Z.BETRAG+Z.SKONTO_BETRAG) as BER_GEZAHLT, 0.00 as IST_BETRAG, FIBU_KTO as BANK_ID
from JOURNAL J
left outer JOIN ZAHLUNGEN Z on Z.JOURNAL_ID=J.REC_ID and Z.GEBUCHT!='S'
where J.REC_ID=33124
group by J.REC_ID
RES:OK.
28.12.11 11:33:47:150
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:47:246
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:47:341
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:47:439
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:47:540
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:47:635
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:52:860
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:52:956
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:53:054
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:53:150
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:53:208
SQL:UPDATE JOURNAL SET STADIUM= 9 WHERE REC_ID=33124 AND ADDR_ID=27977 AND VRENUM='73140' AND RDATUM='2011-12-28 00:00:00' AND ZAHLART=8 AND MWST_0=0 AND MWST_1=0 AND MWST_2=0 AND MWST_3=0 AND NSUMME=20.08 AND MSUMME=3.81 AND BSUMME=23.89 AND WAEHRUNG='€' AND KURS=1 AND GEGENKONTO=40260 AND (SOLL_STAGE=0 OR SOLL_STAGE IS NULL) AND SOLL_SKONTO=0 AND (SOLL_NTAGE=0 OR SOLL_NTAGE IS NULL) AND SOLL_RATEN=1 AND SOLL_RATBETR=0 AND (SOLL_RATINTERVALL=0 OR SOLL_RATINTERVALL IS NULL) AND STADIUM=2 AND KUN_NUM='30116' AND KUN_ANREDE IS NULL AND KUN_NAME1='Test Name' AND (KUN_NAME2='' OR KUN_NAME2 IS NULL) AND KUN_NAME3 IS NULL AND KUN_ABTEILUNG IS NULL AND KUN_STRASSE='Sudetenstr. 1' AND KUN_LAND='DE' AND KUN_PLZ='78224' AND KUN_ORT='Singen' AND SHOP_ID=2 AND SHOP_ORDERID=100011817 AND SHOP_STATUS=1 AND SHOP_CHANGE_FLAG='N'
RES:OK.
28.12.11 11:33:53:303
SQL:select FIBU_KONTEN from ZAHLUNGSARTEN where REC_ID=8
RES:OK.
28.12.11 11:33:53:398
SQL:SELECT KONTO,KONTONAME FROM FIBU_KONTEN WHERE KONTORAHMEN='SKR04' AND KONTO IN (1800,1810,1820,1830,1840,1850,1860,1870,1880,1890) ORDER BY KONTO
RES:OK.
28.12.11 11:33:53:501
SQL:INSERT INTO ZAHLUNGEN SET FIBU_KTO=1800,FIBU_GEGENKTO=40260,QUELLE=3,JOURNAL_ID=33124,BELEGNUM="73140",DATUM="2011-12-28",BETRAG="23.89",VERW_ZWECK="ZE VK-RE Test Name",ERSTELLT_AM="2011-12-28 11:33:53",ERSTELLT_NAME="Admin",WAEHRUNG="€",MA_ID=1,SKONTO_PROZ="0",SKONTO_BETRAG="0",GEBUCHT="Y"
RES:OK.
28.12.11 11:33:53:538
SQL:select * from REGISTRY
where MAINKEY='SHOP' and NAME='ORDERSTATUS_ZAHLUNG'
RES:OK.
28.12.11 11:33:53:595
SQL:delete from JOURNAL_OP where QUELLE IN (3,4);
RES:OK.
28.12.11 11:33:53:802
SQL:insert into JOURNAL_OP select J.QUELLE,J.ADDR_ID,J.REC_ID,J.BSUMME,COUNT(ZA.REC_ID),IFNULL(SUM(ZA.BETRAG+ZA.SKONTO_BETRAG),0),J.WAEHRUNG from JOURNAL J left outer join ZAHLUNGEN ZA on ZA.JOURNAL_ID=J.REC_ID and ZA.GEBUCHT!="S" where J.QUELLE=3 and J.ADDR_ID>0 and YEAR(RDATUM)>2000 and J.STADIUM IN (2,3,4,5,6,7,11) group by J.REC_ID having IFNULL(SUM(ZA.BETRAG+ZA.SKONTO_BETRAG),0)<J.BSUMME
RES:OK.
28.12.11 11:33:53:852
SQL:insert into JOURNAL_OP select J.QUELLE,J.ADDR_ID,J.REC_ID,J.BSUMME,COUNT(ZA.REC_ID),IFNULL(SUM(ZA.BETRAG+ZA.SKONTO_BETRAG),0),J.WAEHRUNG from JOURNAL J left outer join ZAHLUNGEN ZA on ZA.JOURNAL_ID=J.REC_ID and ZA.GEBUCHT!="S" where J.QUELLE=4 and J.ADDR_ID>0 and YEAR(RDATUM)>2000 and J.STADIUM IN (2,3,4,5,6,7,11) group by J.REC_ID having IFNULL(SUM(ZA.BETRAG+ZA.SKONTO_BETRAG),0)>J.BSUMME
RES:OK.
28.12.11 11:33:54:725
SQL:SELECT J.REC_ID,J.ADDR_ID,J.VRENUM,J.RDATUM,J.LDATUM as LDATUM_ORG,J.ADATUM,J.ATRNUM,J.VLSNUM,J.NSUMME,J.MSUMME_0,J.MSUMME_1,J.MSUMME_2,J.MSUMME_3,J.MSUMME,J.BSUMME,J.STADIUM,J.KUN_NUM,J.SOLL_STAGE,J.SOLL_NTAGE,J.KUN_LAND,J.PROJEKT,J.ORGNUM,J.GEGENKONTO,J.WAEHRUNG,J.MWST_1,J.MWST_2,J.MWST_3,J.KM_STAND,J.SOLL_SKONTO,J.ERST_NAME,J.INFO,J.SHOP_ORDERID,J.SHOP_STATUS,J.SHOP_ID,J.SHOP_CHANGE_FLAG,J.PRINT_FLAG, J.BRUTTO_FLAG,J.LIEFART,J.ZAHLART,J.TERMIN,TRIM(CONCAT_WS(" ",KUN_NAME1,KUN_NAME2,KUN_NAME3)) as KUN_NAME,IFNULL(MA.MAHNSTUFE,0) as MS,SUM(ZA.BETRAG) as IST_BETRAG,SUM(ZA.SKONTO_BETRAG) as IST_SKONTO_BETRAG,ZR.NAME as ZAHLART_STR FROM JOURNAL J left outer JOIN MAHNUNG MA on MA.JOURNAL_ID=J.REC_ID and MA.MAHN_STATUS='O' left outer JOIN ZAHLUNGEN ZA on ZA.JOURNAL_ID=J.REC_ID left outer JOIN ZAHLUNGSARTEN ZR on ZR.REC_ID=J.ZAHLART WHERE J.QUELLE_SUB<>2 AND J.QUELLE=3 AND TO_DAYS(J.RDATUM) >=TO_DAYS( '2011-12-01' ) AND TO_DAYS(J.RDATUM)<=TO_DAYS( '2011-12-31' )
group by J.REC_ID
ORDER BY VRENUM, RDATUM
RES:OK.
Es scheint schon ein relativ komplexer Vorgang zu sein. Ich bin mir aber nicht sicher, ob man alle Befehle so wie hier verwenden muss.
Es scheint so, als wenn man "nur" die Insert, Update und Delete Befehle benötigt:
Evtl. könnte man sich ein Skript bauen, mit welchem man Zahlungen gesammelt verbuchen kann.
Ich würde z. B. gerne nach alle noch nicht verbuchten Beträge im Journal verbuchen, welche die Zahlungsart "PayPal" haben.