Postman collection
Suppliers Write

pixiSupplierOrderDelete

Deletes one or more supplier orders (purchase orders), identified by ID or internal number, and returns a status row.

Deletes supplier orders (purchase orders). The orders to delete can be passed in four ways, which can be combined freely:

  • SupplierOrderId: a single supplier order ID.
  • SupplierOrderIds: a comma-separated list of supplier order IDs.
  • SupplierOrderNr: a single internal supplier order number (SupplierOrder.InternalNumber). It is resolved to the matching ID.
  • SupplierOrderNrs: a comma-separated list of internal supplier order numbers. They are resolved to IDs.

Values of 0, NULL or an empty string are treated as "not given". All IDs collected from these parameters are merged into one candidate list. The list is passed as a comma-separated string to the internal procedure pixi.SupplierOrderDelete, which performs the actual deletion.

The call then checks whether any of the candidate IDs still exists in SupplierOrder:

  • If none of them exists, it returns ReturnCode = SUCCESS and an empty ErrorMessage.
  • If at least one still exists, it returns ReturnCode = WARNING with the message Some Purchase Orders from list were not deleted. The call does not say which orders were kept.

If an error occurs, the transaction is rolled back and a row with ReturnCode = ERROR and the SQL error text is returned.

Notes

  • The deletion logic itself (which orders may be deleted, which dependent data is removed) lives in pixi.SupplierOrderDelete, which is not attached. Its rules and any result sets it might return are unknown.
  • The work runs in a transaction. If the caller already has an open transaction, a savepoint is used instead, and no status row is returned on success; only the error row is returned in that case. A normal SOAP call has no outer transaction and always gets a status row.
  • AppName is declared but not used.
  • IDs passed in SupplierOrderIds are not checked for existence. IDs that do not exist do not cause a warning, because the final check only looks for candidates that still exist.
  • Non-numeric entries in SupplierOrderIds or SupplierOrderNrs cause a conversion error and an ERROR row; nothing is deleted.
  • If no parameter identifies an order, an empty list (NULL) is passed to pixi.SupplierOrderDelete. What that procedure does with it is not visible.
  • Lookups of internal numbers and the final existence check use NOLOCK.
  • SupplierOrderIds and SupplierOrderNrs are limited to 8000 characters.

Tables used

SupplierOrder · Read
SQL object:
dbo.pipiSupplierOrderDelete
Updated at 2026-10-30