PMS32 Online- Hilfereferenz
Positionserfassung,
Lagerbuchungen, Projektzeiten, Seriennummern uvm.
Inhalt:
2 Hardware: Scanner Metrologic Optimus
3 Installation und Einrichtung
3.1 Installation des Barcode Scanners an einem PC
3.2 Einrichtung der PMS32-Software
3.3 Empfangen der Scannerdaten in PMS32
6.1 Der Einstieg zur Buchung: Maske 1
7 Buchungsvorgänge in der Materialwirtschaft
7.3 Erfassung von Materialbedarf für ein Stammlager
7.4 Erfassung von Zählmengen in Zusammenhang mit einer
Inventur
7.5 Kommissionierung von Material mit Lagerbestandsführung
in PMS
7.5.1 Kommissionierung
unter Berücksichtigung der Disposition.
7.5.2 Kommissionierung
ohne Berücksichtigung der Disposition.
7.6 Kommissionierung von Material ohne Lagerbestandsführung
in PMS
7.6.1 Kommissionierung
unter Berücksichtigung der Disposition.
7.6.2 Kommissionierung
ohne Berücksichtigung der Disposition.
8.9 Scripting für den Zeitdatenimport per Barcode
In PMS32 werden Barcode Buchungen dazu verwendet die Eingabe von erfassten Daten zu erleichtern. Dazu wird ein kompakter Barcode-Scanner mit Tastatur verwendet der über serielle oder USB- Schnittstelle über eine Ladeschale die Daten überträgt. Verfügbar ist auch ein Gerät mit Bluetooth Datenübertragung, mit dem es möglich ist, die Daten direkt zu übertragen, ohne den Übertragungsvorgang anstoßen zu müssen. Derzeit wird jedoch nur die serielle und USB-Übertragung per Ladeschale unterstützt.
Im praktischen Einsatz werden die Daten per Scanner offline erfasst und danach in die Datenbank übertragen. Dazu überwacht ein Programm die serielle Schnittstelle(n) und überträgt die empfangenen Daten in eine Tabelle der PMS-Datenbank.
Werden mehrere Mandanten in PMS genutzt, so muss in der Konfigurationsdatei eine Kennnummer für den Mandanten eingetragen werden. Jede Erfassung mit dem Scanner wird zu Beginn einer Mandanten Nummer zugeordnet, so dass es möglich ist, mit einem Scanner Daten für mehrere Mandanten zu erfassen und auch in verschiedenen Ladeschalen zu übertragen.
Der Scanner nimmt grundsätzlich alle Daten an, es wird keine Gültigkeitsprüfung der erfassten Daten durch den Scanner selbst vorgenommen. Erst bei der Übernahme der Daten in eine PMS-Funktion werden die Daten überprüft und je nach Programmfunktion können fehlerhafte Daten korrigiert oder fehlende Daten ergänzt werden.
Derzeit wurden die Programm und Funktionen für den Einlesevorgang der Scanner-Daten auf folgenden Scanner und Ladeschale abgestimmt. Andere Scanner mit der gleichen Initialisierung können alternativ verwendet werden. Scanner mit anderer Übertragungstechnik oder Initialisierung können nur nach Anpassungsprogrammierung verwendet werden. Wir erstellen ihnen dazu gerne ein entsprechendes Angebot.
Unterstütze
Scanner und Ladeschalen:
Hersteller: Metrologic
Scanner: Optimus S – Typ: SP5535 (BT)
Ladeschale: Optimus S – Typ: MI5500

Bitte stellen Sie zunächst fest, ob es sich um einen USB- oder einen RS232-Anschluss handelt. Die Version mit einem RS232 Anschluss kann direkt, ohne die Installation weiterer Treiber verwendet werden.
Da jedoch immer weniger PC’s mit serieller Schnittstelle ausgeliefert werden, insbesondere bei Notebooks, ist die Version mit einem USB-Anschluss zu empfehlen. Allerdings wird für diese Anschlussart ein Treiber für das Betriebssystem benötigt.
Treiber und Software finden sie auf der mitgelieferten CD des Herstellers und aktuelle Dateien auf der von PMS32 mitgelieferten CD.
Wenn der Scanner in der USB-Version zum ersten Mal an den PC angeschlossen wird, müssen sie die erforderlichen Treiber installieren. Legen Sie die Hersteller-CD ein und lassen sie Windows nach den Treibern auf diese CD suchen. Alternativ können sie auch die mitgelieferte PMS32-CD verwenden. Dort finden Sie die Treiberdateien unter …\Optimizer\OPTIMUS SOFTWARE\USB Driver\
Stellen sie zunächst fest, an welchem COM-Port der Scanner angeschlossen ist. Notieren sie sich die Nummer des COM-Anschlusses. Öffnen Sie aus dem PMS Installationsverzeichnis der Station an der der Scanner angeschlossen ist die Datei PMS_28.INI und ändern Sie den Eintrag <Port_x> und CommPort = x entsprechend der Nummer des Anschlusses ab. (hier im Beispiel rot gekennzeichnet)
Beispiel:
<PORT_1>
*/ Diese Klasse wird benötigt, wenn der Scanner via Cradle abgefragt wird...
*/ Die Settings sind fest eingestellt auf
115200 Baud
*/ Die maximale Übertragungsrate wird im INIT
ermittelt
Class =
"ml_sp5535s_cradle"
ClassLibrary = "vcx\pms_sp5535s.vcx"
*/ Hier muss der COM Port angegeben
werden...
CommPort = 1
*/ Weitere Einstellungen, die Standard
gesetzt sind...
*/ DTREnable =
.T.
*/ Settings = "115200,n,8,1"
*/ RTSEnable =
.T.
*/ Handshaking =
0
<>
Wenn die Einrichtung erfolgreich vorgenommen wurde in PMS32 nun die Überwachung aktiviert werden. Dazu wählen sie aus dem Hauptmenü aus dem Eintrag „BARCODE-Funktionen“ den Menüpunkt „Überwachung der COM-Schnittstelle“ an. Ob die Initialisierung der Schnittstelle erfolgreich war wird anschließend durch ein kleines Fenster im oberen rechten Bereich von PMS angezeigt. Dabei muss der Initialisierungswert eine „0“ anzeigen.
Ist die Überwachung aktiviert, werden immer dann Daten aus dem Scanner ausgelesen, sobald dieser mit aktiviertem Dateiübertragungsmodus in die Ladeschale gestellt wird. Damit stehen die Daten zu anschließenden Verarbeitung in PMS32 bereit.
Das folgende Schaubild gibt eine grobe Übersicht über die Funktionsweise und den Ablauf der BAR-Code Buchungen in PMS.
Über den Scanner werden Buchungen erfasst und über die Ladeschale und das Kommunikationsprogramm (PMS_28) in die Erfassungstabelle (R10) der PMS Datenbank übertragen.
Über die Konfigurationsdatei PMS_28.INI können Werte voreingestellt werden, wie Beispielsweise die Mandanten-Nummern oder die RS232-Schnittstellen.
Wurden die Daten in die Erfassungstabelle eingelesen, können diese vom Benutzer in den betreffenden PMS Bereichen abgerufen werden. Dabei werden durch unterschiedliche Buchungskennungen nur solche Jobs angezeigt, die für den jeweiligen Bereich sinnvoll sind.
Abhängig vom jeweiligen Programmbereich in PMS werden die Positionen in eine Positionsliste aufgenommen, können mit bereits vorhandenen Positionen abgeglichen oder vorhandene Positionen können durch die Daten ergänzt werden.

In der untenstehenden Grafik wird die Menüstruktur des Scanners dargestellt. Dieses Menü beinhaltet die Programmfunktionen zur Erstellung der Übertragungsdatei. Das Programm wurde allgemeingültig gehalten daher kann es vorkommen, dass einige Felder in bestimmten Programmpunkten nicht ausgefüllt werden. Ob die Daten innerhalb von PMS berücksichtigt werden entscheidet sich erst im Übernahmeprogramm und dem entsprechenden Programmbereich in PMS.
Das Menü wurde mit den Programmen erstellt, die im Lieferumfang des Scanners enthalten sind. Damit die ordnungsgemäße Funktion in Zusammenhang mit PMS gewährleistet ist sollten am Programm keine Änderungen vorgenommen werden. Sollte eine Änderung gewünscht oder notwendig sein, wenden Sie sich bitte an uns.

Die wichtigsten Bedienfunktionen sind in folgender Grafik beschrieben.

Nach dem Einschalten des Gerätes stehen im Hauptmenü folgende Menüpunkte zur Auswahl:
1. Programmstart
2. Daten senden
Nach dem Programmstart stehen in Maske 1 folgende Eingabefelder zur Verfügung:
Anmeldung
Mandant
Erfassung
Hier muss eine gültige Personalnummer eingegeben oder gescannt werden. Die Gültigkeit der Personalnummer wird über eine Liste definiert, die aus PMS im Barcodehauptmenü erzeugt und über das Scannerprogramm OPTIMUS in den Scanner geladen wird.
1. Erzeugen der
Mitarbeiterdatei in PMS:

2. Übertragen der
Datei zum Scanner:

