PMS32 Online- Hilfereferenz

BAR-Code Buchungen

Positionserfassung, Lagerbuchungen, Projektzeiten, Seriennummern uvm.


Inhalt:

 

BAR-Code Buchungen. 1

1       Einleitung. 2

2       Hardware: Scanner Metrologic Optimus. 2

3       Installation und Einrichtung. 3

3.1       Installation des Barcode Scanners an einem PC. 3

3.2       Einrichtung der PMS32-Software. 3

3.3       Empfangen der Scannerdaten in PMS32. 3

4       Allgemeiner Aufbau. 3

5       Menüstruktur. 4

6       Bedienung. 4

6.1       Der Einstieg zur Buchung: Maske 1. 5

6.1.1        Anmeldung. 5

6.1.2        Mandant. 7

6.1.3        Erfassung. 7

7       Buchungsvorgänge in der Materialwirtschaft. 8

7.2       Vorbemerkungen. 8

7.3       Erfassung von Materialbedarf für ein Stammlager. 8

7.4       Erfassung von Zählmengen in Zusammenhang mit einer Inventur. 8

7.5       Kommissionierung von Material mit Lagerbestandsführung in PMS. 9

7.5.1        Kommissionierung unter Berücksichtigung der Disposition. 9

7.5.2        Kommissionierung ohne Berücksichtigung der Disposition. 9

7.6       Kommissionierung von Material ohne Lagerbestandsführung in PMS. 10

7.6.1        Kommissionierung unter Berücksichtigung der Disposition. 10

7.6.2        Kommissionierung ohne Berücksichtigung der Disposition. 10

8       Projektzeiterfassung. 12

8.7       Vorbemerkungen. 12

8.8       Erfassung von Zeiten. 12

8.8.1        Die Buchungsregeln: 12

8.9       Scripting für den Zeitdatenimport per Barcode. 13

8.9.1        Variablen: 13

8.9.2        Script-Bereiche: 13

8.9.3        Datensatzfelder: 14

 


1      Einleitung

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.

2      Hardware: Scanner Metrologic Optimus

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

 

aktionspaket       image3

3      Installation und Einrichtung

3.1    Installation des Barcode Scanners an einem PC

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\

3.2    Einrichtung der PMS32-Software

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

<> 

 

3.3    Empfangen der Scannerdaten in PMS32

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.

4      Allgemeiner Aufbau

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.

5      Menüstruktur

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.

 

6      Bedienung

 

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

 

6.1    Der Einstieg zur Buchung: Maske 1

Nach dem Programmstart stehen in Maske 1 folgende Eingabefelder zur Verfügung:

Anmeldung

Mandant

Erfassung

6.1.1   Anmeldung

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.


6.1.2   Mandant

Hier kann über Eingabe einer Mandantennummer bestimmt werden, für welchen Mandanten die Daten gescannt werden sollen.

6.1.3   Erfassung

Zur Beschreibung  einer Buchung kann hier ein Erfassungstext entweder über die Scannertastatur eingegeben oder gescannt werden.


 

7      Buchungsvorgänge in der Materialwirtschaft

7.2    Vorbemerkungen

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.

7.3    Erfassung von Materialbedarf für ein Stammlager

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.

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.

Buchungen in PMS

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.

7.4    Erfassung von Zählmengen in Zusammenhang mit einer Inventur

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.

Buchungen in PMS

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.

7.5    Kommissionierung von Material mit Lagerbestandsführung in PMS

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.

7.5.1   Kommissionierung unter Berücksichtigung der Disposition

Bedienung Scanner

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.

Buchungen in PMS

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.

7.5.2   Kommissionierung ohne Berücksichtigung der Disposition

Bedienung Scanner

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.

Buchungen in PMS

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.

7.6    Kommissionierung von Material ohne Lagerbestandsführung in PMS

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.

7.6.1   Kommissionierung unter Berücksichtigung der Disposition

Bedienung Scanner

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.

Buchungen in PMS

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.

7.6.2   Kommissionierung ohne Berücksichtigung der Disposition

Bedienung Scanner

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.

Buchungen in PMS

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.


 

8      Projektzeiterfassung

8.7    Vorbemerkungen

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.

 

8.8    Erfassung von Zeiten

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.

8.8.1   Die Buchungsregeln:

·         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.

8.9    Scripting für den Zeitdatenimport per Barcode

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.

8.9.1   Variablen:

Variable

Typ

Inhalt

Beschreibung

loQ01

(Object)

(Siehe Datensatzfelder)

aktueller Buchungssatz

loQ01v

(Object)

(Siehe Datensatzfelder)

Buchungssatz Vorgänger

loQ01o

(Object)

(Siehe Datensatzfelder)

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

 

8.9.2   Script-Bereiche:

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

 

8.9.3   Datensatzfelder:

Tabelle Q_DAT: (Ermittlung des Einlese-Zeitraums)

field_name

field_type

field_len

field_dec

IDC64

C

6

0

LDMIN

D

8

0

LDMAX

D

8

0

 

Tabelle Q_Q01DAT: (Ermittlung des letzten Buchungsdatum des Mitarbeiters)

field_name

field_type

field_len

field_dec

IDC64

C

6

0

DATUM

D

8

0

 

Tabelle Q_Q01: (Ermittlung der zu betrachtenden Datensätze aus Q01)

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

 

Tabelle TOADD: (zu bearbeitende Tabelle für den Import)

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

 

Beispiel:

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