pixiSupplierOrderLineLocQtyDelete
Löscht einen Lagerplatz-Mengeneintrag einer Lieferantenbestellposition und liefert eine Statuszeile mit ReturnCode und ErrorMessage.
Entfernt einen Lagerplatz-Mengeneintrag (SupplierOrderLineLocQty) einer Lieferantenbestellposition (Bestellung beim Lieferanten). Die Lieferantenbestellung wird durch die interne Prozedur entsprechend aktualisiert.
Ablauf:
- Eröffnet eine eigene Transaktion oder setzt einen Savepoint, falls bereits eine Transaktion offen ist.
- Ermittelt den Benutzer: Ist
UserIdleer, wird die Benutzer-ID überUserNamegesucht. Existiert dieser Name nicht, wird der BenutzerpixiAdministrationverwendet. NULLinConsiderPackageUnitsundConsiderMinOrderQtywird als0behandelt.- Ruft die interne Prozedur
pixi.SupplierOrderLineLocQtyDeletemit Benutzer, Datensatz-ID und beiden Schaltern auf. Diese Prozedur führt das eigentliche Löschen aus. - Prüft, ob der Datensatz mit
SupplierOrderLineLocQtyIdnoch existiert. Ist das der Fall, lautet das ErgebnisWARNINGmit einer Meldung. - Schreibt die Transaktion fest und liefert eine Zeile mit
ReturnCode(SUCCESSoderWARNING) undErrorMessage.
Bei einem Fehler wird die Transaktion bzw. der Savepoint zurückgerollt. Zurückgegeben wird eine Zeile mit ReturnCode = ERROR und dem SQL-Fehlertext.
Hinweise
- Die Löschlogik ist in
pixi.SupplierOrderLineLocQtyDeleteenthalten. Dazu gehören die Berücksichtigung von Verpackungseinheiten und Mindestbestellmengen sowie die Aktualisierung der Lieferantenbestellung. Diese Prozedur liegt nicht vor; ihr genaues Verhalten und die von ihr geänderten Tabellen sind daher hier nicht dokumentiert. AppNameist ein Pflichtparameter, wird im Code aber nicht verwendet.- Die Existenzprüfung nach dem Löschen liest
pixi.SupplierOrderLineLocQtymitNOLOCK. - Bei Erfolg oder Warnung wird die Statuszeile nur geliefert, wenn der Aufruf eine eigene Transaktion eröffnet hat. Innerhalb einer äußeren Transaktion gibt es bei Erfolg keine Zeile. Fehlerzeilen werden immer geliefert.
- Ein
WARNINGführt zu keinem Rollback. Änderungen der internen Prozedur werden festgeschrieben.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
AppName
Pflicht
|
varchar(255) string |
– |
Name der aufrufenden Anwendung. Pflichtangabe, wird im Code aber nicht verwendet. Beispiel: |
UserId
|
int | NULL |
ID des ausführenden Benutzers. Ist der Wert leer, wird der Benutzer über Beispiel: |
UserName
Pflicht
|
varchar(50) string |
– |
Benutzername, wird nur verwendet, wenn Beispiel: |
SupplierOrderLineLocQtyId
Pflicht
|
int | – |
ID des zu löschenden Lagerplatz-Mengeneintrags der Lieferantenbestellposition ( Beispiel: |
ConsiderPackageUnits
|
bit boolean |
0 |
Legt fest, ob Verpackungseinheiten bei der Aktualisierung der Lieferantenbestellung berücksichtigt werden. Erlaubte Werte
Beispiel: |
ConsiderMinOrderQty
|
bit boolean |
0 |
Legt fest, ob Mindestbestellmengen bei der Aktualisierung der Lieferantenbestellung berücksichtigt werden. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer, wenn keine äußere Transaktion besteht; bei Fehler immer.
Statuszeile des Löschvorgangs.
| Spalte | Typ | Beschreibung |
|---|---|---|
ReturnCode
|
varchar(20) string |
|
ErrorMessage
Kann leer sein |
varchar(100) string |
Bei Erfolg |
Beispielantwort
<SqlRowSet1>
<row>
<ReturnCode>SUCCESS</ReturnCode>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| WARNING | Purchase order line location quantity was not deleted. | Der Datensatz mit `SupplierOrderLineLocQtyId` existiert nach Ausführung der internen Löschprozedur noch, etwa weil die interne Prozedur ihn nicht gelöscht hat. ID und Status der Lieferantenbestellposition prüfen. |
| ERROR | {ERROR_MESSAGE()} | Ein beliebiger SQL-Fehler während der Verarbeitung, z. B. aus `pixi.SupplierOrderLineLocQtyDelete`. Transaktion bzw. Savepoint werden zurückgerollt. |
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiSupplierOrderLineLocQtyDelete>
<AppName>MyShopConnector</AppName>
<!-- <UserId>12</UserId> -->
<UserName>jdoe</UserName>
<SupplierOrderLineLocQtyId>45871</SupplierOrderLineLocQtyId>
<!-- <ConsiderPackageUnits>0</ConsiderPackageUnits> -->
<!-- <ConsiderMinOrderQty>0</ConsiderMinOrderQty> -->
</ns1:pixiSupplierOrderLineLocQtyDelete>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiSupplierOrderLineLocQtyDelete>
<AppName>MyShopConnector</AppName>
<!-- <UserId>12</UserId> -->
<UserName>jdoe</UserName>
<SupplierOrderLineLocQtyId>45871</SupplierOrderLineLocQtyId>
<!-- <ConsiderPackageUnits>0</ConsiderPackageUnits> -->
<!-- <ConsiderMinOrderQty>0</ConsiderMinOrderQty> -->
</ns1:pixiSupplierOrderLineLocQtyDelete>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
'AppName' => 'MyShopConnector',
// 'UserId' => '12',
'UserName' => 'jdoe',
'SupplierOrderLineLocQtyId' => '45871',
// 'ConsiderPackageUnits' => '0',
// 'ConsiderMinOrderQty' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiSupplierOrderLineLocQtyDelete', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiSupplierOrderLineLocQtyDelete