Hier werden die verschiedenen Übernahmen in die KORE vordefiniert
Es gibt 2 Arten von Übernahme-Typen "Periodenübernahme" und "Belegübernahme".
Bei der Periodenübernahme wird pro Periode im Übernahmezeitraum gebucht, bei der Belegübernahme wird pro Beleg gebucht.
Hier gibt es lediglich 1 SQL.
Parameter |
Aufruf pro Periode im Übernahmezeitraum |
:DTSTART |
[PFLICHT] wird mit dem ersten Tag der Periode bestückt. |
:DTEND |
[PFLICHT] wird mit dem letzten Tag der Periode bestückt. |
:IDMD |
[OPTIONAL] wird falls angegeben mit der Mandanten-ID bestückt. |
Felder |
|
BN |
[PFLICHT] Nettobetrag für Buchung. |
BLNR |
[OPTIONAL] Belegnummer - wenn Feld nicht vorhanden KEINE Belegnummer. |
BUTEXT |
[OPTIONAL] Buchungstext - wenn Feld nicht vorhanden Default aus Übernahmekopf |
BCODE |
[OPTIONAL] Buchungscode - wenn Feld nicht vorhanden Default aus Übernahmekopf |
BDATUM |
[OPTIONAL] Buchungsdatum - wenn Feld nicht vorhanden Default letzer Tag der Periode. |
BPERIODE |
[OPTIONAL] Buchungsperiode - wenn Feld nicht vorhanden Default Periode des Buchungsdatum. |
KARNR |
[OPTIONAL] Kostenart - wenn Feld nicht vorhanden Default aus Übernahmekopf. |
KSTNR |
[OPTIONAL] Kostenstelle - wenn Feld nicht vorhanden Default aus Übernahmekopf. |
KTRNR |
[OPTIONAL] Kostenträger - wenn Feld nicht vorhanden KEIN Kostenträger. |
FV |
[OPTIONAL] Variator - wenn Feld nicht vorhanden bleibt es bei dem aus der Kostenstelle gezogenen. |
KEHID |
[OPTIONAL] Kosteneinheit - wenn Feld nicht vorhanden bleibt es bei dem aus der Kostenstelle gezogenen. |
MENGE |
[OPTIONAL] Menge - wenn Feld nicht vorhanden KEINE Menge. |
(statt der KARNR,KSTNR,KTRNR kann KARID,KSTID,KTRID angegeben werden) |
Hier gibt es zwei SQL.
1. Das SQL-Header beinhaltet das SQL der Beleg-Köpfe
Header Parameter |
Aufruf einmalig |
:DTSTART |
[PFLICHT] wird mit dem ersten Tag des Übernahmezeitraums bestückt |
:DTEND |
[PFLICHT] wird mit dem letzten Tag des Übernahmezeitraums bestückt |
:IDMD |
[OPTIONAL] wird falls angegeben mit der Mandanten-ID bestückt. |
Header Felder |
|
TTYP |
[PFLICHT] Table Typ - ist für die Transfermarkierung in der F25KUBTR zwingend erforderlich. |
TIDR |
[PFLICHT] Record IDR - ist für die Transfermarkierung in der F25KUBTR und die Master-Detail Positionsverknüfung zwingend erforderlich. |
IDKBJ |
[PFLICHT] KORE Buchungsjournal ID - dieses Feld muss aus F25KUBTR verlinkt werden (über TTYP/TIDR) und ist für die Sperr/Freigabe-Funktion erforderlich. |
BLNR |
[PFLICHT] Für Beleg-Info |
BLDATE |
[PFLICHT] Für Beleg-Info |
KNR |
[PFLICHT] Für Beleg-Info |
NAME1 |
[PFLICHT] Für Beleg-Info |
BLTYP |
[PFLICHT] Für Beleg-Info |
BLTEXT |
[PFLICHT] Für Beleg-Info |
STR |
[PFLICHT] Für Beleg-Info |
LAND |
[PFLICHT] Für Beleg-Info |
PLZ |
[PFLICHT] Für Beleg-Info |
ORT |
[PFLICHT] Für Beleg-Info |
2. Das SQL-Pos beinhaltet die Positionen pro Beleg und dient zur Verbuchung
POS Parameter |
Aufruf pro Beleg des Header SQL |
:TIDR |
[PFLICHT] wird mit dem TIDR des Belegskopfes bestückt (Master-Detail) |
:TTYP |
[OPTIONAL] wird wenn angegeben mit dem TTYP des Belegkopfes bestückt (falls eine eindeutige Master-Detail beziehung nur über das Feld TIDR nicht möglich ist) |
:IDMD |
[OPTIONAL] wird falls angegeben mit der Mandanten-ID bestückt. |
POS Felder |
|
BLNR |
[PFLICHT] Belegnummer |
BUTEXT |
[PFLICHT] Buchungstext |
BDATUM |
[PFLICHT] Buchungsdatum |
BN |
[PFLICHT] Nettobetrag für Buchung. |
BCODE |
[OPTIONAL] Buchungscode - wenn Feld nicht vorhanden Default aus Übernahmekopf |
BPERIODE |
[OPTIONAL] Buchungsperiode - wenn Feld nicht vorhanden Default Periode des Buchungsdatum. |
KARNR |
[OPTIONAL] Kostenart - wenn Feld nicht vorhanden Default aus Übernahmekopf. |
KSTNR |
[OPTIONAL] Kostenstelle - wenn Feld nicht vorhanden Default aus Übernahmekopf. |
KTRNR |
[OPTIONAL] Kostenträger - wenn Feld nicht vorhanden KEIN Kostenträger. |
Hinweis: statt der KARNR,KSTNR,KTRNR kann KARID,KSTID,KTRID angegeben werden. |
|
FV |
[OPTIONAL] Variator - wenn Feld nicht vorhanden bleibt es bei dem aus der Kostenstelle gezogenen. |
KEHID |
[OPTIONAL] Kosteneinheit - wenn Feld nicht vorhanden bleibt es bei dem aus der Kostenstelle gezogenen. |
MENGE |
[OPTIONAL] Menge - wenn Feld nicht vorhanden KEINE Menge. |
Die untenstehenden SQL-Abfragen dienen lediglich als MUSTER.
Sie müssen pro Betrieb individuell angepasst werden!
Fertigungslöhne
Quelle: p51rm
select
ap.kstid KSTID
, sum(rm.tez) MENGE
, sum(rm.losa * rm.tez /60 ) BN /* ACHTUNG ab use2016 müssen die Teiler berücksichtigt werden! */
from p51rm rm
left join p50faap ap on rm.idfap = ap.idr
where
rm.testa >= :DTSTART and rm.testa < (:DTEND +1)
group by ap.kstid
/*
Ergänzung use2016
Wie werden Teiler in der RM Tabelle berücksichtigt
- TTEIL für Mitarbeiter
- ATEIL für Maschine
-- Lohn
sum(rm.losa/60*rm.tez/iif((coalesce(rm.tteil,1) = 0), 1, coalesce(rm.tteil,1))) PR_LO,
sum(rm.nbksa/60*rm.tez/iif((coalesce(rm.tteil,1) = 0), 1, coalesce(rm.tteil,1))) PR_NBK,
-- Maschine
sum(ap.agrek/iif((coalesce(ap.agrzek,1) = 0), 1, coalesce(ap.agrzek,1)) * rm.tez) PR_AGREK,
sum(ap.agrvk_pr/iif((coalesce(ap.agrzek,1) = 0), 1, coalesce(ap.agrzek,1)) * rm.tez) PR_AGRVK,
-- Zeiten
sum(iif((rm.tptyp='TE'),rm.tez/iif((coalesce(ap.zeh,1) = 0), 1, coalesce(ap.zeh,1)), 0)) TE,
sum(iif((rm.tptyp='TR'),rm.tez/iif((coalesce(ap.zeh,1) = 0), 1, coalesce(ap.zeh,1)), 0)) TR,
sum(rm.tez/iif((coalesce(ap.zeh,1) = 0), 1, coalesce(ap.zeh,1))) TDL
*/
Fertigungsmaterial (ALT)
Quelle: b15wio
select
sum(wio.estp_hw / wio.estp_prp * wio.menge * -1) BN
from b15wio wio
where
wio.wiotyp between 501 and 512
and wio.wiodate >= :DTSTART and wio.wiodate < (:DTEND -1)
Hilfslöhne
Quelle: b80lserf
select
ls.kstid
, sum(erf.tez / 60) menge
, sum( erf.estp_hw * erf.menge ) bn
from B80lserf01 erf
left join g42ls ls on erf.lsid = ls.idr
where
erf.datum >= :DTSTART and erf.datum < (:DTEND +1)
and erf.lsmetyp = 10
group by ls.kstid
Hilfsmaterial (ALT)
Quelle: b15wio
select
wio.kstid
, sum(wio.estp_hw / wio.estp_prp * wio.menge * -1) BN
from b15wio wio
where
wio.wiotyp in (402,492)
and wio.wiodate >= :DTSTART and wio.wiodate < (:DTEND -1)
group by wio.kstid
Lagerbuchung (ab use2017)
Header: Quelle: b16lbu
select
12 as TTYP
, h.idr as TIDR
, tr.idkbj
, h.blnr
, h.bldate
, h.bltyp
, h.bltext
, '' as knr
, '' as name1
, '' as str
, '' as land
, '' as plz
, '' as ort
from b16lbu h
left join f25kubtr tr on (tr.ttyp = 16 and tr.tidr = h.idr)
where h.bldate >= :DTSTART and h.bldate < (:DTEND +1)
and ( tr.idkbj is null or tr.idkbj = 0 )
Pos: Quelle b10elfpos
select
/* blnr, butext, bdatum */
max(h.blnr) as blnr
, max( coalesce(h.bltext,'') ) as BUTEXT
, max(h.bldate) as BDATUM
/* bn, Menge */
, sum( (a2.estp_hw / iif( coalesce(a2.estp_prp,0)=0,1,a2.estp_prp) )
* p.menge * p.mef) as BN
, sum(p.menge * p.mef) as menge
/* kstid */
, p.kstid
/* ktrid */
, pj.idr as KTRID
from b16lbupos p
join b16lbu h on h.idr = p.idh
left join B60PROJ pj on pj.idr = coalesce(p.ktrid,h.projid)
left join g02art2 a2 on a2.idr = p.aid
where p.idh = :TIDR
and p.wiotyp in (402)
group by p.kstid, pj.idr
EK.Rechnungen (ab use2017)
Header: Quelle: b10efk
select
12 as TTYP,
h.idr as TIDR,
tr.idkbj,
h.blnr, h.bldate, h.knr, h.name1, h.bltyp, h.bltext,
h.str, h.land, h.plz, h.ort
from b10efk h
left join f25kubtr tr on (tr.ttyp = 12 and tr.tidr = h.idr)
left join b10efk2 h2 on h2.idr = h.idr
where h.bldate >= :DTSTART and h.bldate < (:DTEND +1)
and ( tr.idkbj is null or tr.idkbj = 0 )
and ( h2.idop > 0 ) /* nur Rechnungen die in der FIBU sind */
Pos: Quelle b10elfpos
select
/* blnr, butext, bdatum */
max(h.blnr) as blnr, -- 1
max( ( coalesce(h.name1,'') || ': ' || coalesce(h.bltext,'')) ) as BUTEXT, -- 2
max(h.bldate) as BDATUM, -- 3
/* bn */
sum(p.ekz_hw) as BN, -- 4
/* kstid */
fko.karid, -- 5
p.kstid, -- 6
/* ktrid */
-- wurde am 07.12.17 geändert
-- iif( coalesce(pj.sel5,'') > '',pj.idr, null) as KTRID -- 7
pj.idr as KTRID -- 7
from b10elfpos p
join b10efk h on h.idr = p.idefk
left join f01ko fko on fko.idmd = :idmd and fko.knr = p.fknr
-- wurde am 07.12.17 geändert
-- left join B60PROJ pj on pj.idr = coalesce(h.projid,p.ktrid)
left join B60PROJ pj on pj.idr = coalesce(p.ktrid,h.projid)
where p.idefk = :TIDR
group by 5,6,7
Vertrieb Rechnungs Erlöse (ab use2017)
Header: Quelle: b04fk
select
4 as TTYP,
h.idr as TIDR,
tr.idkbj,
h.blnr, h.bldate, h.knr, h.name1, h.bltyp, h.bltext,
h.str, h.land, h.plz, h.ort
from b04fk h
left join f25kubtr tr on (tr.ttyp = 4 and tr.tidr = h.idr)
left join b04fk2 h2 on h2.idr = h.idr
where h.bldate >= :DTSTART and h.bldate < (:DTEND +1)
and h.BLTYP not in (4300,4400) /* Proforma, Anzahlung */
and ( tr.idkbj is null or tr.idkbj = 0 )
and ( h2.idop > 0 ) /* nur Rechnungen die in der FIBU sind */
Pos: Quelle b04fkpos
select
/* blnr, butext, bdatum */
max(h.blnr) as blnr, -- 1
max( ( coalesce(h.name1,'') || ': ' || coalesce(h.bltext,'')) ) as BUTEXT, -- 2
max(h.bldate) as BDATUM, -- 3
/* bn */
sum(p.bz_hw) as BN, -- 4
/* kstid */
fko.karid, -- 5
fko.kstid, -- 6
/* ktrid */
-- wurde am 07.12.17 geändert
-- max( iif( coalesce(pj.sel5,'') > '',h.projid, null) ) as KTRID -- 7
max(h.projid) ktrid --7
from b04fkpos p
join b04fk h on h.idr = p.idh
left join f01ko fko on fko.idmd = :idmd and fko.knr = p.fknr
left join B60PROJ pj on PJ.idr = h.PROJID
where p.idh = :TIDR
and coalesce(p.fknr,'') > ''
group by 5,6
having sum(p.bz_hw) <> 0