PMS32 Online- Hilfereferenz

MY.CLIENTS.CODEBASE

CodeBase - Interne Verarbeitung von Tabellen. Siehe auch PMS-DATA


Hilfe: CodeBase Engine
Interne Verarbeitung von Tabellen. Siehe auch PMS-DATA


Code: CodeBase Engine
*/ Kurzbeispiel für den Zugriff auf diese Struktur
*/ Der Zugriff erfolgt über: My.Clients.CodeBase
*/ 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 loCodeBase AS My.Clients.CodeBase
*/ Setzen der Variablen
loCodeBase = My.Clients.CodeBase
*/ Jetzt erst die Schleifen durchlaufen... man beachte ALL, dass können ne Menge Sätze sein...
REPLACE ALL Feldname1 WITH loCodeBase.Function1(),Feldname2 WITH loCodeBase.Function1(), ...
*/ Oder in einer Schleife...
SCAN
	lvValue = loCodeBase.Function(Alias.Spalte) + 25
	lvValue = loCodeBase.Function2(m.lvValue)
	REPLACE Feldname WITH m.lvValue,...
ENDSCAN
*/ Es sind auch geschachtelte Aufrufe möglich...

Memberliste von CodeBase


Liste der Methoden von CodeBase


AppendEnd() - Beenden einer Neuanlage (Datensatz schreiben)

Rückgabe: [Boolean], Beenden einer Neuanlage im angegebenen ALIAS.
Hilfeinformation
Rückgabe: [Boolean], Beenden einer Neuanlage im angegebenen ALIAS. 

Aufrufinformation
Boolean = My.Clients.CodeBase.AppendEnd(tcAlias as String)
Boolean = My.Clients.CodeBase.AppendEnd(tcAlias)
Codeinformation


AppendStart() - Starten einer Neuanlage

Rückgabe: [Boolean], Starten einer Neuanlage im angegebenen ALIAS. ,@ [, (.F.)]
Hilfeinformation
Rückgabe: [Boolean], Starten einer Neuanlage im angegebenen ALIAS. ,@ [, (.F.)]

Aufrufinformation
Boolean = My.Clients.CodeBase.AppendStart(tcAlias as String,tcId as String,tlNoDefault as Boolean)
Boolean = My.Clients.CodeBase.AppendStart(tcAlias,tcId,tlNoDefault)
Codeinformation


CloseAlias() - Schliessen des angegebenen Alias

Rückgabe: [Boolean], Schliesst die angegebene Tabelle (ALIAS).
Hilfeinformation
Rückgabe: [Boolean], Schliesst die angegebene Tabelle (ALIAS). 

Aufrufinformation
Boolean = My.Clients.CodeBase.CloseAlias(tcAlias as String)
Boolean = My.Clients.CodeBase.CloseAlias(tcAlias)
Codeinformation


CloseTable() - Schliessen der Tabelle in allen ALIAS - Bereichen

Rückgabe: [Boolean], Schliesst die angegebene Tabelle . | Es werden alle ALIAS() der angegebenen Tab
Hilfeinformation
Rückgabe: [Boolean], Schliesst die angegebene Tabelle . | Es werden alle ALIAS() der angegebenen Tab

Aufrufinformation
Boolean = My.Clients.CodeBase.CloseTable(tcTableName as String)
Boolean = My.Clients.CodeBase.CloseTable(tcTableName)
Codeinformation


DeleteX() - Einen Datensatz löschen

Rückgabe: [Boolean], Löscht einen Datensatz im angegebenen ALIAS. [,@ Rückgabewert]
Hilfeinformation
Rückgabe: [Boolean], Löscht einen Datensatz im angegebenen ALIAS.  [,@ Rückgabewert]

Aufrufinformation
Boolean = My.Clients.CodeBase.DeleteX(tcAlias as String,tcMessage as String)
Boolean = My.Clients.CodeBase.DeleteX(tcAlias,tcMessage)
Codeinformation


EValUATE() - Ausführen eines Befehls

Rückgabe:[Variant], wie ExecScript jedoch wird Evaluate ausgeführt. Bei Parametern müssen die Variablen PRIVATE sein!
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.Clients.CodeBase.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.Clients.CodeBase.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.Clients.CodeBase.EValUATE([m.pnVar1+m.pnVar2])
WAIT WINDOW m.lnVar		&& Ergibt 4...	ENDTEXT

EofX() - Prüfung auf EOF/BOF der Tabelle

Rückgabe: [Boolean], Prüfung auf EOF() und BOF() im angegebenen ALIAS.
Hilfeinformation
Rückgabe: [Boolean], Prüfung auf EOF() und BOF() im angegebenen ALIAS. 

Aufrufinformation
Boolean = My.Clients.CodeBase.EofX(tcAlias as String)
Boolean = My.Clients.CodeBase.EofX(tcAlias)
Codeinformation


ExecScript() - Ausführen eines VFP-Scripts

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

Aufrufinformation
Variant = My.Clients.CodeBase.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 Variant)
Variant = My.Clients.CodeBase.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.Clients.CodeBase.ExecScript("",m.lcScript,0,@lnVar1,@lnVar2)
*/ und das Ergebnis...
WAIT WINDOW m.lnVar
WAIT WINDOW m.lnVar1
WAIT WINDOW m.lnVar2

GetBottomField() - Ermitteln des Maximum des Feldes einer Tabelle

Rückgabe: [Variant], Ermittelt das Feld des größten Eintrags MAX(tcField)
Hilfeinformation
Rückgabe: [Variant], Ermittelt das Feld des größten Eintrags MAX(tcField)

Aufrufinformation
Variant = My.Clients.CodeBase.GetBottomField(tcTable as String,tcField as String)
Variant = My.Clients.CodeBase.GetBottomField(tcTable,tcField)
Codeinformation


GetBottomRecno() - Auf den letzten Datensatz positionieren

Rückgabe: [Variant], Ermittelt das Feld des letzten Datensatzes RECNO()=RECCOUNT()
Hilfeinformation
Rückgabe: [Variant], Ermittelt das Feld des letzten Datensatzes RECNO()=RECCOUNT()

Aufrufinformation
Variant = My.Clients.CodeBase.GetBottomRecno(tcTable as String,tcField as String)
Variant = My.Clients.CodeBase.GetBottomRecno(tcTable,tcField)
Codeinformation


GetProperty() - Abrufen einer Property in der Klasse

Rückgabe der benannten Property der Klasse. tnAsXML... kann sein: 0=Value, 1=C-Structure, 2=XML
Hilfeinformation
Ruft die Value einer Property in der Klasse ab.
Die Parameter: tcProperty as String
tcProperty: Name der Property in der Klasse

Aufrufinformation
Variant = My.Clients.CodeBase.GetProperty(tcProperty as String,tnAsXMLStructure as Variant)
Variant = My.Clients.CodeBase.GetProperty(tcProperty,tnAsXMLStructure)
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lnError AS Number
lnError = My.Clients.CodeBase.GetProperty('nError')

GetTopField() - Ermitteln des Minimum eines Feldes innerhalb einer Tabelle

Rückgabe: [Variant], Ermittelt das Feld des kleinsten Eintrags MIN(tcField)
Hilfeinformation
Rückgabe: [Variant], Ermittelt das Feld des kleinsten Eintrags MIN(tcField)

Aufrufinformation
Variant = My.Clients.CodeBase.GetTopField(tcTable as String,tcField as String)
Variant = My.Clients.CodeBase.GetTopField(tcTable,tcField)
Codeinformation


GetTopRecno() - Auf den ersten Datensatz positionieren

Rückgabe: [Variant], Ermittelt das Feld des ersten Datensatzes RECNO()=1
Hilfeinformation
Rückgabe: [Variant], Ermittelt das Feld des ersten Datensatzes RECNO()=1

Aufrufinformation
Variant = My.Clients.CodeBase.GetTopRecno(tcTable as String,tcField as String)
Variant = My.Clients.CodeBase.GetTopRecno(tcTable,tcField)
Codeinformation


GetValue() - Abrufen einer Variablen in der Klasse

Führt das genannte Script aus. Vorhandene Zeiger: poThis=oKlasse, poCom=oNameSpace
Hilfeinformation
Ruft die Value einer Variablen in der Klasse ab.
Die Parameter: tcVariable as String

Aufrufinformation
Variant = My.Clients.CodeBase.GetValue(tcScript as String)
Variant = My.Clients.CodeBase.GetValue(tcScript)
Codeinformation
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcIdx02 AS String
lcIdx02 = My.Clients.CodeBase.GetValue('My.cIdx02')
IF !ISNULL(m.lcIdx02)
	WAIT WINDOW m.lcIdx02
ELSE
	*/ My in der Klasse nicht bekannt!
ENDIF

OpenX() - Öffnen einer PMS Tabelle mit einem definierten Alias

Rückgabe: [Boolean], Öffnet die angegebene Tabelle mit dem entsprechenden ALIAS. | [,]
Hilfeinformation
Rückgabe: [Boolean], Öffnet die angegebene Tabelle mit dem entsprechenden ALIAS. | [,]

Aufrufinformation
Boolean = My.Clients.CodeBase.OpenX(tcTableName as String,tcAlias as String)
Boolean = My.Clients.CodeBase.OpenX(tcTableName,tcAlias)
Codeinformation


ReadX() - Lesen einer Column aus einem Datensatz

Rückgabe: [Boolean], Rückgabe eines Wertes im angegebenen ALIAS. ,,@ (Rückgabe)
Hilfeinformation
Rückgabe: [Boolean], Rückgabe eines Wertes im angegebenen ALIAS. ,,@ (Rückgabe)

Aufrufinformation
Boolean = My.Clients.CodeBase.ReadX(tcAlias as String,tcField as String,teValue as Variant)
Boolean = My.Clients.CodeBase.ReadX(tcAlias,tcField,teValue)
Codeinformation


RealExecute() - Ausführen eines VFP-Scripts

Rückgabe:[Variant], Ausführen eines Scriptes ohne Beeinflussung von irgendwas!!!
Hilfeinformation
Rückgabe:[Variant], Ausführen eines Scriptes ohne Beeinflussung von irgendwas!!!

Aufrufinformation
Variant = My.Clients.CodeBase.RealExecute(tcScript as String,tp1 as Variant,tp2 as Variant,tp3 as Variant,tp4 as Variant,tp5 as Variant,tp6 as Variant,tp7 as Variant,tp8 as Variant,tp9 as Variant)
Variant = My.Clients.CodeBase.RealExecute(tcScript,tp1,tp2,tp3,tp4,tp5,tp6,tp7,tp8,tp9)
Codeinformation


RealSQLget() - Ausführen eines SQL Selects im Codebase

Rückgabe:[Variant], Ausführen eines SQL ohne Beeinflussung von irgendwas!!!
Hilfeinformation

Aufrufinformation
Variant = My.Clients.CodeBase.RealSQLget(lcSQL as String,tlNoClose as Boolean,tcIndexList as String)
Variant = My.Clients.CodeBase.RealSQLget(lcSQL,tlNoClose,tcIndexList)
Codeinformation
*/ Öffnen der CodeBaseEngine
loBase = CREATEOBJECT("pms_09.PmsCodeBaseEngine")
*/ Setzen der Mandanten ID
loBase.cIdx02 = "DEMO_PMS_DEMO"
*/ Setzen des Moduls
loBase.nPmsModul = 113

