R46171
Batch UBELocation Selection Driver — the batch engine that processes open putaway, picking, and replenishment requests and creates location suggestions using movement instructions, item profiles, and location capacity
Rows written by R46171 carry …PID = 'R46171' in their audit columns — a ready-made marker for isolating the records this program produced. See the audit-columns guide →
One UBE run in different versions for putaway, pick, and replenishment request processing — the core Warehouse Management algorithm.
Boilerplate SQL
Databricks SQLStarting point for querying the tables behind this program. Set your Unity Catalog location and filter values below — they’re substituted into the SQL and the copy button.
-- ============================================================
-- Program: R46171 Location Selection Driver — the batch engine that processes open putaway, picking, and replenishment requests and creates location suggestions using movement instructions, item profiles, and location capacity
-- Purpose: Location Selection Driver — the batch engine that processes open putaway, picking, and replenishment requests and creates location suggestions using movement instructions, item profiles, and location capacity — auto-generated boilerplate from program-table-map
-- Grain : F4600 × F4611, F46010, F46011, F4602, F41021 — 1:N joins yield one row per detail line
-- Tables : F4600, F4611, F46010, F46011, F4602, F41021
-- Notes : Auto-generated skeleton. Julian dates are converted to DATE and implied-decimal amounts are scaled (verify decimals in F9210). Audit columns (…USER/…PID/…UPMJ) are omitted — see the quirks guide. Set catalog/schema to your Unity Catalog location; fill remaining placeholders (<...>) for your tenant.
-- ============================================================
SELECT
h.R1RQBT AS "Batch number grouping requests created in the same run; first half of the request key.",
h.R1RQSQ / POWER(10, 3) AS "Line sequence of the request within its batch; second half of the request key.", -- implied decimals: 3 (verify in F9210)
f.R2SGBT AS "Batch number grouping suggestions from one location-driver run; first half of the suggestion key.",
f.R2SGSQ / POWER(10, 3) AS "Line sequence of the suggestion within its batch; second half of the suggestion key.", -- implied decimals: 3 (verify in F9210)
TRIM(f4.IPMCU) AS "Branch/plant the profile applies to.",
f4.IPITM AS "Short item number the profile applies to.",
TRIM(f46.IQMCU) AS "Branch/plant the definition applies to.",
f46.IQPRP6 AS "Item dimension group the row defines; blank when the row is for a specific item instead.",
f46.IQITM AS "Short item number the row defines; zero when the row is for a dimension group.",
f46.IQUOM AS "Unit of measure this definition row describes (e.g., EA, CA, PL).",
f460.IFITM AS "Short item number stored in the location.",
TRIM(f460.IFMCU) AS "Branch/plant (warehouse) the location belongs to.",
f460.IFLOCN AS "Warehouse location (bin) this row describes.",
f460.IFLOTN AS "Lot/serial number of the stock in the location.",
f460.IFLDSQ AS "Sequence distinguishing multiple detail rows for the same item/location/lot — the same key F4600/F4611 carry in their from/to sequence fields.",
loc.LIITM AS "Short item number - the internal numeric item key",
TRIM(loc.LIMCU) AS "Business unit / branch plant (right-justified, space-padded to 12)",
loc.LILOCN AS "Storage location within the branch plant",
loc.LILOTN AS "Lot or serial number"
FROM <catalog>.<schema_data>.f4600 h
LEFT JOIN <catalog>.<schema_data>.f4611 f
ON f.R2RQBT = h.R1RQBT
LEFT JOIN <catalog>.<schema_data>.f46010 f4
ON 1 = 1 -- TODO: define join condition (no shared aliases detected)
LEFT JOIN <catalog>.<schema_data>.f46011 f46
ON 1 = 1 -- TODO: define join condition (no shared aliases detected)
LEFT JOIN <catalog>.<schema_data>.f4602 f460
ON 1 = 1 -- TODO: define join condition (no shared aliases detected)
LEFT JOIN <catalog>.<schema_data>.f41021 loc
ON 1 = 1 -- TODO: define join condition (no shared aliases detected)
ORDER BY h.R1RQBT;2 parameters not filled: <catalog>, <schema_data>
Tables Used by This Program
How these tables connect. Nodes are clickable.
Primary tables
- F4600One row per requested warehouse movement — the demand side of WMS: a putaway, pick, or replenishment waiting for the system to decide where stock should move.Read/write accesstransaction
- F4611One row per system-generated movement suggestion answering an F4600 request: the proposed from/to location, quantity, cube and weight charged, and wave/task assignment.Write accesstransaction
Secondary tables
- F41021Item location — on-hand, committed, and inbound quantities by item, branch, location, and lotRead accessmaster
- F46010Item warehouse profile: one row per branch/item holding WMS handling rules — mixing, one- vs two-phase movement, and the item's fixed special-purpose locations.Read accessmaster
- F46011Item unit-of-measure definition for WMS: one row per branch, item or dimension group, and UOM carrying physical dimensions, weight, cube, container, and stacking rules the capacity engine uses.Read accessmaster
- F4602Warehouse-managed contents of each location: one row per item/lot/UOM-structure detail with on-hand, committed, inbound/outbound quantities, and the cube and weight consumed.Read/write accessmaster