Postman collection
Orders Write

pixiPicklistDelete

Deletes a picklist with its items, picking progress, picklist boxes and transport bin assignments.

Deletes the picklist identified by PicklistNumber (PLHkey in PLHeader).

Steps:

  1. If PicklistNumber is not passed, an error row is returned.
  2. If no picklist with this number exists, an error row is returned.
  3. The number of entries in PL_ItemPickingProgress for the picklist is counted. If there are any and ForceDelete = 0, the call stops with an error row, because items of the picklist are currently being picked.
  4. Otherwise the internal procedure Pixi_DeletePickList is executed. It deletes, in this order, the picking progress entries, the picklist boxes (PicklistBox), the transport bin assignments with document type 1 (TransportBinMatch), the picklist items (PLitem) and finally the picklist header (PLHeader).
  5. A row with Status = Success and a confirmation message is returned.

Exactly one row with Status and Message is returned in every case.

Notes

  • The deletion runs inside a transaction in Pixi_DeletePickList (or a savepoint if a transaction is already open). On an error it is rolled back and logged via log.InsertError (not attached).
  • Pitfall: Pixi_DeletePickList catches its own errors and does not re-raise them. Therefore an error during the deletion is usually not seen by this call, and the Success row may be returned even though the rollback left the picklist in place. Verify the deletion if in doubt. The message Unexpected error. Picklist was not deleted. only appears for errors that escape the inner procedure.
  • Existence and picking-progress checks use NOLOCK, so they can read uncommitted data.
  • ForceDelete = 1 also removes picklists that are being picked right now; pickers working on it lose their progress.

Tables used

PLHeader · Write PL_ItemPickingProgress · Write PicklistBox · Write TransportBinMatch · Write PLitem · Write
SQL object:
dbo.pipiPicklistDelete
Updated at 2026-10-30