Verwaltet die im „dStore“ definierten Länder (diese werden z.B. zur Ermittlung von Versand- und Zahlungsart, also im „Order Management“ benötigt).
Hinweise :
1.) Das Ändern der Bezeichnung bzw. das Löschen eines Landes schlägt fehl, wenn es in „PersonCharacteristicValues“ eine gleichnamige Eigenschaft gibt - und zwar zu einem in „PersonTypeSettings“ zum Schlüssel „CountryCharacteristicID“ konfigurierten Merkmal oder dem vordefinierten Merkmal mit der ID „15“ ! Ausnahme : Die Eigenschaft referenziert über „PersonCharacValueReferences“ auf ein ANDERES Land.
2.) Existiert zu einem Land eine Referenz in „PersonCharacValueReferences“, ist die Änderung der Bezeichnung erlaubt, das Löschen jedoch verboten !
| HTTP-Method | POST | 
| HTTP-Auth | Optional | 
| Tags | |
| Engine-Kategorie | configurations | 
| Engine-Typ | Daten-Änderung | 
| Letzte Aktualisierung | 7.0.7 (2015-01-29) | 
| Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version | 
|---|---|---|---|---|
| CountryID | NULL | ID eines existierenden Landes, das geändert oder gelöscht werden soll. „NULL“ angeben, um ein neues Land anzulegen. | smallint | 3.5.0 | 
| CountryDescription | Bezeichnung des Landes „CountryID“ | varchar(100) | 3.5.0 | |
| CountryCode | Internationales Symbol des Landes „CountryID“. Bei Neu-Installationen ab Version 5.5.2 sind die Werte gemäß „ISO 3166-1 alpha-2“. An diesen Standard sollte man sich halten bzw. die Werte bei bestehenden Installationen anpassen ! | varchar(3) | 3.5.0 | |
| SortNo | Bestimmt die Reihenfolge von „CountryID“ innerhalb aller Länder. Bei Neuanlage wird dieser Parameter ignoriert - das neue Land wird mit „SortNo = 1“ eingefügt, nachdem die „SortNo“ der existierenden Länder um „1“ erhöht wurde. | smallint | 3.5.0 | |
| LanguageID | NULL | ID einer Sprache, in der die Bezeichnung des Landes angegeben ist | tinyint | 3.5.0 | 
| DeleteCountry | 0 | „0“ : Das bestehende Land „CountryID“ ändern bzw. ein neues Land anlegend „1“ : Wenn KEINE „LanguageID“ angegeben wurde, wird „CountryID“ gelöscht, ansonsten die Übersetzung der Bezeichnung des Landes „CountryID“  | bit | 3.5.0 | 
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
| Code | Beschreibung | Quelle 4) | 
|---|---|---|
| -580 | Land kann nicht gelöscht/geändert werden, weil es durch eine Personen-Eigenschaft referenziert wird | nur direkt | 
| -569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt | 
| -567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt | 
| -566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt | 
| -535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt | 
| -530 | Der Wert ist nicht konvertierbar | nur indirekt | 
| -510 | Der Benutzer ist nicht registriert | nur indirekt | 
| -504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt | 
| -502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt | 
| -500 | Falsche Parameter | direkt und indirekt | 
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
| 7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] | 
	
| 6.5.3 | 2013-03-18 | Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung | 
	
| 5.1.7 | 2006-10-31 | 1. Änderung der Überprüfung, ob es eine korrespondierende „Land“-Eigenschaft gibt. 2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält.  | 
	
| 5.0.4 | 2005-09-26 | Umstellung auf den neuen „PersonTypeSettings“-Eintrag „CountryCharacteristicID“ bei der Überprüfung, ob es eine korrespondierende „Land“-Eigenschaft [in „PersonCharacteristicValues“] gibt | 
	
| 4.0.14 | 2004-06-03 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“  2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung  | 
	
| 3.5.11 | 2001-09-06 | |
| 3.5.0 | 2000-11-23 | Erstmalig in dieser Version erstellt | 
	
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyCountries_Ad?CountryDescription=<value>&CountryCode=<value>&SortNo=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyCountries_Ad?CountryDescription=<value>&CountryCode=<value>&SortNo=<value>' | xmllint --format -
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'), 'mi_ModifyCountries_Ad', array( 'CountryDescription' => '<value>', 'CountryCode' => '<value>', 'SortNo' => <value>, // 'CountryID' => NULL, // 'LanguageID' => NULL, // 'DeleteCountry' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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="mi_ModifyCountries_Ad"> <Parameters> <Parameter Name="CountryDescription"><!-- varchar value --></Parameter> <Parameter Name="CountryCode"><!-- varchar value --></Parameter> <Parameter Name="SortNo"><!-- smallint value --></Parameter> <!-- <Parameter Name="CountryID">NULL</Parameter> --> <!-- <Parameter Name="LanguageID">NULL</Parameter> --> <!-- <Parameter Name="DeleteCountry">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>