PMS32 Online- Hilfereferenz

MY.BUSSINES.PMSTOEPLAN

PmsToEplan - Im- bzw. Exportiert Daten an EPLAN


Hilfe: Eplanfunktionen
Im- bzw. Exportiert Daten an EPLAN


Code: Eplanfunktionen
*/ Kurzbeispiel für den Zugriff auf diese Struktur
*/ Der Zugriff erfolgt über: My.Bussines.PmsToEplan
*/ Wird dieses Objekt in einem REPLACE oder einer Schleife SCAN ... ENDSCAN | FOR ... NEXT benötigt
*/ so sollte vor der Schleife die Objektstruktur in eine Variable geholt werden!
*/ Die Ausführungsgeschwindigkeit wird dadurch sehr vergrößert!
*/ Beispiel:
*/ Definieren einer LOKALEN Variablen
LOCAL loPmsToEplan AS My.Bussines.PmsToEplan
*/ Setzen der Variablen
loPmsToEplan = My.Bussines.PmsToEplan
*/ Jetzt erst die Schleifen durchlaufen... man beachte ALL, dass können ne Menge Sätze sein...
REPLACE ALL Feldname1 WITH loPmsToEplan.Function1(),Feldname2 WITH loPmsToEplan.Function1(), ...
*/ Oder in einer Schleife...
SCAN
	lvValue = loPmsToEplan.Function(Alias.Spalte) + 25
	lvValue = loPmsToEplan.Function2(m.lvValue)
	REPLACE Feldname WITH m.lvValue,...
ENDSCAN
*/ Es sind auch geschachtelte Aufrufe möglich...

Memberliste von PmsToEplan


Liste der Methoden von PmsToEplan


ActionEplan() - Aktion für Eplanfunktionen ausführen

Rückgabe:[Boolean], Führt die gewünschte Aktion für die EPLAN Schnittstellen aus. Wird von My.Clients.Action.ActionTable() aufgerufen.
Hilfeinformation
Rückgabe:[Boolean], Führt die gewünschte Aktion für die EPLAN Schnittstellen aus. Wird von My.Clients.Action.ActionTable() aufgerufen.

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.ActionEplan(tiAction AS INTEGER,tvValueFile AS Variant)
Boolean = My.Bussines.PmsToEplan.ActionEplan(tiAction,tvValueFile)
Codeinformation


CAEtoEPL() - CAE-Stückliste an EPLAN übergeben

Rückgabe:[Boolean], Ausgabe einer CAE-Liste an das CAE-System
Hilfeinformation
Rückgabe:[Boolean], Ausgabe einer CAE-Liste an das CAE-System

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.CAEtoEPL(tnDataSession AS NUMBER, tcIde10 AS STRING, tcEplPath AS STRING, tcHeaderFile AS STRING, tcChildFile AS STRING, tlAnsi2Oem AS Boolean)
Boolean = My.Bussines.PmsToEplan.CAEtoEPL(tnDataSession,tcIde10,tcEplPath,tcHeaderFile,tcChildFile,tlAnsi2Oem)
Codeinformation


CheckDirToRoot() - Verzeichnis testen

Rückgabe:[String], Prüft eine Verzeichnisstruktur auf "vorhanden" und gibt das ERSTE bekannte Verzeichnis zurück
Hilfeinformation
Rückgabe:[String], Prüft eine Verzeichnisstruktur auf "vorhanden" und gibt das ERSTE bekannte Verzeichnis zurück

Aufrufinformation
String = My.Bussines.PmsToEplan.CheckDirToRoot(tcDir AS String)
String = My.Bussines.PmsToEplan.CheckDirToRoot(tcDir)
Codeinformation


CursorToText() - Cursor in einen String umwandeln

Umwandeln eines Cursors in einen String. Rückgabe [String]
Hilfeinformation
Umwandeln eines Cursors in einen String. Rückgabe [String]

Aufrufinformation
String = My.Bussines.PmsToEplan.CursorToText(tcAlias AS STRING,tcDelimiter AS STRING,tiBitWise AS INTEGER,tnDataSession AS INTEGER)
String = My.Bussines.PmsToEplan.CursorToText(tcAlias,tcDelimiter,tiBitWise,tnDataSession)
Codeinformation


EPLGetCursor() - Cursor für EPL-ASCII

Rückgabe:[String], Erstellt einen Cursor zur Aufnahme der EPLAN ASCII-Dateien STKLEPL und STK2EPL
Hilfeinformation
Rückgabe:[String], Erstellt einen Cursor zur Aufnahme der EPLAN ASCII-Dateien STKLEPL und STK2EPL

Aufrufinformation
String = My.Bussines.PmsToEplan.EPLGetCursor(LPARAMETER tccur, tcwhere, tcwhat)
String = My.Bussines.PmsToEplan.EPLGetCursor(LPARAMETER,tcwhere,tcwhat)
Codeinformation


EPLGetE10Cursor() - Cursor für CAE-EPLAN

Rückgabe:[String], Erstellt einen Cursor aus der Positionsliste mit allen benötigten Positionen zum Abgleich mit EPLAN (zurückschreiben).
Hilfeinformation
Rückgabe:[String], Erstellt einen Cursor aus der Positionsliste mit allen benötigten Positionen zum Abgleich mit EPLAN (zurückschreiben).

Aufrufinformation
String = My.Bussines.PmsToEplan.EPLGetE10Cursor(LPARAMETER tcide10, tcAlias)
String = My.Bussines.PmsToEplan.EPLGetE10Cursor(LPARAMETER,tcAlias)
Codeinformation