Die
Einstellungen für die Datenübertragung sind wie in nebenstehender Grafik
sinngemäß vorzunehmen.
Die Nummer des COM-Ports muss entsprechend Ihrer Rechnerkonfiguration eingestellt werden. Sehen Sie dazu im Gerätemanager unter COM-Schnittstellen nach.
Hier kann über Eingabe einer Mandantennummer bestimmt werden, für welchen Mandanten die Daten gescannt werden sollen.
Zur Beschreibung einer Buchung kann hier ein Erfassungstext entweder über die Scannertastatur eingegeben oder gescannt werden.
Die Barcodeerfassung in PMS sieht neben dem Scannen von EAN-Artikelnummern auch die Verwendung von Barcodes für andere Daten, wie Projekte, Vorgänge, Lagerorte, u.a. vor. Da bei diesen Daten in PMS keine Einschränkung des zu verwendenden Zeichenumfangs gemacht wird, Barcodes jedoch nur für einen begrenzten Zeichenumfang genutzt werden können, erfolgt die Barcodeausgabe, und damit auch die Anzeige im Scanner-Display, bei diesen Daten teilweise mit Datensatz-ID’s.
Bei der Weiterverarbeitung der Daten in PMS werden dann natürlich die zugehörigen Nummern bzw. Matchcodes verwendet.
Immer dann, wenn die Erfassung der Artikel im Lager erfolgt, ist es sinnvoll, Artikeletiketten an den jeweiligen Lagerplätzen anzubringen. Alternativ ist natürlich auch das Scannen von gegebenenfalls auf der Artikelverpackung aufgedruckten EAN-Barcodes möglich. Für herstellerneutrale Artikel ist jedoch zu bedenken, dass die am Artikel angegebene EAN-Nummer nicht zwingend mit der in PMS angegebenen übereinstimmen muss. Hier ist die Verwendung von Lagerplatzetiketten vorzuziehen.
Für nicht artikelbezogene Informationen wie z.B. Projektnummern oder Lagerorte ist auf den Reports der entsprechende Barcode aufgedruckt. Natürlich ist es auch möglich, eine Barcode-Liste aller aktiven Projekte im Lager bzw. der Fertigung vorzuhalten. Damit entfällt der jeweilige Ausdruck eines separaten Buchungsbeleges.
Erfasste Daten werden nach Einlegen des Scanners in die Dockingstation automatisch in die Erfassungstabelle übertragen.
Die PMS-Buchungsvorgänge mit Barcodeunterstützung sind nachstehend beschrieben.
Bei der manuellen Überprüfung der Lagerbestände auf Unterdeckung wird die Barcodeunterstützung eingesetzt, um Materialbedarfe zum Auffüllen des Bestandes papierlos zu erfassen und weiterzuverarbeiten.
Bei der Erfassung ist im Hauptmenü als Vorgabewert zuerst der Lagerort zu Scannen. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske zur manuellen Materialanforderung ein neuer Vorgang anzulegen. Die Daten können dann aus der Erfassungstabelle ausgewählt und geladen werden. Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Bei der Inventurzählung wird die Barcodeunterstützung eingesetzt, um Materialbestände papierlos zu erfassen und weiterzuverarbeiten.
Bedienung Scanner
Bei der Erfassung ist im Hauptmenü als Vorgabewert zuerst der Lagerort zu Scannen. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske zur Inventurzählung vor der körperlichen Zählung eine neue Zählliste anzulegen und bis zur Zählmengenerfassung zu verarbeiten. Dort können die Erfassungsdaten dann aus der Erfassungstabelle ausgewählt und geladen werden. Der Abgleich der Daten erfolgt über die EAN-Artikelnummer den Lagerort und gegebenenfalls der Projektnummer.
Mehrfach erfasste Artikel und unbekannte Artikel werden im Fehlerhandling weiterbehandelt.
Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Bei der Kommissionierung von Material unter Berücksichtigung der Lagerbestandsführung werden die Materialbuchungen in PMS über Lagerumbuchungen verwaltet. Abhängig davon, ob das verbuchte Material bei einer späteren Disposition einer Projektstückliste berücksichtigt werden soll oder nicht, sind bei der Umbuchung unterschiedliche Angaben zu machen.
Bei der Erfassung sind im Hauptmenü Vorgabewerte für die Quelle, also „Lagerort von“ und gegebenenfalls „Projektnummer von“ zu Scannen.
Danach werden die Vorgabewerte für das Ziel, also „Lagerort an“ und gegebenenfalls „Projektnummer an“ gescannt. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske „Lagerumbuchungen“ ein neuer Vorgang anzulegen. In den Kopfdaten der Lagerumbuchung ist die Option „Als Überschussmaterial buchen“ zu aktivieren.

