Postman-Collection
Invoices Schreiben

pixiSetReminderLevel

Setzt die Mahnstufe einer Rechnung, die über ihre Rechnungsnummer ermittelt wird.

Ermittelt die Rechnung über InvoiceNR (Invoices.InvoiceNr) und übergibt deren Schlüssel an die interne Prozedur Pixi_CA_R_SetLevel. Als Benutzername wird API verwendet.

Diese Prozedur arbeitet wie folgt:

  • Stufe größer 0: Es werden die Mahnungen (Reminders) gesucht, die eine Mahnposition (ReminderLines) zu dieser Rechnung enthalten und deren HighestReminderLevel gleich ReminderLevel ist.
    • Wenn eine passende Mahnung existiert:
      • Die Rechnung erhält die neue ReminderLevel.
      • UpdateEmp wird auf API gesetzt.
      • UpdateDate wird auf das Datum dieser Mahnung gesetzt, nicht auf die aktuelle Zeit.
      • Alle Mahnpositionen der Rechnung werden dieser Mahnung zugeordnet (ReminderRef).
    • Wenn keine passende Mahnung existiert: Nur die Rechnung wird aktualisiert, UpdateDate erhält die aktuelle Zeit.
  • Stufe 0 oder NULL: Die ReminderLevel der Rechnung wird auf NULL zurückgesetzt. UpdateEmp = API und UpdateDate = jetzt.

Der Aufruf liefert keine Ergebnismenge.

Hinweise

  • Keine Rückmeldung: Es gibt weder eine Statuszeile noch eine Fehlerbehandlung. Existiert die Rechnungsnummer nicht, wird nichts geändert, und der Aufruf endet trotzdem ohne Meldung.
  • Mehrdeutige Rechnungsnummern: Der Rechnungsschlüssel wird per skalarer Unterabfrage gelesen. Teilen sich mehrere Rechnungen dieselbe InvoiceNr, löst SQL Server Fehler 512 aus ("Subquery returned more than 1 value").
  • Sperren: Die Abfragen auf Invoices, Reminders und ReminderLines verwenden NOLOCK.
  • Transaktionen: Die Änderungen laufen ohne explizite Transaktion.
  • Keine Prüfung: ReminderLevel wird nicht gegen einen Wertebereich geprüft; jeder ganzzahlige Wert wird geschrieben.
  • Mehrere passende Mahnungen: Die Mahnung wird per Variablenzuweisung mit ORDER BY ReminderDate ermittelt. In der Praxis ergibt das meist die jüngste, SQL Server garantiert aber nicht, welche Zeile verwendet wird.
  • Umhängen der Positionen: Wird eine passende Mahnung gefunden, werden alle Mahnpositionen der Rechnung dieser Mahnung zugeordnet, auch Positionen, die zu anderen Mahnungen gehörten.
  • Stufe 0: Die Prüfung, die 0 als "keine Stufe" behandeln soll, greift nie (NULLIF(@ReminderLevel, 0) = 0 ist nie wahr). Bei 0 sucht der Code daher trotzdem nach Mahnungen mit HighestReminderLevel = 0. Die Mahnstufe der Rechnung wird in jedem Fall NULL.

Parameter

Parameter Typ Standardwert Beschreibung
ReminderLevel
Pflicht
int –

Neue Mahnstufe der Rechnung. 0 oder NULL setzt die Mahnstufe auf NULL zurück.

Beispiel: 2

InvoiceNR
Pflicht
varchar(20)
string
–

Rechnungsnummer (Invoices.InvoiceNr) der zu ändernden Rechnung.

Beispiel: RE2024001234

Antwort

Dieser Call liefert kein Result-Set.

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:pixiSetReminderLevel>
      <ReminderLevel>2</ReminderLevel>
      <InvoiceNR>RE2024001234</InvoiceNR>
    </ns1:pixiSetReminderLevel>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Schreiben Reminders · Lesen ReminderLines · Schreiben
SQL-Objekt:
dbo.pipiSetReminderLevel
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben