Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_performcashacctransact_ad

om_PerformCashAccTransact_Ad

Führt eine Transaktion (Zu- oder Abbuchung) für ein (Zahlungsmittel)-Kundenkonto.

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_PerformCashAccountTransaction_Ad
Tags
Engine-Kategorieconfigurations
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
PersonID ID einer Person, die Inhaber eines Kontos vom Typ „CashAccountTypeID“ ist und für das eine Buchung durchgeführt werden soll
integer6.0.2
CashAccountTypeID ID eines Typs oder Art von Konto, zu dem „PersonID“ ein Konto besitzt. Mögliche Werte s. om_GetCashAccountTypes. Anmekrung : Eine Person kann nur ein Konto eines Typs besitzen.
tinyint6.0.2
TransactionTypeID Bestimmt die Art der Transaktion (und damit auch, ob der Buchungswert, „TransactionValue“, positiv oder negativ sein muß). Mögliche Werte :
- „2“ : „Guthabenauszahlung“
- „3“ : „Manuelle Guthabenkorrektur“
- „7“ : „Manuelle Guthabenaufladung“
tinyint6.0.2
TransactionValue Wert der Buchung („0“ ist nicht erlaubt) in der durch „CurrencyID“ bestimmten Währung. Durch „TransactionTypeID“ ergibt sich, welches Vorzeichen erlaubt ist :
- „2“ : negatives Vorzeichen
- „3“ : negatives Vorzeichen
- „7“ : positives Vorzeichen
money6.0.2
TransactionComment Hier muß (!) ein Buchungstext angegeben werden, der dem Kontoinhaber bei Einsicht in seine Kontodaten für diese Buchung angezeigt wird.
varchar(100)6.0.2
CurrencyIDNULL ID einer Währung („UnitID“ aus der Kategorie „Währung“, mögliche Werte s. mi_GetUnits), in der „TransactionValue“ zu verstehen ist. Bei „NULL“ wird automatisch von der Währung, in der das Konto geführt wird, ausgegangen.
tinyint6.0.2
SuspendUntilNULL Ein Datum (optional), bis zu dem die Buchung nur „vorgemerkt“ ist, d.h. auf den Kontostand wirkt sich die Buchung erst zu diesem Zeitpunkt aus. Aus diesem Grunde kann so ein Datum nur für POSITIVE Beträge angegeben werden !
datetime6.0.2
InternalCommentNULL Optionaler Kommentar für Administratoren/Entwickler zur Buchung, der nicht in öffentlichen („public“-)Prozeduren zurückgegeben wird, insbesondere also der Kontoinhaber nicht zu sehen bekommt
varchar(100)6.0.2

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-1323Die Person besitzt kein Konto zum angegebenen Typnur indirekt
-1322Transaktion kann nicht durchgeführt weden, da der Status des Kontos dies nicht erlaubtnur indirekt
-1321Transaktion kann nicht durchgeführt weden, da das Konto keine ausreichende Deckung aufweistnur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-503Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabenur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-501Der Parameter „TableID“ und/oder der Parameter „TableKeyID“ ist ungültignur indirekt
-500Falsche Parameterdirekt und indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
6.5.4 2013-04-29Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
6.0.2 2011-06-08Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_PerformCashAccTransact_Ad?PersonID=<value>&CashAccountTypeID=<value>&TransactionTypeID=<value>&TransactionValue=<value>&TransactionComment=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_PerformCashAccTransact_Ad?PersonID=<value>&CashAccountTypeID=<value>&TransactionTypeID=<value>&TransactionValue=<value>&TransactionComment=<value>' | xmllint --format -
dStore_php
use dStore_php\WebService;
 
$service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80);
 
$request = new WebService\Requests\Engine\Procedure\Request(
			new WebService\Requests\AccessData('default'),
	'om_PerformCashAccTransact_Ad',
		array(
			'PersonID' => <value>,
			'CashAccountTypeID' => <value>,
			'TransactionTypeID' => <value>,
			'TransactionValue' => <value>,
			'TransactionComment' => '<value>',
			// 'CurrencyID' => NULL,
			// 'SuspendUntil' => NULL,
			// 'InternalComment' => NULL
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
engine/execute

XML zur Ausführung mit der Methode engine/execute, z.B. per

curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?>
<ListOfBatches>
	<Batch No="0">
		<Procedure Name="om_PerformCashAccTransact_Ad">
			<Parameters>
				<Parameter Name="PersonID"><!-- integer value --></Parameter>
				<Parameter Name="CashAccountTypeID"><!-- tinyint value --></Parameter>
				<Parameter Name="TransactionTypeID"><!-- tinyint value --></Parameter>
				<Parameter Name="TransactionValue"><!-- money value --></Parameter>
				<Parameter Name="TransactionComment"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="CurrencyID">NULL</Parameter> -->
				<!-- <Parameter Name="SuspendUntil">NULL</Parameter> -->
				<!-- <Parameter Name="InternalComment">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_performcashacctransact_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)