Skip to main content
Skip table of contents

Kommissionierung mit Kommliste (SmartCenter, Konfiguration)

Hier wird die Konfiguration für den Bereich "Kommissionierung mit Kommliste" (Liefervorschlag) behandelt.

CONFIG.XML

Position in der CONFIG.XML

image-20250904-090546.png

Einstellungen

Knoten

Mögliche Werte

Beschreibung

StockNum
ber

1, 2, 100, ...

Abbuchungs-Lagernummer.
Ist hier kein Lager angegeben, wird das Lager aus dem Parent-Knoten verwendet

CanChang
eStockNu
mber

True, False

True (Standard) = Lagernummer kann in dem Fenster durch den Benutzer
verändert werden.
False = Die Lagernummer wird durch den Wert in "StockNumber" vorgegeben
und kann nicht verändert werden.
Ausnahme: Ist kein Lager vorgegeben und es wird keines vererbt, kann das Lager
dennoch ausgewählt werden.
INFO: Ist hier kein Wert angegeben, wird dieser aus dem Parent-Knoten verwendet

StockLocat
ionNameIn
putMask

ann-nn-nn

Eingabemaske für Lagerortnamen. Wenn angegeben, dürfen nur Lagerorte in
diesem bestimmten
Format eingegeben oder gescannt werden.
Füllzeichen werden automatisch "aufgefüllt".
Platzhalter:
a = alphanumerisches Zeichen (Buchstabe oder Nummer)
n = numerisches Zeichen (Nummer 0-9)
Füllzeichen: ' ', '-', '_', ':', '.', ',', '#', '+'
Beispiel: ann-nn-nn
Zeichen 1 muss alphanumerisch sein
Zeichen 2 muss numerisch sein
Zeichen 3 muss numerisch sein
Zeichen 4 muss ein "-" sein
Zeichen 5 muss numerisch sein
Zeichen 6 muss numerisch sein
Zeichen 7 muss ein "-" sein
Zeichen 8 muss numerisch sein
Zeichen 9 muss numerisch sein

PrinterNa
me

\\COMPUTERNAME\Druckername

Standard-Drucker für alle Dokumente in der Kommissionierung.
Wenn nicht angegeben, wird der "PrinterName" aus dem StockManagement-
Hauptknoten verwendet.

PrinterNa
meDelivery
Notes

\\COMPUTERNAME\Druckername

Druckername für Lieferscheine
Wenn nicht angegeben, wird der "PrinterName" verwendet.
Wenn "PrinterName" leer und der "PrinterName" aus dem StockManagement-
Hauptknoten leer ist,
dann wird der Drucker lt. TaskCenter-Druckerzuordnung ausgewählt

PrinterNa
meInvoices

\\COMPUTERNAME\Druckername

Druckername für Rechnungen
Wenn nicht angegeben, wird der "PrinterName" verwendet.
Wenn "PrinterName" leer und der "PrinterName" aus dem StockManagement-
Hauptknoten leer ist,
dann wird der Drucker lt. TaskCenter-Druckerzuordnung ausgewählt

PrinterNa
meItemLab
els

\\COMPUTERNAME\Druckername

Etiketten-Drucker.
Wenn nicht angegeben, wird der Etiketten-Drucker aus dem Parent-Knoten
verwendet.

PrintDelive
ryNote

True, False, [leer]

[leer] = Der Ausdruck wird automatisch angestossen, wenn ein LS/KS erstellt
wurde, beim Auftrag oder Kunden ein Sammelrechnungskennzeichen vorliegt
und die Zahlungsbedingung nicht Nachnahme ist
True = Kommissionsschein/Lieferschein wird nach Abschluß gedruckt.
False = Es wird nur ein Lieferschein erstellt, es erfolgt kein Ausdruck.

PrintInvoice

True, False, [leer]

