PMS32 Online- Hilfereferenz
LocalDict - Lokales Datadictionary. Beschleunigt den Zugriff auf die Funktionen des Datadictionaries
Lokales Datadictionary. Beschleunigt den Zugriff auf die Funktionen des Datadictionaries
*/ Kurzbeispiel für den Zugriff auf diese Struktur */ Der Zugriff erfolgt über: My.Systems.LocalDict */ 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 loLocalDict AS My.Systems.LocalDict */ Setzen der Variablen loLocalDict = My.Systems.LocalDict */ Jetzt erst die Schleifen durchlaufen... man beachte ALL, dass können ne Menge Sätze sein... REPLACE ALL Feldname1 WITH loLocalDict.Function1(),Feldname2 WITH loLocalDict.Function1(), ... */ Oder in einer Schleife... SCAN lvValue = loLocalDict.Function(Alias.Spalte) + 25 lvValue = loLocalDict.Function2(m.lvValue) REPLACE Feldname WITH m.lvValue,... ENDSCAN */ Es sind auch geschachtelte Aufrufe möglich...
Rückgabe:[Variant], Wie DBGetFieldProperty() jedoch Tabelle und Feld getrennt angegeben
Variant = My.Systems.LocalDict.DBGetFieldProperti(tcDbf AS STRING,tcField AS STRING,tcProperty AS STRING,tpReturn AS Variant @) Variant = My.Systems.LocalDict.DBGetFieldProperti(tcDbf,tcField,tcProperty,@tpReturn)
*/ Beispiel:
LOCAL loField AS Object
*/ Abruf der kompletten Information eines Feldes...
loField = My.Systems.LocalDict.DBGetFieldProperti("B01","ARTNR")
=MESSAGEBOX(My.Functions.fOTS.ObjectToString(m.loField),64,"Inhalt...")
*/ Abruf einer benannten Property
? My.Systems.LocalDict.DBGetFieldProperti("B01","ARTNR","Caption")
Rückgabe:[Variant], Lesen der Informationen aus dem DataDictionary
Variant = My.Systems.LocalDict.DBGetProperty(tcName AS STRING,tcProperty AS STRING,tcOptions AS STRING,tnReturn AS INTEGER @) Variant = My.Systems.LocalDict.DBGetProperty(tcName,tcProperty,tcOptions,@tnReturn)
*/ Beispiel:
LOCAL loField AS Object
*/ Abruf der kompletten Information eines Feldes...
loField = My.Systems.LocalDict.DBGetProperty("B01.ARTNR")
=MESSAGEBOX(My.Functions.fOTS.ObjectToString(m.loField),64,"Inhalt...")
*/ Abruf einer benannten Property
? My.Systems.LocalDict.DBGetProperty("B01.ARTNR","Caption")
Rückgabe:[String], Erzeugt einen Abfrage SQL für das Füllen eines Arrays. Ähnlich THIS.DBGetTableProperty()
String = My.Systems.LocalDict.DBGetTableSql(tcDbf AS STRING,tcField AS STRING) String = My.Systems.LocalDict.DBGetTableSql(tcDbf,tcField)
*/ Beispiel:
LOCAL lcSql AS String
lcSql = My.Systems.Localdict.DbGetTableSql("B01","ARTNR")
*/ Gibt folgendes als String zurück:
SELECT DISTINCT b01.artnr,b01.idb01 FROM CDBFDIR!B01 AS b01 ;
WHERE 1=1 ;
ORDER BY 1
Gibt den DEFAULT Wert eines Feldes zurück.
Variant = My.Systems.LocalDict.DbGetDefaultProperty(tcDbfField AS STRING) Variant = My.Systems.LocalDict.DbGetDefaultProperty(tcDbfField)
*/ Beispiel:
LOCAL lcDefault AS String
lcDefault = My.Systems.Localdict.DbGetDefaultProperty("B01.ARTNR")
*/ Sollte in etwa so aussehen:
lcDefault = 'IIF(My.Clients.Fips.YX_autoart,CAST(My.Functions.Internals.NextNr("ARTNR") as C(25)),SPACE(25))'
Hole die Defaultwerte als Programm. Ähnlich wie BDGetDefaultProperty() jedoch wird ein Programm zurückgegeben!
Variant = My.Systems.LocalDict.DbGetDefaultTable(tcTable AS STRING,tcAtWhat AS STRING) Variant = My.Systems.LocalDict.DbGetDefaultTable(tcTable,tcAtWhat)
*/ Beispiel:
PRIVATE pcDefaultB01 AS String , poB01 AS Object
*/ Einen LEEREN Datensatz lesen
poB01 = My.Bussines.Strain.Misc.oB01['~~~~~~~~']
*/ Den Default-Code für die Tabelle
pcDefaultB01 = My.Systems.Localdict.DBGetDefaultTable("B01","poB01")
=EXECSCRIPT(m.pcDefaultB01)
*/ Das Aussehen von pcDefaultB01:
poB01.ARTNR=IIF(My.Clients.Fips.YX_autoart,CAST(My.Functions.Internals.NextNr("ARTNR") as C(25)),SPACE(25))
poB01.AUSPFLICHT=.F.
poB01.BBAS=My.Clients.Fips.YX_BBAS
poB01.BBZUG=0
poB01.BMFEST=0
poB01.BMMAX=0
poB01.BMMIN=0
poB01.BMWI=0
poB01.BSYST=My.Clients.Fips.YX_BSYST
poB01.DATBEW={}
poB01.DATEK=My.xDate
poB01.DATHKO={}
poB01.DEL_DATUM={}
poB01.DEL_MARK=.F.
poB01.DEL_WER=""
poB01.EKD=0
poB01.EKL=0
poB01.EKZUORD=My.Clients.Fips.YX_EKZUORD
poB01.IDB01=My.Clients.Numbers.GetMoreIds("IDB01",1)
poB01.IDC08=My.Clients.Fips.YX_IDC08
poB01.IDC08E=My.Clients.Fips.YX_IDC08
poB01.IDC19EH=My.Clients.Fips.yx_idc19
poB01.IDC19MEBA=My.Clients.Fips.yx_idc19
poB01.IDC19MEEK=My.Clients.Fips.yx_idc19
poB01.IDC19MELA=My.Clients.Fips.yx_idc19
poB01.IDC19MEST=My.Clients.Fips.yx_idc19
poB01.IDC20=My.Clients.Fips.YX_IDC20
poB01.IDC66=My.Clients.Fips.YX_IDC66FI
poB01.IDD03=""
poB01.IEB01=My.Clients.Numbers.EanB01(.NULL.)
poB01.IPB01="001"
poB01.IS_SL=.F.
poB01.LAGERART=.T.
poB01.LASTUPD=0
poB01.LFARAB=0.0
poB01.LSGUT=.F.
poB01.MEEKUF=1
poB01.MEVKUF=1
poB01.MGLOS=0
poB01.NDATUM=My.xDate
poB01.NOTRESU=My.Clients.Fips.yx_Di_NotResu
poB01.NPRG=My.lProgram
poB01.NWER=My.cUser
poB01.NZEIT=My.xTime
poB01.PEEK=1
poB01.PRPFL=.T.
poB01.RABATT1=0.0
poB01.RABATTJN=.T.
poB01.SHKENN=1
poB01.SKONTJN=.T.
poB01.SKP="S"
poB01.STATUS=1
poB01.TOEPLSQL=.F.
poB01.UFLA=1
poB01.UFLAD=1
poB01.UFLAEZU=1
poB01.VARIO=3
poB01.VOMAX=0
poB01.VOMEL=0
poB01.VOMIN=0
poB01.WBZ1=My.Clients.Fips.YX_WBZ1
Gibt die genannte Property des Feldes zurück. Übergeben wird DBF.FIELD und der Name der Property
Variant = My.Systems.LocalDict.DbGetFieldProperty(tcDbfField AS STRING,tcProperty AS STRING) Variant = My.Systems.LocalDict.DbGetFieldProperty(tcDbfField,tcProperty)
*/ Beispiel:
LOCAL loField AS Object
*/ Abruf der kompletten Information eines Feldes...
loField = My.Systems.LocalDict.DBGetFieldProperty("B01.ARTNR")
=MESSAGEBOX(My.Functions.fOTS.ObjectToString(m.loField),64,"Inhalt...")
*/ Abruf einer benannten Property
? My.Systems.LocalDict.DBGetFieldProperty("B01.ARTNR","Caption")
Ermittelt die Property eines Indexeintrags. DBF.TAG,
Variant = My.Systems.LocalDict.DbGetIndexProperty(tcDbfIndex AS STRING,tcProperty AS STRING) Variant = My.Systems.LocalDict.DbGetIndexProperty(tcDbfIndex,tcProperty)
*/ Beispiel:
LOCAL loIndex AS Object
*/ Abruf der kompletten Information eines Indexes...
loIndex = My.Systems.LocalDict.DBGetIndexProperty("B01.ARTNR")
=MESSAGEBOX(My.Functions.fOTS.ObjectToString(m.loIndex),64,"Inhalt...")
*/ Abruf einer benannten Property
? My.Systems.LocalDict.DBGetIndexProperty("B01.ARTNR","For")
Ermittelt die Informationen eines Tabellenindexes aus dem KEY des TAG's. DBF.KEY,cProperty
Variant = My.Systems.LocalDict.DbGetKeyProperty(tcDbfKey AS STRING,tcProperty AS STRING) Variant = My.Systems.LocalDict.DbGetKeyProperty(tcDbfKey,tcProperty)
Object = My.Systems.LocalDict.DbGetSqlTable(tcTable AS STRING) Object = My.Systems.LocalDict.DbGetSqlTable(tcTable)
Gibt die angegebene Property der Tabelle zurück
Variant = My.Systems.LocalDict.DbGetTableProperty(tcDbf AS STRING,tcProperty AS STRING) Variant = My.Systems.LocalDict.DbGetTableProperty(tcDbf,tcProperty)
*/ Beispiel:
LOCAL loB01 AS Object
*/ Komplett...
loB01 = My.Systems.Localdict.DBGetTableProperty("B01")
=MESSAGEBOX(My.Functions.fOTS.ObjectToString(m.loB01),64,"Inhalt...")
*/ Nur den Namen des Primärschlüssels
? My.Systems.Localdict.DBGetTableProperty("B01","PrimaryTag")
Variant = My.Systems.LocalDict.DocumentCan(tcDbf AS STRING , tlObject AS Boolean) Variant = My.Systems.LocalDict.DocumentCan(tcDbf,tlObject)
Variant = My.Systems.LocalDict.DocumentGet(tcDbf AS STRING) Variant = My.Systems.LocalDict.DocumentGet(tcDbf)
Boolean = My.Systems.LocalDict.DocumentsCan(tcDbf AS STRING) Boolean = My.Systems.LocalDict.DocumentsCan(tcDbf)
Boolean = My.Systems.LocalDict.DocumentsGo(tcDbf AS STRING) Boolean = My.Systems.LocalDict.DocumentsGo(tcDbf)
Rückgabe:[Boolean], Erzeugt eine EXCEL Datei mit den Feldinformationen der angegebenen Tabelle
Boolean = My.Systems.LocalDict.GetDbfFields(tcFilterTables AS STRING,tlDontChange AS Boolean) Boolean = My.Systems.LocalDict.GetDbfFields(tcFilterTables,tlDontChange)
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]
String = My.Systems.LocalDict.cMethod
*/ Abruf... WAIT WINDOW My.Systems.LocalDict.cMethod
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.
Number = My.Systems.LocalDict.nError
WAIT WINDOW My.Systems.LocalDict.nError
Zeilennummer, in der der letzte Fehler auftrat
Number = My.Systems.LocalDict.nLine
WAIT WINDOW My.Systems.LocalDict.nLine
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