Skip to main content
Skip table of contents

f$ABAS_ObjektSchreiben (engl. f$ABAS_PutObject)


f$ABAS_ObjektSchreiben (engl. f$ABAS_PutObject)

Mit dieser Funktion wird ein Objekt (z.B. Angebot, Kunde, Artikel) und eventuell dessen Positionen nach ABAS geschrieben. In der Feldliste ist stets als Erstes die Identnummer des Objekts anzugeben. Je nach Existenz eines Datensatzes mit diesem Wert wird der Datensatz geändert oder angelegt. Beim Anlegen wird die Identnummer nicht ausgewertet, sondern von ABAS generiert und auf die Parametergruppe zurückgeschrieben. Wenn das Objekt keine Positionen enthält, können für die Übergabeparamater, die sich auf die Positionen beziehen Leerstrings (’’) übergeben werden.

Mit dieser Funktion können auch bestehende Objekte verändert werden. Dazu muss als erstes Feld eine eindeutige Identifikation des Objekts übergeben werden. Insbesondere beim Start des Regelwerks aus ABAS ist dies eine gebräuchliche Vorgehensweise. Bei der Konfiguration einer einzelnen Position soll in der Regel auch nur diese Position verändert werden. Um dies zu steuern, wird bei der Übergabe der Daten anstelle der Anzahl die negative Zeilennummer der indizierten Parametergruppe übergeben.

Dieser Funktion muss ein Datenbankname und ein Gruppenname mitgegeben werden. Dies könnte beispielsweise Verkauf und Auftrag sein. Da bei einer Verwendung dieser Schlüsselworte die Suche nur dann funktioniert, wenn das ABAS System auf Deutsch eingestellt ist, wird empfohlen, stattdessen die internen Nummern zu verwenden:

Diese Liste kann mit dem Tool EDPViewer eingesehen werden.

Bitte beachten: Der Name der Parametergruppen wird in der Regel als Zeichenketten-Konstante übergeben, also in Anführungszeichen eingeschlossen.

Syntax:

Status = f$ABAS_Objektschreiben (DBName,GruppenName,FeldListeM,PGM,Anzahl,FeldlisteP,PGP)

 

Argument

Typ

Bedeutung

 

DBName

Zeichenkette

Name der Datenbank, in welche das Objekt geschrieben werden soll. Der Name der Datenbank ist z.B.: Teil. Um sprachunabhängig zu bleiben, sollte stattdessen die Nummer verwendet werden.

 

Gruppenname

Zeichenkette

Name der Objektgruppe, die bearbeitet werden soll, z.B.: Artikel. Um sprachunabhängig zu bleiben, sollte stattdessen die Nummer verwendet werden.

 

FeldlisteM

Zeichenkette

Feldliste der ePOS Parameter der Parametergruppe PGM, die in den Kopf des Objekts geschrieben werden sollen.
z.B.: 'KontaktNr,Kunde,Stand'

 

PGM

Zeichenkette

Name der Parametergruppe, die die Daten des Objekts enthält. Diese Parametergruppe muss entweder nicht indiziert sein, oder es muss der verwendete Index mitgegeben werden (z.B. 'Angebotsdaten[1]'

 

Anzahl

Ganzzahl

Anzahl der zu übertragenden Positionen bzw. die negative Zeilennummer, wenn nur eine Position verändert werden soll. 0, wenn keine Positionen übergeben werden

 

FeldlisteP

Zeichenkette

Feldliste der ePOS Parameter der Parametergruppe PGP, die bei den Positionen des Objekts geschrieben werden sollen.
z.B.:'PosNr,MaterialNr,Menge,ListenpreisME'
Wenn keine Positionen übergeben werden, kann ein Leerstring angegeben werden.

 

PGP

Zeichenkette

Name der Parametergruppe, die die Daten der Positionen enthält. Diese Parametergruppe muss indiziert sein.

Wenn keine Positionen übergeben werden, kann ein Leerstring angegeben werden.

Ergebnis:

Ganzzahl

Status des Funktion:

-5 : Eine Feldliste ist Leer

-4 : Übergabeparameter nicht konsistent

-3 : Die Operation ist fehlgeschlagen (Mit Hilfe der Logdatei kann eine Fehleranalyse vorgenommen werden)

-2 : Die ABAS Schnittstelle ist nicht installiert

-1 : Die Schnittstelle ist nicht angemeldet

0 : Die Daten wurden erfolgreich übertragen

Beispiel:

Beispiel1: Schreiben eines Auftrags

Status = f$abas_anmelden('linux',6550,'erp','sy')

f$abas_logfile('c:\\temp\\abas' + f$datum('jjjjMMtt_hh_mm_ss') +'.log')

FelderAuftrag = 'AuftragNr,Kunde,Stand'

FelderPosition = 'PosNr,MaterialNr,Menge,ListenpreisME'

Status = f$abas_objektschreiben ('3','22',FelderAuftrag,'abas_auftrag',2,FelderPosition,'abas_positionen')

f$abas_logfile('')

Status = f$abas_abmelden()

Beispiel2: Schreiben einer Anschrift

Status = f$abas_anmelden('linux',6550,'erp','sy')

f$abas_logfile('c:\\temp\\abas' + f$datum('jjjjMMtt_hh_mm_ss') +'.log')

FelderAnschrift = 'FiBuNr,Such,Rufname,Firma1,LKZ,PLZ,Ort,Strasse'

Status = f$abas_objektschreiben ('0','1',FelderAnschrift,'abas_anschrift',0,'','')

f$abas_logfile('')

Status = f$abas_abmelden()

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.