PMS32 Online- Hilfereferenz

Informationen zum PMS32 Serviceupdate - 1.0.03.0004


1.) BESTELLWESEN - Bestellvorschlag D4002, Fehler bei Mengenänderung ...
2.) CAD-Plus-Pack: Bei erneuter Auswahl des Verzeichnisses mit F3 im Kopf-Pfad wird die bereits vergebene Vorgangsnummer überschrieben. ...
3.) DATENAUSTAUSCH: nach dem Import aus Excel zeigten sich diverse Fehlermeldungen ...
4.) DISPOSITION - Automatischer Aufruf der Disposition, wenn in den Zeitplanungsmasken eine Änderung gespeichert wird ...
5.) DISPOSITION - Fehler beim Disposnieren von Baugruppen, wenn diese zurückgenommen werden ...
6.) DISPOSITION - Gesperrte Artikel werden bei erneuter Disposition entfernt ...
7.) DISPOSITION - Informationen zum Reservieren auf "gleiche" Lagerpunkte ...
8.) DISPOSITION - Kompletter Durchlauf der Disposition bei Verwendung von Baugruppen läuft machmal auf einen Fehler ...
9.) DISPOSITION - Übersteuern der Reservierung von Material, dass in einer Bestellung angelegt wurde ...
10.) DISPOSITION, Neubestellen von Positionen, die schon in einer Bestellung angelegt waren ...
11.) DRUCKEN: Die Funktion GETADR() gibt den Ort direkt hinter der Straße aus, wenn die Postleitzahl leer ist. ...
12.) ECM-Dokumentenmanagement: Scriptgesteuerte Sharepoint Integration zur Archivierung von Dokumenten über PDF-Creator ...
13.) FERTIGUNG - Aktualisieren einer Baugruppe erzeugt doppelte Einträge ...
14.) IMPORT: Scriptgesteuerter Import aus Excel oder aus XML-Dateien nach PMS. Es können alle VFP und PMS Funktionen genutzt werden. ...
15.) INTERNETUPDATE - Änderung der Updatedefinitionen ...
16.) LV-KOPPLUNG - Abbruch der Übertragung bei einem numerischen Überlauf ...
17.) LV-KOPPLUNG - Abbruch, wenn bei der Datenübertragung ein Overflow festgestellt wird ...
18.) PMS-OLAP - Auswertung von Projekten, die keine Vorgänge haben ...
19.) PMS-OLAP - Berechnung von Werten aus Q02 und ungeplanten Abgängen geändert ...
20.) PMSSERVER: Baugruppen die bei der Übergabe an EPLAN aufgelöst werden ...
21.) PMSSERVER: Bei schneller Eingabe des gesuchten Begriffs kommt es sporadisch vor, dass einige Zeichen "verschluckt" werden. ...
22.) PROGRAMMUPDATE: Das Kopieren der Dateien mit der Umbenennenfunktion auf die lokale Station funktioniert nicht korrekt. ...
23.) STAMMDATEN: Fehlermeldung bei Artikelverwendungsnachweis ...
24.) SYSTEM - Anzeige der Modulnummer in der Statusleiste zeigt immer Modul 0 ...
25.) SYSTEM - Bearbeitung von Checkboxen in Grid's umständlich ...
26.) SYSTEM - Darstellung von Websites als Hintergrund in der PMS32-Anwendung nun auch aus Internet und Intranet möglich. ...
27.) SYSTEM - Fehlermeldung beim automatischen Schliessen von Masken in der Maske "Text editieren" ...
28.) SYSTEM - Registrierung der COM+ Server für die LV-Kopplung wird gelöscht wenn PMS32 registriert wird ...
29.) SYSTEM - Startassistent, beim Zurücksetzen der Tabellen-Versionsinformation werden die Tabellen in verschiedenen Verzeichnissen nicht berück ...
30.) SYSTEM - Trifft die MEMO Datei der Errlog Tabelle auf die Grenze von 2GB so kann PMS32 nicht mehr gestartet werden. ...
31.) VORGANGSVERWALTUNG - Eingabe des Stornogrundes beim Stornieren einer gebuchten Rechnung ...
32.) VORGANGSVERWALTUNG - Fehler bei F2/F3 auf dem Feld Positionsbezeichnung wenn der Vorgang abgeschlossen ist. ...
33.) VORGANGSVERWALTUNG - Fehler beim Ändern von Kalkulationsdaten in der Positionskalkulation eines Vorganges ( E1170) ...
34.) VORGANGSVERWALTUNG - Zielvorgangsart mit F3 auf der neuen Vorgangsnummer zeigt noch die Auswahl auf Basis der Quellvorgangsart ...


BESTELLWESEN - Bestellvorschlag D4002, Fehler bei Mengenänderung ...

Im Bestellvorschlag, D4002, wird ein Fehler erzeugt, wenn man die Bestellmenge ändern möchte. Dieser Fehler beruht auf der Berechnung des Edelmetallwertes und ist damit behoben.

