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