Kai's Forum Users
6th February 2001, 01:00
>Die DLL wird über OLE aufgerufen und ist gedacht um Datensätze zu konvertieren, da konzerneinheitliche Artikelnummern etc. verwendet werden sollen.Ich würde die API-DLL nicht direkt über OLE verwenden. Kannst Du nicht eine
eigene DLL in Baan schreiben, die ein ganz einfaches Interface für Dein VB-
Programm bereitstellt, und diese DLL dann die ganze Kommunikation mit der API-

DLL machen lassen (Fassade-Pattern?)
Also
VB DLL4711 ttstpapidll
|| tuwas() | |
|| ----------------->|| stpapi.put.field (feld1, wert1) |
|| ||---------------------------------->||
|| || |
|| || stpapi.put.field (feld2, wert2) |
|| ||---------------------------------->||
|| || |
||< - - - - - - - - -|| |

|| | |
Dann kannst Du auch getrennt testen: Die DLL4711 muss unter
Baan alleine auch funktionieren. Dann kannst Du zumindest den

Debugger verwenden...
Uli

Kai's Forum Users
6th February 2001, 01:00
Die DLL wird über OLE aufgerufen und ist gedacht um Datensätze zu konvertieren, da konzerneinheitliche Artikelnummern etc. verwendet werden sollen.

Kai's Forum Users
6th February 2001, 01:00
Hallo,
kann mir jemand helfen?Ich weiß, daß es möglich ist mit Visual Basic Baan-Sessions aufzurufen und Daten zu ändern bzw. neu einzugeben. Die DLL dafür ist "ottstpapihand" ich habe auch die entsprechenden Funktionen mit bic_info6.1 ermittelt, aber irgenwie funktioniert das ganze noch nicht so richtig.

Hat irgendjemand eine Dokumentation wie das ganze funktioniert?

Kai's Forum Users
6th February 2001, 01:00
Hi Volker!Wie rufst Du die DLL denn über Visual-Basic auf?

Mit OLE?Denn primär kann man Baan DLLs nur aus Baan heraus
verwenden - es sei denn, wie gesagt, über OLE
(oder indem man das ganze durch den C- oder Java-Stub
Compiler jagt, aber dann kannst Du mit VB nur schwer

zugreifen). Ich hab mit der API-DLL mal etwas experimentiert,
allerdings nur Baan-seitig (aus einer Baan-Session raus
andere "fernsteuern". Das klappt zwar im Prinzip, ist aber

eine Geschichte, bei der man lange Zähne kriegen kann.(Das war, notabene, eine Debitoren-OP-Übernahme. Die Zähne
waren zwar lang, aber ich war trotzdem dreimal schneller
fertig als beim "üblichen" Verfahren, die Daten über

Exchange und Integrationsschnittstelle in die Fibu zu pumpen!)
Ausserdem läuft das ganze (unter IVc4) nicht allzu stabil.
Soviel ich weiss, ist unter Baan IV das API auch noch kein

"offizielles" Feature.
Wenn Du näheres postest, kann ich Dir wahrscheinlich

weiterhelfen.Servus,

Uli

Kai's Forum Users
8th February 2001, 01:00
Da es der erste Datensatz war konnte er die Gruppe nicht finden. Daher habe ich jetzt einen ersten Datensatz manuell angelegt.
Aber jetzt erhalte ich die Fehlermeldung, daß er die Artikelnummer nicht kennt.

Kai's Forum Users
8th February 2001, 01:00
Kann es sein, dass Du noch nicht auf der Gruppe "stehst"?

(stpapi.change.view)
Anbei ein Zitat aus einem Posting in baanfans, das

Dir dann vielleicht helfen könnte.
Uli
----------------------------------------
: Hi,

: Can someone confirm if my thinking is correct?
: stpapi.browse.set performs the same functions as the toolbar icons that look like |
: stpapi.change.view performs toolbar icon >|
: stpapi.browse.view performs toolbar icons |: Thanks,

: Al.

is comes from the api document I have. I believe it confirms your thinking. Sorry bout the formatting.3.10 Browse Session Records
SYNTAX
long stpapi.browse.set(string session, string option)
ARGUMENTS
session Name of the session this command is executed on.
option This parameter indicates what type of browse action is required. The possible values are first.set, next.set, prev.set and last.set corresponding to the browse actions first record, next record, previous record and last record respectively.
DESCRIPTION
This executes the specified browse action against the indicated session. The resulting record is set as current.
RETURN VALUES
0 No record found

1 Record found3.11 Set Current View for Session
SYNTAX
long stpapi.change.view(string session)
ARGUMENTS
session Name of the session this command is executed on.
DESCRIPTION
This sets the current view for sessions using forms of type 3 (multiple occurrence plus view). The field values of the view fields must be set prior to calling this function.
RETURN VALUES
0 No view found
1 View found

2 Another view found3.12 Browse Session Views
SYNTAX
long stpapi.browse.view(string session, string option)
ARGUMENTS
session Name of the session this command is executed on.
option This parameter indicates what type of browse action is required. The possible values are first.view, next.view, prev.view and last.view corresponding to the browse actions first view, next view, previous view and last view respectively.
DESCRIPTION
This executes the specified browse action against the indicated session. The resulting record is set as current.
RETURN VALUES
0 No view found

1 View found

Kai's Forum Users
8th February 2001, 01:00
>>Die DLL wird über OLE aufgerufen und ist gedacht um Datensätze zu konvertieren, da konzerneinheitliche Artikelnummern etc. verwendet werden sollen.
>Ich würde die API-DLL nicht direkt über OLE verwenden. Kannst Du nicht eine
>eigene DLL in Baan schreiben, die ein ganz einfaches Interface für Dein VB-
>Programm bereitstellt, und diese DLL dann die ganze Kommunikation mit der API-
>DLL machen lassen (Fassade-Pattern?)
>Also
>
> VB DLL4711 ttstpapidll
> || tuwas() | |
> || ----------------->|| stpapi.put.field (feld1, wert1) |
> || ||---------------------------------->||
> || || |
> || || stpapi.put.field (feld2, wert2) |
> || ||---------------------------------->||
> || || |
> ||< - - - - - - - - -|| |
> || | |
>
>Dann kannst Du auch getrennt testen: Die DLL4711 muss unter
>Baan alleine auch funktionieren. Dann kannst Du zumindest den
>Debugger verwenden...

>Uli
Das funktioniert prima aber nur bei Sessions mit Form Typ 1 und 2 nicht bei Sessions mit Form Typ 3.
Besipiel:stapi.put.field("tiitm0112m000","tiitm012.citt",value)
stapi.put.field("tiitm0112m000","tiitm012.item",value)
stapi.put.field("tiitm0112m000","tiitm012.aitc",value)

stapi.insert("tiitm0112m000",do.update,err.mess)
Hier erhalte ich dann die Fehlermeldung, "Codierungssystem nicht vorhanden", obwohl das Codierungssystem angelegt ist.Volker