Beim Abrufen der Daten für eine Lagerumbuchung wird die Option „Überschussmaterial“ separat abgefragt.
Die Daten können dann aus der Erfassungstabelle ausgewählt und geladen werden. Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Bei der Erfassung sind im Hauptmenü Vorgabewerte für die Quelle, also „Lagerort von“ und gegebenenfalls „Projektnummer von“ zu Scannen.
Danach werden die Vorgabewerte für das Ziel, also „Lagerort an“ und gegebenenfalls „Projektnummer an“ gescannt. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske „Lagerumbuchungen“ ein neuer Vorgang anzulegen. In den Kopfdaten der Lagerumbuchung ist die Option „Als Überschussmaterial buchen“ zu deaktivieren.

Die Daten können dann aus der Erfassungstabelle ausgewählt und geladen werden. Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Bei der Kommissionierung von Material ohne Berücksichtigung der Lagerbestandsführung - wenn also keine Lagerbestände in PMS gepflegt werden- sind die Materialbuchungen in PMS über manuelle Lagerzugänge zu verwalten. Abhängig davon, ob das verbuchte Material bei einer späteren Disposition einer Projektstückliste berücksichtigt werden soll oder nicht, sind bei der Buchung unterschiedliche Angaben zu machen.
Bei der Erfassung sind im Menü 1 die Vorgabewerte für das Ziel, also „Lagerort an“ und „Projektnummer an“ gescannt. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske „Lagerzugang manuell“ ein neuer Vorgang anzulegen. In den Kopfdaten des Vorgangs ist die Option „Als Überschussmenge für Projekt buchen“ zu aktivieren.

Die Daten können dann aus der Erfassungstabelle ausgewählt und geladen werden. Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Bei der Erfassung sind im Menü 1 die Vorgabewerte für das Ziel, also „Lagerort an“ und „Projektnummer an“ gescannt. Danach kann die Artikelerfassung im Menü 1 in einer Schleife erfolgen.
In dieser Schleife wir zuerst die Artikel-EAN erfasst und dann die angeforderte Menge über die Scannertastatur in der Lagereinheit eingegeben.
Über die Taste „ESC“ wird der Scanvorgang beendet.
In PMS ist in der Maske „Lagerzugang manuell“ ein neuer Vorgang anzulegen. In den Kopfdaten des Vorgangs ist die Option „Als Überschussmenge für Projekt buchen“ zu deaktivieren.