[leer] = Der Rechnungsdruck wird automatisch durchgeführt, wenn eine
Rechnung erstellt wurde und die Zahlungsbedingung NACHNAHME ist
True = Die gegebenenfalls erstellte Rechnung wird zusätzlich ausgedruckt.
Handelt es sich um einen "eInvoice"-Kunden, wird auch die eInvoice-Datei
dazu erstellt (ab TaskCenter Version 4.91.6.0).
False = Es erfolgt kein Rechnungsdruck und keine Erstelltung der eInvoice-Datei.

PrintCopie
sDeliveryN
otes

1,2,3,8,...

Anzahl Exemplare für Lieferscheindruck - Wenn angegeben, wird diese Anzahl
verwendet, ansonsten wird die Anzahl aus Kunden- oder Druckprofil-Einstellung
geladen

PrintCopie
sInvoices

1,2,3,8,...

Anzahl Exemplare für Rechnungsdruck - Wenn angegeben, wird diese Anzahl
verwendet, ansonsten wird die Anzahl aus Kunden- oder Druckprofil-Einstellung
geladen

PrintLayou
tConsignm
entNotes

A,B,C,...

Druck-Layout für Drucken Kommissionsscheine - Wenn nicht angegeben, wird die
Auswahl über die Drucker-Zuordnung des angemeldeten Benutzers gesteuert

PrintLayou
tDeliveryN
otes

A,B,C,...

Druck-Layout für Drucken Lieferscheine - Wenn nicht angegeben, wird
"PrintLayoutDeliveryNotes" aus dem StockManagement-Hauptknoten verwendet -
wenn dort ebenso kein Layout hinterlegt ist, wird die Auswahl über die Drucker-
Zuordnung des angemeldeten Benutzers gesteuert

PrintLayou
tInvoices

A,B,C,...

Druck-Layout für Drucken Rechnungen - Wenn nicht angegeben, wird
"PrintLayoutInvoices" aus dem StockManagement-Hauptknoten verwendet - wenn
dort ebenso kein Layout hinterlegt ist, wird die Auswahl über die Drucker-
Zuordnung des angemeldeten Benutzers gesteuert

PrintLayou
tItemLabels

A,B,C,...

A0002.btw

Druck-Layout für die Artikel-Etiketten.

AllowGene
rateForSal
eSerials

True, False

True = Bei Artikel mit Seriennummernpflicht-Verkauf kann bei der Seriennummern-
Auswahl eine
Seriennummer über einen Button generiert werden. Dazu muss es eine
Seriennummer-Vorlage
mit der Konstante1 <ITEMNUMBER> angelegt werden.
Der Wert <ITEMNUMBER> wird dann durch die Artikelnummer ersetzt

AllowQuan
tityInput

True, False

True (Standard) = Mengeneingabe-Fenster wird angezeigt und die Menge kann
verändert werden
False = Mengeneingabe-Fenster wird nicht angezeigt, sofern eine
Vorschlagsmenge definiert wurde, oder die Menge bereits bestimmt werden konnte

ApplyRedu
cedQuantit
yWithoutC
onfirmation

True, False

True = Wenn die gescannte Menge auf die offene Menge reduziert wird, dann wird
KEIN Bestätigungs-Mengeneingabefenster angezeigt
False (Standard) = Wenn die gescannte Menge auf die offene Menge reduziert
wird, dann muss die Menge bestätigt werden

AutoClose

True, False

True = Das Fenster wird nach einer Kommissionierung geschlossen und kehrt
wieder ins Hauptmenü zurück
False (Standard) = Das Fenster wird nach der Erstellung der Kommissions-
/Lieferscheine geleert und steht wieder
in der Auswahl des nächsten Liefervorschlags

AutoConfir
mStockLoc
ation

True, False

True = Der vorgeschlagene Lagerort wird automatisch übernommen ( keine
Bestätigung, keine Änderung möglich )
False (Standard) = Der vorgeschlagene Lagerort muss manuell angegeben werden

Consignm
entInfoStat
ement

select distinct grafik2 from angebotspositionen
where aposinx in (select aposinx from liefauf
where taninx={DeliveryProposalNumber} and
artnr='{ItemNumber}')
select distinct langtext from langtexte where
typ=350 and posinx in (select aposinx from
liefauf where taninx=
{DeliveryProposalNumber} and
artnr='{ItemNumber}')

SQL-Statement, welches ausgeführt wird:

  • nach einem Barcode-Scan (wenn der Artikel vorhanden und offen ist)

  • vor Lager/ort-Eingabe

  • vor Mengen-Eingabe
    und eine Liste mit 1 Spalte und n Zeilen zurückliefert, die dann in einem PopUp-
    Fenster angezeigt werden.
    Mögliche Platzhalter (case-sensitiv) sind:
    {ItemNumber} ... Die gescannte Artikelnummer
    {DeliveryProposalNumber} ... Aktuelle Liefervorschlagsnummer
    {StockTransferNoteNumber} ... Aktuelle Umbuchungsnummer
    Bsp GRAFIK2 aus Angebotsposition anzeigen:
    select distinct grafik2 from angebotspositionen where aposinx in (select aposinx
    from liefauf where taninx={DeliveryProposalNumber} and artnr='{ItemNumber}')
    Bsp HINWEISTEXT aus Angebotspositionen anzeigen:
    select distinct langtext from langtexte where typ=350 and posinx in (select aposinx
    from liefauf where taninx={DeliveryProposalNumber} and artnr='{ItemNumber}')

CreateInvo
ice

True, False, [leer]

[leer] (Standard) = Die Rechnungserstellung wird automatisch durchgeführt,
aufgrund von LS (nicht KS), Keine Sammelrechnung, Zahlungsbedingung
(NACHNAHME)
True = Bei Abschluss der Kommissionierung wird, nachdem die Lieferscheine
erstellt wurden, auch eine Rechnung erstellt
False = Bei Abschluss der Kommissionierung werden nur Lieferscheine erstellt

CreateSing
leNotes

True, False

True = Wenn die Erstellung von Lieferschein(e)/Kommissionsschein(e) je Auftrag
erfolgen soll
False (Standard) = Lieferscheine werden je Kunde und Trennkriterien
zusammengefasst

ForceCons
ignmentNo
te

True, False

True = Bei Abschluss der Kommissionierung werden Kommissionsscheine statt
Lieferscheine erstellt
False (Standard) = Bei Abschluss der Kommissionierung werden Lieferscheine
erstellt

ForceScan
DirectCostI
tems

True, False

True = D-Artikel müssen ebenfalls gescannt werden
False (Standard) = D-Artikel werden zwar angezeigt, diese werden aber
automatisch mit IST=SOLL gebucht

Mandatory
ColliInput

True, False

True = COLLI-Nummer wird abgefragt und ist verpflichtend einzugeben
False (Standard) = Keine Abfrage der COLLI-Nummer

ScanOnly

True, False

True = Das Eingabefeld wird periodisch geleert, sodass eine Tastatur-Eingabe
nicht möglich ist, sondern
der Wert NUR gescannt werden kann

ScanOnlyT
ime

10, 20, 30, 100, 300, ...

Wert in "ms" für den Timer, der das Eingabefeld periodisch
nach dieser Zeit leert ( nur wenn ScanOnly = True )

SelectCon
signmentL
ocation

True, False

True = Vor Beginn der Erfassung muss der Kommissionslagerplatz ausgewählt
/gescannt werden
False (Standard) = Der Kommissionierlagerplatz wird je Lager automatisch ermittelt

SelectCon
signmentL
ocationOn
Finish

True, False

True = Nach Abschluss der Kommissionierung wird das Fenster zur Auswahl des
Kommissionierlagerplatzes angezeigt und dieser kann bei Bedarf noch geändert
werden
False (Default) = Das Fenster wird nicht angezeigt

SelectNext
RowAfterS
can

[leer], FollowingRow, FirstUnscannedRow

[leer] (Standard) = Die selektierte Zeile wird nicht verändert
FollowingRow = Nach einem erfolgreichen Scan, wird die nächste Zeile mit offener
Menge markiert
FirstUnscannedRow = Nach einem erfolgreichen Scan, wird die erste Zeile mit
offener Menge selektiert

ShowCreat
edNotesSu
mmary

True, False

True = wenn nach der Erstellung bzw. nach dem Drucken der Scheine (KS/LS/RE)
eine Zusammenfassung angezeigt werden soll, welche Scheine erstellt wurden.
False (Standard) = Es wird keine Nachricht angezeigt

SkipCreate
InvoiceFor
BatchCust
omers

True, False

True = Wenn eine Rechnung erstellt werden soll ( CreateInvoice=True ), dann wird
geprüft, ob
der Kunde ein Sammelrechnungskunde ist - ist er das, wird keine Rechnung erstellt
False (Standard) = Es erfolgt keine Prüfung auf das Sammelrechnungs-
Kennzeichen

StockLocat
ionSelection

Allow, Accept, NotAllowed

Allow = Beliebige Lagerortauswahl möglich
Accept = Beliebige Lagerortauswahl möglich - ein anderer Lagerort als der
Vorgeschlagene muss bestätigt werden (Logbuch)
NotAllowed (Standard) = Der vorgeschlagene Lagerort MUSS ausgewählt werden

Suggested
QuantitySe
lector

Scanned, Open, Fixed

Scanned (Standard) = Es wird die Menge aus dem Barcode vorgeschlagen. Wenn
keine Menge im Barcode enthalten ist, wird die Fixe Menge in "SuggestedQuantity"
vorgeschlagen - wenn dort auch nichts hinterlegt ist, wird die offene Menge
vorgeschlagen.
Open = Es wird immer die noch offene Menge vorgeschlagen
Fixed = Es wird immer die fixe Menge in "SuggestedQuantity" vorgeschlagen

Suggested
Quantity

1, 2, 3, ..., 15.5, ..., 100, ...

Vorgeschlagener Mengeneintrag in Mengenfeld.

  • Wenn die Mengeneingabe erlaubt ist (AllowQuantityInput=True), kann die Menge
    verändert werden.

  • Wenn ein Barcode mit integrierter Menge gescannt wurde, wird die Menge aus
    dem Barcode angewendet

Suggested
QuantityUn
it

Scanned, Delivery, Stock

Gibt an, welche Mengeneinheit bei der Mengeneingabe primär/initial angezeigt wird.
Scanned (Standard) = Es wird die Mengeneinheit vorgeschlagen, die im Barcode
enthalten ist. Wenn keine MEH im Barcode, dann wird die Lagermengeneinheit
vorgeschlagen.
Delivery = Es wird die Liefermengeneinheit vorgeschlagen.
Stock = Es wird die Lagermengeneinheit vorgeschlagen

WithPackin
gEmpties

True, False

True = Aktiviere Packlisten-Funktionalität. Nach der Kommissionierung bzw. nach
der Erstellung von Lieferscheinen, wird eine Versendung erstellt. Die Anzahl der
Packstücke und deren Gewichte wird je nach "PackingEmptiesMode" ermittelt.

PackingE
mptiesMode
Ab
SmartCent
er Version
2.2021.060
7.0

BeforeScan, AfterScan

BeforeScan = Es muss, bevor die Kommissionierung beginnt, ein Packstück
ausgewählt werden. Mit dieser Funktion, wird jeder gescannte Artikel einem
Packstück zugeordnet. Ist ein Packstück "voll", kann mit einer Funktion das
nächste Packstück ausgewählt werden.
AfterScan (ab TaskCenter 4.88.0.0) = Die Anzahl der verwendeten Packstücke,
sowie deren Gewichte, erfolgt NACH der Kommissionierung. In diesem Fall ist
keine eindeutige Zuordnung jeden Artikels zu einem Packstück möglich.

AutoPrintD
eliveryProp
osal
Ab
SmartCent
er Version
2.2022.053
1.0
Ab
TaskCente
r Version
4.102.0.0

True, False

True = Automatischer Ausdruck der Kommissionierliste, wenn der Liefervorschlag
über die "Nächste Kommissionierung" erstellt wurde
False (Standard) = Es erfolgt kein Ausdruck

PrinterNa
meDelivery
Proposal
Ab
SmartCent
er Version
2.2022.053
1.0
Ab
TaskCente
r Version
4.102.0.0

\\COMPUTERNAME\Druckername

Druckername für Kommissionierlisten, wenn der Ausdruck der Kommissionierliste
automatisch erfolgen soll.
Wenn nicht angegeben, wird der "PrinterName" verwendet.

PrintLayou
tDeliveryPr
oposal
Ab
SmartCent
er Version
2.2022.053
1.0
Ab
TaskCente
r Version
4.102.0.0

A,B,C,...

Drucklayout der Kommissionierliste, wenn der Ausdruck automatisch erfolgen soll

Beispiel

CODE
<?xml version="1.0" encoding="utf-8" ?>
<Settings>
 
  <StockManagement>
 
    <PrinterName>\\server\HPLaser_Verrechnung</PrinterName>
    <CanChangeStockNumber>True</CanChangeStockNumber>
 
    <DeliveryProposalConsignment>
      <StockNumber>2</StockNumber>
      <PrinterName>\\server\EpsonStylus</PrinterName>
      <PrinterNameDeliveryNotes></PrinterNameDeliveryNotes>
      <PrintLayoutDeliveryNotes>A</PrintLayoutDeliveryNotes>
      <PrintLayoutConsignmentNotes>A</PrintLayoutConsignmentNotes>
      <PrintCopiesDeliveryNotes></PrintCopiesDeliveryNotes>
      <PrinterNameInvoices></PrinterNameInvoices>
      <PrintLayoutInvoices>A</PrintLayoutInvoices>
      <PrintCopiesInvoices></PrintCopiesInvoices>
      <ScanOnly>False</ScanOnly>
      <ScanOnlyTime>300</ScanOnlyTime>
      <CreateSingleNotes>True</CreateSingleNotes>
      <PrintDeliveryNote>True</PrintDeliveryNote>
      <ForceConsignmentNote>False</ForceConsignmentNote>
      <SelectConsignmentLocation>False</SelectConsignmentLocation>
      <SelectConsignmentLocationOnFinish>False</SelectConsignmentLocationOnFinish>
      <CreateInvoice>False</CreateInvoice>
      <SkipCreateInvoiceForBatchCustomers></SkipCreateInvoiceForBatchCustomers>
      <PrintInvoice>False</PrintInvoice>
      <SuggestedQuantitySelector>Scanned</SuggestedQuantitySelector>
      <SuggestedQuantity>1</SuggestedQuantity>
      <AllowQuantityInput>True</AllowQuantityInput>
      <SuggestedQuantityUnit>Scanned</SuggestedQuantityUnit>
      <ForceEnterQuantity>False</ForceEnterQuantity>
      <MandatoryColliInput>True</MandatoryColliInput>
      <AllowGenerateForSaleSerials>True</AllowGenerateForSaleSerials>
      <StockLocationSelection>Accept</StockLocationSelection>
      <ShowCreatedNotesSummary>False</ShowCreatedNotesSummary>
      <AutoClose>False</AutoClose>
      <ConsignmentInfoStatement>select distinct grafik2 from angebotspositionen where aposinx in (select aposinx from liefauf where taninx={DeliveryProposalNumber} and artnr='{ItemNumber}')</ConsignmentInfoStatement>
      <ApplyReducedQuantityWithoutConfirmation>False</ApplyReducedQuantityWithoutConfirmation>
      <SelectNextRowAfterScan>FollowingRow</SelectNextRowAfterScan>
      <ForceScanDirectCostItems>False</ForceScanDirectCostItems>
      <StockLocationNameInputMask>ann-nn-nn</StockLocationNameInputMask>
      <WithPackingEmpties>False</WithPackingEmpties>
      <AutoConfirmStockLocation>False</AutoConfirmStockLocation>
    </DeliveryProposalConsignment>
 
  </StockManagement>
 