An den Seitenanfang
CAD-Plus-Pack: Bei erneuter Auswahl des Verzeichnisses mit F3 im Kopf-Pfad wird die bereits vergebene Vorgangsnummer überschrieben. ...

Die Vorgangsnummer wird bei der erneuten Übernahme nur dann gesetzt wenn das Feld leer ist.

An den Seitenanfang
DATENAUSTAUSCH: nach dem Import aus Excel zeigten sich diverse Fehlermeldungen ...

Zum Einen stockte der Import und lief erst weiter, nachdem man mit der Maus in das PMS-Fenster geklickt hat oder eine Taste drückte.
Zum Anderen gab es nach dem Import eine Fehlermeldung, der Import wurde zwar durchgeführt, aber konnte nicht korrekt abgeschlossen werden.
Nach dem Import wurde der Satzzeiger verändert und damit wurde eine leere Maske angezeigt.
Diese Fehler sind hiermit behoben.

An den Seitenanfang
DISPOSITION - Automatischer Aufruf der Disposition, wenn in den Zeitplanungsmasken eine Änderung gespeichert wird ...

Automatischer Aufruf der Disposition, wenn in den Zeitplanungsmasken eine Änderung gespeichert wird. Dieses Verhalten ist mit diesem Serviceupdate behoben.

An den Seitenanfang
DISPOSITION - Fehler beim Disposnieren von Baugruppen, wenn diese zurückgenommen werden ...

Fehler beim Disposnieren von Baugruppen, wenn diese zurückgenommen werden. Dieser Fehler beruht auf einer Doppelvergabe von Tabellennamen bei der Auflösung von Baugruppen. Der Fehler ist mit diesem Serviceupdate behoben.

An den Seitenanfang
DISPOSITION - Gesperrte Artikel werden bei erneuter Disposition entfernt ...

Werden Artikel gesperrt, z.B. nicht mehr lieferbare Artikel, die in Stücklisten bereits disponiert, bestellt und geliefert wurden, so werden diese bei erneuter Disposition als Überschussmaterial aus
dem Projekt gebucht. Dieser Fehler ist mit diesem Serviceupdate behoben. Gesperrte Artikel werden erst mit dem Reservieren geprüft. So können auch gesperrte Artikel in die Disposition übertragen werden. Gesperrte Artikel, die noch eine offene Menge haben, werden anschließend aus der Disposition gelöscht. Gleiches gilt für Auslaufartikel, die auch nur vom Stammlager reserviert werden können.

An den Seitenanfang
DISPOSITION - Informationen zum Reservieren auf "gleiche" Lagerpunkte ...

Seit Umbau der Disposition wird beim Reservieren von Material auf "gleiche" Lagerorte geachtet. Die Information wird bei dem Einsatz einer LV-Kopplung benötigt, um zu vermeiden, dass Material, dass für eine andere PMS32 Station benötigt wird, von einer anderen Station reserviert wird. Die Information, welche Lagerorte zusammengehören, wird in der Maske C6602 - Lagerorte (Details) eingegeben. Im Feld Wareneingangspunkt wird definiert, zu welchem "räumlichen" Bereich welche Lagerorte gehören. Dabei gehören Lagerorte mit gleichem Wareneingangspunkt zum gleichen "räumlichen" Bereich. In der Disposition wird bei der Reservierung auf die Lagerort- Räume geachtet! Lagerorte mit ungleichem Wareneingangspunkt werden dabei unterschieden.
Am einem Beispiel:
Das Material eines Auftrags soll an das KUNDENLAGER mit WE-Punkt="KUNDE1" gehen
Es gibt eine Manuelle Materialanforderung auf das STAMMLAGER mit WE-Punkt="STAMM"
In diesem Fall würde keine Reservierung auf die manuelle Materialanforderung vorgenommen.
Bei folgenden Reservierungen wird der WE-Punkt geprüft:
Reservierung auf Bestellüberschuß (frei)
Reservierung auf Bestellüberschuß (Projekt)
Reservierung auf manuelle Materialanforderung
Reservierung auf automatische Materialanforderung
All diese Reservierungsmöglichkeiten vergleichen den Wareneingangspunkt beider Lagerorte, der von dem Material kommt und den an den Material geht.

An den Seitenanfang
DISPOSITION - Kompletter Durchlauf der Disposition bei Verwendung von Baugruppen läuft machmal auf einen Fehler ...

Bei der Verwendung von Baugruppen kann es bei der Disposition vorkommen, dass der Dispositionslauf beim Ermitteln einer Baugruppenposition nicht weiterläuft. Dieser Fehler wurde hiermit behoben.

An den Seitenanfang
DISPOSITION - Übersteuern der Reservierung von Material, dass in einer Bestellung angelegt wurde ...

