Postman collection
Suppliers Write

pixiSupplierOrderLineDelete

Deletes one or more supplier order lines (purchase order lines) and returns a status row with SUCCESS, WARNING or ERROR.

Deletes supplier order lines (purchase order lines) by their IDs. The actual deletion is done by the internal procedure pixi.SupplierOrderLineDelete. According to the header comment, the supplier order itself may be updated as well.

Steps:

  1. Opens a transaction. If the caller already has one open, a savepoint is set instead.

  2. Resolves the user. If UserId is not passed, the ID is looked up from UserName via inf.UserGetByName. If that name does not exist, the ID of the user pixiAdministration is used.

  3. Collects the lines to delete:

    • the single ID from SupplierOrderLineId (a value of 0 is treated like NULL);
    • every ID from the comma-separated list SupplierOrderLineIds. Elements are trimmed, empty elements are ignored and duplicates are removed.

    Both parameters can be combined.

  4. Calls pixi.SupplierOrderLineDelete with the user ID, the single ID and the ID list.

  5. Checks whether any of the requested IDs still exists in SupplierOrderLine. If so, the result is WARNING with the message Some Purchase Orderlines items from list were not deleted. Otherwise the result is SUCCESS.

  6. Commits and returns one status row with ReturnCode and ErrorMessage.

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

Notes

  • The definition of pixi.SupplierOrderLineDelete is not attached. Therefore it is open:
    • which tables it changes;
    • under which conditions it refuses to delete a line, for example because goods were already received;
    • whether it updates the supplier order header.
  • WARNING is not a rollback. Lines that could be deleted stay deleted and the transaction is committed.
  • The existence check after the deletion reads SupplierOrderLine with NOLOCK.
  • Every non-empty element of SupplierOrderLineIds must be an integer. A non-numeric element causes a conversion error. The whole call is then rolled back and returns ERROR.
  • AppName is required but not used by this procedure.
  • UserName has no default and must always be sent, even if UserId is passed.
  • If the procedure runs inside an outer transaction, it returns no status row on success. This does not apply to normal SOAP calls.
  • If an error occurs inside an outer transaction that is still committable, the savepoint is not rolled back.

Tables used

SupplierOrderLine · Read UCS_USERS · Read
SQL object:
dbo.pipiSupplierOrderLineDelete
Updated at 2026-10-30