EPLRep4E10() - Kopfkorrektur

Rückgabe:[Boolean], Korrigiert Werte eines Cursors.
Hilfeinformation
Rückgabe:[Boolean], Korrigiert Werte eines Cursors.

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EPLRep4E10(tcAlias AS STRING, tnDataSession AS NUMBER)
Boolean = My.Bussines.PmsToEplan.EPLRep4E10(tcAlias,tnDataSession)
Codeinformation


EPLRep4E11() - Positionskorrektur

Rückgabe:[Boolean], Korrigiert Werte eines Cursors.
Hilfeinformation
Rückgabe:[Boolean], Korrigiert Werte eines Cursors.

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EPLRep4E11(tcAlias AS STRING,tnDataSession AS NUMBER)
Boolean = My.Bussines.PmsToEplan.EPLRep4E11(tcAlias,tnDataSession)
Codeinformation


EPLRep4F50() - Kopfkorrektur (Import)

Rückgabe:[Boolean], Korrigiert Werte eines Cursors
Hilfeinformation
Rückgabe:[Boolean], Korrigiert Werte eines Cursors

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EPLRep4F50(tcAlias)
Boolean = My.Bussines.PmsToEplan.EPLRep4F50(tcAlias)
Codeinformation


EPLRep4F51() - Positionskorrektur (Import)

Rückgabe:[Boolean], Korrigiert Werte eines Cursors
Hilfeinformation
Rückgabe:[Boolean], Korrigiert Werte eines Cursors

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EPLRep4F51(tcAlias)
Boolean = My.Bussines.PmsToEplan.EPLRep4F51(tcAlias)
Codeinformation


EPLtoCAE() - EPLAN Daten an PMS übergeben

Rückgabe:[Boolean], Überarbeiteter Aufruf, um eine EPLAN - CAE Liste nach PMS32 einzulesen. "Alte" Funktion war epl2vorg.prg.
Hilfeinformation
Rückgabe:[Boolean], Überarbeiteter Aufruf, um eine EPLAN - CAE Liste nach PMS32 einzulesen. "Alte" Funktion war epl2vorg.prg.

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EPLtoCAE(tnDataSession AS NUMBER, tcIde10 AS STRING, tcEplPath AS STRING, tcHeaderFile AS STRING, tcChildFile AS STRING, tlAnsi2Oem AS Boolean)
Boolean = My.Bussines.PmsToEplan.EPLtoCAE(tnDataSession,tcIde10,tcEplPath,tcHeaderFile,tcChildFile,tlAnsi2Oem)
Codeinformation


EplExpandPos() - Sonderfunktion

Bereitet den Ausgabecursor vor, so dass es 10 Positionen pro BMK gibt.
Hilfeinformation
Bereitet den Ausgabecursor vor, so dass es 10 Positionen pro BMK gibt.

Aufrufinformation
LPARAMETER tcaepl = My.Bussines.PmsToEplan.EplExpandPos(LPARAMETER tcaepl)
LPARAMETER tcaepl = My.Bussines.PmsToEplan.EplExpandPos(LPARAMETER)
Codeinformation


EplExport() - Export der EPLAN Informationen

Rückgabe:[Boolean], tnbit:
Hilfeinformation
Rückgabe:[Boolean], tnbit:

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.EplExport(tcFile AS STRING,tiBitPattern AS INTEGER,tcMaster AS STRING,tcIdc26 AS STRING)
Boolean = My.Bussines.PmsToEplan.EplExport(tcFile,tiBitPattern,tcMaster,tcIdc26)
Codeinformation


EplExportAdr() - Export (alt)

Rückgabe:[Variant], Adressenexport EPLAN
Hilfeinformation
Rückgabe:[Variant], Adressenexport EPLAN

Aufrufinformation
Variant = My.Bussines.PmsToEplan.EplExportAdr(tcFile AS STRING,tiBitPattern AS INTEGER,tcMaster AS STRING)
Variant = My.Bussines.PmsToEplan.EplExportAdr(tcFile,tiBitPattern,tcMaster)
Codeinformation


EplGetEDoc() - EPLAN Projektpfad

Rückgabe:[String], eines speziellen Verzeichnisses, wenn der EPLAN Projektpfad bekannt ist.
Hilfeinformation
Rückgabe:[String], eines speziellen Verzeichnisses, wenn der EPLAN Projektpfad bekannt ist.

Aufrufinformation
String = My.Bussines.PmsToEplan.EplGetEDoc(tcEplPrj AS STRING, tnNum AS Variant)
String = My.Bussines.PmsToEplan.EplGetEDoc(tcEplPrj,tnNum)
Codeinformation


EplGetF5XFLD() - Feldliste für F51 erstellen

Rückgabe:[String], Erstellt eine Feldliste aus dem DDD für F51 EPLAN ASCII P1: tnbit:Bit 0 Wert 0.F. für Create cursor "(feld01 c(10))", Wert 1 .T. für Select SQL, Bit 1 Wert 2 .T. einfache Liste, P2:tcwhere, P3:"0" für E10/F50, "1" für E11/F51 (default)
Hilfeinformation
Rückgabe:[String], Erstellt eine Feldliste aus dem DDD für F51 EPLAN ASCII P1: tnbit:Bit 0 Wert 0.F. für Create cursor "(feld01 c(10))", Wert 1 .T. für Select SQL, Bit 1 Wert 2 .T. einfache Liste, P2:tcwhere, P3:"0" für E10/F50, "1" für E11/F51 (default)