Ein Reservieren auf Lagermaterial mit gesetztem "EB " Status kann jetzt durch eine Einstellung in den Firmenparametern verhindert werden. Bis zur vorherigen Version reservierte die Disposition auf Lagermaterial, auch wenn die Position schon in einer Bestellung vorhanden war diese jedoch noch nicht als "ist bestellt" gekennzeichnet wurde. Der Status einer solchen Position wird dann mit " EB " in der Disposition angegeben. War zum Zeitpunkt der Disposition Lagermaterial vorhanden, so wurde auf dieses reserviert, auch wenn der Artikel schon in einer Bestellung angelegt war und die Bestellung noch nicht als "ist bestellt", Status= " EBB ", gekennzeichnet wurde.
Dieses Verhalten kann jetzt durch eine Einstellung in den Firmenparametern übersteuert werden.
Firmenparameter => Seite Disposition => "Artikel nicht vom Stammlager reservieren wenn in Bestellung …"
Diese Option gibt vor, wenn gesetzt, dass Artikel nicht mehr vom Stammlager reserviert werden, wenn diese in einer "angelegten" Bestellung vorhanden sind, und diese Bestellung die Stati: "ist verschickt" und oder "ist bestätigt" hat. Ist die Bestellung "nur" angelegt und keine der beiden Stati gesetzt, so wird weiterhin auf Stammlagermaterial reserviert, sofern angegeben.
Die Option ist in der Disposistionsmaske "DISPOA" nicht übersteuerbar!

An den Seitenanfang
DISPOSITION, Neubestellen von Positionen, die schon in einer Bestellung angelegt waren ...

Dieser Fehler wurde schon mit Serviceupdate 2 erledigt. Hier nochmals der Hinweis, dass das Verhalten mit Nachreservierungen auf Bestellvorschläge geändert wurde! Die Einstellung kann jetzt in den Firmenparametern vorgenommen werden und verhindert, das angelegte Bestellungen, Status=" EB ", von der Disposition betrachtet werden.

An den Seitenanfang
DRUCKEN: Die Funktion GETADR() gibt den Ort direkt hinter der Straße aus, wenn die Postleitzahl leer ist. ...

Die Funktion wurde dahingehend geändert, dass der Ort auch bei leerer Postleitzahl mit einem vorhergegenden Zeilenumbruch geschrieben wird.
Über den Wert im zweiten Parameter kann die Ausgabeadresse beeinflußt werden, hier kurz zur Verdeutlichung:

Wird kein zweiter Parameter angegeben ("STR" oder "PF"), wird die Straße ausgegeben, es sei denn das Feld Straße ist nicht gefüllt.
Wird "STR" angegeben wird die Straße ausgegeben, auch wenn diese nicht gefüllt ist.
Wird "PF" angegeben wird das Postfach vorrangig ausgegeben, d. h. wenn nicht gefüllt wird die Straße ausgegeben: nicht gefüllt bedeutet, dass keine Postfachdaten wie PLZ2 und POSTFACH angegeben wurden.

Desweiteren wurde ein Fehler behoben, der mit dem dritten Parameter in Verbindung steht. Bei angabe des dritten Parameters .TRUE. wird die "alte" Schreibweise ausgegeben. Ohne Angabe des dritten Parameters oder bei .FALSE. wird die neue Schreibweise verwendet, die besagt, dass bei Auslandsadressen der Ort in Großbuchstaben gefolgt vom Land ebenfalls in Großbuchstaben. Die Ermittlung des Heimatlandes war fehlerhaft.

Um zu kennzeichnen, dass ihre Adresse aus den Firmenparametern als Heimatland gilt, ist in den Länderdaten dieses entsprechend zu kennzeichnen. Im Standard ist dies bereits für das Land "Deutschland (DE)" vorbelegt.

An den Seitenanfang
ECM-Dokumentenmanagement: Scriptgesteuerte Sharepoint Integration zur Archivierung von Dokumenten über PDF-Creator ...

PMS32 bietet die Möglichkeit Automatisierungen im Bereich der Archivierung also aus den Druckbereichen über Scripting zu steuern. Damit können Druck-Ausgaben von freigegebenen Druckbereichen in definierte Dateien und Verzeichnisse abgelegt werden. Mit dem Program PDF-Creator können somit auch PDF-Dateien erzeugt werden. Die Definition der Ausgabedateien können flexibel gestaltet werden so dass bestimmte Werte aus den Daten oder Reportbereichen im Dateinamen enthalten sind.
Im Verzeichnis .\PMS32\SAMPLES\ befinden sich Beispieldateien um die Ausgabe zu steuern und einzurichten: PMSECM...
Eine ausführliche Dokumentation kann über den Support angefordert werden.
Gerne erstellen wir ihnen ein entsprechendes Angebot zur Installation und Einrichtung der Funktionserweiterung.

An den Seitenanfang
FERTIGUNG - Aktualisieren einer Baugruppe erzeugt doppelte Einträge ...

Das Aktualisieren einer Baugruppe erzeugt doppelte Einträge. Dieser Fehler ist mit diesem Update behoben

