PMS32 Online- Hilfereferenz
Mawi - Buchungsfunktionen der Materialwirtschaft
Fehler werden in der Property: cErrorText gespeichert
Buchungsfehler Protokollieren. Diese Methode wird intern verwendet!
tnError,tcMethod,tnW = My.Bussines.MaWi.Mawi.BUError(tnError,tcMethod,tnWhat,tcMessage,tcIDB01,tcIDK10,tcIDC66,tcInfo) tnError,tcMethod,tnW = My.Bussines.MaWi.Mawi.BUError(tnError,tcMethod,tnWhat,tcMessage,tcIDB01,tcIDK10,tcIDC66,tcInfo)
Integer = My.Bussines.MaWi.Mawi.D41Buch(tcIdd41 AS STRING , tlWithHeader AS Boolean) Integer = My.Bussines.MaWi.Mawi.D41Buch(tcIdd41,tlWithHeader)
Ausgabe des Dialogs und Rückgabe JA,NEIN,ABBRECHEN,...
String = My.Bussines.MaWi.Mawi.DialogError(tnTimeout AS INTEGER,tlSystem AS Boolean) String = My.Bussines.MaWi.Mawi.DialogError(tnTimeout,tlSystem)
*/ Beispiel: LOCAL lcAntwort AS String */ Funktioniert nur dann, wenn vorher ein Fehler in der MAWI aufgetreten ist! lcAntwort = My.Bussines.MaWi.Mawi.DialogError(20,.F.) WAIT WINDOW m.lcAntwort
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().
Variant = My.Bussines.MaWi.Mawi.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.MaWi.Mawi.Evaluate(pcExpression,pvDefault,tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
*/ 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.MaWi.Mawi.Evaluate([m.pnVar1+m.pnVar2]) WAIT WINDOW m.lnVar && Ergibt 4... ENDTEXT
Ausführen eines VFP-Scripts incl. der Prüfung, ob ein ALIAS besteht.
Variant = My.Bussines.MaWi.Mawi.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.MaWi.Mawi.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)
*/ 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.MaWi.Mawi.ExecScript("",m.lcScript,0,@lnVar1,@lnVar2) */ und das Ergebnis... WAIT WINDOW m.lnVar WAIT WINDOW m.lnVar1 WAIT WINDOW m.lnVar2
Ausführen eines VFP-Scripts incl. PARAMETER (Collection)
Als Parameter wird eine Collection mit Informationen übergeben!
Variant = My.Bussines.MaWi.Mawi.ExecScriptP(tcScript AS STRING,toPara AS COLLECTION) Variant = My.Bussines.MaWi.Mawi.ExecScriptP(tcScript,toPara)
*/ 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.MaWi.Mawi.ExecScriptP(m.lcScript,m.loColl) */ und das Ergebnis... WAIT WINDOW m.lnVar
Variant = My.Bussines.MaWi.Mawi.GetC66For105(tcIde10 AS STRING,tcIDB01 AS STRING) Variant = My.Bussines.MaWi.Mawi.GetC66For105(tcIde10,tcIDB01)
Wandelt übergebene Parameter in eine Collection um.
Umkehrfunktion zu SetParameters.
Variant = My.Bussines.MaWi.Mawi.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.MaWi.Mawi.GetParameters(tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
*/ Hier können mehrere Parameter in eine Collection übertragen werden LOCAL loCollection AS Collection , lni AS Integer , lcNames AS String loCollection = My.Bussines.MaWi.Mawi.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)
Wandelt übergebene Parameter in eine Collection um.
Jedoch wird als 'erster' Parameter die Anzahl der Parameter mitgegeben.
Variant = My.Bussines.MaWi.Mawi.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.MaWi.Mawi.GetParametersCount(tnCnt,tvP1,tvP2,tvP3,tvP4,tvP5,tvP6,tvP7,tvP8,tvP9)
*/ 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.MaWi.Mawi.GetParametersCount(m.lni,m.tp1,m.tp2,m.tp3) WAIT WINDOW m.loCollection.Count && Anzahl der Werte (?)
Zubuchen von Bestand auf dem Lagerort.
Mit dieser Funktion wird ein physikalischer Bestand auf dem Lagerort (I01) zugebucht!
Bei einer Mengenangabe KLEINER Null wird I01Sub() ausgeführt!
Variant = My.Bussines.MaWi.Mawi.I01Add(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,tcIDI21 AS STRING @,tlRES,tcIPB01) Variant = My.Bussines.MaWi.Mawi.I01Add(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,@tcIDI21,tlRES,tcIPB01)
*/ Beispiel: LOCAL lnReturn AS Integer,lcIdi21 AS String */ Parameter: tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,@tcIDI21,tlRES,tcIPB01 lnReturn = My.Bussines.MaWi.Mawi.I01Add('340',i22.idi22,i23.idi23,'',i23.idk10a,i23.idc66a,; i23.menge,i23.preis,0,'ZGU',.T.,i23.datbuch,@lcIdi21,.T.,i23.ipb01) IF m.lnReturn = 0 */ Alles Ok, Buchung erfolgte... */ lcIdi21 enthält die Buchungsjournal-ID (I21.IDI21) ELSE */ Fehler... =My.Bussines.MaWi.Mawi.DialogError(20,.T.) ENDIF
Rückgabe:[Variant], Stornieren einer Zubuchung.
Ein Lagerzugang stornieren...
Variant = My.Bussines.MaWi.Mawi.I01AddStorno(tcIDI21,tdDATUM,tcBUART,tnMENGE) Variant = My.Bussines.MaWi.Mawi.I01AddStorno(tcIDI21,tdDATUM,tcBUART,tnMENGE)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I01AddStorno(i23.idi21a,i23.datbuch,'SGZ',i23.menge) */ lnReturn=0 wenn Ok...
Object = My.Bussines.MaWi.Mawi.I01Inventur(tcIDB01 AS String ,tcIDK10 AS String ,tcIDC66 AS String ,tlInventur AS Boolean) Object = My.Bussines.MaWi.Mawi.I01Inventur(tcIDB01,tcIDK10,tcIDC66,tlInventur)
Integer = My.Bussines.MaWi.Mawi.I01Korrektur(tcIDB01,tcIDK10,tcIDC66,tnMENGE) Integer = My.Bussines.MaWi.Mawi.I01Korrektur(tcIDB01,tcIDK10,tcIDC66,tnMENGE)
Rückgabe:[Variant], Sperren eines Bestandes auf dem Lagerort. (VOG)
Bei einer Mengenangabe KLEINER Null wird I01Unlock() ausgeführt!
Variant = My.Bussines.MaWi.Mawi.I01Lock(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tlRES) Variant = My.Bussines.MaWi.Mawi.I01Lock(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tlRES)
*/ Beispiel: LOCAL lnReturn AS Integer */ Parameter: tcIDB01,tcIDK10,tcIDC66,tnMENGE,tlRES */ Sperren... lnReturn = My.Bussines.MaWi.Mawi.I01Lock(i23.idb01,i23.idk10v,i23.idc66v,i23.menge) */ Entsperren... Siehe auch Unlock() lnReturn = My.Bussines.MaWi.Mawi.I01Lock(i23.idb01,i23.idk10v,i23.idc66v,-i23.menge)
Rückgabe:[Variant], Setzt den Bestand für I01.VOB (Auch Reset, wenn Menge<0)
Variant = My.Bussines.MaWi.Mawi.I01Order(tcIDB01,tcIDK10,tcIDC66,tnMENGE) Variant = My.Bussines.MaWi.Mawi.I01Order(tcIDB01,tcIDK10,tcIDC66,tnMENGE)
*/ Beispiel: LOCAL lnReturn AS Integer */ Setzen... lnReturn = My.Bussines.MaWi.Mawi.I01Order(i23.idb01,i23.idk10v,i23.idc66v,i23.menge) */ Zurücksetzen... lnReturn = My.Bussines.MaWi.Mawi.I01Order(i23.idb01,i23.idk10v,i23.idc66v,-i23.menge)
Setzt VO und VOG beim Zugang von WE-Buchungen...
Integer = My.Bussines.MaWi.Mawi.I01OrderAdd(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,tcIDI21 AS STRING @,tcIPB01) Integer = My.Bussines.MaWi.Mawi.I01OrderAdd(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,@tcIDI21,tcIPB01)
Storno eines Wareneingangs...
Integer = My.Bussines.MaWi.Mawi.I01OrderAddStorno(tcIDI21,tdDATUM,tcBUART,tnMENGE) Integer = My.Bussines.MaWi.Mawi.I01OrderAddStorno(tcIDI21,tdDATUM,tcBUART,tnMENGE)
Rückgabe:[Variant], Reservieren eines Bestandes auf einem Lagerort. I01.VOR
Menge kann auch kleiner 0 sein!
Variant = My.Bussines.MaWi.Mawi.I01Reserv(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIDI20) Variant = My.Bussines.MaWi.Mawi.I01Reserv(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIDI20)
*/ Beispiel: LOCAL lnReturn AS Integer */ Reservieren lnReturn = My.Bussines.MaWi.Mawi.I01Reserv(i23.idb01,i23.idk10v,i23.idc66v,i23.menge) */ Reservierung löschen... Siehe auch I01Resloe() lnReturn = My.Bussines.MaWi.Mawi.I01Reserv(i23.idb01,i23.idk10v,i23.idc66v,-i23.menge)
Rückgabe:[Variant], Reservierung auf dem Lagerort löschen. I01.VOR
Menge kann auch kleiner 0 sein!
Variant = My.Bussines.MaWi.Mawi.I01Resloe(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIDI20) Variant = My.Bussines.MaWi.Mawi.I01Resloe(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIDI20)
*/ Beispiel: LOCAL lnReturn AS Integer */ Reservierung löschen... lnReturn = My.Bussines.MaWi.Mawi.I01Resloe(i23.idb01,i23.idk10v.i23.idc66v,i23.menge) */ Reservieren... Siehe auch I01Reserv() lnReturn = My.Bussines.MaWi.Mawi.I01Resloe(i23.idb01,i23.idk10v.i23.idc66v,-i23.menge)
Rückgabe:[Variant], Abbuchen vom Lagerbestand. I01.VO
Wichtig ist tlRes!
tlRes = .F. ändert: vo und vov
tlRes = .T. ändert: vo und vor
Variant = My.Bussines.MaWi.Mawi.I01Sub(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,tcIDI21 AS STRING @,tlRES AS Boolean,tlDHD) Variant = My.Bussines.MaWi.Mawi.I01Sub(tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,@tcIDI21,tlRES,tlDHD)
*/ Beispiel: LOCAL lnReturn AS Integer */ Parameter: tcIP,tcID,tcPOS,tcIDC31,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tdDATUM,@tcIDI21,tlRES,tcIPB01 lnReturn = My.Bussines.MaWi.Mawi.I01Sub('340',i22.idi22,i23.idi23,'',i23.idk10v,i23.idc66v,; i23.menge,i23.preis,0,'AGU',.T.,i23.datbuch,@lcIdi21,.T.,i23.ipb01) IF m.lnReturn = 0 */ Alles Ok, Buchung erfolgte... */ lcIdi21 enthält die Buchungsjournal-ID (I21.IDI21) ELSE */ Fehler... =My.Bussines.MaWi.Mawi.DialogError(20,.T.) ENDIF
Rückgabe:[Variant], Storno eines Lagerabgangs
Variant = My.Bussines.MaWi.Mawi.I01SubStorno(tcIDI21 AS STRING,tdDATUM AS DATE,tcBUART AS STRING,tnMENGE AS Variant) Variant = My.Bussines.MaWi.Mawi.I01SubStorno(tcIDI21,tdDATUM,tcBUART,tnMENGE)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I01SubStorno(i23.idi21v,i23.datbuch,'SGA',i23.menge)
Rückgabe:[Variant], Entsperren eines Lagerbestandes. I01.VOG
Diese Methode entsricht in etwa I01Lock()
Variant = My.Bussines.MaWi.Mawi.I01UnLock(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tlRES) Variant = My.Bussines.MaWi.Mawi.I01UnLock(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tlRES)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I01UnLock(i23.idb01,i23.idk10v,i23.idc66v)
Rückgabe:[Variant], Buchen von Daten in der Tabelle I17 (Überschussmengen)
Variant = My.Bussines.MaWi.Mawi.I17Buch(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIPB01) Variant = My.Bussines.MaWi.Mawi.I17Buch(tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIPB01)
*/ Beispiel: LOCAL lnReturn AS Integer */ Setzen... lnReturn = My.Bussines.MaWi.Mawi.I17Buch(i23.idb01,i23.idk10a,i23.idc66a,i23.mengeu,i23.ipb01) */ Reset... lnReturn = My.Bussines.MaWi.Mawi.I17Buch(i23.idb01,i23.idk10a,i23.idc66a,-i23.mengeu,i23.ipb01)
Prüfung der Tabelle I17 auf Überschussmengen.
Mindestangabe: tcIdk10 [,tcIde10] wenn auf den Vorgang geprüft werden soll
Ermitteln der Daten aus I20 - Disposition
Ermitteln der Daten aus I21 - Buchungsjournal (Zugänge)
Daraus die Ermittlung der Überschüsse
Diese werden in I17 nachgetragen bzw. geändert
Variant = My.Bussines.MaWi.Mawi.I17Check(tcIDK10 AS STRING, tcIde10 AS STRING) Variant = My.Bussines.MaWi.Mawi.I17Check(tcIDK10,tcIde10)
Ändern einer Position im Barverkauf und deren Auswirkungen in I20 und I01
Number = My.Bussines.MaWi.Mawi.I20BV(tcArt AS STRING,tcIP AS STRING,tcID AS STRING,tcPOS AS STRING,tcIDB01 AS STRING,tnMg AS NUMBER) Number = My.Bussines.MaWi.Mawi.I20BV(tcArt,tcIP,tcID,tcPOS,tcIDB01,tnMg)
Rückgabe:[Integer], Disposition korrigieren.
Integer = My.Bussines.MaWi.Mawi.I20Redispo(tcIP,tcID,tcIDB01,tcIDK10,tcIDC66,tnMENGE AS NUMBER,tcIPB01 AS STRING) Integer = My.Bussines.MaWi.Mawi.I20Redispo(tcIP,tcID,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIPB01)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I20Redispo(i23.ipaufa,i23.idaufa,i23.idb01,i23.idk10a,i23.idc66a,i23.menge,i23.ipb01)
Rückgabe:[Variant], Reduktion der I20 (Disposition), wenn Projekt-Umbuchungen vorgenommen wurden!
Variant = My.Bussines.MaWi.Mawi.I20Reduk(tcIP,tcID,tcIDB01,tcIDK10,tcIDC66,tnMENGE AS NUMBER,tcIPB01) Variant = My.Bussines.MaWi.Mawi.I20Reduk(tcIP,tcID,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tcIPB01)
Rückgabe:[Integer], Rücknahme von Material aus der Disposition über den Storno einer Lagerumbuchung
Integer = My.Bussines.MaWi.Mawi.I20StornoI22(tcIDI20,tnMENGE,tlAusBest) Integer = My.Bussines.MaWi.Mawi.I20StornoI22(tcIDI20,tnMENGE,tlAusBest)
Verbuchen der Lagerumbuchung. Angabe IDI22 und nWhat=1|2|3, wobei 1=Abbuchen und 2=Zubuchen. In Summe = 3 (Abbuchen+Zubuchen)
Variant = My.Bussines.MaWi.Mawi.I22Buch(tcIdi22 AS STRING,tnWhat AS INTEGER) Variant = My.Bussines.MaWi.Mawi.I22Buch(tcIdi22,tnWhat)
*/ Beispiel: LOCAL lnReturn AS Integer */ Abbuchen... lnReturn = My.Bussines.MaWi.Mawi.I22Buch(i22.idi22,1) IF m.lnReturn=0 */ Zubuchen... lnReturn = My.Bussines.MaWi.Mawi.I22Buch(i22.idi22,2) ENDIF
Es wird lediglich eine dispositive Umbuchung von Projekt-A an Projekt-A mit unterschiedlich Vorgängen durchgeführt.
Variant = My.Bussines.MaWi.Mawi.I22Redispo(toI23 AS OBJECT , tnMENGE AS NUMBER) Variant = My.Bussines.MaWi.Mawi.I22Redispo(toI23,tnMENGE)
Rückgabe:[Integer], Stornieren einer kompletten Lagerumbuchung
Integer = My.Bussines.MaWi.Mawi.I22Storno(tcIdi22 AS STRING,tcGrund AS STRING) Integer = My.Bussines.MaWi.Mawi.I22Storno(tcIdi22,tcGrund)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I22Storno(i22.idi22,'Falsche Ziellager...')
Integer = My.Bussines.MaWi.Mawi.I23Buch(tcIdi23 AS STRING , tnWhat AS INTEGER , tnMENGE AS NUMBER, tdDate AS DATE) Integer = My.Bussines.MaWi.Mawi.I23Buch(tcIdi23,tnWhat,tnMENGE,tdDate)
Integer = My.Bussines.MaWi.Mawi.I23BuchA(tcIdi22 AS STRING) Integer = My.Bussines.MaWi.Mawi.I23BuchA(tcIdi22)
Integer = My.Bussines.MaWi.Mawi.I23BuchB(tcIdi23 AS STRING , tnWhat AS INTEGER , tnMENGE AS NUMBER) Integer = My.Bussines.MaWi.Mawi.I23BuchB(tcIdi23,tnWhat,tnMENGE)
Integer = My.Bussines.MaWi.Mawi.I23BuchC(tcIdi22 AS STRING) Integer = My.Bussines.MaWi.Mawi.I23BuchC(tcIdi22)
Rückgabe:[Integer], Stornieren einer Lagerumbuchungsposition
Integer = My.Bussines.MaWi.Mawi.I23Storno(tcIdi23 AS STRING,tcGrund AS STRING,toI22 AS OBJECT) Integer = My.Bussines.MaWi.Mawi.I23Storno(tcIdi23,tcGrund,toI22)
*/ Beispiel: LOCAL lnReturn AS Integer , loI22 AS Object loI22 = My.Bussines.Strain.Misc.oI22[i22.idi22] lnReturn = My.Bussines.MaWi.Mawi.I23Storno(i23.idi23,'Falsches Ziellager',m.loI22)
Rückgabe:[Integer], Verbuchen eines Lagerzugangs
Integer = My.Bussines.MaWi.Mawi.I30Buch(tcIdi30 AS STRING,tcIdi31 AS STRING,tnMenge AS Number,tdDate AS Date) Integer = My.Bussines.MaWi.Mawi.I30Buch(tcIdi30,tcIdi31,tnMenge,tdDate)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I30Buch(i30.idi30)
Rückgabe:[Integer], Stornieren eines Lagerzugangs.
Integer = My.Bussines.MaWi.Mawi.I30Storno(tcIdi30 AS STRING,tcGrund AS STRING) Integer = My.Bussines.MaWi.Mawi.I30Storno(tcIdi30,tcGrund)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I30Storno(i30.idi30,'Falsches Ziellager')
Integer = My.Bussines.MaWi.Mawi.I31Buch(tcIdi31 AS STRING, tnWhat AS INTEGER,tnMenge AS NUMBER) Integer = My.Bussines.MaWi.Mawi.I31Buch(tcIdi31,tnWhat,tnMenge)
Rückgabe:[Integer], Stornieren einer Lagerzugangs-Position
Integer = My.Bussines.MaWi.Mawi.I31Storno(tcIdi31 AS STRING,tcGrund AS STRING,toI30 AS OBJECT) Integer = My.Bussines.MaWi.Mawi.I31Storno(tcIdi31,tcGrund,toI30)
*/ Beispiel: LOCAL lnReturn AS Integer , loI30 AS Object loI30 = My.Bussines.Strain.Misc.oI30[i31.idi30] lnReturn = My.Bussines.MaWi.Mawi.I31Storno(i31.idi31,'Falsches Lager',m.loI30) */ Oder... lnReturn = My.Bussines.MaWi.Mawi.I31Storno(i31.idi31,'Falsches Lager')
Rückgabe:[Integer], Verbuchen eines Lagerabgangs
Integer = My.Bussines.MaWi.Mawi.I32Buch(tcIdi32 AS STRING,tcIdi33 AS STRING,tnMenge AS NUMBER,tdDate AS DATE) Integer = My.Bussines.MaWi.Mawi.I32Buch(tcIdi32,tcIdi33,tnMenge,tdDate)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I32Buch(i32.idi32)
Rückgabe:[Integer], Stornieren eines Lagerabgangs
Integer = My.Bussines.MaWi.Mawi.I32Storno(tcIdi32 AS STRING,tcGrund AS STRING) Integer = My.Bussines.MaWi.Mawi.I32Storno(tcIdi32,tcGrund)
*/ Beispiel: LOCAL lnReturn AS Integer lnReturn = My.Bussines.MaWi.Mawi.I31Storno(i32.idi32,'Falsches Lager')
Integer = My.Bussines.MaWi.Mawi.I33Buch(tcIdi33 AS STRING, tnWhat AS INTEGER,tnMenge AS NUMBER) Integer = My.Bussines.MaWi.Mawi.I33Buch(tcIdi33,tnWhat,tnMenge)
Rückgabe:[Integer], Stornieren einer Lagerabgangs-Position
Integer = My.Bussines.MaWi.Mawi.I33Storno(tcIdi33 AS STRING,tcGrund AS STRING,toI32 AS OBJECT) Integer = My.Bussines.MaWi.Mawi.I33Storno(tcIdi33,tcGrund,toI32)
*/ Beispiel: LOCAL lnReturn AS Integer , loI32 AS Object loI32 = My.Bussines.Strain.Misc.oI32[i33.idi32] lnReturn = My.Bussines.MaWi.Mawi.I31Storno(i33.idi33,'Falsches Lager',m.loI32) */ Oder... lnReturn = My.Bussines.MaWi.Mawi.I31Storno(i33.idi33,'Falsches Lager')
String = My.Bussines.MaWi.Mawi.I3xKorrektur(tcWhere AS STRING, tcFilter1 AS STRING, tcFilter2 AS STRING, toLK AS OBJECT, tcDbf AS STRING) String = My.Bussines.MaWi.Mawi.I3xKorrektur(tcWhere,tcFilter1,tcFilter2,toLK,tcDbf)
Rückgabe:[Variant], Neuanlage in I01
Variant = My.Bussines.MaWi.Mawi.NewI01(tcIDB01,tcIDK10,tcIDC66,tcIPB01,tnMENGE,tnPREIS,tnTGKM,tnVOMAX,tnVOMEL,tnVOMIN) Variant = My.Bussines.MaWi.Mawi.NewI01(tcIDB01,tcIDK10,tcIDC66,tcIPB01,tnMENGE,tnPREIS,tnTGKM,tnVOMAX,tnVOMEL,tnVOMIN)
*/ Beispiel: LOCAL lnReturn AS Integer */ Mindestparameter... lnReturn = My.Bussines.MaWi.Mawi.NewI01(m.idb01,m.idk10,m.idc66)
Rückgabe:[Variant], Neuer Datensatz in I17
Variant = My.Bussines.MaWi.Mawi.NewI17(tcIDB01,tcIDK10,tcIDC66,tcIPB01,tnMENGE AS NUMBER) Variant = My.Bussines.MaWi.Mawi.NewI17(tcIDB01,tcIDK10,tcIDC66,tcIPB01,tnMENGE)
*/ Beispiel: LOCAL lnReturn AS Integer */ Mindestparameter... lnReturn = My.Bussines.MaWi.Mawi.NewI17(m.idb01,m.idk10,m.idc66,m.ipb01)
Variant = My.Bussines.MaWi.Mawi.NewI18(tcBUART,tcPARA1,tcPARA2,tcPARA3) Variant = My.Bussines.MaWi.Mawi.NewI18(tcBUART,tcPARA1,tcPARA2,tcPARA3)
Rückgabe:[Integer], Neuer Datensatz in I19 über ein Objekt der Tabelle I20
Integer = My.Bussines.MaWi.Mawi.NewI19(toI20 AS OBJECT) Integer = My.Bussines.MaWi.Mawi.NewI19(toI20)
*/ Beispiel: LOCAL lnReturn AS Integer,loI20 AS Object loI20 = My.Bussines.Strain.Misc.oI20[i20.idi20] lnReturn = My.Bussines.MaWi.Mawi.NewI19(m.loI20)
Variant = My.Bussines.MaWi.Mawi.NewI20(tcIpzwi AS STRING,tcIdzwi AS STRING,tcIDPOS AS STRING,tcIDB01 AS STRING,tcIDK10 AS STRING,tcIDC66 AS STRING,tnMENGE AS NUMBER,tdDATE AS DATE) Variant = My.Bussines.MaWi.Mawi.NewI20(tcIpzwi,tcIdzwi,tcIDPOS,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tdDATE)
Rückgabe:[Variant], Neuer Datensatz in I21 anlegen
Variant = My.Bussines.MaWi.Mawi.NewI21(tcIP,tcID,tcPOS,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tnPRLA,tnVOLA,tdDATUM,tcIDC31,tcIPB01) Variant = My.Bussines.MaWi.Mawi.NewI21(tcIP,tcID,tcPOS,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tnPRLA,tnVOLA,tdDATUM,tcIDC31,tcIPB01)
*/ Beispiel: LOCAL lcIdi21 AS String */ Parameter: tcIP,tcID,tcPOS,tcIDB01,tcIDK10,tcIDC66,tnMENGE,tnPREIS,tnTGKM,tcBUART,tlWERT,tnPRLA,tnVOLA,tdDATUM,tcIDC31,tcIPB01 lcIdi21 = My.Bussines.MaWi.Mawi.NewI21(...) */ Rückgabe ist die Buchungsjournal-ID i21.idi21
Rückgabe:[Integer], Legt eine neue Lagerumbuchung an
Integer = My.Bussines.MaWi.Mawi.NewI22(tcIP AS STRING,tcIDK10 AS STRING,tcIpzwi AS STRING,tcIdzwi AS STRING,tcNotiz AS STRING) Integer = My.Bussines.MaWi.Mawi.NewI22(tcIP,tcIDK10,tcIpzwi,tcIdzwi,tcNotiz)
*/ Beispiel: LOCAL lnReturn AS Integer */ Parameter: tcIp AS STRING,tcIdk10 AS STRING,tcIpzwi AS STRING,tcIdzwi AS STRING,tcNotiz AS STRING lnReturn = My.Bussines.MaWi.Mawi.NewI22(...) */ Anmerkung: Je nach Ip werden weitere Daten angelegt!
Rückgabe:[Integer], Neuanlage einer Inventur zur Erstellung einer Inventurliste
Integer = My.Bussines.MaWi.Mawi.NewI40(tcIP AS STRING,toI40 AS OBJECT,tcNotiz AS STRING) Integer = My.Bussines.MaWi.Mawi.NewI40(tcIP,toI40,tcNotiz)
*/ Beispiel: LOCAL lnReturn AS Integer,loI40 AS Object */ Neuanlage des Kopfdatensatzes lnReturn = My.Bussines.MaWi.Mawi.NewI40('400',.NULL.,'Notiz...') */ Wenn der Kopf existiert... loI40 = My.Bussines.Strain.Misc.oI40[i40.idi40] */ Dann die Positionen erzeugen... lnReturn = My.Bussines.MaWi.Mawi.NewI40('400',m.loI40)
Rückgabe:[Integer], Legt eine neue Inventurbewertung an.
Integer = My.Bussines.MaWi.Mawi.NewI50(tcIP AS STRING,toI50 AS OBJECT,tcNotiz AS STRING) Integer = My.Bussines.MaWi.Mawi.NewI50(tcIP,toI50,tcNotiz)
*/ Beispiel: LOCAL lnReturn AS Integer */ Neuanlage lnReturn = My.Bussines.MaWi.Mawi.NewI50('430',.NULL.,'Notiz...') */ Ausführung ist noch in Arbeit...
Wandelt eine übergebene Collection in Parameter um.
Umkehrfunktion zu GetParameters.
Variant = My.Bussines.MaWi.Mawi.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.MaWi.Mawi.SetParameters(toPara,@tvP1,@tvP2,@tvP3,@tvP4,@tvP5,@tvP6,@tvP7,@tvP8,@tvP9)
*/ 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.MaWi.Mawi.SetParameters(m.loCollection,@lnVar1,@lnVar2) WAIT WINDOW m.lnVar1 WAIT WINDOW m.lnVar2
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.
Variant = My.Bussines.MaWi.Mawi._SqlCount(tcSql AS String) Variant = My.Bussines.MaWi.Mawi._SqlCount(tcSql)
LOCAL lcSql AS String lcSql = [SELECT COUNT(*) FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"] IF My.Bussines.MaWi.Mawi._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!
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.
Variant = My.Bussines.MaWi.Mawi._SqlExist(tcSql AS String) Variant = My.Bussines.MaWi.Mawi._SqlExist(tcSql)
LOCAL lcSql AS String lcSql = [SELECT ipy01 FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"] IF My.Bussines.MaWi.Mawi._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!
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.
Variant = My.Bussines.MaWi.Mawi._SqlRead(tcSql AS String,tcAlias AS String,tvTable AS Variant,tcIndex AS String) Variant = My.Bussines.MaWi.Mawi._SqlRead(tcSql,tcAlias,tvTable,tcIndex)
LOCAL lcSql AS String lcSql = [SELECT * FROM CSYSDIR!Y01 WHERE idc26="DE " AND ipy01="SU"] IF My.Bussines.MaWi.Mawi._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>
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.
Variant = My.Bussines.MaWi.Mawi._SqlReadArray(tcSql AS String,toObject AS Object,taArray) Variant = My.Bussines.MaWi.Mawi._SqlReadArray(tcSql,toObject,taArray)
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.MaWi.Mawi._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.MaWi.Mawi._SqlReadArray(m.lcSql,m.loObject,"aErg") && Es gibt Datensätze... */ FOR i = ... NEXT i ENDIF
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.
Variant = My.Bussines.MaWi.Mawi._SqlReadCollection(tcSql AS String,tcIndex AS String) Variant = My.Bussines.MaWi.Mawi._SqlReadCollection(tcSql,tcIndex)
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.MaWi.Mawi._SqlReadCollection(m.lcSql) WAIT WINDOW loColl.GetKey(1) && "0000001" */ Hat der SQL einen eindeutigen Key so kann dieser benutzt werden! loColl= My.Bussines.MaWi.Mawi._SqlReadCollection(m.lcSql,"ipy01") WAIT WINDOW loColl.GetKey(1) && "SU0"
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.
Variant = My.Bussines.MaWi.Mawi._SqlReadValue(tcSql AS STRING,tvDefault AS Variant) Variant = My.Bussines.MaWi.Mawi._SqlReadValue(tcSql,tvDefault)
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.MaWi.Mawi._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.MaWi.Mawi._SqlReadValue(m.lcSql,2) && y01.Kurz
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!
Variant = My.Bussines.MaWi.Mawi._SqlUpdate(tcTable AS STRING,tcAlias AS STRING,tcIdName AS STRING,tcFilter AS String) Variant = My.Bussines.MaWi.Mawi._SqlUpdate(tcTable,tcAlias,tcIdName,tcFilter)
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.MaWi.Mawi._SqlRead(m.lcSql,"qB01",1) */ Ändern der Daten... SELECT qB01 REPLACE ALL match WITH "LEISTUNGSSCHALTER",__Changed WITH .T. tlUpdate = My.Bussines.MaWi.Mawi._SqlUpdate("B01",ALIAS(),"IDB01") IF NOT m.tlUpdate WAIT WINDOW My.Bussines.MaWi.Mawi.cLastError ENDIF ENDIF
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!
;Filter1 = My.Bussines.MaWi.Mawi._SqlUpdateAll(tcList AS STRING) ;Filter1 = My.Bussines.MaWi.Mawi._SqlUpdateAll(tcList)
LOCAL tlUpdate AS Boolean */ Lesen der Daten vom Backend IF My.Bussines.MaWi.Mawi._SqlRead([SELECT * FROM CDBFDIR!B01 WHERE b01.artnr='SIE.3TH'],"qB01",1) AND ; My.Bussines.MaWi.Mawi._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.MaWi.Mawi._SqlUpdateAll("B01;QB01;IDB01#D03;QD03;IDD03") IF NOT m.tlUpdate WAIT WINDOW My.Bussines.MaWi.Mawi.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]
Pfad der Mandantentabellen
Normalerweise zu finden unter \\server\freigabe\...\pms32\daten\mandant\
String = My.Bussines.MaWi.Mawi.cDbfDir
IF !DIRECTORY(My.Bussines.MaWi.Mawi.cDbfDir) */ Benötigte Pfade sollten eigentlich da sein! =MESSAGEBOX("Pfad fehlt:" + My.Bussines.MaWi.Mawi.cDbfDir,64,"Mandanten Verzeichnis") ENDIF
String = My.Bussines.MaWi.Mawi.cErrorText
String = My.Bussines.MaWi.Mawi.cErrorTitle
String = My.Bussines.MaWi.Mawi.cIdI22Last
String = My.Bussines.MaWi.Mawi.cIdc66BEI
Letzte erstelle Inventur, siehe auch NewI40()
String = My.Bussines.MaWi.Mawi.cIdi40Last
Letzte erstelle Inventurbewertung, siehe auch NewI50()
String = My.Bussines.MaWi.Mawi.cIdi50Last
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
<>
String = My.Bussines.MaWi.Mawi.cIdx02
*/ Abfrage der Mandanten-ID WAIT WINDOW My.Bussines.MaWi.Mawi.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...
Mit dieser Property kann der letzte Fehler im Klartext abgerufen werden.
String = My.Bussines.MaWi.Mawi.cLastError
*/ Vorausgesetzt wird, dass My bekannt ist... LOCAL lcError AS String lcError = My.Bussines.MaWi.Mawi.cLastError
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]
String = My.Bussines.MaWi.Mawi.cMethod
*/ Abruf... WAIT WINDOW My.Bussines.MaWi.Mawi.cMethod
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"
String = My.Bussines.MaWi.Mawi.cResetInfos
*/ Verschiedene RESET Befehle... My.Bussines.MaWi.Mawi.cResetInfos = "REMOVE-MENUES" My.Bussines.MaWi.Mawi.cResetInfos = "REMOVE-CS-FILES" My.Bussines.MaWi.Mawi.cResetInfos = "REMOVE-CS-SCRIPTS" My.Bussines.MaWi.Mawi.cResetInfos = "CHANGE-IDX09" My.Bussines.MaWi.Mawi.cResetInfos = "USER_LOGIN" */ Je nach Klasse wird ein entsprechender RESET ausgeführt!
Verzeichnis der Systemtabellen von PMS32
Das Verzeichnis ist normalerweise unter: \\server\pms$\pms32\dbf\ zu finden...
String = My.Bussines.MaWi.Mawi.cSysDir
IF !DIRECTORY(My.Bussines.MaWi.Mawi.cSysDir) */ Benötigte Pfade sollten eigentlich da sein! =MESSAGEBOX("Pfad fehlt:" + My.Bussines.MaWi.Mawi.cSysDir,64,"Systemverzeichnis") ENDIF
Wert:[Variant], gibt zurück, ob eine IP einem disponierbarem Vorgang entspricht. lReturn=isVorgang['101'] oder cReturn=isVorgang[0]
Variant = My.Bussines.MaWi.Mawi.isVorgang[tcIndex1 AS String | tiIndex1 AS Integer , tiIndex2 AS Integer] Variant = My.Bussines.MaWi.Mawi.isVorgang[tcIndex1|,tiIndex1,tiIndex2]
*/ Beispiel: */ Prüfung, ob die Vorgangsart disponiert werden darf... IF My.Bussines.MaWi.Mawi.isVorgang['101'] */ AB kann disponiert werden... ENDIF LOCAL lcVorgangsArten AS String lcVorgangsArten = My.Bussines.MaWi.Mawi.isVorgang[0] && Sollte '101,107,108' enthalten...
Boolean = My.Bussines.MaWi.Mawi.lLvActive
Thermosanzeige bei der Ausführung
Boolean = My.Bussines.MaWi.Mawi.lShowThermos
My.Bussines.MaWi.Mawi.lShowThermos = .T.
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.
Number = My.Bussines.MaWi.Mawi.nError
WAIT WINDOW My.Bussines.MaWi.Mawi.nError
Number = My.Bussines.MaWi.Mawi.nErrorPicture
Zeilennummer, in der der letzte Fehler auftrat
Number = My.Bussines.MaWi.Mawi.nLine
WAIT WINDOW My.Bussines.MaWi.Mawi.nLine
Verarbeitete Datensätze
Number = My.Bussines.MaWi.Mawi.nRecords
WAIT WINDOW My.Bussines.MaWi.Mawi.nRecords
Ausführungszeit in Sekunden
Number = My.Bussines.MaWi.Mawi.nSeconds
WAIT WINDOW My.Bussines.MaWi.Mawi.nSeconds
Status der Ausführung
Number = My.Bussines.MaWi.Mawi.nStatus
WAIT WINDOW My.Bussines.MaWi.Mawi.nStatus
Object = My.Bussines.MaWi.Mawi.oFips
Object = My.Bussines.MaWi.Mawi.oMIsC
Object = My.Bussines.MaWi.Mawi.oMy[tcIndex1 AS String | tiIndex1 AS Integer , tiIndex2 AS Integer] Object = My.Bussines.MaWi.Mawi.oMy[tcIndex1|,tiIndex1,tiIndex2]
Merkt sich die Datenumgebung für eine Verarbeitung.
Beim Release der Variable wird die vorherige Datenumgebung wieder hergestellt.
Object = My.Bussines.MaWi.Mawi.oSelected
LOCAL loSelected AS My_Fu_Selected loSelected = My.Bussines.MaWi.Mawi.oSelected */ Danach können Tabellen und Cursor geöffnet werden... */ Mit dem Nachfolgenden Befehl wird der obige Zustand der Datenumgebung wieder hergestellt RELEASE loSelected
Instanziiert einen temporären Thermos
Object = My.Bussines.MaWi.Mawi.oThermos
LOCAL loThermos AS My_Sy_Thermos */ Instanziieren loThermos = My.Bussines.MaWi.Mawi.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
Object = My.Bussines.MaWi.Mawi.ofOts
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