Aufrufinformation
String = My.Bussines.PmsToEplan.EplGetF5XFLD(LPARAMETER tnbit, tcwhere, tcx)
String = My.Bussines.PmsToEplan.EplGetF5XFLD(LPARAMETER,tcwhere,tcx)
Codeinformation


EplGetPath() - Gibt einen EPLAN Pfad zurück

Rückgabe:[String], Ermittelt den EPLAN Pfad anhand des Übergabe Parameters
Hilfeinformation
Rückgabe:[String], Ermittelt den EPLAN Pfad anhand des Übergabe Parameters

Aufrufinformation
String = My.Bussines.PmsToEplan.EplGetPath(tcWhat AS STRING, tcEplPrj AS STRING @)
String = My.Bussines.PmsToEplan.EplGetPath(tcWhat,@tcEplPrj)
Codeinformation


EplGetPrj() - EPLAN Projekt

Rückgabe: [String], ermitteln des EPLAN Projektes
Hilfeinformation
Rückgabe: [String], ermitteln des EPLAN Projektes

Aufrufinformation
String = My.Bussines.PmsToEplan.EplGetPrj(tcPath AS STRING,tnWhat AS NUMBER)
String = My.Bussines.PmsToEplan.EplGetPrj(tcPath,tnWhat)
Codeinformation


EplGetapd() - EPLAN Benutzerdatei

Rückgabe:[String], der Laufwerksbuchstaben der User-Datei im Format: NMLFT
Hilfeinformation
Rückgabe:[String], der Laufwerksbuchstaben der User-Datei im Format: NMLFT

Aufrufinformation
String = My.Bussines.PmsToEplan.EplGetapd()
Codeinformation


Evaluate() - Ausführen eines Befehls

Mit Setzen dieser Property auf .T. kann die Form zentriert werden.
Hilfeinformation
Ausführen eines VFP-Befehls mit EVALUATE().
Achtung! Eventuell müssen Variablen als PRIVATE deklariert werden!ENDTEXT
*
TEXT TO lcMessage NOSHOW TEXTMERGE
Ausführen eines VFP-Befehls mit EVALUATE().