An den Seitenanfang
IMPORT: Scriptgesteuerter Import aus Excel oder aus XML-Dateien nach PMS. Es können alle VFP und PMS Funktionen genutzt werden. ...


Bei diesem Importprogramm geht es darum sich nicht mit immer wiederkehrenden Programmierarbeiten beschäftigen zu müssen. Die Importdateien müssen in ein entsprechendes, definiertes PMS Format gebracht werden. Das wird dadurch erreicht, dass alle PMS-Tabellen durch einen oder mehrere SQL-Selects aufbereitet werden. Der Abgleich erfolgt immer über die interne ID, aber keine Angst, diese muss nicht in der Importdatei vorhanden sein. Durch den SQL wird die interne ID hinzugefügt, denn es gilt die Regel, alle Datensätze mit leeren ID’s werden neu angelegt, alle Datensätze mit gefüllter ID werden geändert. Es werden grundsätzlich alle importierten Felder upgedatet, aber man kann dies auch genauer spezifizieren.

Grundsätzliche Vorgehensweise:
Schritt 1: Import oder Umwandlung der Importdatei in eine DBF Tabelle (Bsp.: XLSIMPORT() oder XMLtoCURSOR()).
Schritt 2: Erzeugung einer Haupt-Tabelle mit allen PMS-konformen Feldern für den Import in die PMS-Datenbank per SQL-Select (s. Datadictionary DD\Expressd).
Schritt 3: Definition aller weitern SQL-Selects für die zugehörigen PMS-Tabellen die importiert werden sollen

Programm für den Import: (kann in ein Script eingebaut werden)

loImport=NEWOBJECT("PMSImportClassBasic","PRG\PMSDataClassesBasic.PRG","PMS32C.EXE")
**
loImport.cMenuFile = "«MENUFILE»"
loImport.cMenuMain = "IMPORT"
**
lvRet      =loImport.start(m.lcFile,"B01;B02;D03;D04;D05;I01")
RELEASE loImport

Falls die Importdatei eine Excel-Datei ist, wird eine Sektion (XLS) in der Menüdatei benötigt, resultiert aus der Extension (Endung) der Importdatei m.lcFile. Dies könnte dann wie folgt aussehen:

[IMPORT]
(XLS)
>SCRIPT
** übergebene Parameter: TP1=ImportDatei, TP2=RückgabeAlias
** Datei importieren und Cursor zurückgeben!
**
m.tp1=XLSIMPORT(m.tp1)            && MAINX
**
RETURN m.tp1

Gibt dieses Importscript wie verlangt einen Cursor zurück, dann wird das Script GETSQL ausgeführt, welches zur Ermittlung der SQL-Befehle dient. Das Script GETSQL wird für jede PMS-Importtabelle aufgerufen, welches bei der Methode Start angegeben wurde. Das könnte dann wie foilgt aussehen:

(GETSQL)
>SCRIPT
** übergebene Parameter: TP1=PMS-ImportTabelle (z. B. B01), TP2=QuellAlias (z. B. TabellenBlattName bei Excel)
** Dieses Script wird von der Methode .Start für jeden ImportAlias aufgerufen!
DO CASE
      CASE m.tp2="PREIS0"
            RETURN DOMENSC('«MENUFILE»','«MENUTREE»'+'.'+m.tp1,m.tp2,sys(2015))
      OTHERWISE
            =MESSAGEBOX(TEXTMERGE("Definition für Importcursor '«m.tp2»' nicht angelegt!",.T.,"«","»"),16,"Abbruch!")
            RETURN ""
ENDCASE


In diesem Script wird der Cursorname geprüft, der vom Importprogramm erzeugt wurde (siehe Bereich XLS) zusätzlich wird ein Menübereich aufgerufen, der für die gewünschte Importtabelle das definierte Script zurückgibt. So vorzugehen hat den Vorteil dass man für verschiedene Arbeitsblätter eigene Importdefinitionen anlegen und somit ganz unterschiedliche Dateien importieren kann. Beispielsweise könnte man die Rückgabe der SQL-Selects aus einem anderen Menübereich holen, abgängig vom Namen des QuellAlias (was hier nicht gemacht wurde).
Dies könnte dann wie folgt aussehen:

{B01}
>SCRIPT
local lcRet
** übergebene Parameter: TP1=QUellAlias, TP2=ZielAlias --> Select from ('«m.tp1»') into cursor ('«m.tp2»')
TEXT TO lcRet TEXTMERGE NOSHOW PRETEXT 7
      LPARAMETERS toThis
      ** hier der SQL
      SELECT 0
      SELECT;
            CAST(IMP.ARTNR AS c(25))                                    AS ARTNR,;
            IIF(ISNULL(B01.idB01),SPACE(8),B01.idb01)      AS IDB01,;
            CAST(IMP.TYPNR AS c(30))                                    AS TYPNR,;
            CAST(IMP.BESTNR AS c(45))                                    AS BESTNR,;
            CAST(IMP.PREIS AS b(6))                                          AS EKBR,;
            CAST(IMP.PE AS i)                                          AS PEEK,;
            CAST(IMP.UFLA AS i)                                          AS UFLA,;
            CAST(IMP.VPE AS i)                                          AS MGVP,;
            IIF(ISNULL(c19.idc19),CAST(UPPER(IMP.me) AS c(6)),c19.idc19)            AS IDC19meek,;
            IIF(ISNULL(c19la.idc19),CAST(UPPER(IMP.mela) AS c(6)),c19la.idc19)      AS IDC19mela,;
            CAST(IMP.EAN AS c(13))                                          AS ieb01,;
            CAST(IIF(EMPTY(IMP.rabattgr),"",ALLTRIM(STR(IMP.rabattgr,6))) AS c(6))      AS rabgrp,;
            CAST(IMP.rabatt1 AS N(6,2))                                    AS lfarab,;
            CAST(IMP.rabatt2 AS N(6,2))                                    AS rabatt1,;
            CAST(IMP.bez AS m)                                          AS bez,;
            CAST(IMP.match AS c(25))                                    AS match,;
            IIF(ISNULL(C61.IDC61),CAST(UPPER(IMP.IDC61) AS c(6)),C61.IDC61)            AS IDC61,;
            IIF(ISNULL(C62.IDC62),CAST(UPPER(IMP.IDC62) AS c(6)),C62.IDC62)            AS IDC62,;
            IIF(ISNULL(C66.idc66),CAST(UPPER(IMP.LAGER) AS c(6)),C66.idc66)            AS idc66,;
            CAST("" AS c(6))                                          AS IDC63,;
            CAST(IMP.lplatz AS c(8))                                    AS platz,;
            CAST(IMP.bmfest AS b(3))                                    AS bmfest,;
            CAST(IMP.bsyst AS N(1))                                          AS bsyst,;
            CAST(IMP.vomax AS b(6))                                          AS vomax,;
            CAST(IMP.vomel AS b(6))                                          AS vomel,;
            CAST(IMP.vomin AS b(6))                                          AS vomin,;
            CAST(IMP.hoehe AS b(6))                                          AS b02x0023,;
            CAST(IMP.breite AS b(6))                                    AS b02x0022,;
            CAST(IMP.tiefe AS b(6))                                          AS b02x0143,;
            CAST(IMP.gewicht AS b(6))                                    AS b02x0151,;
            IIF(ISNULL(c98.idc98),CAST(UPPER(IMP.metallelem) AS c(6)),c98.idc98)      AS idc98,;
            CAST(IMP.emgewicht AS b(4))                                    AS edelzahl,;
            CAST(IMP.basis_in_p AS N(6))                                    AS basis,;
            CAST(IMP.gewichtkg AS i)                                    AS uflaezu;
            FROM (((((((;
            ('«m.tp1»') AS IMP;
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»B01.DBF')                  ON CAST(IMP.ARTNR AS c(25))            ==b01.ARTNR);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C19.DBF')                  ON CAST(IMP.me AS c(30))            ==c19.bezei);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C19.DBF') AS c19la            ON CAST(IMP.mela AS c(30))            ==c19la.bezei);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C61.DBF')                   ON CAST(UPPER(IMP.IDC61) AS c(6))      ==C61.IDC61);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C62.DBF')                   ON CAST(UPPER(IMP.IDC62) AS c(6))      ==C62.IDC62);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C66.DBF')                   ON CAST(UPPER(IMP.LAGER) AS c(6))      ==C66.idc66);
            LEFT OUTER JOIN ('«my.clients.path.cdbfdir»C98.DBF')                   ON CAST(IMP.metallelem AS c(30))      ==c98.bezei;
            AND      c98.idc26=='«my.cidc26»');
            WHERE !EMPTY(IMP.ARTNR);
            ORDER BY 1;
            INTO CURSOR ('«m.tp2»');
            READWRITE
      ** 1. Alias ändern auf den gleichen Namen, damit die obige Prüfung funktioniert!
      use in select ('«m.tp1»')
      use (DBF('«m.tp2»')) ALIAS ('«m.tp1»') shared in 0 again
      select ('«m.tp1»')
      RETURN ALIAS()
ENDTEXT
RETURN m.lcRet

Wichtig ist hier, dass nach der Ausführung der SQL den gleichen Namen hat wie die ursprüngliche Importtabelle (aber nur wegen dem Script GETSQL), denn maßgeblich für die weiteren SQL’s ist der erste SQL Select der die Mastertabelle darstellt. D. H. alle folgenden SQL-Selects basieren auf diesem Ersten SQL. Daher muss dieser SQL auch alle Felder beinhalten, die jeweils importiert werden sollen, wenn auch noch nicht mit dem endgültigen Namen oder Feldtyp.
Noch ein paar Anmerkungen zu diesem SQL:
-      Durch den LEFT OUTER JOIN wird sichergestellt, dass bereits vorhandene Artikel die IDB01 zugeordnet bekommen und alle Nichtvorhandenen eine Leere ID haben.
-      Alle anderen Tabellenzuordnungen sind hier analog vorzunehmen, wie z. B. für die Einheiten (IDC19…)
-      Ebenfalls werden hier alle nötigen Feldkonvertierungen vorgenommen, so können in den FolgeSQLs diese entfallen

Nachfolgend noch ein Beispiel für die Nachfolge-SQL Selects:

{D03}
>SCRIPT
local lcRet
** übergebene Parameter: TP1=QUellAlias, TP2=ZielAlias --> Select from ('«m.tp1»') into cursor ('«m.tp2»')
TEXT TO lcRet TEXTMERGE NOSHOW PRETEXT 7
      LPARAMETERS toThis
      ** hier der SQL
      SELECT 0
      SELECT;
            IMP.ARTNR,;
            IIF(ISNULL(D03.idD03),SPACE(8),D03.idD03)      AS IDD03,;
            b01.idb01,;
            IMP.IDC61,;
            IMP.BESTNR,;
            IMP.EKBR                        AS EKPREIS,;
            IMP.PEEK                        AS PEEK,;
            IMP.UFLA                        AS MEEKUF,;
            IMP.MGVP                        AS MGVP,;
            IMP.IDC19meek                        AS idc19,;
            IMP.rabgrp                        AS rabgrp,;
            IMP.lfarab                        AS rabatt,;
            IMP.rabatt1                        AS rabatt1;
            FROM ('«m.tp1»') AS IMP;
            INNER JOIN      ('«my.clients.path.cdbfdir»B01.DBF')      ON IMP.ARTNR==b01.ARTNR;
            LEFT OUTER JOIN      ('«my.clients.path.cdbfdir»D03.DBF')      ON b01.idb01+IMP.IDC61+IMP.BESTNR==D03.idb01+D03.IDC61+D03.BESTNR;
            WHERE !EMPTY(b01.IDC61);
            ORDER BY 1;
            INTO CURSOR ('«m.tp2»')
      RETURN ALIAS()
ENDTEXT
RETURN m.lcRet

Somit sollte klar sein, wie die Scripts aufgebaut und erstellt werden müssen, damit der Import klappt.
Alles andere erledigt das Programm:
-      Vorgabe von DEFAULT-Werten
-      Prüfung von Feldinhalten
-      Import der Daten in die angegebene Tabelle
-      Zeitstempel für Neuanlage oder Änderung
-      TS für die LV-Kopplung
-      Protokollierungen
-      Counter für Neuanlage und Änderung wird am Ende ausgegeben

Beispiele befinden sich in der PMS-Installation unter SAMPLES: SYSTEMxx.IMPORT…INI
Bei weiteren Fragen zu diesem Thema wenden Sie sich bitte an dja@compelec.de

An den Seitenanfang
INTERNETUPDATE - Änderung der Updatedefinitionen ...

Die Definitionen für das Internetupdate wurden geändert. Für die weiteren Versionen gelten folgende Regeln:
1.) Bei einem Versionssprung, H.U.DD, werden in Zukunft immer alle Dateien mitgeliefert. Damit stehen bei einem Versionssprung immer alle neuen Dateien zur Verfügung. Die Servicepack- Nummer einer neuen Version hat immer die Endung 0000.
2.) Neue Servicereleases werden in Zukunft immer im hunderter Step hochgezählt. 0000, 0100, 0200, 0300, ...
3.) Innerhalb eines Servicereleases kann es durchaus zu einem Fix des Releases kommen. Diese Informationen sind in den letzten zwei Stellen der Releasenummer verschlüsselt. Um ein Hotfix einspielen zu können muss immer zuerst das entsprechende Release eingespielt werden.
Beispiele:
Installierte Version:
1.0.03#0003
Neues Release:
1.0.03#0004 Bedingt 1.0.03#0000
Installierte Version:
1.0.01#0002
Neue Versionen:
1.0.02#0000, Neue Version könnte eingespielt werden
1.0.02#0001, Neues Hotfix benötigt 1.0.02#0000
1.0.03#0000, Neue Version könnte eingespielt werden
1.0.03#0001, Neues Hotfix benötigt 1.0.03#0000
1.0.03#0100, Neues Release benötigt 1.0.03#0000
1.0.03#0101, Neues Hotfix benötigt 1.0.03#0100
Damit ist die Versionsnummer weiter unterteilt worden: H.U.DD#SSFF
H - Hauptversion
U - Unterversion
DD - Datenbankversion
SS - Servicerelease
FF - Hotfix eines Releases

An den Seitenanfang
LV-KOPPLUNG - Abbruch der Übertragung bei einem numerischen Überlauf ...