*/ Einen SQL absetzen incl. erzeugen der benötigten Indizes
IF !EMPTY(loBase.RealSQLget([SELECT * FROM B01 WHERE artnr='SIE.' ORDER BY b01.artnr INTO TABLE c:\tmp\qb01.dbf],.T.,[IDB01;ARTNR;TYPNR;MATCH]))
	*/ 1. Parameter - SQL Select
	*/ 2. Parameter - Die Ergebnistabelle wird am BackEnd geöffnet (ALIAS=QB01)
	*/ 3. Erstellen der benötigten Indizes auf die Tabelle
	*/	Einzelne Indizes sind mit ; (Semikolon) zu trennen
	*/	Wird ein spezieller TAG-Name benötigt, so kann dieser mit # getrennt angegeben werden!
	*/	Beispiel: [IDB01+IDK10+IDC66#MIX;IDB01;ARTNR;MATCH;...]

	*/ Suche den ersten Artikel, der mit SIE.3TH... anfängt
	IF loBase.SeekX('QB01.ARTNR','SIE.3TH',.T.,.T.)
		*/ Wenn gefunden, gebe die vollständige Artikelnummer zurück
		cArtnr = loBase.oData.Artnr
	ENDIF

ENDIF

ReplaceX() - Einen Wert ändern

Rückgabe: [Boolean], Ändern eines Feldes im angegebenen ALIAS. ,,
Hilfeinformation
Rückgabe: [Boolean], Ändern eines Feldes im angegebenen ALIAS. ,,

Aufrufinformation
Boolean = My.Clients.CodeBase.ReplaceX(tcAlias as String,tcField as String,teValue as Variant,tcMessage as String)
Boolean = My.Clients.CodeBase.ReplaceX(tcAlias,tcField,teValue,tcMessage)
Codeinformation


SaveX() - Speichern des Datensatzes aus oData in die Tabelle

Rückgabe:[Boolean], Speichert den Datensatz aus oData. wieder in die Tabelle zurück.
Hilfeinformation
Rückgabe:[Boolean], Speichert den Datensatz aus oData. wieder in die Tabelle zurück.

Aufrufinformation
Boolean = My.Clients.CodeBase.SaveX(tcAlias as String)
Boolean = My.Clients.CodeBase.SaveX(tcAlias)
Codeinformation


Scope() - Filterbedingung setzen / löschen

Rückgabe: [Boolean], Setzen eines Filters im angegebenen ALIAS. ,. cFilterExpression muss einen Logis
Hilfeinformation
Rückgabe: [Boolean], Setzen eines Filters im angegebenen ALIAS. ,. cFilterExpression muss einen Logis

Aufrufinformation
Boolean = My.Clients.CodeBase.Scope(tcAlias as String,tcFilter as String)
Boolean = My.Clients.CodeBase.Scope(tcAlias,tcFilter)
Codeinformation


SeekX() - Suchen eines Eintrags mittels eines Index

Rückgabe: [Boolean], Suchen eines Eintrags im angegeben ALIAS. |, [,lNoFilter (.F.)]
Hilfeinformation
Rückgabe: [Boolean], Suchen eines Eintrags im angegeben ALIAS. |, [,lNoFilter (.F.)]

Aufrufinformation
Boolean = My.Clients.CodeBase.SeekX(tcAlias as String,teValue as Variant,tlNoFilter as Boolean,tlScatterObject as Boolean)
Boolean = My.Clients.CodeBase.SeekX(tcAlias,teValue,tlNoFilter,tlScatterObject)
Codeinformation


SetProperty() - Setzen einer Property in der Klasse

Setzt die Value an die benannte Property. tnAsObject kann sein: 0=Value, 1=C-Structure, 2=XML
Hilfeinformation
Setzt die Value an die benannte Property.
Die Parameter: tcProperty as String,tvValue as Variant,tnAsObject as Integer
tcProperty: Name der Property in der Klasse
tvValue:    Value der Property
tnAsObject: 0=Value, 1=C-Structure, 2=XML
Wird tnAsObject nicht angegeben, so wird 0=Value vorausgesetzt

Aufrufinformation
Variant = My.Clients.CodeBase.SetProperty(tcProperty as String,tvValue as Variant,tnAsObject as Integer)
Variant = My.Clients.CodeBase.SetProperty(tcProperty,tvValue,tnAsObject)
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.CodeBase.SetProperty('nError',0,0)
*/ oder auch...
=My.Clients.CodeBase.SetProperty('nError',0)

SetTag() - Setzen eines Index

Rückgabe: [Boolean], Setzen eines Index im angegebenen ALIAS. ,
Hilfeinformation
Rückgabe: [Boolean], Setzen eines Index im angegebenen ALIAS. ,

Aufrufinformation
Boolean = My.Clients.CodeBase.SetTag(tcAlias as String,tcTag as String)
Boolean = My.Clients.CodeBase.SetTag(tcAlias,tcTag)
Codeinformation


SkipX() - Einen Datensatz vor oder zurück

Rückgabe: [Boolean], Einen Datensatz weiter gehen. [,nSkip (1)]. nSkip kann auch '-' sein! (Rückwärts)
Hilfeinformation
Rückgabe: [Boolean], Einen Datensatz weiter gehen.  [,nSkip (1)]. nSkip kann auch '-' sein! (Rückwärts)

Aufrufinformation
Boolean = My.Clients.CodeBase.SkipX(tcAlias as String,tnSkip as Integer,tlScatterObject as Boolean)
Boolean = My.Clients.CodeBase.SkipX(tcAlias,tnSkip,tlScatterObject)
Codeinformation


SqlOpenX() - Erstellt eine Tabelle mittels eines SQL's

Rückgabe: [String], Führt einen SQL Select aus. Rückgabe ist (Pfad+Name) der Tabelle. [,
Hilfeinformation
Rückgabe: [String], Führt einen SQL Select aus. Rückgabe ist  (Pfad+Name) der Tabelle.  [,

Aufrufinformation
String = My.Clients.CodeBase.SqlOpenX(tcSqlSelect as String,tlNoClose as Boolean,tlCleanSQL as Boolean)
String = My.Clients.CodeBase.SqlOpenX(tcSqlSelect,tlNoClose,tlCleanSQL)
Codeinformation


Start() - Starten des Servers

Rückgabe: [Boolean], Setzen aller benötigten Parameter nach dem Init(). Ist vom Benutzer auszuführen!
Hilfeinformation
Rückgabe: [Boolean], Setzen aller benötigten Parameter nach dem Init(). Ist vom Benutzer auszuführen!

Aufrufinformation
Boolean = My.Clients.CodeBase.Start(tcIdx02 as String,tnPmsModul as Double)
Boolean = My.Clients.CodeBase.Start(tcIdx02,tnPmsModul)
Codeinformation


Terminate() -

Den COM+ Server vor dem Release im Aufrufer beenden.
Hilfeinformation

Aufrufinformation
Variant = My.Clients.CodeBase.Terminate()
Codeinformation


UnlockX() - Datensatzsperre aufheben

Rückgabe: [Boolean], Entsperren eines Datensatzes im angegebenen ALIAS.
Hilfeinformation
Rückgabe: [Boolean], Entsperren eines Datensatzes im angegebenen ALIAS. 

Aufrufinformation
Boolean = My.Clients.CodeBase.UnlockX(tcAlias as String)
Boolean = My.Clients.CodeBase.UnlockX(tcAlias)
Codeinformation


UpdateB01() - Neuanlage / Update eines Datensatzes in B01

Rückgabe:[String], Update bzw. Neuanlage von Artikelstammdaten. Parameter: 9, 15 oder 24
Hilfeinformation
Rückgabe:[String], Update bzw. Neuanlage von Artikelstammdaten. Parameter: 9, 15 oder 24

Aufrufinformation
String = My.Clients.CodeBase.UpdateB01(cIdb01 as String,mBez as Variant,cIeb01 as Variant,cMatch as Variant,cTypnr as Variant,cIdc49 as Variant,cZollnr as Variant,cIdc09u as Variant,cIdc19lg as Variant,cArtnr as Variant,mNotiz as Variant,cBestnr as Variant,cIdc61 as Variant,cIdc62 as Variant,)
String = My.Clients.CodeBase.UpdateB01(cIdb01,mBez,cIeb01,cMatch,cTypnr,cIdc49,cZollnr,cIdc09u,cIdc19lg,cArtnr,mNotiz,cBestnr,cIdc61,cIdc62)
Codeinformation


UpdateB02() - Neuanlage / Update eines Datensatzes in B02

Rückgabe:[String], Update bzw. Neuanlage von technischen Daten. Parameter: 4 oder 6
Hilfeinformation
Rückgabe:[String], Update bzw. Neuanlage von technischen Daten. Parameter: 4 oder 6

Aufrufinformation
String = My.Clients.CodeBase.UpdateB02(cIdb02 as String,vInhalt as Variant,nC510036 as Variant,cC510024 as Variant,cIdb01 as Variant,cIdc51 as Variant)
String = My.Clients.CodeBase.UpdateB02(cIdb02,vInhalt,nC510036,cC510024,cIdb01,cIdc51)
Codeinformation


UpdateB04() - Neuanlage / Update eines Datensatzes in B04

Rückgabe:[String], Update bzw. Neuanlage von Fremdsprachen für einen Artikel
Hilfeinformation
Rückgabe:[String], Update bzw. Neuanlage von Fremdsprachen für einen Artikel

Aufrufinformation
String = My.Clients.CodeBase.UpdateB04(cIdB01X26 as String,mBez as Variant,mLang as Variant,mNotiz as Variant,cIdb01 as Variant,cIdx26 as Variant)
String = My.Clients.CodeBase.UpdateB04(cIdB01X26,mBez,mLang,mNotiz,cIdb01,cIdx26)
Codeinformation


UpdateD03() - Neuanlage / Update eines Datensatzes in D03

Rückgabe:[String], Update bzw. Neuanlage von EK - Daten. Parameter: 12 oder 16
Hilfeinformation
Rückgabe:[String], Update bzw. Neuanlage von EK - Daten. Parameter: 12 oder 16

Aufrufinformation
String = My.Clients.CodeBase.UpdateD03(cIdd03 as String,nEkPreis as Variant,iPeek as Variant,lNetto as Variant,nRabatt1 as Variant,nRabatt2 as Variant,nMgvp as Variant,nWbz as Variant,cIdc19ek as Variant,cRabgrp as Variant,mBez as Variant,dEkpdatum as Variant,cIdb01 as Variant,cIdc61 as Varia)
String = My.Clients.CodeBase.UpdateD03(cIdd03,nEkPreis,iPeek,lNetto,nRabatt1,nRabatt2,nMgvp,nWbz,cIdc19ek,cRabgrp,mBez,dEkpdatum,cIdb01,cIdc61)
Codeinformation


UpdateD05() - Neuanlage / Update eines Datensatzes in D05

Rückgabe:[String], Update bzw. Neuanlage von Edelmetall - Daten. Parameter: 7 oder 10
Hilfeinformation
Rückgabe:[String], Update bzw. Neuanlage von Edelmetall - Daten. Parameter: 7 oder 10

Aufrufinformation
String = My.Clients.CodeBase.UpdateD05(cIdd05 as String,cIpd05 as Variant,iBasis as Variant,nEdelzahl as Variant,nUflaEzu as Variant,cIdc98 as Variant,cRohgrp as Variant,cIdb01 as Variant,cIdc61 as Variant)
String = My.Clients.CodeBase.UpdateD05(cIdd05,cIpd05,iBasis,nEdelzahl,nUflaEzu,cIdc98,cRohgrp,cIdb01,cIdc61)
Codeinformation


UpdateStart() - Start des Updates eines Artikels

Rückgabe:[String], Wie SQLOpenX jedoch für Preisupdate, hiermit werden die benötigten Daten aufbereitet.
Hilfeinformation
Rückgabe:[String], Wie SQLOpenX jedoch für Preisupdate, hiermit werden die benötigten Daten aufbereitet.

Aufrufinformation
String = My.Clients.CodeBase.UpdateStart(tnTransAction as Double)
String = My.Clients.CodeBase.UpdateStart(tnTransAction)
Codeinformation


WriteSettings() - Schreiben div. Informationen in ein LOG-File

Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Hilfeinformation
Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Diese Methode ist 'nur' bei den NameSpace Servern von PMS zu finden!

Aufrufinformation
Variant = My.Clients.CodeBase.WriteSettings(tcWann as String)
Variant = My.Clients.CodeBase.WriteSettings(tcWann)
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.CodeBase.WriteSettings('Heute um 15:00Uhr')
*/ oder auch...
=My.Clients.CodeBase.WriteSettings(TTOC(DATETIME(),1))		&& Ausgabe: JJJJMMTThhmmss

_FieldInfo2Collection() -

Rückgabe:[Object], Erstellt eine Feldliste (Collection) anhand des angegebenen Alias
Hilfeinformation

Aufrufinformation
Object = My.Clients.CodeBase._FieldInfo2Collection(tcAlias as String)
Object = My.Clients.CodeBase._FieldInfo2Collection(tcAlias)
Codeinformation


setToStructure() -

Rückgabe:[Variant], setzt die Struktur der angegebenen Tabelle (DBF-Name)
Hilfeinformation

Aufrufinformation
Variant = My.Clients.CodeBase.setToStructure(lcDbf as String,tcAlias as String)
Variant = My.Clients.CodeBase.setToStructure(lcDbf,tcAlias)
Codeinformation


Liste der Properties von CodeBase


Scripting -

Wert:[Object],
Hilfeinformation
Wert:[Object],

Aufrufinformation
Variant = My.Clients.CodeBase.Scripting
Codeinformation


_Clsid - CLS-ID des COM+ Servers

CLS-ID des COM+ Servers. Wird im INIT() ermittelt.
Hilfeinformation
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen. Sollten Sie mal von außen auf den NameSpace von PMS32 zugreifen und es fehlt Ihnen die Aufrufinformationen, so kann obiger String aus der Registry ermittelt werden.

Aufrufinformation
String = My.Clients.CodeBase._Clsid
Codeinformation
LOCAL lcClsID AS String
lcClsID = My.Clients.CodeBase._Clsid
WAIT WINDOW m.lcClsID

_ComServer - Pfad und Name des COM+ Servers

Dateiname und Pfad des gestarteten COM+ Servers
Hilfeinformation
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen.

Aufrufinformation
String = My.Clients.CodeBase._ComServer
Codeinformation
LOCAL lcComServer AS String
lcComServer = My.Clients.CodeBase._ComServer
WAIT WINDOW m.lcComServer

_Isreleased_ -


Hilfeinformation

Aufrufinformation
Boolean = My.Clients.CodeBase._Isreleased_
Codeinformation


_Name - Name der COM+ Klasse

Name der COM+ Klasse. MUSS angegeben werden. Dieser _Name wird übertragen und ist von außen abfragbar. Diese Property ist ReadOn
Hilfeinformation
Dateiname der Applikation. Wenn unter Vfp gestartet wird! sind diese Werte NICHT gesetzt! Die Property _Name gibt den Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden. Gleiches kann man auch aus den Eigenschaften der Programmklasse
EXE/DLL herausfinden.

Aufrufinformation
String = My.Clients.CodeBase._Name
Codeinformation
LOCAL lcComName AS String
lcComName = My.Clients.CodeBase._Name
WAIT WINDOW m.lcComName

_Pcreleaselog_ -


Hilfeinformation

Aufrufinformation
Variant = My.Clients.CodeBase._Pcreleaselog_
Codeinformation


_ServerName - Name der COM+ Server Datei

Name des Servers, wie bei der Initialisierung
Hilfeinformation
Die Property _ServerName gibt den kompletten Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden.
Gleiches kann man auch aus den Eigenschaften der Programmklasse EXE/DLL herausfinden.

Aufrufinformation
String = My.Clients.CodeBase._ServerName
Codeinformation
LOCAL lcServerName AS String
lcServerName = My.Clients.CodeBase._ServerName
WAIT WINDOW m.lcServerName

_StartMode - Startmodus des aufrufenden Servers

Startmode des externen Aufrufers. Derjenige, der den COM+ Server initialisiert. _StartMode='cMode,cNumber'
Hilfeinformation
Die Property gibt den Startmodus des Aufrufers zurück. Es gibt insgesamt 6 Modi:
0 - Unter VFP Entwicklung
1 - Unter VFP-COM Steuerung
2 - Start als COM.EXE
3 - Start als COM.DLL in Singleprocess
4 - Start als EXE (Standard Programmaufruf)
5 - Start als COM.DLL in Multiprocess

Aufrufinformation
Number = My.Clients.CodeBase._StartMode
Codeinformation
*/ Abfrage des Modus
WAIT WINDOW My.Clients.CodeBase._StartMode

_Sys1016 - Verwendeter Speicher

Verwendeter Speicher in Byte
Hilfeinformation
Gibt den verwendeten Speicher des Namespace zurück.
Rückgabe ist Byte.

Aufrufinformation
Integer = My.Clients.CodeBase._Sys1016
Codeinformation
LOCAL liBytes AS Integer
*/ Abfrage des Speichers
liBytes = My.Clients.CodeBase._Sys1016
WAIT WINDOW LTRIM(STR(m.liBytes/1024))+" kB"

_Version - Version der Programmdatei

Versionsnummer des Servers im Format H.U.DD.V1V2.BBBB
Hilfeinformation
Versionsnummer nach PMS32 Konvention. H.U.DD.SSHH.bbbb
Die Property _Version gibt die Programmversion (gilt für DLL, EXE und auch für APP) zurück.
H      - Hauptversion
U      - Unterversion
DD      - Datenbankversion
SS      - Servicepack
HH      - Hotfix
bbbb- Buildnumber

Aufrufinformation
String = My.Clients.CodeBase._Version
Codeinformation
WAIT WINDOW My.Clients.CodeBase._Version

_VfpVersion - VFP Version

Version von Visual FoxPro
Hilfeinformation
VFP Version der VFP-9 dll.

Aufrufinformation
String = My.Clients.CodeBase._VfpVersion
Codeinformation
WAIT WINDOW My.Clients.CodeBase._VfpVersion

_lvActive - LV Kopplung aktiv?

Wert:[Boolean], Ausführen eines Scriptes ohne Beeinflussung von irgendwas!!!
Hilfeinformation
Wert:[Boolean], Ausführen eines Scriptes ohne Beeinflussung von irgendwas!!!

Aufrufinformation
Boolean = My.Clients.CodeBase._lvActive
Codeinformation


cAppNameExe - Name der Applikation

Übertragen des Application.Servername
Hilfeinformation
Mit dieser Property kann der Name der Applikation abgerufen werden.

Aufrufinformation
String = My.Clients.CodeBase.cAppNameExe
Codeinformation
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcName AS String
lcName = My.Clients.CodeBase.cAppNameExe

cClass -


Hilfeinformation

Aufrufinformation
String = My.Clients.CodeBase.cClass
Codeinformation


cDbfDir - Mandantenverzeichnis

Mandantenverzeichnis von PMS
Hilfeinformation
Pfad der Mandantentabellen
Normalerweise zu finden unter \\server\freigabe\...\pms32\daten\mandant\

Aufrufinformation
String = My.Clients.CodeBase.cDbfDir
Codeinformation
IF !DIRECTORY(My.Clients.CodeBase.cDbfDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.CodeBase.cDbfDir,64,"Mandanten Verzeichnis")
ENDIF

cFrxDir - Reportverzeichnis

Reportverzeichnis von PMS
Hilfeinformation
Report Verzeichnis des Mandanten
Normalerweise zu finden unter \\server\freigabe\...\pms32\reports\mandant\

Aufrufinformation
String = My.Clients.CodeBase.cFrxDir
Codeinformation
IF !DIRECTORY(My.Clients.CodeBase.cFrxDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.CodeBase.cFrxDir,64,"Report Verzeichnis")
ENDIF

cIdx02 - Mandanten ID

Mandanten ID aus PMS32. Weist dem Pfadserver PMS_08.PmsPath den Mandanten zu. Setzen aller 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.Clients.CodeBase.cIdx02
Codeinformation
*/ Abfrage der Mandanten-ID
WAIT WINDOW My.Clients.CodeBase.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...

cKundenName - Kundenname der LIC Datei

Name des Kunden aus der LIC Datei
Hilfeinformation
Name des Kunden aus der LIC Datei

Aufrufinformation
String = My.Clients.CodeBase.cKundenName
Codeinformation


cKundenNummer - Kundennummer der LIC Datei

Kundennummer aus der LIC Datei
Hilfeinformation
Kundennummer aus der LIC Datei

Aufrufinformation
String = My.Clients.CodeBase.cKundenNummer
Codeinformation


cLogFile - Pfad und Name der LOG Datei

Pfad und Name der LOG Datei
Hilfeinformation
Pfad und Name der LOG Datei

Aufrufinformation
String = My.Clients.CodeBase.cLogFile
Codeinformation


cMethod - Methode des letzten Fehlers

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

Aufrufinformation
String = My.Clients.CodeBase.cMethod
Codeinformation
*/ Abruf...
WAIT WINDOW My.Clients.CodeBase.cMethod

cResetInfos - Reset C-Structure

Zurücksetzen von beliebigen Informationen in einem COM+ Server!
Hilfeinformation
Reset C-Structure
Diese Property ist normalerweise WriteOnly! Sie dient zum Zurücksetzen verschiedener Informationen.
#DEFINE CRI_REMOVE_MENUES "REMOVE-MENUES"
#DEFINE CRI_REMOVE_CSFILES "REMOVE-CS-FILES"
#DEFINE CRI_REMOVE_SCRIPTS "REMOVE-CS-SCRIPTS"
#DEFINE CRI_CHANGE_IDX09 "CHANGE-IDX09"
#DEFINE CRI_LOGIN "USER_LOGIN"

Aufrufinformation
String = My.Clients.CodeBase.cResetInfos
Codeinformation
*/ Verschiedene RESET Befehle...
My.Clients.CodeBase.cResetInfos = "REMOVE-MENUES"
My.Clients.CodeBase.cResetInfos = "REMOVE-CS-FILES"
My.Clients.CodeBase.cResetInfos = "REMOVE-CS-SCRIPTS"
My.Clients.CodeBase.cResetInfos = "CHANGE-IDX09"
My.Clients.CodeBase.cResetInfos = "USER_LOGIN"
*/ Je nach Klasse wird ein entsprechender RESET ausgeführt!

cSearchPath - Suchpfade von PMS

Wert:[String], gibt die Suchpfade zurück.
Hilfeinformation

Aufrufinformation
String = My.Clients.CodeBase.cSearchPath
Codeinformation


cSysDir - Systemverzeichnis

Systemverzeichnis von PMS
Hilfeinformation
Verzeichnis der Systemtabellen von PMS32
Das Verzeichnis ist normalerweise unter: \\server\pms$\pms32\dbf\ zu finden...

Aufrufinformation
String = My.Clients.CodeBase.cSysDir
Codeinformation
IF !DIRECTORY(My.Clients.CodeBase.cSysDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.CodeBase.cSysDir,64,"Systemverzeichnis")
ENDIF

cTmpDir - Temporäres Verzeichnis

Temporäres Verzeichnis von PMS
Hilfeinformation
Temporäres Verzeichnis für verschiedene Zwischenspeicherungen
Das Verzeichnis ist normalerweise unter: c:\benutzer\\appdata\local\temp\ zu finden...

Aufrufinformation
String = My.Clients.CodeBase.cTmpDir
Codeinformation
*/ Same as: ADDBS(SYS(2023))
IF !DIRECTORY(My.Clients.CodeBase.cTmpDir)
	*/ Benötigte Pfade sollten eigentlich da sein!
	=MESSAGEBOX("Pfad fehlt:" + My.Clients.CodeBase.cTmpDir,64,"Temporäres Verzeichnis")
ENDIF

lScatterWithRecordInfo -

Wert:[Boolean], Gibt an, ob beim Scatter in oData zusätzlich ein Objekt oData.Alias.Record mit den Datensatz und Tabelleninforma
Hilfeinformation
Wert:[Boolean], Gibt an, ob beim Scatter in oData zusätzlich ein Objekt oData.Alias._oRecord mit den Datensatz und Tabelleninfor

Aufrufinformation
Boolean = My.Clients.CodeBase.lScatterWithRecordInfo
Codeinformation


nError - Fehlernummer des letzten Fehlers

Fehlernummer: VFP+, PMS-, 0 Kein Fehler!
Hilfeinformation
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.

Aufrufinformation
Number = My.Clients.CodeBase.nError
Codeinformation
WAIT WINDOW My.Clients.CodeBase.nError

nLine - Zeilennummer des letzten Fehlers

Zeilennummer des Fehlers. Kann auch 0 sein!
Hilfeinformation
Zeilennummer, in der der letzte Fehler auftrat

Aufrufinformation
Number = My.Clients.CodeBase.nLine
Codeinformation
WAIT WINDOW My.Clients.CodeBase.nLine

nPmsModul - Modulnummer

Nummer des PMS Moduls, dass belegt werden soll.
Hilfeinformation
Nummer des PMS Moduls, dass belegt werden soll.

Aufrufinformation
Number = My.Clients.CodeBase.nPmsModul
Codeinformation


oClass -


Hilfeinformation

Aufrufinformation
Object = My.Clients.CodeBase.oClass
Codeinformation


oData - Datenobjekt

Wert:[Object], Datenobjekt, kann dazu benutzt werden Tabellendaten aus Userscripten zugänglich zu machen.
Hilfeinformation
Wert:[Object], Datenobjekt, kann dazu benutzt werden Tabellendaten aus Userscripten zugänglich zu machen.

Aufrufinformation
Object = My.Clients.CodeBase.oData
Codeinformation


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