Aufrufinformation
Variant = My.Bussines.PmsToEplan.Evaluate(pcExpression AS STRING,pvDefault AS Variant,tvP1 AS Variant,tvP2 AS Variant,tvP3 AS Variant,tvP4 AS Variant, tvP5 AS Variant,tvP6 AS Variant,tvP7 AS Variant,tvP8 AS Variant,tvP9 AS Variant)
Variant = My.Bussines.PmsToEplan.Evaluate(pcExpression,pvDefault,tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
Codeinformation
*/ Mit Evaluate kann eine Befehlszeile ausgeführt werden
*/ Eventuell benutzte Variablen sind PRIVATE zu deklarieren
PRIVATE pnVar1 AS Number , pnVar2 AS Number
LOCAL lnVar AS Number
STORE 2 TO pnVar1,pnVar2
lnVar = My.Bussines.PmsToEplan.Evaluate([m.pnVar1+m.pnVar2])
WAIT WINDOW m.lnVar		&& Ergibt 4...	ENDTEXT

ExecScript() - Ausführen eines VFP-Scripts

Ausführen eines VFP-Scripts incl. der Prüfung, ob ein ALIAS besteht.
Hilfeinformation
Ausführen eines VFP-Scripts incl. der Prüfung, ob ein ALIAS besteht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan.ExecScript(_es_pcAlias AS STRING,_es_pcScript AS STRING,_es_tlBoolean AS Boolean, _es_tvP1 AS Variant,_es_tvP2 AS Variant,_es_tvP3 AS Variant,_es_tvP4 AS Variant,_es_tvP5 AS Variant,_es_tvP6 AS Variant, _es_tvP7 AS Variant,_es_tvP8 AS Variant,_es_tvP9 AS V)
Variant = My.Bussines.PmsToEplan.ExecScript(_es_pcAlias,_es_pcScript,_es_tlBoolean,_es_tvP1,_es_tvP2,_es_tvP3,_es_tvP4,_es_tvP5,_es_tvP6,_es_tvP7,_es_tvP8,_es_tvP9)
Codeinformation
*/ Mit EXECSCRIPT kann ein VFP-Script ausgeführt werden
LOCAL lcScript AS String,lnVar1 AS Number,lnVar2 AS Number,lnVar AS Number
TEXT TO lcScript NOSHOW TEXTMERGE
LPARAMETERS tnVar1 AS Number @,tnVar2 AS Number @
tnVar1 = m.tnVar1 + 1
tnVar2 = m.tnVar2 - 2
RETURN m.tnVar1 + m.tnVar2
ENDTEXT
*/ Vorbelegen der Variablen (Parameter)
STORE 2 TO lnVar1,lnVar2
lnVar = My.Bussines.PmsToEplan.ExecScript("",m.lcScript,0,@lnVar1,@lnVar2)
*/ und das Ergebnis...
WAIT WINDOW m.lnVar
WAIT WINDOW m.lnVar1
WAIT WINDOW m.lnVar2

ExecScriptP() - Ausführen eines VFP-Scripts

Ausführen eines VFP-Scripts incl. PARAMETER (Collection)
Hilfeinformation
Ausführen eines VFP-Scripts incl. PARAMETER (Collection)
Als Parameter wird eine Collection mit Informationen übergeben!

Aufrufinformation
Variant = My.Bussines.PmsToEplan.ExecScriptP(tcScript AS STRING,toPara AS COLLECTION)
Variant = My.Bussines.PmsToEplan.ExecScriptP(tcScript,toPara)
Codeinformation
*/ Mit EXECSCRIPTP kann ein VFP-Script ausgeführt werden
LOCAL lcScript AS String,lnVar AS Number,loColl AS Collection
loColl = CREATEOBJECT("Collection")
loColl.Add(2,"Var1")
loColl.Add(2,"Var2")
TEXT TO lcScript NOSHOW TEXTMERGE
LPARAMETERS toColl AS Collection
RETURN toColl.Item("Var1") + toColl.Item("Var2")
ENDTEXT
lnVar = My.Bussines.PmsToEplan.ExecScriptP(m.lcScript,m.loColl)
*/ und das Ergebnis...
WAIT WINDOW m.lnVar

GetParameters() - Parameter to Collection

Wandelt übergebene Parameter in eine Collection um.
Hilfeinformation
Wandelt übergebene Parameter in eine Collection um.
Umkehrfunktion zu SetParameters.

Aufrufinformation
Variant = My.Bussines.PmsToEplan.GetParameters(tvP1 AS Variant,tvP2 AS Variant,tvP3 AS Variant,tvP4 AS Variant,tvP5 AS Variant,tvP6 AS Variant,tvP7 AS Variant,tvP8 AS Variant,tvP9 AS Variant)
Variant = My.Bussines.PmsToEplan.GetParameters(tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
Codeinformation
*/ Hier können mehrere Parameter in eine Collection übertragen werden
LOCAL loCollection AS Collection , lni AS Integer , lcNames AS String
loCollection = My.Bussines.PmsToEplan.GetParameters(1,DATE(),TIME())
WAIT WINDOW m.loCollection.Count		&& Anzahl der Werte (3)
*/ Die Namen der Parameter bestimmen
lcNames = ""
FOR m.lni = 1 TO m.loCollection.Count
	lcNames = m.lcNames + ";" + m.loCollection.GetKey(m.lni)
NEXT m.lni
WAIT WINDOW SUBSTR(m.lcNames,2)

GetParametersCount() - Parameter to Collection

Wandelt übergebene Parameter in eine Collection um.
Hilfeinformation
Wandelt übergebene Parameter in eine Collection um.
Jedoch wird als 'erster' Parameter die Anzahl der Parameter mitgegeben.

Aufrufinformation
Variant = My.Bussines.PmsToEplan.GetParametersCount(tnCnt AS Number,tvP1 AS Variant,tvP2 AS Variant,tvP3 AS Variant,tvP4 AS Variant,tvP5 AS Variant,tvP6 AS Variant,tvP7 AS Variant,tvP8 AS Variant,tvP9 AS Variant)
Variant = My.Bussines.PmsToEplan.GetParametersCount(tnCnt,tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
Codeinformation
*/ Hier können mehrere Parameter in eine Collection übertragen werden
*/ Als Beispiel kann nur der Aufruf eines Scripts / einer Methode dienen
LPARAMETERS tp1 AS Variant , tp2 AS Variant , tp3 AS Variant 	&& Es könnten mehr sein!
LOCAL loCollection AS Collection , lni AS Integer
lni = PCOUNT()		&& Wieviele Parameter wurden übergeben?
loCollection = My.Bussines.PmsToEplan.GetParametersCount(m.lni,m.tp1,m.tp2,m.tp3)
WAIT WINDOW m.loCollection.Count		&& Anzahl der Werte (?)

SetParameters() - Collection to Parameter

Wandelt eine übergebene Collection in Parameter um.
Hilfeinformation
Wandelt eine übergebene Collection in Parameter um.
Umkehrfunktion zu GetParameters.

Aufrufinformation
Variant = My.Bussines.PmsToEplan.SetParameters(toPara AS Collection,tvP1 AS Variant @,tvP2 AS Variant @,tvP3 AS Variant @,tvP4 AS Variant @,tvP5 AS Variant @,tvP6 AS Variant @,tvP7 AS Variant @,tvP8 AS Variant @,tvP9 AS Variant @)
Variant = My.Bussines.PmsToEplan.SetParameters(toPara,@tvP1,@tvP2,@tvP3,@tvP4,@tvP5,@tvP6,@tvP7,@tvP8,@tvP9)
Codeinformation
*/ Umwandeln einer Collection in Parameter
LOCAL loCollection AS Collection,lnVar1 AS Number,lnVar2 AS Number
loCollection = CREATEOBJECT("Collection")
=loCollection.Add(1,"tvp1")
=loCollection.Add(2,"tvp2")
=My.Bussines.PmsToEplan.SetParameters(m.loCollection,@lnVar1,@lnVar2)
WAIT WINDOW m.lnVar1
WAIT WINDOW m.lnVar2

_SqlCount() - Anzahl der Datensätze

Anzahl der Datensätze eines SQL Statements ermitteln.
Hilfeinformation
Anzahl der Datensätze eines SQL Statements ermitteln.
Die Rückgabe ist Number oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlCount(tcSql AS String)
Variant = My.Bussines.PmsToEplan._SqlCount(tcSql)
Codeinformation
LOCAL lcSql AS String
lcSql = [SELECT COUNT(*) FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
IF My.Bussines.PmsToEplan._SqlCount(m.lcSql)>0
	WAIT WINDOW "Es sind Daten vorhanden!"
ENDIF
*/ Bemerkung:
*/ Bei der Angabe der Datenbank, hier CSYSDIR!, wird der Wert gegen den Pfad ausgetauscht!

_SqlExist() - Gibt es Datensätze?

Werden Datensätze durch den SQL ermittelt?
Hilfeinformation
Werden Datensätze im SQL-Statement ermittelt?
Die Rückgabe ist Boolean oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlExist(tcSql AS String)
Variant = My.Bussines.PmsToEplan._SqlExist(tcSql)
Codeinformation
LOCAL lcSql AS String
lcSql = [SELECT ipy01 FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
IF My.Bussines.PmsToEplan._SqlExist(m.lcSql)		&& Gibt Boolean zurück
	WAIT WINDOW "Es sind Daten vorhanden!"
ENDIF
*/ Bemerkung:
*/ Bei der Angabe der Datenbank, hier CSYSDIR!, wird der Wert gegen den Pfad ausgetauscht!

_SqlRead() - Lesen von SQL Daten

Ausführen eines SQL-Statements und Rückgabe des angegebenen Cursors.
Hilfeinformation
Ausführen eines SQL-Statements und Rückgabe des angegebenen Cursors.
Die Rückgabe ist Boolean oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlRead(tcSql AS String,tcAlias AS String,tvTable AS Variant,tcIndex AS String)
Variant = My.Bussines.PmsToEplan._SqlRead(tcSql,tcAlias,tvTable,tcIndex)
Codeinformation
LOCAL lcSql AS String
lcSql = [SELECT * FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
IF My.Bussines.PmsToEplan._SqlRead(m.lcSql,"qY01",2)		&& Gibt Boolean zurück
	ACTIVATE _SCREEN
	BROWSE
ENDIF
*/ Bemerkung:
*/ Bei der Angabe der Datenbank, hier CSYSDIR!, wird der Wert gegen den Pfad ausgetauscht!
*/ Die einzelnen Parameter:
*/	tcSql AS String,tcAlias AS String,tvTable AS Variant,tcIndex AS String
*/	Ein muss sind: tcSql AS String,tcAlias AS String
*/	tvTable kann angegeben werden mit:
*/		.F.		=> Cursor incl. __Changed [L] und __New [L], .T. - Tabelle incl.
*/		Bit-0	=> 1 - Als Tabelle, 0 - Als Cursor
*/		Bit-1	=> 1 - Ohne __Changed und __New, 0 - Mit...
*/	tcIndex kann angegeben werden, wenn Indizes auf dem Cursor / der Tabelle benötigt werden.
*/		"IndexKey1#IndexTag1;IndexKey2#IndexTag2;...."
*/		Wird kein IndexTag angegeben und der IndexKey NICHT aus einer Funktion ermittelt, so hat der IndexKey den Namen des IndexTag!
*/		Wird der IndexKey aus einer Funktion gebildet und es ist kein IndexTag angegeben, so erhält der IndexTag den Namen _Index<Nummer>

_SqlReadArray() - SQL Daten in ein Array

Ausführen eines SQL-Statements in ein Array und Rückgabe der Datensätze.
Hilfeinformation
Ausführen eines SQL-Statements in ein Array und Rückgabe ob Daten ermittelt wurden.
Die Rückgabe ist Boolean oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlReadArray(tcSql AS String,toObject AS Object,taArray)
Variant = My.Bussines.PmsToEplan._SqlReadArray(tcSql,toObject,taArray)
Codeinformation
LOCAL lcSql AS String , laErg[1] , loObject AS Object
lcSql = [SELECT * FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
*/ Ausführen in ein lokales Array
IF My.Bussines.PmsToEplan._SqlReadArray(m.lcSql,.NULL.,@laErg)			&& Es gibt Datensätze...
	*/ FOR i = ... NEXT i
ENDIF
*/ Ausführen in ein Objekt-Array
loObject = CREATEOBJECT("EMPTY")
=ADDPROPERTY(loObject,"aErg[1]")
IF My.Bussines.PmsToEplan._SqlReadArray(m.lcSql,m.loObject,"aErg")		&& Es gibt Datensätze...
	*/ FOR i = ... NEXT i
ENDIF

_SqlReadCollection() - SQL Daten in eine Collection

Ausführen eines SQL-Statements in eine Collection und Rückgabe der Collection.
Hilfeinformation
Ausführen eines SQL-Statements in eine Collection und Rückgabe der Collection.
Die Rückgabe ist Collection oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlReadCollection(tcSql AS String,tcIndex AS String)
Variant = My.Bussines.PmsToEplan._SqlReadCollection(tcSql,tcIndex)
Codeinformation
LOCAL lcSql AS String , loColl AS Collection
lcSql = [SELECT * FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
*/ Normale Ausführung OHNE Indexangabe.
*/ Die Keys der Collection sind fortlaufend nummeriert!
loColl= My.Bussines.PmsToEplan._SqlReadCollection(m.lcSql)
WAIT WINDOW loColl.GetKey(1)		&& "0000001"
*/ Hat der SQL einen eindeutigen Key so kann dieser benutzt werden!
loColl= My.Bussines.PmsToEplan._SqlReadCollection(m.lcSql,"ipy01")
WAIT WINDOW loColl.GetKey(1)		&& "SU0"

_SqlReadValue() - SQL Abfrage einer Value

Ausführen eines SQL-Statements und Rückgabe der Value des ERSTEN Feldes.
Hilfeinformation
Ausführen eines SQL-Statements und Rückgabe der Value des ERSTEN Feldes.
Die Rückgabe ist Variant oder .NULL.
Die Datenbankangaben:
      CSYSDIR! => My.Clients.Path.cSysDir
      CDBFDIR! => My.Clients.Path.cDbfDir
      CFRXDIR! => My.Clients.Path.cFrxDir
      CNETDIR! => My.Clients.Path.cNetDir
      CTMPDIR! => My.Clients.Path.cTmpDir
werden unter VFP-Tabellen in den entsprechenden Pfad umgewandelt!
Bei der Verwendung eines SQL-Servers werden diese Informationen gegen den Datenbanknamen im SQL-Server ausgetauscht.

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlReadValue(tcSql AS String,tiValue AS Integer)
Variant = My.Bussines.PmsToEplan._SqlReadValue(tcSql,tiValue)
Codeinformation
LOCAL lcSql AS String , lvValue AS Variant
*/ Gibt den Inhalt der ERSTEN Spalte zurück
lcSql = [SELECT bezei,kurz,master FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
lvValue = My.Bussines.PmsToEplan._SqlReadValue(m.lcSql)		&& y01.Bezei
*/ Gibt den Inhalt der ZWEITEN Spalte zurück
lcSql = [SELECT bezei,kurz,master FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"]
lvValue = My.Bussines.PmsToEplan._SqlReadValue(m.lcSql,2)	&& y01.Kurz

_SqlUpdate() - Einen Cursor updaten

UPDATE eines lokalen Cursors gegenüber der angegebenen Tabelle durchführen.
Hilfeinformation
UPDATE eines lokalen Cursors gegenüber der angegebenen Tabelle durchführen.
Die Rückgabe ist Boolean oder .NULL.
Der Cursor MUSS die Spalten __Changed und __New enthalten!
Außerdem MUSS die Zieltabelle die Spalte LastUpd enthalten!

Aufrufinformation
Variant = My.Bussines.PmsToEplan._SqlUpdate(tcTable AS STRING,tcAlias AS STRING,tcIdName AS STRING,tcFilter AS String)
Variant = My.Bussines.PmsToEplan._SqlUpdate(tcTable,tcAlias,tcIdName,tcFilter)
Codeinformation
LOCAL lcSql AS String , tlUpdate AS Boolean
lcSql = [SELECT * FROM CDBFDIR!B01 WHERE b01.artnr='SIE.3TH']
*/ Lesen der Daten vom Backend
IF My.Bussines.PmsToEplan._SqlRead(m.lcSql,"qB01",1)
	*/ Ändern der Daten...
	SELECT qB01
	REPLACE ALL match WITH "LEISTUNGSSCHALTER",__Changed WITH .T.
	tlUpdate = My.Bussines.PmsToEplan._SqlUpdate("B01",ALIAS(),"IDB01")
	IF NOT m.tlUpdate
		WAIT WINDOW My.Bussines.PmsToEplan.cLastError
	ENDIF
ENDIF

_SqlUpdateAll() - Eine Cursorliste updaten

UPDATE eines lokalen Cursors gegenüber der angegebenen Tabelle durchführen.
Hilfeinformation
UPDATE mehrerer lokaler Cursor gegenüber den angegebenen Tabellen durchführen.
Die Rückgabe ist Boolean oder .NULL.
Die Cursor MUSS die Spalten __Changed und __New enthalten!
Außerdem MUSS die Zieltabelle die Spalte LastUpd enthalten!

Aufrufinformation
;Filter1 = My.Bussines.PmsToEplan._SqlUpdateAll(tcList AS STRING)
;Filter1 = My.Bussines.PmsToEplan._SqlUpdateAll(tcList)
Codeinformation
LOCAL tlUpdate AS Boolean
*/ Lesen der Daten vom Backend
IF My.Bussines.PmsToEplan._SqlRead([SELECT * FROM CDBFDIR!B01 WHERE b01.artnr='SIE.3TH'],"qB01",1) AND ;
	My.Bussines.PmsToEplan._SqlRead([SELECT d03.* FROM CDBFDIR!D03 INNER JOIN CDBFDIR!B01 ON d03.idd03=b01.idd03 WHERE b01.artnr='SIE.3TH'],"qD03",1)
	*/ Ändern der Daten...
	UPDATE qB01 SET lang = qD03.bez, __Changed = .T. FROM qD03 WHERE qB01.idd03=qD03.idd03
	UPDATE qD03 SET ekpdatum = My.xDate, __Changed = .T.
	tlUpdate = My.Bussines.PmsToEplan._SqlUpdateAll("B01;QB01;IDB01#D03;QD03;IDD03")
	IF NOT m.tlUpdate
		WAIT WINDOW My.Bussines.PmsToEplan.cLastError
	ENDIF
ENDIF
*/ Hinweis:
*/	Der Update der einzel angegebenen Cursor wird mit einer Transaktion durchgeführt!
*/	Läuft einer der Updates auf einen Fehler wird die Änderung rückgängig gemacht!
*/ Der String ist folgendermaßen aufgebaut:
*/	"Tableinfo1#Tableinfo2#Tableinfo3#..."
*/ Tableinfo:
*/	Tabelle;Cursor;ID-Field[;Filter]

_eplgetAlias() - Sonderfunktion

Rückgabe:[String], Führt den in der CStruct angegebenen SQL aus und gibt den Alias zurück.
Hilfeinformation
Rückgabe:[String], Führt den in der CStruct angegebenen SQL aus und gibt den Alias zurück.

Aufrufinformation
String = My.Bussines.PmsToEplan._eplgetAlias(poPObj		&& PRIVATE)
String = My.Bussines.PmsToEplan._eplgetAlias(poPObj		&&)
Codeinformation


Liste der Properties von PmsToEplan


_Eplan5_KE - EPLAN Kennung

Kennung von EPLAN5
Hilfeinformation
Kennung von EPLAN5

Aufrufinformation
String = My.Bussines.PmsToEplan._Eplan5_KE
Codeinformation


_Eplan5_KK - EPLAN Kundenkennung

Kundenkennung von EPLAN5
Hilfeinformation
Kundenkennung von EPLAN5

Aufrufinformation
String = My.Bussines.PmsToEplan._Eplan5_KK
Codeinformation


_Eplan5_LW - EPLAN Laufwerk

Laufwerk für EPLAN 5 Verzeichnisse
Hilfeinformation
Laufwerk für EPLAN 5 Verzeichnisse

Aufrufinformation
String = My.Bussines.PmsToEplan._Eplan5_LW
Codeinformation


_Eplan5_SN - EPLAN Stationsnummer

Stationsnummer von EPLAN5
Hilfeinformation
Stationsnummer von EPLAN5

Aufrufinformation
String = My.Bussines.PmsToEplan._Eplan5_SN
Codeinformation


cEplanLW - EPLAN Laufwerk

Laufwerk, auf dem EPLAN installiert ist. Datimt entfällt die dauernde Suche danach...
Hilfeinformation
Laufwerk, auf dem EPLAN installiert ist. Datimt entfällt die dauernde Suche danach...

Aufrufinformation
String = My.Bussines.PmsToEplan.cEplanLW
Codeinformation


cIdx02 - Mandanten-ID

Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Hilfeinformation
Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Auszug aus der Pfaddatei pms32.pth:

      */ Verzeichnis der Microcube - Dateien. Wenn leer dann gleich: cDbfdir
      cCubdir = ""
      */ Ein 'anderes' Dokumentenverzeichnis kann angegeben werden. Wenn nicht angegeben dann gleich: cDbfdir+'docs\'
      */ cDocDir = ""
      */ Verzeichnis der Mandantentabellen. Hier ein Beispiel mit UNC Pfaden.
      */ Wird die Freigabe auf dem Server 'versteckt' \pms$\ angegeben, so kann ein Cryptovirius das Verzeichnis nicht finden!
      cDbfdir = "\\server\pms$\pms32\daten\demo.32\"
      */ Verzeichnis der Reporttabellen
      */ Gibt man Bilddateien in einem Report mit My.Clients.Path.cFrxDir+'BILDNAME.JPG' an, so kann PMS32 einfach auf einen anderen Rechner kopiert werden!
      cFrxdir = "\\server\pms$\pms32\reports\demo.32\"
      */ Beschreibung des Mandanten
      cIcx02  = "TESTMANDANT DEMO"
      */ ID der Firmenparameter zum Mandant.
      cIdx09  = "DEMO"
      */ Kann unter der Mandanteninformation leer sein, wenn für mehrere Mandanten das 'gleiche' Systemverzeichnis gültig ist.
      cSysdir = ""
      */ Willkommens-Information als Hintergrundbild in PMS32
      cWelcome= "pms32.htm"
      */ Nummer des Mandanten, beim Einsatz eines BarcodeScanners sollte diese Nummer EINDEUTIG sein!
      nNumber = 1
<>

Aufrufinformation
String = My.Bussines.PmsToEplan.cIdx02
Codeinformation
*/ Abfrage der Mandanten-ID
WAIT WINDOW My.Bussines.PmsToEplan.cIdx02

*/ Wenn man mittels VFP Zugriff auf die Applikation braucht:

*/ 1. vfp9.exe öffenen
*/ 2. In das Startverzeichnis von PMS32 wechseln (MUSS)
CD c:\pms\pms32
*/ 3. My Instanziieren
My = NEWOBJECT("pmsmy","pmsmyhandler.vcx","pmsmyhandler.app")
*/ 4. Den letzten aktuellen Mandanten zuweisen
My.cIdx02 = My.cIdx02
*/ 5. Los gehts...

cLastError - Letzter Fehler

Mit dieser Property kann der letzte Fehler im Klartext abgerufen werden.
Hilfeinformation
Mit dieser Property kann der letzte Fehler im Klartext abgerufen werden.

Aufrufinformation
String = My.Bussines.PmsToEplan.cLastError
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcError AS String
lcError = My.Bussines.PmsToEplan.cLastError

cMethod - Methode des Fehlers

Methode in der der letzte Fehler auftrat.
Hilfeinformation
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]

Aufrufinformation
String = My.Bussines.PmsToEplan.cMethod
Codeinformation
*/ Abruf...
WAIT WINDOW My.Bussines.PmsToEplan.cMethod

cNoIdk10 - Falsche Projektartikel

Wert:[String], Pfad und Name der Tabelle in der die "falschen" IDK10 - Artikel untergebracht sind
Hilfeinformation
Wert:[String], Pfad und Name der Tabelle in der die "falschen" IDK10 - Artikel untergebracht sind

Aufrufinformation
String = My.Bussines.PmsToEplan.cNoIdk10
Codeinformation


iEplanDim - Dimfunktion

Rückgabe:[Integer], gibt das Bitpattern die DIM zurück. 1=.T.=gedimmt
Hilfeinformation
Rückgabe:[Integer], gibt das Bitpattern die DIM zurück. 1=.T.=gedimmt

Aufrufinformation
Number = My.Bussines.PmsToEplan.iEplanDim
Codeinformation


iEplanEnable - Dimfunktion (invertiert)

Wert:[Integer], Gibt die BitPattern für Menüs bzw. Buttons zurück. 1=.T.=Enabled. Siehe auch My.Clients.Action.iTableAllEnable
Hilfeinformation
Wert:[Integer], Gibt die BitPattern für Menüs bzw. Buttons zurück. 1=.T.=Enabled. Siehe auch My.Clients.Action.iTableAllEnable

Aufrufinformation
Number = My.Bussines.PmsToEplan.iEplanEnable
Codeinformation


iEplanTDim - zeitgesteuertes iEplanDim

Wert:[Boolean], Zeitgesteuertes DIM der EPLAN Funktionen
Hilfeinformation
Wert:[Boolean], Zeitgesteuertes DIM der EPLAN Funktionen

Aufrufinformation
Number = My.Bussines.PmsToEplan.iEplanTDim
Codeinformation


lShowThermos - Thermosanzeige

Thermosanzeige bei der Ausführung
Hilfeinformation
Thermosanzeige bei der Ausführung

Aufrufinformation
Boolean = My.Bussines.PmsToEplan.lShowThermos
Codeinformation
My.Bussines.PmsToEplan.lShowThermos = .T.

nB01Status2 - Anzahl der Auslaufartikel

Wert:[Integer], Anzahl der Auslaufartikel im CAE Projekt
Hilfeinformation

Aufrufinformation
Number = My.Bussines.PmsToEplan.nB01Status2
Codeinformation


nB01Status3 - Anzahl der gesperrten Artikel

Wert:[Integer], Anzahl der gesperrten Artikel im CAE Projekt
Hilfeinformation

Aufrufinformation
Number = My.Bussines.PmsToEplan.nB01Status3
Codeinformation


nError - Fehlernummer d. Fehlers

Fehlernummer des letzten Fehlers.
Hilfeinformation
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.

Aufrufinformation
Number = My.Bussines.PmsToEplan.nError
Codeinformation
WAIT WINDOW My.Bussines.PmsToEplan.nError

nLine - Zeilennummer d. Fehlers

Zeilennummer, in der der letzte Fehler auftrat
Hilfeinformation
Zeilennummer, in der der letzte Fehler auftrat

Aufrufinformation
Number = My.Bussines.PmsToEplan.nLine
Codeinformation
WAIT WINDOW My.Bussines.PmsToEplan.nLine

nRecords - Verarbeitete Datensätze

Verarbeitete Datensätze
Hilfeinformation
Verarbeitete Datensätze

Aufrufinformation
Number = My.Bussines.PmsToEplan.nRecords
Codeinformation
WAIT WINDOW My.Bussines.PmsToEplan.nRecords

nSeconds - Ausführungszeit

Ausführungszeit in Sekunden
Hilfeinformation
Ausführungszeit in Sekunden

Aufrufinformation
Number = My.Bussines.PmsToEplan.nSeconds
Codeinformation
WAIT WINDOW My.Bussines.PmsToEplan.nSeconds

nStatus - Status der Ausführung

Status der Ausführung
Hilfeinformation
Status der Ausführung

Aufrufinformation
Number = My.Bussines.PmsToEplan.nStatus
Codeinformation
WAIT WINDOW My.Bussines.PmsToEplan.nStatus

oSelected - Datenumgebung

Merkt sich die Datenumgebung für eine Verarbeitung.
Hilfeinformation
Merkt sich die Datenumgebung für eine Verarbeitung.
Beim Release der Variable wird die vorherige Datenumgebung wieder hergestellt.

Aufrufinformation
Object = My.Bussines.PmsToEplan.oSelected
Codeinformation
LOCAL loSelected AS My_Fu_Selected
loSelected = My.Bussines.PmsToEplan.oSelected
*/ Danach können Tabellen und Cursor geöffnet werden...

*/ Mit dem Nachfolgenden Befehl wird der obige Zustand der Datenumgebung wieder hergestellt
RELEASE loSelected

oThermos - temp. Thermos

Instanziiert einen temporären Thermos
Hilfeinformation
Instanziiert einen temporären Thermos

Aufrufinformation
Object = My.Bussines.PmsToEplan.oThermos
Codeinformation
LOCAL loThermos AS My_Sy_Thermos
*/ Instanziieren
loThermos = My.Bussines.PmsToEplan.oThermos

loThermos.AutoCenter = .T.
loThermos.cFaktor(1,1/10,.F.,"Info-1...")
loThermos.cFaktor(1,2/10,.F.,"Info-2...")
*/ ...
*/ Schliesst den Thermos
RELEASE loThermos


Siehe auch : Hauptmenü /  Hauptindex /  Such Index /  Cursor Index /  Programm Module /  Tabellen Index /  Tabellenmodule /  Masken Index /  Programmcode Index /  Servicepacks /  My.Struktur /  Funktionen /  Sonstiges Index

Lokale Benutzerhilfe : Meine eigene Hilfe /  Zurück zur PMS32 - Hilfe


Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022  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 2022 ® el-Projekt