Achtung
Neu auf die Version 2022.0 und 2021.0 SP3 musste die Fehlernummer 15 auf 525 geändert werden, da sonst in C# bei diesem Fehler anstelle einer COM-Exception eine TypeLoad-Exception geworfen wurde.
Allgemein
Mit Hilfe der Finanz API (früher ActiveX-Server) von Infoniqa ONE 200 können Sie SBS Objekte und Methoden in Ihrem Programm verwenden und eine nahtlose Integration erreichen.
Weitere einführende Informationen sind im Dokument API-Allgemein zu finden.
Datenbank öffnen
ConnectSBSdb
Beschreibung
Erstellt die Verbindung mit der SBS-Datenbank. Diese Methode muss zwingend aufgerufen werden, um weitere Methoden ausführen zu können.
Mittels der Schnittstelle ConnectSBSdbNoPromptCrypted kann man sich mit einem von Infoniqa ONE 200 verschlüsselten Passwort anmelden.
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Datenquelle |
String |
Alphanumerisch |
Ja |
„Simultan_MSSQL65“ |
2. |
Datenbank |
String |
Alphanumerisch |
Ja |
„SBS“ |
3. |
Benutzer |
String |
Alphanumerisch |
Ja |
„Test0“ |
4. |
Passwort |
String |
Alphanumerisch |
Ja |
„ “ |
5. |
Sprachcode |
String |
Numerisch |
Nein |
Codetabelle-Zugriffsparameter Als Defaultwert wird der Sprachcode des eingeloggenden Benutzers verwendet (0 oder leer mtigeben). Siehe Windows-Dokumentation oder Inhalt der Tabelle „sprachauswahl“ (z.B. bei den Debi und Kredistämmen nötig) |
6. |
Applikationsname |
String |
Alphanumerisch |
Nein |
Als Defaultwert wird SBSxas verwendet Wird ein anderer Applikationsname übergeben treten Performance-Probleme auf, und die Ausführung verlangsamt sich. |
Returnwert
Beim Einloggen auf die Datenbank wird eine Lizenzprüfung vorgenommen. Als Warnings für Lizenzprobleme können folgende Warnungen erscheinen (Das benutzen der Methoden im AXFinanz Objekt ist in jedem Fall weiterhin möglich!)
Nummer |
ID |
Text |
---|---|---|
10020 |
W_LIZENZINFO |
Ihre Lizenz ist abgelaufen. Es stehen nur die Methoden des Objekts AXFinanz zur Verfügung. |
10021 |
W_LIZENZINFO_BSE |
Ihre Lizenz ist abgelaufen. Es stehen nur die Methoden der Objekte AXFinanz und |
10034 |
W_LIZENZINFO |
Lizenzlimite wurde überschritten. Mit dieser Lizenz können sich maximal X Instanz(en) der API auf die Datenbank einloggen. |
10036 |
W_LIZENZEXPIRESOON |
Die Lizenznummer ist gültig, wird jedoch in weniger als 30 Tage ablaufen. |
10038 |
W_LIZENZCANTDETECT |
Starten Sie den SQLWizard und führen Sie den Menüpunkt: 'Berechtigung: Datenbankberechtigungen regenerieren' aus. |
10039 |
W_LIZENZVERSION |
Die Version der Lizenznummer und die Produktversion sind unterschiedlich. Es stehen nur die Methoden des Objekts AXFinanz zur Verfügung. |
10040 |
W_LIZENZERROR |
Ihre Lizenz ist ungültig. Es stehen nur die Methoden des Objekts AXFinanz zur Verfügung. |
514 |
E_LIZENZSERVER_NOT_DEFINED |
Lizenzserver nicht gefunden |
515 |
E_LIZENZSERVER_UNKNOW |
Lizenzserver unbekannt |
516 |
E_LIZENZSERVER_NOT_RUNNING |
Lizenzserver nicht gestartet |
517 |
E_LIZENZSERVER_NO_FEATURES |
Lizenzserver - Keine Lizenzopton vorhanden |
518 |
E_LIZENZSERVER_UNKNOW_ERROR |
Lizenzserver – Unbekannter Fehler |
Bemerkung
Erscheint der Fehler mit der Nummer 3 so handelt es sich um einen ODBC Error. Der genaue Fehlertext kann dann mit der Methode GetODBCConnectionErrorString eruiert werden.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
on error resume next
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 0 Then
msgbox "Anmeldung erfolgreich"
ElseIf e = 3 Then
msgbox Finanz.GetODBCConnectionErrorString
ElseIf e < 10000 Then
msgbox "Warnung"
Else
msgbox "Error"
End If
Mandant öffnen
OpenMandant
Beschreibung
Öffnet den eingegebenen Mandanten in der SBS-Datenbank. Wird keine Periode übergeben, so wird die Periode verwendet, die das aktuelle Datum beinhaltet.
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
„ZZ“ |
2. |
Periode |
String |
Alphanumerisch (7) |
Nein |
„1997/01“ |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
MsgBox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ","")
End If
Mandant überprüfen
CheckMandant
Beschreibung
Überprüft die Existenz des Mandanten in der SBS-Datenbank. Returnwert ist boolisch. Gibt es den eingegebenen Mandanten, ist der Returnwert TRUE.
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch(2) |
Ja |
„ZZ“ |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
MsgBox Finanz.GetODBCConnectionErrorString
Else
//Mandant überprüfen
If Finanz.CheckMandant("ZZ") = 1 Then
MsgBox "Mandant existiert"
Else
MsgBox "Mandant existiert nicht"
End If
End If
Zugriff überprüfen
CheckAccess
Beschreibung
Überprüfung der Zugriffsberechtigungsstufe des angemeldeten Benutzers für den gewählten Mandanten.
Der Returnwert ist vom Typ BOOL. Hat der Benutzer die aufgeführte Berechtigungsstufe, ist der Returnwert TRUE.
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Stufe |
Integer |
Numerisch |
Ja |
Zugelassene Werte: 0 – Administratorstufe, 1 – Hauptbuchhalterstufe, 2 – Debitorenbuchhalterstufe, 3 – Kreditorenbuchhalterstufe, 4 – Lohnbuchhalterstufe 13 - Connect 14 – Darlehensbuchhalterstufe |
2. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
Mandanten-Identifikation „ZZ“ |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
msgbox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2010/01") //Prüft ob Mandant Berechtigung hat
If Finanz.CheckAccess(2,"ZZ") = 1 Then
MsgBox "Mandant hat Debitorenberechtigung"
Else
MsgBox "Mandant hat keine Debitorenberechtigung"
End If
End If
Es wird überprüft, ob der angemeldete Benutzer zu den Debitorenoperationen berechtigt ist.
Konditionenliste lesen
ReadKond, GetKondListe
Beschreibung
Die Konditionenliste des angegebenen Mandanten wird ausgelesen. Durch Zeilenindexierung des Resultsets kann zu den einzelnen Zeilen beliebig zugegriffen werden. Wird der Zeilenindex der Zeilenanzahl überschritten, ist der Returnwert ‚EOF‘.
Parameter
Parameter von ReadKond
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
„ZZ“ |
Parameter von GetKondListe
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Zeilenindex |
Long |
Numerisch |
Ja |
Zeilenindex >= 0 |
Returnwert
ReadKond gibt als Returnwert die Zeilenanzahl des Resultsets zurück.
GetKondListe(idx) gibt als Returnwert die Zeile „idx“ des Resultsets zurück. Die einzelnen Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Eine Zeile beinhaltet folgende Felder:
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
kondnbr |
Konditionsnummer |
2. |
lfnbr |
Laufnummer |
3. |
kondtext |
Text |
4. |
verftage |
Verfalltage |
5. |
satz |
Satz |
6. |
tolnbr |
Toleranz |
7. |
akzttage |
Akzeptanztage |
8. |
status |
1=aktiv, 0=nicht aktiv |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
msgbox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2006/01")
//Konditionenliste lesen
lfnbr = Finanz.ReadKond("ZZ")
For ix = 0 To lfnbr
s = Finanz.GetKondListe(ix)
If s = "EOF" Then Exit For End If
Print s
Next
End If
Zusätzliche Mandanteninformation lesen
GetMandExtInfo
GetMandExtInfo (Mandanten-ID)
Beschreibung
Liest die Zusatzinformation des angegebenen Mandanten.
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
„ZZ“ |
Returnwert
Die Methode GetMandExtInfo liefert als Returnwert die Zusatzinformationen des Mandanten. Die einzelnen Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Die Zusatzinformation beinhaltet folgende Felder:
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
name |
Name |
2. |
adresse |
Adresse |
3. |
plz |
Postleitzahl |
4. |
ort |
Ort |
5. |
telefon |
Telefon-Nummer |
6. |
telefax |
Telefax-Nummer |
7. |
whgid |
Währungs-ID |
8. |
mwstnr |
Mehrwertsteuer-Nummer |
9. |
mwstpsatz |
Mehrwertsteuer-Satz |
10. |
kstrg |
Kostenstelle aktiv |
11. |
ktonreb |
Kontonummer Eröffnungsbilanz |
12. |
ebtext |
Einzelbuchungs-Text |
13. |
sbtext |
Sammelbuchungs-Text |
14. |
kdtext |
Text Kursdifferenzbuchungen |
15. |
fbhgtoshow |
Anz. anzuzeigende Fibubuchungen |
16. |
bbhgtoshow |
Anz. anzuzeigende Korebuchungen |
17. |
zbtext |
Text autom. Zinsbuchungen |
18. |
mwstabrart |
Mehrwertsteuer-Abrechnungsart |
19. |
incrbelnbrf |
Inkrementelle Fibubelegnummer |
20. |
incrbelnbrb |
Inkrementelle Bebubelegnummer |
21. |
usanz |
Usanz |
22. |
dtadatei |
DTA-Datei |
23. |
dtawhgid |
DTA Währungs-ID |
24. |
dtaccode |
DTA-Ländercode |
25. |
zlgtext |
Zahlungs-Text |
26. |
sktext |
Text Skontoausbuchungen |
27. |
incrbelnbrk |
Inkrementelle Kredibelegnummer |
28. |
incrbelnbrd |
Inkrementelle Debitorenbelegnummer |
29. |
tzlgtext |
Teilzahlungstext |
30. |
vzlgtext |
Vorauszahlungstext |
31. |
debitext1 |
Debitorenzusatztext 1 |
32. |
debitext2 |
Debitorenzusatztext 2 |
33. |
debitext3 |
Debitorenzusatztext 3 |
34. |
debitext4 |
Debitorenzusatztext 4 |
35. |
debitext5 |
Debitorenzusatztext 5 |
36. |
debitext6 |
Debitorenzusatztext 6 |
37. |
debitext7 |
Debitorenzusatztext 7 |
38. |
debitext8 |
Debitorenzusatztext 8 |
39. |
debitext9 |
Debitorenzusatztext 9 |
40. |
debitext10 |
Debitorenzusatztext 10 |
41. |
debitext11 |
Debitorenzusatztext 11 |
42. |
debitext12 |
Debitorenzusatztext 12 |
43. |
debitext13 |
Debitorenzusatztext 13 |
44. |
debitext14 |
Debitorenzusatztext 14 |
45. |
debitext15 |
Debitorenzusatztext 15 |
46. |
debitext16 |
Debitorenzusatztext 16 |
47. |
debitext17 |
Debitorenzusatztext 17 |
48. |
debitext18 |
Debitorenzusatztext 18 |
49. |
debitext19 |
Debitorenzusatztext 19 |
50. |
debitext20 |
Debitorenzusatztext 20 |
51. |
debitext21 |
Debitorenzusatztext 21 |
52. |
debitext22 |
Debitorenzusatztext 22 |
53. |
debitext23 |
Debitorenzusatztext 23 |
54. |
debitext24 |
Debitorenzusatztext 24 |
55. |
kreditext1 |
Kreditorenzusatztext 1 |
56. |
kreditext2 |
Kreditorenzusatztext 2 |
57. |
kreditext3 |
Kreditorenzusatztext 3 |
58. |
kreditext4 |
Kreditorenzusatztext 4 |
59. |
kreditext5 |
Kreditorenzusatztext 5 |
60. |
kreditext6 |
Kreditorenzusatztext 6 |
61. |
kreditext7 |
Kreditorenzusatztext 7 |
62. |
kreditext8 |
Kreditorenzusatztext 8 |
63. |
kreditext9 |
Kreditorenzusatztext 9 |
64. |
kreditext10 |
Kreditorenzusatztext 10 |
65. |
kreditext11 |
Kreditorenzusatztext 11 |
66. |
kreditext12 |
Kreditorenzusatztext 12 |
67. |
kreditext13 |
Kreditorenzusatztext 13 |
68. |
kreditext14 |
Kreditorenzusatztext 14 |
69. |
kreditext15 |
Kreditorenzusatztext 15 |
70. |
kreditext16 |
Kreditorenzusatztext 16 |
71. |
kreditext17 |
Kreditorenzusatztext 17 |
72. |
kreditext18 |
Kreditorenzusatztext 18 |
73. |
kreditext19 |
Kreditorenzusatztext 19 |
74. |
kreditext20 |
Kreditorenzusatztext 20 |
75. |
kreditext21 |
Kreditorenzusatztext 21 |
76. |
kreditext22 |
Kreditorenzusatztext 22 |
77. |
kreditext23 |
Kreditorenzusatztext 23 |
78. |
kreditext24 |
Kreditorenzusatztext 24 |
79. |
skontoaktiv |
Skonto oder Rückvergütung |
80. |
vstufe1 |
Verfallstufe 1 |
81. |
vstufe2 |
Verfallstufe 2 |
82. |
vstufe3 |
Verfallstufe 3 |
83. |
isdebidirect |
Debitorendirektverbuchen ja oder nein |
84. |
iskredidirect |
Kreditorendirektverbuchen ja oder nein |
85. |
iskredibrutto |
Kreditoren-Bruttoverbuchung aktiv |
86. |
sprcode |
Sprach-Code |
87. |
defexpsteuer |
Default Export Steuersatz |
88. |
rundung |
Rundung |
89. |
isabschlbuch |
Abschlussbuchung anzeigen |
90. |
zeigeeigbuch |
Nur eigene Buchungen anzeigen |
91. |
defimpsteuer |
Default Import Steuersatz |
92. |
resnum1 |
Flag Habenbuchungstexte aktiv (0=inaktiv 1= aktiv) |
93. |
isdeutsch |
Laufenberg-Flag |
94. |
avisabtage |
Druck Zahlungsavis ab anz. Belege |
95. |
textdebifakt |
Vorschlagstext für Debi-Fakturen |
96. |
textkredifakt |
Vorschlagstext für Kreditoren-Fakturen |
97. |
Isvorerfassung |
Kreditoren vorerfassen |
98. |
textsteuerbhg |
Vorschlagstext für Steuerbuchungen |
99. |
bmppath |
Pfad für Bilder |
100. |
anzadr |
Anzahl anzuzeigende Datensätze im Grid |
101. |
verrtext |
Text für Ausgleich per Verrechnung |
102. |
anltext1 |
Individueller Anlagetext 1 |
103. |
anltext2 |
Individueller Anlagetext 2 |
104. |
anltext3 |
Individueller Anlagetext 3 |
105. |
anltext4 |
Individueller Anlagetext 4 |
106. |
anltext5 |
Individueller Anlagetext 5 |
107. |
anltext6 |
Individueller Anlagetext 6 |
108. |
anltext7 |
Individueller Anlagetext 7 |
109. |
anltext8 |
Individueller Anlagetext 8 |
110. |
anltext9 |
Individueller Anlagetext 9 |
111. |
anltext10 |
Individueller Anlagetext 10 |
112. |
anltext11 |
Individueller Anlagetext 11 |
113. |
anltext12 |
Individueller Anlagetext 12 |
114. |
anltext13 |
Individueller Anlagetext 13 |
115. |
anltext14 |
Individueller Anlagetext 14 |
116. |
anltext15 |
Individueller Anlagetext 15 |
117. |
lsvbadzlgnbr |
Zahllaufnummer für LSV / BAD |
118. |
textgutschrift |
Gutschrifts-Text |
119. |
textspesen |
Text Spesen |
120. |
Issichtbar |
Mandant sichtbar |
121. |
textdebigs |
Vorschlagstext für Debi-Gutschriften |
122. |
defdebibhgtext |
Debitoren-Buchungstext |
123. |
defkredibhgtext |
Kreditoren-Buchungstext |
124. |
adrtext1 |
Individueller Adresstext 1 |
125. |
adrtext2 |
Individueller Adresstext 2 |
126. |
adrtext3 |
Individueller Adresstext 3 |
127. |
adrtext4 |
Individueller Adresstext 4 |
128. |
adrtext5 |
Individueller Adresstext 5 |
129. |
adrtext6 |
Individueller Adresstext 6 |
130. |
adrtext7 |
Individueller Adresstext 7 |
131. |
adrtext8 |
Individueller Adresstext 8 |
132. |
adrtext9 |
Individueller Adresstext 9 |
133. |
adrtext10 |
Individueller Adresstext 10 |
134. |
adrtext11 |
Individueller Adresstext 11 |
135. |
adrtext12 |
Individueller Adresstext 12 |
136. |
adrtext13 |
Individueller Adresstext 13 |
137. |
adrtext14 |
Individueller Adresstext 14 |
138. |
adrtext15 |
Individueller Adresstext 15 |
139. |
adrtext16 |
Individueller Adresstext 16 |
140. |
adrtext17 |
Individueller Adresstext 17 |
141. |
adrtext18 |
Individueller Adresstext 18 |
142. |
adrtext19 |
Individueller Adresstext 19 |
143. |
adrtext20 |
Individueller Adresstext 20 |
144. |
adrtext21 |
Individueller Adresstext 21 |
145. |
adrtext22 |
Individueller Adresstext 22 |
146. |
adrtext23 |
Individueller Adresstext 23 |
147. |
adrtext24 |
Individueller Adresstext 24 |
148. |
<inaktiv> |
Immer leer |
149. |
dtalfnbr |
DTA Laufnummer für Deutschland |
150. |
sekkaerlbhgart |
Buchungsart für Sekundärkostenart |
151. |
eurowhgid |
Eurowährung |
152. |
eurorechdte |
Datum der Euroumstellung |
153. |
fixkurs |
Fix-Kurs |
154. |
zlgtextk |
Zahlungstext Kreditoren |
155. |
zlgtextvar |
Zahlungstext |
156. |
runddifftxt |
Text Rundungsdifferenz |
157. |
runddiffabweich |
Zahlungstext Kreditoren verdichtet |
158. |
kzlgtextverdicht |
Zahlungstext Kreditoren Verdichten |
159. |
plausproj |
Projekt plausibilisieren |
160. |
kakstsort |
Kostenarten/Kostenstellen Sort |
161. |
kredkontr |
Kreditkontrolle |
162. |
iscached |
Caching für Fibukonti aktivieren |
163. |
<inaktiv> |
Leer |
164. |
incrbelnbrdz |
Inkrementelle Belegnummer Debitorenzahlung |
165. |
incadrnbr |
Adressnummer automatisch erhöhen |
166. |
plausprojdtebis |
Plausibilitätsprojekt: Datum bis |
167. |
<inaktiv> |
Leer |
168. |
lsvmitteiltxt |
LSV/ Debi Direct: Mitteilungstext |
169. |
lsvsammeltxt |
LSV Text Sammelzahlung |
170. |
kkaktiv |
Kontokorrent aktiviert |
171. |
anzkarenztage |
Anzahl Karenztage |
172. |
isclearingzwingend |
Wir nicht mehr verwendet (immer ‚N‘) |
173. |
zlgtextvark |
Variante Zahltext |
174. |
umlagetxt |
Umlagetext |
175. |
verrechnungtxt |
Text Verrechnung |
176. |
dvnbr |
Datenverarbeitungsnummer |
177. |
dtaccode |
DTA –Landeskürzel |
178. |
sammeldta |
SammelDTA erstellen |
179. |
isextkons |
Externe Konsolidierung aktiv |
180. |
konsktonr |
Kontenplannummer zur externen Konsolidierung |
181. |
konsgeselnr |
Gesellschaftsnummer zur externen Konsolidierung |
182. |
konsunternehmer |
Unternehmensbereich zur externen Konsolidierung |
183. |
konssachktonr |
Sachkonto für Umlage zur externen Konsolidierung |
184. |
plausprojbhg |
Plausibilitätsprojekte Buchungen |
185. |
extzins |
Flag Erweitertes Zinsrechnen |
186. |
febanking |
E-Banking Fibu aktivieren |
187. |
aebanking |
E-Banking Auftrag aktivieren |
188. |
pebanking |
E-Banking Personal aktivieren |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
msgbox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2006/01")
//Mandanteninformation lesen
tmp = Finanz.GetMandExtInfo("ZZ")
arr = Split(tmp,"{>}")
For ix = 0 To Ubound(arr,1)-1
s = Finanz.GetKondListe(ix)
If s = "EOF" Then Exit For End If
Print s
Next
End If
Mandantenliste lesen
ReadMand, ReadMand2, GetMandListe
Beschreibung
Die Mandantenliste wird ausgelesen. Durch die Indexierung der Resultsetszeilen kann zu den einzelnen Zeilen beliebig zugegriffen werden. Wird der Zeilenindex der Zeilenanzahl überschritten, ist der Returnwert ‚EOF‘.
Parameter
Parameter von ReadMand2
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
CheckRights |
String |
String |
Ja |
Bestimmt ob Zugriffsrechte des Benutzers beachtet werden sollen. N=Zugriffsrechte nicht beachten: Alle Mandanten werden ausgelesen (entspricht der Methode ReadMand) J=Zugriffsrechte beachten. Es werden nur Mandanten ausgelesen, für die der eingeloggte Benutzer Zugriffsrecht hat. |
Parameter von GetMandListe
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Zeilenindex |
Long |
Numerisch |
Ja |
Zeilenindex >= 0 |
Returnwert
ReadMand gibt als Returnwert die Zeilenanzahl des Resultsets zurück.
GetMandListe(idx) gibt als Returnwert die Zeile „idx“ des Resultsets zurück. Die einzelnen Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Die Returnzeile beinhaltet folgende Felder:
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
mandid |
Mandantenidentifikation |
2. |
name |
Name |
3. |
adresse |
Adresse |
4. |
plz |
Postleitzahl |
5. |
ort |
Ort |
6. |
mwstabrart |
Mehrwertsteuer-Abrechnungsart |
7. |
eurorechdte |
Euroberechnung ab diesem Datum |
8. |
altbasiswhg |
Alte Basiswährung |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
msgbox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2006/01")
//Mandantenliste lesen
lfnbr = Finanz.ReadMand
For ix = 0 To lfnbr
s = Finanz.GetMandListe(ix)
If s = "EOF" Then Exit For End If
Print s
Next
End If
Periodenliste lesen
ReadPeri, GetPeriListe
Beschreibung
Die Periodenliste (Geschäftsjahre) wird ausgelesen. Durch Indexierung der Zeilen des Resultsets kann zu den einzelnen Zeilen beliebig zugegriffen werden. Wird der Zeilenindex der Zeilenanzahl überschritten, ist der Returnwert ‚EOF‘.
Parameter
Parameter von ReadPeri
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
„ZZ“ |
2. |
PeriID |
String |
Alphanumerisch (7) |
Nein |
Defaultwert „“ Wird keine PeriID übergeben werden alle Perioden des Mandanten ausgelesen, ansonst nur die selektierte |
Parameter von GetPeriListe
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Zeilenindex |
Long |
Numerisch |
Ja |
Zeilenindex >= 0 |
Returnwert
ReadPeri gibt als Returnwert Zeilenanzahl des Resultsets zurück.
GetPeriListe(idx) gibt als Returnwert die Zeile „idx“ des Resultsets zurück. Die einzelnen Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Die Returnzeile beinhaltet folgende Felder:
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
periid |
Identifikation |
2. |
peritext |
Bezeichnung |
3. |
status |
Status (A,O,P) |
4. |
dtevon |
Geschäftsjahr von |
5. |
dtebis |
Geschäftsjahr bis |
6. |
bhgdtevon |
Buchungsdatum von |
7. |
bhgdtebis |
Buchungsdatum bis |
8. |
kstsachabgr |
KST Sachliche |
9. |
teqnbr |
Interne Nummer des Geschäftsjahres |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
MsgBox Finanz.GetODBCConnectionErrorString
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2006/01")
//Periodenliste lesen
lfnbr = Finanz.ReadPeri("ZZ", “2006/01”)
For ix = 0 To lfnbr
s = Finanz.GetPeriListe(ix)
If s = "EOF" Then Exit For End If
Print s
Next
End If
Steuer-ID Liste lesen
ReadStID, GetStIDListe2
Beschreibung
Die Steuer-ID Liste wird ausgelesen. Durch Indexierung der Zeilen des Resultsets kann zu den einzelnen Zeilen beliebig zugegriffen werden. Wird der Zeilenindex der Zeilenanzahl überschritten, ist der Returnwert ‚EOF‘.
Parameter
Parameter von ReadStID
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Mandanten-ID |
String |
Alphanumerisch (2) |
Ja |
„ZZ“ |
Parameter von GetStIDListe2
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Zeilenindex |
Long |
Numerisch |
Ja |
Zeilenindex >= 0 |
Returnwert
ReadStID gibt als Returnwert Zeilenanzahl des Resultsets zurück.
GetStIDListe2(idx) gibt als Returnwert die Zeile „idx“ des Resultsets zurück. Die einzelnen Felder, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Beschreibung des Resultsets siehe im Kapitel Steuerstamm lesen (alt) bei der gleichnamigen Methode.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
If Finanz.ConnectSBSdb("MSSQLSimultan", "SBS", "Test1", "", "", "") = 3
Then
MsgBox Finanz.GetODBCConnectionErrorString()
Else
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2006/01")
//Periodenliste lesen
lfnbr = Finanz.ReadStID("ZZ") For ix = 0 To lfnbr
s = Finanz.GetStIDListe2(ix)
If s = "EOF" Then Exit For End If
Print s
Next
End If
Trennzeichen setzen
SetDelimiters2, SetOutDelimiters
Beschreibung
Diese Methoden setzen die Trennzeichen. Trennzeichen sind als Trenner einzelner Ein- und Ausgabe-Felder und Resultset-Sätze überall dort verwendet, wo in einem Stringparameter mehrere Werte übergeben werden. Keine zwei Trenner der Methode SetDelimiters oder SetOutDelimiters dürfen gleich sein. Die Methode SetDelimiters setzt die Trenner für Input-Felder (z.B in der Methode SetVerteilung – die Trenner in den Steuerfelder). Die Methode SetOutDelimiters setzt die Trenner für die Output-Felder (z.B. alle Get-Methoden, wo Zeilen retourniert sind).
Parameter
Parameter von SetDelimiters2
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Rec_Trenner |
String |
Alphanumerisch(n) |
Ja |
Initialwert: {>} |
2. |
Feld_Trenner |
String |
Alphanumerisch(n) |
Ja |
Initialwert: {<} |
3. |
KstKtr_Trenner |
String |
Alphanumerisch(n) |
Ja |
Initialwert: {-} |
Parameter von SetOutDelimiters
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
RecDelim |
String |
Alphanumerisch(n) |
Ja |
Initialwert: {<} |
2. |
FeldDelim |
String |
Alphanumerisch(n) |
Ja |
Initialwert: {>} |
Bemerkung
Ein Feld Separator trennt Daten einer Datenstruktur. Können verschiedene Daten eingegeben werden, müssen diese durch Record Separatoren getrennt sein.
So z.B. bei der Methode BindLaKstKa müssen die einzelnen Felder (Kart, Kst) durch Feld Separatoren getrennt und mit einem Record Separator abgeschlossen sein.
Ausnahme: Die Methode GetSteuerFeld retourniert die Felder durch Input Trenner (d.h. Feld_Trenner und Rec_Trenner der Methode SetDelimiters2) getrennt, weil das Ergebnis als ein Input Feld in den Belege Schreiben Methoden übergeben werden kann.
Beispiel
Call Finanz.SetDelimiters2(",", ";", ":")
Call Finanz.SetOutDelimiters(",", ";")
Ein neues Finanz-Objekt erstellen
DuplicateObject
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Connect |
Long |
Numerisch |
Nein |
Defaultwert 0 0 – Es wird ein leeres Objekt erstellt. Nachfolgend sind die Methoden ConnectSBSdb und OpenMandant aufzurufen. 1 - Es wird ein zu der selben Datenbank angemeldetes Objekt erstellt, wie das elterliche Objekt. Es ist noch die Methode OpenMandant auszuführen. 2 – Das neue Objekt ist zu der selben Datenbank und zum selben Mandant angemeldet, wie das elterliche Objekt. |
Returnwert
Gibt als Returnwert einen Pointer auf ein neuerstelltes Finanzobjekt zurück. Wird die Methode mehrmals aufgerufen, so werden auch mehrere Objekte erstellt.
Bemerkung
Die Anmeldung des neuen Objekts erfolgt auf Grund der Anmeldung des elterlichen Objektes. Falls beim elterlichen Objekt alle zu Datenbankanmeldung notwendige Parameter (Parameter der Methode ConnectSBSdb) übergeben wurden, wird das Objekterstellen ohne zusätzlicher Abfrage im Login-Dialog des SQL-Servers ablaufen. Ansonsten müssen die fehlenden Parameter auch beim Aufruf der Methode DuplicateObjekt im Dialogfenster des SQL-Servers nochmals eingegeben werden. Der Mandantenauswahl erfolgt im Programm ohne interaktiv eingreifen zu müssen.
Beispiel
Dim Finanz,FinanzNew As AXFinanz
Set FinanzNew = Finanz.DuplicateObjekt(1)
Es wird ein Objekt FinanzNew erstellt, welcher zu der selben Datenbank, wie das Objekt Finanz, angemeldet ist. Mandant ist noch zu öffnen.
Existenz einer Periode überprüfen
CheckPeriode
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
MandantID |
String |
Alphanumerisch (2) |
Ja |
Mandant-Identifikation |
2. |
Periode |
String |
Alphanumerisch (7) |
Ja |
Periode-Identifikation |
Returnwert
Gibt TRUE als Returnwert zurück, falls die angegebene Periode im angegebenen Mandant definiert ist. Ansonsten ist der Returnwert FALSE.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
If Finanz.ConnectSBSdb("MSSQLSimultan", "SBS", "Test1", "", "", "") = 3
Then
MsgBox Finanz.GetODBCConnectionErrorString()
Else
// Mandant überprüfen
If Finanz.CheckMandant(mandidin) = 1 Then
//Mandant öffnen
Call Finanz.OpenMandant("ZZ", "2010/01")
//Existenz der Periode prüfen
If Finanz.CheckPeriode("ZZ", "2010/01") = 1 Then
MsgBox "Periode ist im angegebenen Mandant definiert!"
Else
MsgBox "Periode ist im angegebenen Mandant nicht definiert!"
End If
Else
MsgBox "Mandant existiert nicht"
End If
End If
Konvertierung Nummer zu einem String
ToString
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
Format |
String |
Alphanumerisch (n) |
Ja |
Format-String |
2. |
Nummer |
Double |
Numerisch (17.2) |
Ja |
Input-Wert |
Returnwert
Gibt formatierte Nummer in einen String als Returnwert zurück.
Bemerkung
Formatstring ist gemäss C/C++ Konvention. Die Konvertierung erfolgt unabhängig von der Einstellung des Dezimalstellentrennzeichens in Ländereinstellung. Als Trennzeichen wird immer ein Punkt verwendet.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
Dim Num As Double
Dim Numstr As String
Numstr = Finanz.ToString ("%.2f", 1234.567)
//Ergebnis: 1234.57
Feld aus einem komplexen String extrahieren
GetSubfield
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
FeldNummer |
Long |
Numerisch |
Ja |
Feld Nummer |
2. |
Trenner |
String |
Alphanumerisch(n) |
Ja |
Trenner |
3. |
InString |
String |
Alphanumerisch(n) |
Nein |
Zeichenkette |
Returnwert
Retourniert das Feld Nummer FeldNummer aus dem InString. Felder sind Durch „Trenner“ getrennt.
Parameter:
Bemerkung
Formatstring ist gemäss C/C++ Konvention. Die Konvertierung erfolgt unabhängig von der Einstellung des Dezimalstellentrennzeichens in Ländereinstellung. Als Trennzeichen wird immer ein Punkt verwendet.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
Dim InString, Trenner, Part As String
Dim FeldNummer As Integer
Trenner = "{%}"
InString = "10 {%}50 {%}400{%}"
FeldNummer = 2
Part = Finanz.GetSubfield (2, Trenner, InString)
//Ergebnis: 400
Logstring lesen
GetCallLog
Parameter
Die Methode hat keine Parameter.
Returnwert
Retourniert einen Logstring. Jeder Logstring beinhaltet den Namen und die Parameter der aufgerufenen Methode.
Der Logstring dient zur Erleichterung der Fehlersuche.
Bemerkung
Nach dem Aufruf dieser Methode bleibt der Logstring unverändert:
Beispiel
Private Sub Command33_Click()
On Error GoTo ErrorHandler
Call Kredi.SetCommonInfo2( ...
Call Kredi.SetExtendedInfo2(...
Call Kredi.SetZahlungsverbindung(...
...
Exit Sub
ErrorHandler:
b = Err.Number And 65535
If b <> 0 Then
Msg = "Error # " & Str(b) & _
& Chr(13) & Err.Description _
& Chr(13)& "Last called Method: " _
& Finanz.GetCallLog()
MsgBox Msg
End If
Err.Clear
Exit Sub
End Sub
Version des ActiveX-Servers lesen
GetVersion
Parameter
Die Methode hat keine Parameter.
Returnwert
Die Methode GetVersion liefert als Returnwert die Version des ActiveX-Servers. Somit kann überprüft werden, ob zum ActiveX-Server der richtige Client verwendet wird.
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
Version |
z.B. 5.0.0.1120 |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
MsgBox Finanz.GetVersion()
Logoninformationen des Benutzers lesen
GetLogonInfo
Parameter
Die Methode hat keine Parameter.
Returnwert
Die Methode GetLogonInfo liefert als Returnwert Informationen wie sich der Benutzer auf den ActiveX-Server
eingeloged hat.
Einzelne Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt
(siehe Kapitel Trennzeichen setzen).
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
dsn |
Datasource Name z.B. MSSQLSimultan |
2. |
dbName |
Datenbank |
3. |
uid |
UserID |
4. |
pwd |
Passwort |
5. |
locale |
Sprachcode |
6. |
applName |
Applikations-Name |
7. |
mandid |
Mandant |
8. |
peri |
Periode |
9. |
server |
Server zur zugehörigen DSN |
10. |
IsNTSecurity |
Gibt an, ob Windows NT-Authentifizierung verwendet wird. Mögliche Werte: [0,1] |
11. |
SQLUser |
Der Name des eingelogten Users |
12. |
UserIdNbr |
Die zum eingelogten User gehörende UserIdNbr |
13. |
Sprachcode |
Sprachcode (der beim Login mitgegebene oder der Standard des eingeloggten Benutzers, wie Parameter oben) |
14. |
Spezielle Buildnummer |
Gibt die Release Buildnummer zurück (enthält nur bei Prerelease Versionen einen Wert) |
15. |
Lizenzierungsserver |
Gibt den verwendeten Lizenzierungsserver zurück |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
If Finanz.ConnectSBSdb("MSSQLSimultan", "SBS", "Test1", "", "", "") = 3
Then
MsgBox Finanz.GetODBCConnectionErrorString()
Else
//Logoninformationen des Benutzers lesen
s = Finanz.GetLogonInfo
Print s
End If
SpezLandAuswertungen lesen
ReadSpezLandAuswertungen, GetSpezLandAuswertungenZeile
Beschreibung
Die SpezLandAuswertungen werden ausgelesen. Wird das Ende des Resultsets erreicht, wird der Returnwert „EOF“ zurückgegeben.
Parameter
Die Methode hat keine Parameter.
Returnwert
ReadSpezLandAuswertungen initialisiert das Lesen und gibt keinen Returnwert zurück.
GetSpezLandAuswertungene gibt als Returnwert eine Zeile des Resultsets zurück. Einzelne Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Die Zeile beinhaltet folgende Felder.
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
LfNbr |
Laufnummer |
2. |
Gruppe |
Gruppe |
3. |
Repbez |
Report-Bezeichnung |
4. |
Repname |
Reportname |
Beispiel
Call Finanz.ReadSpezLandAuswertungen()
While Teile <> "EOF"
Teile = Finanz.GetSpezLandAuswertungenZeile()
Wend
Generierte Datenbanken der Applikationen lesen
DatabaseGenerated
Beschreibung
Diese Methode gibt an, für welche Applikationen die Datenbank generiert wurde. Für die Applikation Finanz wird kein Wert ausgelesen, da wenn diese Verbindung erfolgreich zur Datenbank gemacht werden konnte die Datenbank für Finanz existiert, weiterhin muss mein erstellen der Datenbank die Scripts für Finanz immer gewählt sein.
Parameter
Die Methode hat keine Parameter.
Returnwert
DatabaseGenerated gibt als Returnwert eine Zeile zurück. Einzelne Felder, wie in der unteren Tabelle beschrieben, sind durch den FeldDelim getrennt (siehe Kapitel Trennzeichen setzen).
Die Zeile beinhaltet folgende Felder.
Nr. |
Feldname |
Erklärung |
---|---|---|
1. |
Auftrag |
1 die Datenbank wurde für Auftrag erstellt. 0 die Datenbank wurde für Auftrag nicht erstellt. |
2. |
Personal |
““ |
3. |
Heim |
““ |
4. |
Connect |
““ |
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
MsgBox Finanz.GetODBCConnectionErrorString
Else
//Generierte Datenbanken der Applikationen lesen
s = Finanz.DatabaseGenerated
Print s
End If
Errortext mit dem Errorcode lesen
GetResourceByErrCode
Beschreibung
Diese Methode gibt den Errortext anhand des Errorcodes zurück. Der Errortext kann normalerweise aus dem Errorobjekt heraus verwendet werden, verwenden Sie diese Methode für das nachträgliche holen des Errortextes (z.B. um ein Errorlog zu erstellen).
Parameter
Nr. |
Feldname |
Parametertyp |
Typ des Wertes |
Zwingend |
Erklärung |
---|---|---|---|---|---|
1. |
ErrCode |
Integer |
Nummerisch |
Ja |
Error-Code |
Returnwert
GetResourceByErrCode gibt als Returnwert einen String zurück mit der Fehlermeldung in der Sprache mit welcher eingeloggt wurde.
Beispiel
//AXFinanz Objekt instanzieren.
Set Finanz = CreateObject("SBSxas.AXFinanz")
//Verbindung zur Datenbank herstellen
Call Finanz. ConnectSBSdb ("MSSQLSimultan ", "SBS", "test1", "", "", "")
e=err.number and 65535
If e = 3 Then
MsgBox Finanz.GetODBCConnectionErrorString
Else
//Errortext mit dem Errorcode lesen
MsgBox Finanz.GetResourceByErrCode(22)
End If
Einstellung der doppelten Belegnummerüberprüfung ermitteln oder setzen
CheckDoubleIntBelNbr
Beschreibung
Die Variable CheckDoubleIntBelNbr kann die Werte J, N oder W enthalten. Der Initialwert wird aus der Finanz-Applikation übernommen. Der Wert muss nur einmal gesetzt werden. Bei jedem Schreiben einer Buchung wird der einmal zuvor gesetzte Wert übernommen, bis ein anderer Wert gesetzt wird oder das Objekt zerstört wird.
Gesetzer Wert |
Ergebnis |
---|---|
J |
Eine Fehlermeldung wird generiert |
N |
Es wird keine Prüfung vorgenommen |
W |
Eine Warnung wird generiert |
Bemerkung
Die Belegnummer wird über alle Hauptbuchbuchungen geprüft und muss bei J eindeutig sein.
Beispiel
Variable ermitteln
eindeutig = Fibu.CheckDoubleIntBelNbr
Variable setzen
Fibu.CheckDoubleIntBelNbr = „N“