Die Daten können dann aus der Erfassungstabelle ausgewählt und geladen werden. Alle weiteren Schritte unterscheiden sich nicht von den ohne Barcode erfassten Buchungsvorgängen.
Die Barcodeerfassung in PMS sieht neben dem Scannen von EAN auch die Verwendung von Barcodes für andere Daten, wie Projekte, Vorgänge, Mitarbeiter und Kostensätze vor. Da bei diesen Daten in PMS keine Einschränkung des zu verwendenden Zeichenumfangs gemacht wird, Barcodes jedoch nur für einen begrenzten Zeichenumfang genutzt werden können, erfolgt die Barcodeausgabe, und damit auch die Anzeige im Scanner-Display, bei diesen Daten teilweise mit Datensatz-ID’s.
Bei der Weiterverarbeitung der Daten in PMS werden dann natürlich die zugehörigen Nummern bzw. Matchcodes verwendet.
Für nicht personenbezogene Informationen wie z.B. Projektnummern oder Vorgänge ist auf den Reports der entsprechende Barcode vorzusehen. Natürlich ist es auch möglich, eine Barcode-Liste aller aktiven Projekte im Lager bzw. der Fertigung vorzuhalten. Damit entfällt der jeweilige Ausdruck eines separaten Buchungsbeleges.
Erfasste Daten werden nach Einlegen des Scanners in die Dockingstation automatisch in die Erfassungstabelle übertragen.
Die Projektzeiterfassung per Barcodebuchung füllt die Buchungstabelle der manuellen Projektzeiterfassung in PMS (Q01).
Die Identifikation als Mitarbeiter kann gescannt werden oder durch manuelle Eingabe der Personalnummer als PIN erfolgen.
In Maske 2 kann dann das Projekt und/oder der Vorgang gescannt werden. Die Angaben für Lagerort und Platz sind für die Zeiterfassung irrelevant und werden daher nicht ausgewertet.
Im folgenden Menü 1 ist dann der Menüpunkt „Zeiterfassung“ zu wählen. Im dann folgenden Menü kann optional eine Tätigkeit gescannt werden. Erfolgt keine Angabe der Tätigkeit, so wird der Kostensatz aus den Mitarbeiterstammdaten bzw. aus den Mitarbeitergruppen und Kostenstellen ermittelt. Hier verhält sich PMS also so, wie bei einer manuellen Erfassung der Zeitdaten.
·
Es werden ausnahmslos Zeiten korrigiert, die
auch per Barcode eingelesen wurden. Damit ist ein Mischbetrieb von manueller
Anlage, Excelimport und Barcodeerfassung möglich.
Kennzeichen hierfür ist der Eintrag "IDR10:" im Feld Beleg.
· Eine Buchung mit Angabe einer Projektnummer gilt als Projektstart.
· Eine Buchung ohne Angabe einer Projektnummer gilt als Projektende.
· Existiert bereits ein Datensatz mit Projektstart, gilt eine erneute Buchung mit Angabe eines Projektes als Ende für das Vorgängerprojekt und als Projektstart für das neue Projekt.
·
Als abgeschlossen gelten Datensätze, für die ein
Projektende gescannt wurde.
(über eine reine Zeitbuchung ohne Projekt- oder Auftragsnummer).
Zeitdaten mit einem Eintrag im Feld IDEXT werden als abgeschlossen betrachtet
und werden nicht mehr als Anfangszeit einer nachfolgenden Buchung herangezogen.
· Offene Datensätze (vergessene Endebuchung eines Mitarbeiters ohne definierte Uhrzeit für Autoende) werden mit dem Datum des Folgetages Uhrzeit 00:00 Uhr gekennzeichnet. Diese werden erst dann automatisch abgeschlossen, wenn zu dem betroffenen Mitarbeiter erneut Zeiten eingelesen werden. Dies kann sein:
o Endebuchungen des Mitarbeiters für den betroffenen Tag
· Die Kostenstelle wird als zusätzliches Feld für die Barcodeerfassung alternativ zur Erfassung des Kostensatzes angeboten. Damit ist in gewisser Weise eine Zuordnung von Tätigkeiten unabhängig vom Kostensatz erfassbar.
o
Die Zuordnung des Kostensatzes erfolgt dabei über
folgende Reihenfolge in absteigender Priorität:
Eingelesener Wert, Wert des Benutzers, Wert aus Kostenstelle C32 über
Mitarbeitergruppe C39
o Die Zuordnung der Kostenstelle erfolgt über folgende Reihenfolge in absteigender Priorität: Eingelesener Wert, Wert aus Mitarbeitergruppe C39
o Ist der eingelesene Wert ungültig oder nicht vorhanden dann wird in der Reihenfolge fortgefahren.
Für den Zeitdatenimport wurde das Scripting eingeführt. damit ist ein Eingriff in Variablen und Berechnungen möglich.
Im Programmverlauf geht PMS32 folgendermaßen vor. Es werden alle einzulesenden Daten aus der Barcodetabelle R10 ermittelt. Dazu werden Mitarbeiterbezogen alle Datensätze ab dem letzten Buchungstages außerhalb des Einlese-Zeitraumes aus der Q01-Zeittabelle ermittelt.
Die so ermittelten Daten werden nach Mitarbeiter und DatumUhrzeit sortiert beginnend mit dem neuesten Datensatz.
Diese Datensätze werden nacheinander gescannt und die Anfangszeit des Vorgängers als Endzeit des aktuellen Datensatzes verwendet. Durch die verschiedenen Möglichkeiten, wie oben beschrieben wird die Anfangszeit des Vorgängers als Endzeit verwendet oder auch nicht.
Um die im Programm festgelegten Bedingungen, Vorgehensweisen und Variablen beeinflussen zu können wird das PMS32-Scripting verwendet. Nachfolgend werden die Eingriffsmöglichkeiten im Script SYSTEM00.INI aufgeführt:
Grundsätzlich gilt im Scripting, ist eine Funktion so implementiert, dass die Rückgabe des Scripts den Programmablauf beeinflusst, kann durch Rückgabe von .FALSE. verhindert werden, dass der ursprüngliche Programmcode ausgeführt wird. Diese Bereiche sind in der nachfolgenden Tabelle in ROT gekennzeichnet.
|
Variable |
Typ |
Inhalt |
Beschreibung |
|
loQ01 |
(Object) |
aktueller Buchungssatz |
|
|
loQ01v |
(Object) |
Buchungssatz Vorgänger |
|
|
loQ01o |
(Object) |
Unveränderter aktueller Buchungssatz |
|
|
lnRollOver |
[N] |
14*60*60 |
Zeit in Stunden innerhalb der keine automatisches Ende gesetzt wird. Defaultwert aus: g_nQ01RollOverTime |
|
lcAutoEndTime |
[C] |
"18:00" |
Zeitangabe als String die zum Anschluss einer offenen Buchung herangezogen wird für die Autoende gilt. Defaultwert aus: g_cQ01DefaultEndTime |
|
Scriptingbereich |
Bereich |
Beschreibung |
|
Q01.BARCODE.ALIAS |
.UPDATE |
Korrektur der eingelesenen Werte
aus der Tabelle R10 möglich. |
|
|
.Q_DAT |
Ermittlung des Einlese-Zeitraums |
|
|
.Q_Q01DAT |
Ermittlung der Buchungsdaten des
letzten Einlese-Datums des Mitarbeiters |
|
|
.Q_Q01 |
Ermittlung der Daten aus Q01 für
den oben ermittelten Zeitraum. |
|
Q01.BARCODE.SCAN |
.INIT |
Nach der Initialisierung der Variablen (siehe Variablen) |
|
|
.START |
Direkt nach dem Start der
Schleife, bei Rückgabe von .FALSE. wird die bearbeitung
des aktuellen Datensatzes abgebrochen und der nächste Datensatz gewählt. |
|
|
.GETC64_BF |
Bevor die Mitarbeiterdaten ergänzt werden. |
|
|
.GETC64_AF |
Nachdem die Mitarbeiterdaten ergänzt wurden. |
|
|
.LOOP_BF |
Bevor die LOOP-Variable gesetzt wird und nachdem alle Bedingungsvariablen gesetzt wurden. |
|
|
.LOOP_AF |
Nachdem die LOOP-Variable gesetzt wurde. |
|
|
.AUTOEND |
Nachdem AutoEnde gesetzt wurde, wird nur durchlaufen, wenn AutoEnde gültig ist. |
|
|
.SETENDTIME |
Nachdem die EndeZeit des Datensatzes gesetzt wurde. |
|
|
.KALK_BF |
Vor dem Kalkulieren der Werte des aktuellen Dantesatzes |
|
|
.KALK_AF |
Nach dem Kalkulieren der Werte des aktuellen Datensatzes |
|
|
.INSERT |
Bevor ein neuer Datensatz
eingelesen wird, Insert kann verhindert werden |
|
|
.INSERT_BF |
Vor dem Einfügen des Datensatzes in die Tabelle Q01 |
|
|
.INSERT_AF |
Nach dem der Datensatz in die Tabelle Q01 eingefügt wurde |
|
|
.UPDATE |
Bevor ein Datensatz geändert wird,
Update kann verhindert werden |
|
|
.UPDATE_BF |
Vor dem Ändern des Datensatzes in der Tabelle Q01 |
|
|
.UPDATE_AF |
Nachdem der Datensatz in der Tabelle Q01 |
|
field_name |
field_type |
field_len |
field_dec |
|
IDC64 |
C |
6 |
0 |
|
LDMIN |
D |
8 |
0 |
|
LDMAX |
D |
8 |
0 |
|
field_name |
field_type |
field_len |
field_dec |
|
IDC64 |
C |
6 |
0 |
|
DATUM |
D |
8 |
0 |
|
field_name |
field_type |
field_len |
field_dec |
Hinweise |
|
ABTEILUNG |
C |
25 |
0 |
|
|
ANFANGZEIT |
C |
5 |
0 |
|
|
BELEG |
C |
20 |
0 |
|
|
BELEGNR |
C |
10 |
0 |
|
|
BEMERKUNG |
M |
4 |
0 |
|
|
DATUM |
D |
8 |
0 |
|
|
DATUME |
D |
8 |
0 |
|
|
ENDZEIT |
C |
5 |
0 |
|
|
GK |
B |
8 |
6 |
|
|
IDC02 |
C |
6 |
0 |
|
|
IDC32 |
C |
6 |
0 |
|
|
IDC64 |
C |
6 |
0 |
|
|
IDE10 |
C |
8 |
0 |
|
|
IDEXT |
C |
40 |
0 |
|
|
IDK10 |
C |
8 |
0 |
|
|
IDQ01 |
C |
8 |
0 |
|
|
KOSTEN |
B |
8 |
6 |
|
|
LASTUPD |
N |
3 |
0 |
|
|
LDATUM |
D |
8 |
0 |
|
|
LPRG |
C |
8 |
0 |
|
|
LUPDATE |
N |
3 |
0 |
|
|
LWER |
C |
6 |
0 |
|
|
LZEIT |
C |
8 |
0 |
|
|
NAME |
C |
25 |
0 |
|
|
NDATUM |
D |
8 |
0 |
|
|
NPRG |
C |
8 |
0 |
|
|
NUMMER |
C |
16 |
0 |
|
|
NWER |
C |
6 |
0 |
|
|
NZEIT |
C |
8 |
0 |
|
|
PERSNUMMER |
C |
10 |
0 |
|
|
PRJNR |
C |
25 |
0 |
|
|
STUNDEN |
N |
8 |
2 |
|
|
SUMME |
B |
8 |
2 |
|
|
UEZU |
N |
6 |
2 |
|
|
DATUMZEIT |
T |
8 |
0 |
|
|
LDMIN |
D |
8 |
0 |
Einlese-Zeitraum |
|
LDMAX |
D |
8 |
0 |
Einlese-Zeitraum |
|
__DAT1 |
D |
8 |
0 |
Vergleichswert Q01.Datum |
|
__DAT2 |
D |
8 |
0 |
Vergleichswert MIN(q_dat.ldMin,q_q01dat.datum) |
|
__DAT3 |
D |
8 |
0 |
|
|
__DAT4 |
D |
8 |
0 |
Vergleichswert q_dat.ldMax |
|
field_name |
field_type |
field_len |
field_dec |
Hinweise |
|
IDR10 |
C |
8 |
0 |
ID: Ist gefüllt bei zu importierenden Daten |
|
ICR10 |
C |
25 |
0 |
Beschreibung aus Scannerdaten |
|
__LERR |
L |
1 |
0 |
Wird nach dem UPDATE gesetzt |
|
__LUPD |
L |
1 |
0 |
Wird nach dem UPDATE gesetzt |
|
__LNEW |
L |
1 |
0 |
Wird nach dem UPDATE gesetzt |
|
IDQ01 |
C |
8 |
0 |
ID: ist gefüllt bei Daten aus Q01 über Importzeitraum |
|
IDK10 |
C |
8 |
0 |
|
|
IPK10 |
C |
3 |
0 |
|
|
PRJNR |
V |
50 |
0 |
|
|
IAK10 |
V |
80 |
0 |
Gescannter Wert für Projektnummer |
|
IDE10 |
C |
8 |
0 |
|
|
IPE10 |
C |
3 |
0 |
|
|
NUMMER |
V |
50 |
0 |
|
|
IAE10 |
V |
80 |
0 |
Gescannter Wert für Vorgangsnummer |
|
IDC64 |
C |
6 |
0 |
|
|
NAME |
V |
50 |
0 |
|
|
PERSNRBDE |
V |
80 |
0 |
Gescannter Wert für Personalnummer |
|
IDC02 |
C |
6 |
0 |
|
|
ICC02 |
V |
50 |
0 |
|
|
IAC02 |
V |
80 |
0 |
Gescannter Wert für Kostensatz bei iABcdk |
|
IDC32 |
C |
6 |
0 |
|
|
ICC32 |
C |
30 |
0 |
|
|
IAC32 |
V |
80 |
0 |
Gescannter Wert für Kostenstelle bei iABcdl |
|
DATUMZEIT |
T |
8 |
0 |
Datum und Uhrzeit zum Scanzeitpunkt |
|
DATUM |
D |
8 |
0 |
Datum zum Scanzeitpunkt |
|
ANFANGZEIT |
C |
5 |
0 |
Uhrzeit zum Scanzeitpunkt |
|
DATUME |
D |
8 |
0 |
Ende-Datum gesetzt aus Vorgänger |
|
ENDZEIT |
C |
5 |
0 |
Ende-Zeit gesetzt aus Vorgänger |
|
BELEGNR |
C |
10 |
0 |
Enthält die IDR10 |
|
BELEG |
C |
20 |
0 |
Enthält die IDR10 mit Kennzeichnung: IDR10: diese Kennzeichnung führt
dazu, dass Datensätze des gleichen Zeitraums beim Import berücksichtigt
werden. |
|
BEMERKUNG |
M |
4 |
0 |
Informationen aus welchen Scan-Daten sich diese Buchung zusammensetzt. |
|
IDC39 |
C |
6 |
0 |
|
|
ABTEILUNG |
C |
25 |
0 |
|
|
GK |
B |
8 |
6 |
|
|
IDEXT |
C |
40 |
0 |
|
|
KOSTEN |
B |
8 |
6 |
|
|
STUNDEN |
B |
8 |
2 |
|
|
SUMME |
B |
8 |
2 |
|
|
UEZU |
B |
8 |
2 |
|
|
LDMIN |
D |
8 |
0 |
Einlese-Datum des Benutzers |
|
LDMAX |
D |
8 |
0 |
Einlese-Datum des Benutzers |
|
LDATUM |
D |
8 |
0 |
Zeitstempel Update |
|
LZEIT |
C |
8 |
0 |
Zeitstempel Update |
|
LPRG |
C |
10 |
0 |
Zeitstempel Update |
|
LWER |
C |
6 |
0 |
Zeitstempel Update |
|
NDATUM |
D |
8 |
0 |
Zeitstempel Neuanlage |
|
NZEIT |
C |
8 |
0 |
Zeitstempel Neuanlage |
|
NPRG |
C |
5 |
0 |
Zeitstempel Neuanlage |
|
NWER |
C |
6 |
0 |
Zeitstempel Neuanlage |
Die automatische Endezeit und die Pausen können wir Wochentage separat definiert werden.
Im Beispiel wird ein Schichtmodel simuliert, was über die Beschäftigungsart beim Mitarbeiter festgelegt werden kann.
Außerdem wird gezeigt, dass beim Schichtmodel 4 (Gleitzeit) die Kapazität zur Berechnung der automatischen Endzeit herangezogen werden kann.
- Frühschicht=1 Endet um 14:00 Uhr (Freitags um 12:00)
- Zwischenschicht=3 Endet um 17:00 Uhr (Freitags um 14:00)
- Gleitzeit=4 Endet nach der angegebenen Zeit im Feld Kapazität ab der Startbuchung.
<+Q01>
<+BARCODE>
<+ALIAS>
<+PAUSE>
>+UserScript
** Dieses Script bewirkt, dass automatisch
Pauseneinträge erzeugt werden (muss vorhanden sein!)
<
<>
<+AUTOPAUSE>
>+UserScript
LOCAL lcRet, lnDay, laArr(1), lnBa, lnKapa
lcIdc64 =idc64
lnDay =DOW(datum) && 1 Sonntag,2 Montag,3 Dienstag,4 Mittwoch,5
Donnerstag,6 Freitag,7 Samstag
lcRet =""
lnBa =beschart
lnKapa =kapa
**
DO CASE
CASE m.lnBa>0 and 1=2 &&
Pausenberechnung über Mitarbeiterangaben (hier deaktivert
durch 1=2)
** Über Beschäftigungsart:
** 0=fix; 1=Frühschicht; 2=Mittagschicht,
** 3=Zwischenschicht, 4=Kommen-abhängig
lcRet=ICASE;
(m.lnBa=1,IIF(m.lnDay<>6,"08:00-08:15;12:00-12:30","08:00-08:15");
,m.lnBa=2,IIF(m.lnDay<>6,"16:00-16:15;19:00-19:30","16:00-16:15");
,m.lnBa=3,IIF(m.lnDay<>6,"09:00-09:15;12:30-13:00","09:00-09:15");
,m.lnBa=4,IIF(m.lnDay<>6,;
LEFT(TTOC(ltMin+2*60*60,2),5)+"-"+LEFT(TTOC(ltMin+2.25*60*60,2),5);
+";"+LEFT(TTOC(ltMin+4*60*60,2),5)+"-"+LEFT(TTOC(ltMin+4.5*60*60,2),5),;
LEFT(TTOC(ltMin+2*60*60,2),5)+"-"+LEFT(TTOC(ltMin+2.25*60*60,2),5));
)
CASE m.lnDay=6 && Freitag
lcRet="09:00-09:30"
CASE INLIST(m.lnDay,2,3,4,5) && Alle Wochentage
lcRet="09:00-09:15;12:00-12:30"
ENDCASE
RETURN m.lcRet
<
<>
<+AUTOENDE>
>+UserScript
LOCAL lcRet, lnDay, lcIdc64, laArr(1), lnBa, lnKapa
lcIdc64 =idc64
lnDay =DOW(datum) && 1 Sonntag,2 Montag,3 Dienstag,4 Mittwoch,5
Donnerstag,6 Freitag,7 Samstag
lcRet =""
lnBa =beschart
lnKapa =kapa
**
DO CASE
CASE m.lnBa>0 and 1=2 && Endeberechnung über
Mitarbeiterangaben (hier deaktivert durch 1=2)
** Über Beschäftigungsart:
** 0=fix; 1=Frühschicht; 2=Mittagschicht,
** 3=Zwischenschicht, 4=Kapa-abhängig
lcRet=ICASE;
(m.lnBa=1,IIF(m.lnDay<>6,"14:00","12:00");
,m.lnBa=2,IIF(m.lnDay<>6,"22:00","20:00");
,m.lnBa=3,IIF(m.lnDay<>6,"17:00","14:00");
,m.lnBa=4 AND
m.lnKapa>2,LEFT(TTOC(IIF(m.lnDay<>6,ltMin+m.lnKapa*60*60,ltMin+(m.lnKapa-2)*60*60),2),5);
)
CASE m.lnDay=6 && Freitag
lcRet="13:30"
CASE INLIST(m.lnDay,2,3,4,5) && Alle Wochentage
lcRet="16:15"
ENDCASE
RETURN m.lcRet
<
<>
<>
<>
<>
Im Verzeichnis .\PMS32\SAMPLES\ der PMS32 Serverinstallation finden Sie Beispiel-Dateien bzw. bei Fragen werden Sie sich an unseren Support unter +49 6834 94030.
Siehe auch
: Hauptmenü / Hauptindex /
Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken
Index / Programmcode Index /
Servicepacks / Sonstiges Index
Lokale Benutzerhilfe
: Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#0000 -
H.U.DD#SSFF 14.12.2010 Senden
Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen PMS32
WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt.
Unbefugtes Weiterleiten, Veröffentlichen, Kopieren usw. sind untersagt
und werden gerichtlich verfolgt. © PMS Compelec
GmbH 2010 ® el-Projekt