Abbruch der Übertragung bei einem numerischen Überlauf. Der Fehler wird jetzt herausgefiltert und die Übertragung wird nicht mehr abgebrochen.

An den Seitenanfang
LV-KOPPLUNG - Abbruch, wenn bei der Datenübertragung ein Overflow festgestellt wird ...

Die LV-KOPPLUNG bricht bei der Übertragung der Daten ab, wenn diese auf einen Overflow Fehler läuft. Diese Fehlermeldung wird ab diesem Serviceupdate ignoriert. Der Fehler wird zwar aufgezeichnet, jedoch wird die Datenübertragung nicht abgebrochen.

An den Seitenanfang
PMS-OLAP - Auswertung von Projekten, die keine Vorgänge haben ...

In PMS-OLAP werden jetzt auch Projekte ausgewertet, die keine Vorgänge haben. Die Ermittlung der Daten wird jetzt über die Projekte vorgenommen und nicht über die eventuell vorhandenen Vorgänge.

An den Seitenanfang
PMS-OLAP - Berechnung von Werten aus Q02 und ungeplanten Abgängen geändert ...

Bei der Berechnung der Werte aus Q02 wurde der Gemeinkostenprozentsatz nicht ausgewertet. Alle Werte aus dieser Tabelle wurden Brutto berechnet. Die Werte werden jetzt in der Spalte PRGKL_I in den Tabellen Cube_Con und Cube_Trend dargestellt.
Bei der Berechnung der ungeplanten Abgänge zu einem Projekt wurden die Daten der Tabellen I32/I33 in die Spalten MG_UGPL und PR_UGPL eingerechnet. Die Werte aus diesen Tabellen werden jetzt in den Spalten PR_UGPLA und MG_UGPLA dargestellt und wurden aus den obigen Werten entfernt.Wer also weiterhin diese Werte in die Berechnung miteinbeziehen möchte, der muss seinen SQL in PMS-OLAP dementsprechend anpassen.
Alle Änderungen sind in der Datei pms32_controlling.xls im Verzeichnis SAMPLES\ dokumentiert.

An den Seitenanfang
PMSSERVER: Baugruppen die bei der Übergabe an EPLAN aufgelöst werden ...

Wenn Texte in der Baugruppe enthalten sind, wird jetzt nicht mehr abgebrochen wenn die Baugruppe aufgelöst übergeben wird.

Info zur Baugruppenübergabe (aufgelöst) an EPLAN:
EPLAN 5.70:      übernimmt keine Nachkommastellen in der Menge, egal welche Umwandlungsmethode verwendet wird. EPLAN S&S bietet aktuelle keine Lösung an.
Electric P8:      übernimmt überhaupt keine Mengen (per default immer 1). EPLAN S&S arbeitet derzeit an einer Lösung, Stand 30.04.2009.

An den Seitenanfang
PMSSERVER: Bei schneller Eingabe des gesuchten Begriffs kommt es sporadisch vor, dass einige Zeichen "verschluckt" werden. ...

Dieser Fehler ist hiermit behoben. Die Suche des Begriffs in der gewählten Spalte beginnt erst nach einer einstellbaren Zeit. Somit kann es nicht mehr vorkommen, dass bei großen Datenbeständen und längerer erster Suchzeit das zweite oder folgende Zeichen nicht aufgenommen werden können.
Die Suchzeit wird immer wieder zurückgesetzt so lange Zeichen eingegeben werden. Erst wenn innerhalb der eingestellten Zeit keine Eingabe erfolgt beginnt die Suche.
Die Suchzeit kann in den Optionen unter der Rubrik "Auswahl" und dem Titel "Zeit nach der die Suche beginnt..." eingestellt werden. Der Wert ist in ms (Millisekunden) einzugeben.
Außerdem wurde ein weiterer Fehler „Löschen des Suchbegriffs“ behoben. Diese Funktion kann nun ebenfalls verwendet werden.

An den Seitenanfang
PROGRAMMUPDATE: Das Kopieren der Dateien mit der Umbenennenfunktion auf die lokale Station funktioniert nicht korrekt. ...

Programmfehler bei der auswertung der Zieldatei behoben.

An den Seitenanfang
STAMMDATEN: Fehlermeldung bei Artikelverwendungsnachweis ...

Beim Ausführen von Abfragen im Artikelverwendungsnachweis sind Fehlermeldungen aufgetreten. Diese sind mit diesem Update behoben.

An den Seitenanfang
SYSTEM - Anzeige der Modulnummer in der Statusleiste zeigt immer Modul 0 ...

Die Anzeige der Modulnummer in der Statusleiste zeigt immer Modul 0. Dieser Fehler ist mit diesem Update behoben. Die Anzeige wurde auch erweitert: Modul (belegt/verfügbar). An einem Beispiel: SV M113 (1/4)...

An den Seitenanfang
SYSTEM - Bearbeitung von Checkboxen in Grid's umständlich ...

