Postman collection
Orders Write

pixiSetOrderShippingInformation

Sets the shipping vendor and the DHL product, procedure and extras on an order header, identified by Pixi order number or external order number.

Updates the shipping information of one order in OrderHeader.

  1. The order is looked up with OrderNr = @OrderNr OR OrderNrExternal = @OrderNrExternal. If no order matches (including when both parameters are NULL), a row with Status 400 is returned and nothing is changed.
  2. If an order is found, the order row is read with UPDLOCK, ROWLOCK. OrderNr and OrderNrExternal are taken from the stored order. Each of ShipVendor, DHLProdukt, DHLVerfahren and DHLExtra that is passed as NULL or left out keeps its current value (ShipVendorCode, Product, Verfahren, Extras).
  3. The order is updated by its OrderNr. The update runs in its own transaction, or in a savepoint if the caller already has an open transaction.
  4. The call returns one status row with the current values of the order:
    • Status 200 with Data updated in pixi if a row was updated.
    • Status 500 with Data could not be updated in pixi if no row was updated, for example because an SQL error occurred.

Notes

  • A value cannot be reset to NULL with this call: NULL means "keep the current value". An empty string is written as such.
  • Because the lookup uses OR, passing both OrderNr and OrderNrExternal can match two different orders, or an external number can match several orders. In that case the variables are assigned from one of the matching rows without a defined order, and only that order is updated. Pass only one identifier to avoid ambiguity.
  • SQL errors are caught, the transaction (or savepoint) is rolled back and the error is logged via log.InsertError (definition not attached). No SqlMessage is returned; the caller only sees Status 500. If the transaction becomes uncommittable, a full ROLLBACK is executed, which also rolls back an outer transaction of the caller.
  • The existence check and the final status row read OrderHeader with NOLOCK.
  • The column types of Product, Verfahren and Extras are not visible in the code; values longer than the column size cause an error and therefore Status 500.

Tables used

OrderHeader · Write
SQL object:
dbo.pipiSetOrderShippingInformation
Updated at 2026-10-30