</Settings>

LAYOUT.XML

-- ToDo --

Datenbankstruktur-Richtlinien

Aktuell sind dafür die "Lagerorte zwingend" notwendig, was in manchen Fällen verwendbar ist, in anderen aber unbrauchbar. Das System benötigt dann zumindest 2 Lagerorte (1 nomaler, 1 KommPlatz)
Schritt-für-Schritt

  • Lagerorte anlegen per SQL anhand einer Liste anlegen

  • Kommissionierlagerplatz anlegen (Lagerort mit der Eigenschaft "Kommissionierlagerplatz")

  • Lagerortbuchungen aktivieren (in Grundlageneinstellungen)

  • Trigger deaktivieren

  • SQL-Statements für alle Dokumente im System

  • Trigger aktivieren

  • Lagerbestand aktualisieren

Details

Lagerorte anlegen per SQL anhand einer Liste anlegen

Excel-Datei erstellen

Lagerorte anlegen per SQL anhand einer Liste des Kunden mit Lagernummer, Nummer, Sortierung und Name:

=VERKETTEN("insert into Lagerorte (Lagernummer, Nummer, Sortierung, Name) values (";A2;",";B2;",";D2;",'";C2;"');")

Lagerplätze anlegen

In den Lager-Einstellungen wird je gewünschtem Lager ein eigener Kommissionierlagerplatz und zumindest 1 "normaler" Lagerort angelegt:

image-20250904-092824.png
CODE
insert into lagerorte (lagernummer, nummer, name, ko_platz) select nummer, 1, 'eins', 0 from lager where
nummer<1000000 and not exists(select '' from lagerorte where nummer=1 and lagerorte.lagernummer=lager.
nummer);

insert into lagerorte (lagernummer, nummer, name, ko_platz) select nummer, 9999, 'Kommissionierung', 1 from
lager where nummer<1000000 and not exists(select ''from lagerorte where ko_platz=1 and lagerorte.
lagernummer=lager.nummer);

commit;

Vorbereitungen zur Änderung der Lagerorte

  • Entfernen aller Einträge in INVM, ZAEHLLISTE, INVM_SN, INVM_CN, indem die bestehenden Einträge aus ALLEN aktuell im System
    befindlichen Zähllisten gebucht (in die Inventur übertragen) oder gelöscht werden.

  • Alle offenen Warenkörbe löschen


Lagerortbuchungen aktivieren

image-20250904-092909.png

Trigger deaktivieren

Vorher DB Trigger deaktivieren auf ANGEBOTSPOSITIONEN und BESTELLPOSITIONEN

Oracle DB:
alter table Angebotspositionen disable all triggers;
alter table Bestellpositionen disable all triggers;

SQL DB
DISABLE TRIGGER ALL ON Angebotspositionen;
DISABLE TRIGGER ALL ON Bestellpositionen;

SQL-Statements für alle Dokumente

CODE
update artikelstamm set lagerort =1 where lager=1;
 
 
update defaultlager set lagerort=1 where lager=1;
insert into defaultlager (artikelnummer, lager, lagerort)
 select a.artikelnummer, 1, 1 from artikelstamm a where a.lager=1 and not exists (select '' from defaultlager d where a.artikelnummer=d.artikelnummer and d.lager=1 and d.lagerort=1);
update defaultlager set lo_name=(select name from lagerorte where defaultlager.lagerort=lagerorte.nummer and defaultlager.lager=lagerorte.lagernummer);
commit;
 
 
update kartei set lagerort=1 where lager=1;
 
update angebotspositionen set lagerort=1 where lager=1;
 
update lspositionen set lagerort=1 where lager=1;
 
update repositionen set lagerort=1 where lager=1;
 
update bestellpositionen set lagerort=1 where lager=1;
 
update bestellvorschlag set lagerort=1 where lager=1;
 
update ls_wepositionen set lagerort=1 where lager=1;
 
update wepositionen set lagerort=1 where lager=1;
 
update invpositionen set lagerort=1 where lager=1;
 
update liefauf set lagerort=1 where lager=1;
 
update fpos set lagerort=1 where lager=1;
 
update rappositionen set lagerort=1 where lager=1;
 
update dwh_pos set lagerort=1 where lager=1;
 
update dwh_verkauf set lagerort=1 where lager=1;
 
update fapositionen set entnahme_lagerort=1 where dispo_lager=1;
 
update fapositionen set dispo_lagerort=1 where dispo_lager=1;
 
update fer set ziel_lagerort=1 where ziel_lager=1;
 
update schnellumbuchung set abbuchungslagerort=1 where abbuchungslager=1;
 
update schnellumbuchung set zubuchungslagerort=1 where zubuchungslager=1;
 
commit;
 
 
-- Wenn es Artikel mit Chargennummernpflicht gibt:
update chargennummer set lagerort=1 where lager=1;
 
update chargenbestand set lagerort=1 where lager=1;
 
-- Wenn es Artikel mit Seriennummernpflicht gibt:
update sernr set lagerort=1 where lager=1;
 
commit;
 
 
 
 
-- Optional kann mit folgenden Statements der Bestand manuell aktualisiert werden (ansonten nach Reaktivierung der Trigger die Programmfunktion nutzen):
 
insert into lagerbestand (artnr, lager, lagerort, bestand, verfuegbar) select artnr, lager, 1, 0, 0 from lagerbestand where lager=1 and lagerort is null
 
update lagerbestand b1 set bestand=(select b2.bestand from lagerbestand b2 where b2.lager=1 and b2.lagerort is null and b2.artnr=b1.artnr) where b2.lager=1 and b2.lagerort=1;
 
update lagerbestand set bestand=0 where lager=1 and lagerort is null;
 
update lagerbestand set verfuegbar=bestand where lager=1;
 
update lagerbestand set off_auf=0;
 
update lagerbestand set off_auf=isnull((select off_auf from v_off_auf where v_off_auf.artikelnummer=lagerbestand.artnr and v_off_auf.lager=lagerbestand.lager and isnull(v_off_auf.lagerort,-1)=isnull(lagerbestand.lagerort,-1)),0)
where artnr in (select artikelnummer from v_off_auf);
 
update lagerbestand set off_bes=0;
 
update lagerbestand set off_bes=isnull((select off_bes from v_off_bes where v_off_bes.artikelnummer=lagerbestand.artnr and v_off_bes.lager=lagerbestand.lager and isnull(v_off_bes.lagerort,-1)=isnull(lagerbestand.lagerort,-1)),0)
where artnr in (select artikelnummer from v_off_bes);
 
 
commit;

Trigger aktivieren

DB Trigger wieder aktivieren

Oracle DB:

alter table Angebotspositionen enable all triggers;

alter table Bestellpositionen enable all triggers;

SQL DB

ENABLE TRIGGER ALL ON Angebotspositionen;

ENABLE TRIGGER ALL ON Bestellpositionen;

Lagerort zwingend aktivieren

image-20250904-093157.png

Beim umgestellten Lager bzw. bei den umgestellten Lagern muss "Lagerort zwingend" aktiviert werden, damit künftige Buchungen ohne Lagerort
verhindert werden.

Bereitstellungslagerort und Default-Lagerort je Lager

In den Lagereinstellungen gibt es die Spalten "Bereitstellungsplatz" (LAGER.BEREITST_LAGERORT) und "Lagerort" (LAGER.DEF_LAGERORT).
Diese sollten nun ebenfalls noch befüllt werden - der Bereitstellungsplatz mit dem Kommissionierlagerort des Lagers und der Lagerort mit dem
"Hauptlagerort".

Lagerbestände aktualisieren

image-20250904-093227.png

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.