Die Bearbeitung von Checkboxen in einem Datenraster wurde verbessert. Zwar muss immer noch zweimal geklickt werden, um eine Änderung zu erzwingen, jedoch wurde die Bearbeitung vereinfacht. Eine Verbesserung wird in einer der nächsten Versionen eingebracht. Dort kann benutzerspezifisch eingestellt werden, mit wievielen Klicks eine Änderung in einer Checkbox erzwungen werden kann. Nochmals zum Hinweis: Wird haben diese umständliche Bearbeitung extra eingebaut, um zu vermeiden, dass ein Benutzer eine Änderung in einer Checkbox durch Zufall auslösen kann, deshalb der zweimal Klick...

An den Seitenanfang
SYSTEM - Darstellung von Websites als Hintergrund in der PMS32-Anwendung nun auch aus Internet und Intranet möglich. ...

Nun ist die Darstellung von Websites als Hintergrund in der PMS32-Anwendung auch aus Internet und Intranet möglich. Dazu muss der Wert für CWelcome in der Datei PMS32.PTH die Zeichenfolge :// enthalten. In diesem Fall wird nicht im Verzeichnis \DESK\ der PMS32-Installation gesucht.

An den Seitenanfang
SYSTEM - Fehlermeldung beim automatischen Schliessen von Masken in der Maske "Text editieren" ...

Wenn man in einer Maske zum Editieren eines Textes steht ("Text editieren") erscheint beim automatischen Schliessen von Masken eine Fehlermeldung. Dies ist nun behoben. Die Maske wird nach Ablauf der inaktiven Zeit geschlossen und die Eingabe gespeichert.

An den Seitenanfang
SYSTEM - Registrierung der COM+ Server für die LV-Kopplung wird gelöscht wenn PMS32 registriert wird ...

Die Registrierung der COM+ Server für die LV-Kopplung wird gelöscht wenn PMS32 registriert wird. Dieser Fehler ist mit diesem Serviceupdate behoben. Die COM+ Server der LV-Kopplung werden jetzt auch wieder registriert, wenn diese unter PMSLV\ im Startverzeichnis der PMS32 Applikation liegen.

An den Seitenanfang
SYSTEM - Startassistent, beim Zurücksetzen der Tabellen-Versionsinformation werden die Tabellen in verschiedenen Verzeichnissen nicht berück ...

Startassistent, beim Zurücksetzen der Tabellen-Versionsinformation werden die Tabellen in den Verzeichnissen Netzwerk (cNetDir) und Reportverzeichnis (cFrxDir) nicht berücksichtigt. Dieser Fehler ist mit diesem Serviceupdate behoben.

An den Seitenanfang
SYSTEM - Trifft die MEMO Datei der Errlog Tabelle auf die Grenze von 2GB so kann PMS32 nicht mehr gestartet werden. ...

Trifft die MEMO Datei der Errlog Tabelle auf die Grenze von 2GB so kann PMS32 nicht mehr gestartet werden. Erreicht die Datei ERRLOG.FPT im Netzwerk eine Größe von mehr als 1GB, so werden die Dateien umbenannt. Danach kann eine neue ERRLOG geschrieben werden.

An den Seitenanfang
VORGANGSVERWALTUNG - Eingabe des Stornogrundes beim Stornieren einer gebuchten Rechnung ...

Eine gebuchte Rechnung konnte auch ohne Eingabe des Stornogrundes storniert werden. Nun muß ein Stornogrund angegeben werden, ansonsten wird die Rechnung nicht storniert.

An den Seitenanfang
VORGANGSVERWALTUNG - Fehler bei F2/F3 auf dem Feld Positionsbezeichnung wenn der Vorgang abgeschlossen ist. ...

Bei F2/F3 auf dem Feld Positionsbezeichnung wurde eine Fehlermeldung ausgegeben wenn der Vorgang abgeschlossen war. Dies ist nun behoben.

An den Seitenanfang
VORGANGSVERWALTUNG - Fehler beim Ändern von Kalkulationsdaten in der Positionskalkulation eines Vorganges ( E1170) ...

Beim Ändern von Kalkulationsdaten in der Positionskalkulation eines Vorganges ( Maske E1170) ist sporadisch ein Fehler aufgetreten. Dieser ist nun behoben.

An den Seitenanfang
VORGANGSVERWALTUNG - Zielvorgangsart mit F3 auf der neuen Vorgangsnummer zeigt noch die Auswahl auf Basis der Quellvorgangsart ...

Beim Kopieren eines Vorgangs und wechseln der Vorgangsart für den Zielvorgang, z.B. Auftrag nach Lieferschein, werden bei F3 in dem Feld "Neue Vorgangsnummer" immer noch die Vorgangsnummern der ursprünglichen Vorgangsart angezeigt. Dieser Fehler ist mit diesem Update behoben.

An den Seitenanfang

Dateiversion:1.0.03.0900.0172 - H.U.DD.V1.V2 - 30.04.2009
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 2009 el-Projekt®