Facility stock, inventory records and movements — Pro
Choose a movement period; browse current facility stock, lot/serial/storage records, matching movements and the full Product dossier.
UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.
For warehouse, purchasing, sales and management teams: choose a facility, inspect product stock contexts, then open inventory records with lot/serial, storage positions, received/manufactured/expiry dates and current unit cost with currency. Choose the movement period when opening Facilities; current stock is NOT an as-of balance. Open Movements to inspect stored quantity changes and document references. Product dossier opens the complete 33-field current catalogue. All four related actions load only when opened.
Why Cifru? Adapt configurations to the way you work. Choose the fields, filters and details you need, and bring information to your phone that may not be available in your business software’s own mobile app. Available options depend on the data exposed by your authorized source and your Cifru plan.
PRO: one authorised SQL Server source, five live read-only lists, one Home, same-row Details and four on-demand related actions. SELECT/WITH custom SQL; no periodic refresh, widgets or source writes. Each read is capped at 2,000 results. Search/local filters see loaded rows only. Inventory groups include the full selected facility before result capping; quantities are not a sum of a loaded page. This does not guarantee fast or cheap queries. Root facility discovery includes registered facilities, unassigned inventory and unknown facility references. Administrator-confirmed indexes, execution plans and timeouts are required.
STOCK MEANING: on-hand, available-to-promise and accounting quantities are separate stored InventoryItem values, not physical-count certification, stock valuation or the ERP sellable-availability service. Groups keep exact facility, product, inventory owner, inventory type, stored status and inventory unit. Different owners/statuses/types/units are never added together. Missing product/unit identity, a missing quantity or invalid inventory identity makes that group total unknown, not zero or a partial total. Zero and negatives remain. Serialized records are not converted into inferred quantities by counting rows; kit/BOM availability, substitutions, reservation eligibility and unit conversion services are not reimplemented. Counts are source records, not sold units. No cross-product warehouse quantity is shown.
DETAILS: facility owner and inventory owner are different roles. Names/units/status/type/reason/storage lookups are one-row-or-unavailable; absent/repeated masters cannot multiply quantities. Full facility + location identity is used, never location alone. Business facility/product references and useful lot/serial references are retained; technical route keys remain hidden. Exact UTF-16-encoded keys preserve NULL, empty, spaces, case and Unicode; case/collation-mismatched master references remain unresolved, not silently normalised. Confirm source integrity/collation with the administrator. Repeated/null inventory identities have diagnostics and no chosen quantities or drill-through. Product/storage/date values remain current source values, with no invented active flag, enum meaning or timezone.
MOVEMENTS: complete native identity is inventory item + detail sequence, scoped to the selected current inventory context. Date selection uses [start, exclusive end) before capping. Missing/duplicate detail identities and missing/out-of-period dates are excluded rather than arbitrarily chosen. History is retained source detail only, not a historical stock balance or historical product/owner/facility assignment. The displayed unit is explicitly the CURRENT item unit, not a certified historical unit. Movement unit cost is omitted because that detail row stores no historical currency. Current inventory record unit cost has its own current currency; no totals, currency conversions or comparisons across currencies are made. If the current item moves or its context changes between reads, reload the parent; old route parameters must not expose another context. Referenced order/shipment/return/count values are stored references only, not new joined document details.
PREREQUISITES: Apache OFBiz 24.09.07 official ordinary models, literal Java physical naming and mssql type file pinned at 42819e5ae1d5339d3a204ac06b43e69d46a9c0ae. Existing dbo objects are explicit adapter requirements, not proof of your installed owner/DDL/keys. The vendor supports SQL Server, but the shipped default is Derby; this is not a Derby/H2/PostgreSQL or derivative package. Requires SQL Server 2012+ for CONCAT/TRY_CONVERT. Confirm all selected columns, numeric/date types, complete unique non-null keys and authorised tenant/model extensions. Direct SQL does not inherit OFBiz roles or application ACLs; enforce restrictions at the source using a dedicated least-privilege SELECT login and validated TLS. Opening selections and parent predicates are not access control. No server, credentials, real rows, accounts, grants, installed objects or vendor read/write-service execution are supplied.
VALIDATION: documentary and explicitly adapted offline tests are not real ERP/SQL Server/iOS, installed DDL, performance, security or purchase certification. The gallery is the reviewed native fictional demonstration. Map your authorised source, run the read/compatibility test and inspect real results before business use. Existing workspace resources count toward plan limits. Primary source: https://github.com/apache/ofbiz-framework/tree/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/datamodel/entitydef ; https://github.com/apache/ofbiz-framework/blob/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/framework/common/entitydef/entitymodel.xml
PERIOD NAVIGATION: choose the movement period at the main report opening. The start and exclusive end are carried as typed, hidden values through stock contexts and inventory records. Movements uses those values without a second period dialog. Movement relation and record identities include the selected period, so previously loaded periods cannot match the new relation. To change the period, return to and reopen Facilities. Stock and the Product dossier remain current, not period-end snapshots. All five routes were demonstrated in native Cifru using wholly fictional data; not a real ERP/SQL Server or iOS execution test.
GALLERY: eight original native Cifru images represent all five configured routes: facility settings, complete stock-context and inventory cards, stored totals, current quantities/cost/currency, storage positions, both final sub-buttons, the complete selected movement dossier and current product identity/lifecycle. All four related actions and100 useful Detail positions were verified across21 private PNG/XML views. The eight public images are representative, not every configured field;68 Detail positions are paired in these public views. All values are wholly fictional DEMO, not a connected OFBiz installation. No value was retouched or field removed to fit. Test transport renders missing movement references as literal null, not a production SQL NULL-conversion test. Native monthly choice is October2026; stock remains current, not an as-of balance. Pro filming entitlement is not subscription purchase certification. Original PNG/XML/input and silent RAW remain private; PNG approval does not approve the whole RAW for publication.
Screenshots
What this package creates
- Home: Facilities and warehouses
- Details: Products and stock contexts
- Details: Inventory records
- Details: Movements
- Details: Product dossier
- Sub-button: Stock by product and context
- Sub-button: Inventory records and locations
- Sub-button: Inventory movements
- Sub-button: Product dossier
Sources are mapped locally and verified before applying.
Custom queriesPRO5 SQL
Custom queries are a PRO feature. Cifru repeats read-only validation against the local source before execution.
$.components.workspaceSelection.datasets.0.sqlQueryWITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), FacilityRefs AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS FacilityKey, FACILITY_ID FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL UNION SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, FACILITY_ID FROM dbo.INVENTORY_ITEM) SELECT r.FacilityKey AS FacilityKey, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN r.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, COALESCE(r.FACILITY_ID,N'Not assigned') AS FacilityReference, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Facility owner unresolved' END AS FacilityOwner, CONVERT(nvarchar(100), F.FACILITY_SIZE) AS FacilitySize, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Facility-size unit unresolved' END AS FacilitySizeUnit, CONVERT(nvarchar(100), F.DEFAULT_DAYS_TO_SHIP) AS DefaultShipDays, CONVERT(nvarchar(100), F.OPENED_DATE, 126) AS Opened, CONVERT(nvarchar(100), F.CLOSED_DATE, 126) AS Closed, F.DESCRIPTION AS FacilityDescription, CASE WHEN F.LookupRows=1 THEN N'Unique Facility master' WHEN F.LookupRows IS NULL THEN N'Facility master missing' ELSE N'Facility master repeated — values not chosen' END AS FacilityState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd FROM FacilityRefs r LEFT JOIN F ON F.LookupKey=r.FacilityKey LEFT JOIN O ON O.LookupKey=CASE WHEN F.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), F.OWNER_PARTY_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN F.FACILITY_SIZE_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), F.FACILITY_SIZE_UOM_ID)), 2)) END WHERE CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)
static read-only checks passed
$.components.workspaceSelection.datasets.1.sqlQueryWITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT g.FacilityKey AS FacilityKey, g.GroupKey AS GroupKey, CASE WHEN P.LookupRows=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END AS Product, g.SourceProductReference AS Reference, P.BRAND_NAME AS Brand, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN g.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Inventory owner unresolved' END AS Owner, CASE WHEN T.LookupRows=1 AND T.DESCRIPTION IS NOT NULL THEN T.DESCRIPTION ELSE N'Inventory type unresolved' END AS InventoryType, CASE WHEN S.LookupRows=1 AND S.DESCRIPTION IS NOT NULL THEN S.DESCRIPTION ELSE N'Inventory status unresolved' END AS Status, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Inventory unit unresolved' END AS StockUnit, g.SourceUnitCode AS UnitCode, g.Qoh AS Qoh, g.Atp AS Atp, g.AccountingQty AS AccountingQty, g.[Rows] AS [Rows], g.InvalidRows AS InvalidRows, g.QuantityCompleteness AS QuantityCompleteness, CASE WHEN P.LookupRows=1 THEN N'Unique Product master' WHEN P.LookupRows IS NULL THEN N'Product master missing' ELSE N'Product master repeated — values not chosen' END AS ProductState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd FROM G g LEFT JOIN P ON P.LookupKey=g.PRODUCT_IDKey LEFT JOIN F ON F.LookupKey=g.FACILITY_IDKey LEFT JOIN O ON O.LookupKey=g.OWNER_PARTY_IDKey LEFT JOIN T ON T.LookupKey=g.INVENTORY_ITEM_TYPE_IDKey LEFT JOIN S ON S.LookupKey=g.STATUS_IDKey LEFT JOIN U ON U.LookupKey=g.UOM_IDKey WHERE CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)
static read-only checks passed
$.components.workspaceSelection.datasets.2.sqlQueryWITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, CASE WHEN P.LookupRows=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END AS Product, i.SourceProductReference AS Reference, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN i.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Inventory owner unresolved' END AS Owner, CASE WHEN T.LookupRows=1 AND T.DESCRIPTION IS NOT NULL THEN T.DESCRIPTION ELSE N'Inventory type unresolved' END AS InventoryType, CASE WHEN S.LookupRows=1 AND S.DESCRIPTION IS NOT NULL THEN S.DESCRIPTION ELSE N'Inventory status unresolved' END AS Status, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Inventory unit unresolved' END AS StockUnit, i.SourceUnitCode AS UnitCode, i.LOT_ID AS Lot, i.SERIAL_NUMBER AS Serial, i.BIN_NUMBER AS Bin, L.AREA_ID AS Area, L.AISLE_ID AS Aisle, L.SECTION_ID AS Section, L.LEVEL_ID AS Level, L.POSITION_ID AS Position, CONVERT(nvarchar(100), i.DATETIME_RECEIVED, 126) AS Received, CONVERT(nvarchar(100), i.DATETIME_MANUFACTURED, 126) AS Manufactured, CONVERT(nvarchar(100), i.EXPIRE_DATE, 126) AS Expires, CONVERT(nvarchar(100), i.QUANTITY_ON_HAND_TOTAL) AS Qoh, CONVERT(nvarchar(100), i.AVAILABLE_TO_PROMISE_TOTAL) AS Atp, CONVERT(nvarchar(100), i.ACCOUNTING_QUANTITY_TOTAL) AS AccountingQty, CONVERT(nvarchar(100), i.UNIT_COST) AS UnitCost, CASE WHEN CU.LookupRows=1 AND CU.DESCRIPTION IS NOT NULL THEN CU.DESCRIPTION ELSE N'Current currency unresolved' END AS Currency, CASE WHEN L.LookupRows=1 THEN N'Unique Location master' WHEN L.LookupRows IS NULL THEN N'Location master missing' ELSE N'Location master repeated — values not chosen' END AS LocationState, CASE WHEN i.LocalCopies=1 AND i.GlobalCopies=1 THEN N'Unique inventory identity' ELSE N'Invalid inventory identity — values not chosen' END AS IdentityState, CONVERT(nvarchar(100), i.GlobalCopies) AS Copies, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd, CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) AS MovementContextKey FROM I i LEFT JOIN P ON P.LookupKey=i.PRODUCT_IDKey LEFT JOIN F ON F.LookupKey=i.FACILITY_IDKey LEFT JOIN O ON O.LookupKey=i.OWNER_PARTY_IDKey LEFT JOIN T ON T.LookupKey=i.INVENTORY_ITEM_TYPE_IDKey LEFT JOIN S ON S.LookupKey=i.STATUS_IDKey LEFT JOIN U ON U.LookupKey=i.UOM_IDKey LEFT JOIN L ON L.LookupKey=CONCAT(i.FACILITY_IDKey, N'|', CASE WHEN i.LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.LOCATION_SEQ_ID)), 2)) END) LEFT JOIN U CU ON CU.LookupKey=CASE WHEN i.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.CURRENCY_UOM_ID)), 2)) END WHERE i.GroupKey=:group_key AND CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)
static read-only checks passed
$.components.workspaceSelection.datasets.3.sqlQueryWITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), D0 AS (SELECT d.*, COUNT_BIG(*) OVER (PARTITION BY CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END) AS DetailCopies FROM dbo.INVENTORY_ITEM_DETAIL d WHERE d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NOT NULL AND EXISTS (SELECT 1 FROM I q WHERE q.ItemKey=:item_key AND q.GroupKey=:group_key AND q.LocalCopies=1 AND q.GlobalCopies=1 AND CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN q.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), q.INVENTORY_ITEM_ID)), 2)) END)), D AS (SELECT CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END AS ItemLookupKey, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END AS DetailKey, MAX(d.DetailCopies) AS DetailCopies, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.INVENTORY_ITEM_DETAIL_SEQ_ID) ELSE NULL END AS INVENTORY_ITEM_DETAIL_SEQ_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.QUANTITY_ON_HAND_DIFF) ELSE NULL END AS QUANTITY_ON_HAND_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.AVAILABLE_TO_PROMISE_DIFF) ELSE NULL END AS AVAILABLE_TO_PROMISE_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.ACCOUNTING_QUANTITY_DIFF) ELSE NULL END AS ACCOUNTING_QUANTITY_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.ORDER_ID) ELSE NULL END AS ORDER_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.SHIPMENT_ID) ELSE NULL END AS SHIPMENT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.RETURN_ID) ELSE NULL END AS RETURN_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.WORK_EFFORT_ID) ELSE NULL END AS WORK_EFFORT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.RECEIPT_ID) ELSE NULL END AS RECEIPT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.PHYSICAL_INVENTORY_ID) ELSE NULL END AS PHYSICAL_INVENTORY_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.REASON_ENUM_ID) ELSE NULL END AS REASON_ENUM_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM D0 d GROUP BY CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, CONCAT(CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)), N'|M|', d.DetailKey) AS MovementKey, d.EFFECTIVE_DATE AS EffectiveDate, COALESCE(E.DESCRIPTION,d.DESCRIPTION,N'Stored inventory movement') AS Reason, CONVERT(nvarchar(100), d.EFFECTIVE_DATE, 126) AS SourceDate, d.DESCRIPTION AS MovementDescription, CONVERT(nvarchar(100), d.QUANTITY_ON_HAND_DIFF) AS QohDiff, CONVERT(nvarchar(100), d.AVAILABLE_TO_PROMISE_DIFF) AS AtpDiff, CONVERT(nvarchar(100), d.ACCOUNTING_QUANTITY_DIFF) AS AccountingDiff, d.ORDER_ID AS OrderReference, d.SHIPMENT_ID AS ShipmentReference, d.RETURN_ID AS ReturnReference, d.WORK_EFFORT_ID AS WorkReference, d.RECEIPT_ID AS ReceiptReference, d.PHYSICAL_INVENTORY_ID AS CountReference, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Current item unit unresolved' END AS CurrentUnit, N'Unique complete movement identity' AS MovementState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd, CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) AS MovementContextKey FROM I i INNER JOIN D d ON d.ItemLookupKey=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END LEFT JOIN E ON E.LookupKey=CASE WHEN d.REASON_ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.REASON_ENUM_ID)), 2)) END LEFT JOIN U ON U.LookupKey=i.UOM_IDKey WHERE i.ItemKey=:item_key AND i.GroupKey=:group_key AND i.LocalCopies=1 AND i.GlobalCopies=1 AND d.DetailCopies=1 AND d.EFFECTIVE_DATE>=:date_from AND d.EFFECTIVE_DATE<:date_until AND CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AND CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) = :movement_context
static read-only checks passed
$.components.workspaceSelection.datasets.4.sqlQueryWITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, P.PRODUCT_ID AS PRODUCT_ID, P.PRODUCT_NAME AS PRODUCT_NAME, P.INTERNAL_NAME AS INTERNAL_NAME, P.BRAND_NAME AS BRAND_NAME, P.DESCRIPTION AS DESCRIPTION, CONVERT(nvarchar(100), P.INTRODUCTION_DATE, 126) AS INTRODUCTION_DATE, CONVERT(nvarchar(100), P.RELEASE_DATE, 126) AS RELEASE_DATE, CONVERT(nvarchar(100), P.SALES_DISCONTINUATION_DATE, 126) AS SALES_DISCONTINUATION_DATE, CONVERT(nvarchar(100), P.SUPPORT_DISCONTINUATION_DATE, 126) AS SUPPORT_DISCONTINUATION_DATE, P.INVENTORY_MESSAGE AS INVENTORY_MESSAGE, P.REQUIRE_INVENTORY AS REQUIRE_INVENTORY, CONVERT(nvarchar(100), P.QUANTITY_INCLUDED) AS QUANTITY_INCLUDED, P.QUANTITY_UOM_ID AS QUANTITY_UOM_ID, CONVERT(nvarchar(100), P.PIECES_INCLUDED) AS PIECES_INCLUDED, CONVERT(nvarchar(100), P.PRODUCT_WEIGHT) AS PRODUCT_WEIGHT, CONVERT(nvarchar(100), P.SHIPPING_WEIGHT) AS SHIPPING_WEIGHT, P.WEIGHT_UOM_ID AS WEIGHT_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_HEIGHT) AS PRODUCT_HEIGHT, CONVERT(nvarchar(100), P.SHIPPING_HEIGHT) AS SHIPPING_HEIGHT, P.HEIGHT_UOM_ID AS HEIGHT_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_WIDTH) AS PRODUCT_WIDTH, CONVERT(nvarchar(100), P.SHIPPING_WIDTH) AS SHIPPING_WIDTH, P.WIDTH_UOM_ID AS WIDTH_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_DEPTH) AS PRODUCT_DEPTH, CONVERT(nvarchar(100), P.SHIPPING_DEPTH) AS SHIPPING_DEPTH, P.DEPTH_UOM_ID AS DEPTH_UOM_ID, P.RETURNABLE AS RETURNABLE, P.TAXABLE AS TAXABLE, P.CHARGE_SHIPPING AS CHARGE_SHIPPING, P.INCLUDE_IN_PROMOTIONS AS INCLUDE_IN_PROMOTIONS, P.IS_VIRTUAL AS IS_VIRTUAL, P.IS_VARIANT AS IS_VARIANT, P.ORDER_DECIMAL_QUANTITY AS ORDER_DECIMAL_QUANTITY FROM I i INNER JOIN P ON P.LookupKey=i.PRODUCT_IDKey AND P.LookupRows=1 WHERE i.ItemKey=:item_key AND i.GroupKey=:group_key AND i.LocalCopies=1 AND i.GlobalCopies=1
static read-only checks passed
View the JSON being importedcollapsed by default
{
"components": {
"sourceSlots": [
{
"displayName": "Apache OFBiz — authorised SQL Server inventory",
"id": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"kind": "sqlServer",
"requiredObjects": [
"dbo.ENUMERATION",
"dbo.FACILITY",
"dbo.FACILITY_LOCATION",
"dbo.INVENTORY_ITEM",
"dbo.INVENTORY_ITEM_DETAIL",
"dbo.INVENTORY_ITEM_TYPE",
"dbo.PARTY_GROUP",
"dbo.PERSON",
"dbo.PRODUCT",
"dbo.STATUS_ITEM",
"dbo.UOM"
],
"requiresCustomSQL": true
}
],
"workspaceSelection": {
"commonFields": [],
"datasets": [
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "CE0A66E7-464C-5EEE-82B3-B3162DE60E87",
"key": "Warehouse",
"type": "text"
},
{
"direction": "ascending",
"id": "47BB46AE-9DC5-51B8-954B-62044266F937",
"key": "FacilityKey",
"type": "text"
}
],
"id": "7B354FC5-17DD-5282-8067-992768425A98",
"mappings": [
{
"commonFieldKey": "",
"key": "FacilityKey",
"label": "Internal exact facility key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Warehouse",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FacilityReference",
"label": "Facility reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FacilityOwner",
"label": "Facility owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityOwner",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "FacilitySize",
"label": "Facility size — not capacity remaining",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilitySize",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "FacilitySizeUnit",
"label": "Facility-size unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilitySizeUnit",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "DefaultShipDays",
"label": "Default days to ship — not a delivery promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DefaultShipDays",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Opened",
"label": "Facility opened — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Opened",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Closed",
"label": "Facility closed — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Closed",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FacilityDescription",
"label": "Facility description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityDescription",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FacilityState",
"label": "Facility master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeStart",
"label": "Internal selected movement-period start",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeStart",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeEnd",
"label": "Internal exclusive movement-period end",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeEnd",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Facilities and warehouses",
"primaryKey": "FacilityKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeStart",
"id": "B1EF14A2-CC42-5BE4-AF71-4EE35CADDFBD",
"name": "date_from",
"source": "openingPeriodStart",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeStart",
"id": "F942FCBF-E29B-509F-A119-DB1156B9D02D",
"name": "date_until",
"source": "openingPeriodEndExclusive",
"type": "date"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Warehouse",
"FacilityReference",
"FacilityOwner",
"FacilitySize",
"FacilitySizeUnit",
"DefaultShipDays",
"Opened",
"Closed",
"FacilityDescription",
"FacilityState"
],
"sourceID": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"sqlQuery": "WITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), FacilityRefs AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS FacilityKey, FACILITY_ID FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL UNION SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, FACILITY_ID FROM dbo.INVENTORY_ITEM) SELECT r.FacilityKey AS FacilityKey, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN r.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, COALESCE(r.FACILITY_ID,N'Not assigned') AS FacilityReference, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Facility owner unresolved' END AS FacilityOwner, CONVERT(nvarchar(100), F.FACILITY_SIZE) AS FacilitySize, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Facility-size unit unresolved' END AS FacilitySizeUnit, CONVERT(nvarchar(100), F.DEFAULT_DAYS_TO_SHIP) AS DefaultShipDays, CONVERT(nvarchar(100), F.OPENED_DATE, 126) AS Opened, CONVERT(nvarchar(100), F.CLOSED_DATE, 126) AS Closed, F.DESCRIPTION AS FacilityDescription, CASE WHEN F.LookupRows=1 THEN N'Unique Facility master' WHEN F.LookupRows IS NULL THEN N'Facility master missing' ELSE N'Facility master repeated — values not chosen' END AS FacilityState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd FROM FacilityRefs r LEFT JOIN F ON F.LookupKey=r.FacilityKey LEFT JOIN O ON O.LookupKey=CASE WHEN F.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), F.OWNER_PARTY_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN F.FACILITY_SIZE_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), F.FACILITY_SIZE_UOM_ID)), 2)) END WHERE CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "7F6F0AA3-A524-5A55-B19B-0A0D42D0D461",
"key": "Product",
"type": "text"
},
{
"direction": "ascending",
"id": "F034477F-FE3B-5336-9755-D632F3B37DA0",
"key": "GroupKey",
"type": "text"
}
],
"id": "4181B5FB-1904-5A52-AC9A-57325FD2EF3B",
"mappings": [
{
"commonFieldKey": "",
"key": "FacilityKey",
"label": "Internal exact facility key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "GroupKey",
"label": "Internal complete stock context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "GroupKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Product",
"label": "Product",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Product",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Reference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Reference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Brand",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Brand",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Warehouse",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Owner",
"label": "Inventory owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Owner",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "InventoryType",
"label": "Inventory type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InventoryType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Status",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "StockUnit",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "UnitCode",
"label": "Inventory source-unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Qoh",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Atp",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "AccountingQty",
"label": "Stored accounting quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountingQty",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Rows",
"label": "Source records in this context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Rows",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "InvalidRows",
"label": "Records with invalid inventory identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvalidRows",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QuantityCompleteness",
"label": "Quantity completeness",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QuantityCompleteness",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ProductState",
"label": "Product master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ProductState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeStart",
"label": "Internal selected movement-period start",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeStart",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeEnd",
"label": "Internal exclusive movement-period end",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeEnd",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Stock by product and context",
"primaryKey": "GroupKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "FacilityKey",
"id": "F7DC487F-ED7E-56F1-ACA4-C1C5700A8BE4",
"name": "facility",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeStart",
"id": "B1EF14A2-CC42-5BE4-AF71-4EE35CADDFBD",
"name": "date_from",
"source": "parentField",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeEnd",
"id": "F942FCBF-E29B-509F-A119-DB1156B9D02D",
"name": "date_until",
"source": "parentField",
"type": "date"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Product",
"Reference",
"Brand",
"Warehouse",
"Owner",
"InventoryType",
"Status",
"StockUnit",
"UnitCode",
"Qoh",
"Atp",
"AccountingQty",
"Rows",
"InvalidRows",
"QuantityCompleteness",
"ProductState"
],
"sourceID": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"sqlQuery": "WITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT g.FacilityKey AS FacilityKey, g.GroupKey AS GroupKey, CASE WHEN P.LookupRows=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END AS Product, g.SourceProductReference AS Reference, P.BRAND_NAME AS Brand, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN g.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Inventory owner unresolved' END AS Owner, CASE WHEN T.LookupRows=1 AND T.DESCRIPTION IS NOT NULL THEN T.DESCRIPTION ELSE N'Inventory type unresolved' END AS InventoryType, CASE WHEN S.LookupRows=1 AND S.DESCRIPTION IS NOT NULL THEN S.DESCRIPTION ELSE N'Inventory status unresolved' END AS Status, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Inventory unit unresolved' END AS StockUnit, g.SourceUnitCode AS UnitCode, g.Qoh AS Qoh, g.Atp AS Atp, g.AccountingQty AS AccountingQty, g.[Rows] AS [Rows], g.InvalidRows AS InvalidRows, g.QuantityCompleteness AS QuantityCompleteness, CASE WHEN P.LookupRows=1 THEN N'Unique Product master' WHEN P.LookupRows IS NULL THEN N'Product master missing' ELSE N'Product master repeated — values not chosen' END AS ProductState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd FROM G g LEFT JOIN P ON P.LookupKey=g.PRODUCT_IDKey LEFT JOIN F ON F.LookupKey=g.FACILITY_IDKey LEFT JOIN O ON O.LookupKey=g.OWNER_PARTY_IDKey LEFT JOIN T ON T.LookupKey=g.INVENTORY_ITEM_TYPE_IDKey LEFT JOIN S ON S.LookupKey=g.STATUS_IDKey LEFT JOIN U ON U.LookupKey=g.UOM_IDKey WHERE CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "7F6F0AA3-A524-5A55-B19B-0A0D42D0D461",
"key": "Product",
"type": "text"
},
{
"direction": "ascending",
"id": "414072F2-5671-5196-A2EB-CF7B4393AEEC",
"key": "ItemKey",
"type": "text"
}
],
"id": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"mappings": [
{
"commonFieldKey": "",
"key": "FacilityKey",
"label": "Internal exact facility key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "GroupKey",
"label": "Internal complete stock context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "GroupKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ItemKey",
"label": "Internal inventory-context key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ItemKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Product",
"label": "Product",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Product",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Reference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Reference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Warehouse",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Owner",
"label": "Inventory owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Owner",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InventoryType",
"label": "Inventory type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InventoryType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Status",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "StockUnit",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "UnitCode",
"label": "Inventory source-unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Lot",
"label": "Lot register reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Lot",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Serial",
"label": "Serial number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Serial",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Bin",
"label": "Bin number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Bin",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Area",
"label": "Storage area",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Area",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Aisle",
"label": "Storage aisle",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Aisle",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Section",
"label": "Storage section",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Section",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Level",
"label": "Storage level",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Level",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Position",
"label": "Storage position",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Position",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Received",
"label": "Received — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Received",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Manufactured",
"label": "Manufactured — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Manufactured",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Expires",
"label": "Expires — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Expires",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Qoh",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Atp",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "AccountingQty",
"label": "Stored accounting quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountingQty",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "UnitCost",
"label": "Current record unit cost — currency below",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitCost",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Currency",
"label": "Current unit-cost currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Currency",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LocationState",
"label": "Storage-location master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LocationState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IdentityState",
"label": "Inventory identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IdentityState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Copies",
"label": "Exact copies of this inventory identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Copies",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeStart",
"label": "Internal selected movement-period start",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeStart",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeEnd",
"label": "Internal exclusive movement-period end",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeEnd",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "MovementContextKey",
"label": "Internal inventory + selected movement period",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MovementContextKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Inventory records and locations",
"primaryKey": "ItemKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "FacilityKey",
"id": "F7DC487F-ED7E-56F1-ACA4-C1C5700A8BE4",
"name": "facility",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "GroupKey",
"id": "82F0FF37-FE98-5458-8151-2718783228B3",
"name": "group_key",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeStart",
"id": "B1EF14A2-CC42-5BE4-AF71-4EE35CADDFBD",
"name": "date_from",
"source": "parentField",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeEnd",
"id": "F942FCBF-E29B-509F-A119-DB1156B9D02D",
"name": "date_until",
"source": "parentField",
"type": "date"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Product",
"Reference",
"Warehouse",
"Owner",
"InventoryType",
"Status",
"StockUnit",
"UnitCode",
"Lot",
"Serial",
"Bin",
"Area",
"Aisle",
"Section",
"Level",
"Position",
"Received",
"Manufactured",
"Expires",
"Qoh",
"Atp",
"AccountingQty",
"UnitCost",
"Currency",
"LocationState",
"IdentityState",
"Copies"
],
"sourceID": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"sqlQuery": "WITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, CASE WHEN P.LookupRows=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END AS Product, i.SourceProductReference AS Reference, CASE WHEN F.LookupRows=1 AND F.FACILITY_NAME IS NOT NULL THEN F.FACILITY_NAME WHEN i.FacilityKey=N'N' THEN N'Facility not assigned' ELSE N'Facility master unresolved' END AS Warehouse, CASE WHEN O.LookupRows=1 AND O.OwnerName IS NOT NULL THEN O.OwnerName ELSE N'Inventory owner unresolved' END AS Owner, CASE WHEN T.LookupRows=1 AND T.DESCRIPTION IS NOT NULL THEN T.DESCRIPTION ELSE N'Inventory type unresolved' END AS InventoryType, CASE WHEN S.LookupRows=1 AND S.DESCRIPTION IS NOT NULL THEN S.DESCRIPTION ELSE N'Inventory status unresolved' END AS Status, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Inventory unit unresolved' END AS StockUnit, i.SourceUnitCode AS UnitCode, i.LOT_ID AS Lot, i.SERIAL_NUMBER AS Serial, i.BIN_NUMBER AS Bin, L.AREA_ID AS Area, L.AISLE_ID AS Aisle, L.SECTION_ID AS Section, L.LEVEL_ID AS Level, L.POSITION_ID AS Position, CONVERT(nvarchar(100), i.DATETIME_RECEIVED, 126) AS Received, CONVERT(nvarchar(100), i.DATETIME_MANUFACTURED, 126) AS Manufactured, CONVERT(nvarchar(100), i.EXPIRE_DATE, 126) AS Expires, CONVERT(nvarchar(100), i.QUANTITY_ON_HAND_TOTAL) AS Qoh, CONVERT(nvarchar(100), i.AVAILABLE_TO_PROMISE_TOTAL) AS Atp, CONVERT(nvarchar(100), i.ACCOUNTING_QUANTITY_TOTAL) AS AccountingQty, CONVERT(nvarchar(100), i.UNIT_COST) AS UnitCost, CASE WHEN CU.LookupRows=1 AND CU.DESCRIPTION IS NOT NULL THEN CU.DESCRIPTION ELSE N'Current currency unresolved' END AS Currency, CASE WHEN L.LookupRows=1 THEN N'Unique Location master' WHEN L.LookupRows IS NULL THEN N'Location master missing' ELSE N'Location master repeated — values not chosen' END AS LocationState, CASE WHEN i.LocalCopies=1 AND i.GlobalCopies=1 THEN N'Unique inventory identity' ELSE N'Invalid inventory identity — values not chosen' END AS IdentityState, CONVERT(nvarchar(100), i.GlobalCopies) AS Copies, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd, CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) AS MovementContextKey FROM I i LEFT JOIN P ON P.LookupKey=i.PRODUCT_IDKey LEFT JOIN F ON F.LookupKey=i.FACILITY_IDKey LEFT JOIN O ON O.LookupKey=i.OWNER_PARTY_IDKey LEFT JOIN T ON T.LookupKey=i.INVENTORY_ITEM_TYPE_IDKey LEFT JOIN S ON S.LookupKey=i.STATUS_IDKey LEFT JOIN U ON U.LookupKey=i.UOM_IDKey LEFT JOIN L ON L.LookupKey=CONCAT(i.FACILITY_IDKey, N'|', CASE WHEN i.LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.LOCATION_SEQ_ID)), 2)) END) LEFT JOIN U CU ON CU.LookupKey=CASE WHEN i.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.CURRENCY_UOM_ID)), 2)) END WHERE i.GroupKey=:group_key AND CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23)",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "descending",
"id": "68DDE4E0-FE77-52FC-9A4F-AD1F392BF994",
"key": "EffectiveDate",
"type": "date"
},
{
"direction": "ascending",
"id": "3A359890-D23E-53B8-B412-0A891F86A176",
"key": "MovementKey",
"type": "text"
}
],
"id": "A2BF48AE-5D1B-53D3-95D2-1258F617E0D5",
"mappings": [
{
"commonFieldKey": "",
"key": "FacilityKey",
"label": "Internal exact facility key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "GroupKey",
"label": "Internal complete stock context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "GroupKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ItemKey",
"label": "Internal inventory-context key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ItemKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "MovementKey",
"label": "Internal complete movement key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MovementKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EffectiveDate",
"label": "Internal period date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EffectiveDate",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Reason",
"label": "Movement / reason",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Reason",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceDate",
"label": "Effective source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceDate",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "MovementDescription",
"label": "Movement description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MovementDescription",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QohDiff",
"label": "On-hand quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QohDiff",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "AtpDiff",
"label": "Available-to-promise change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AtpDiff",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "AccountingDiff",
"label": "Accounting quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountingDiff",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "OrderReference",
"label": "Order reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OrderReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ShipmentReference",
"label": "Shipment reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ShipmentReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ReturnReference",
"label": "Return reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReturnReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "WorkReference",
"label": "Work-effort reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "WorkReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ReceiptReference",
"label": "Receipt reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReceiptReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CountReference",
"label": "Physical inventory reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CountReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrentUnit",
"label": "Current item unit — not historical",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrentUnit",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "MovementState",
"label": "Movement identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MovementState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeStart",
"label": "Internal selected movement-period start",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeStart",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ScopeEnd",
"label": "Internal exclusive movement-period end",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ScopeEnd",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "MovementContextKey",
"label": "Internal inventory + selected movement period",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MovementContextKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Inventory movements",
"primaryKey": "MovementKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "FacilityKey",
"id": "F7DC487F-ED7E-56F1-ACA4-C1C5700A8BE4",
"name": "facility",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "GroupKey",
"id": "82F0FF37-FE98-5458-8151-2718783228B3",
"name": "group_key",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ItemKey",
"id": "AEA7F787-5ABA-53A9-8594-CA9209435F33",
"name": "item_key",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeStart",
"id": "B1EF14A2-CC42-5BE4-AF71-4EE35CADDFBD",
"name": "date_from",
"source": "parentField",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ScopeEnd",
"id": "F942FCBF-E29B-509F-A119-DB1156B9D02D",
"name": "date_until",
"source": "parentField",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "MovementContextKey",
"id": "6054B44B-0AEF-53DF-B3D7-90D9FEF4D475",
"name": "movement_context",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"Reason",
"SourceDate",
"MovementDescription",
"QohDiff",
"AtpDiff",
"AccountingDiff",
"OrderReference",
"ShipmentReference",
"ReturnReference",
"WorkReference",
"ReceiptReference",
"CountReference",
"CurrentUnit",
"MovementState"
],
"sourceID": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"sqlQuery": "WITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), D0 AS (SELECT d.*, COUNT_BIG(*) OVER (PARTITION BY CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END) AS DetailCopies FROM dbo.INVENTORY_ITEM_DETAIL d WHERE d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NOT NULL AND EXISTS (SELECT 1 FROM I q WHERE q.ItemKey=:item_key AND q.GroupKey=:group_key AND q.LocalCopies=1 AND q.GlobalCopies=1 AND CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN q.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), q.INVENTORY_ITEM_ID)), 2)) END)), D AS (SELECT CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END AS ItemLookupKey, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END AS DetailKey, MAX(d.DetailCopies) AS DetailCopies, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.INVENTORY_ITEM_DETAIL_SEQ_ID) ELSE NULL END AS INVENTORY_ITEM_DETAIL_SEQ_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.QUANTITY_ON_HAND_DIFF) ELSE NULL END AS QUANTITY_ON_HAND_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.AVAILABLE_TO_PROMISE_DIFF) ELSE NULL END AS AVAILABLE_TO_PROMISE_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.ACCOUNTING_QUANTITY_DIFF) ELSE NULL END AS ACCOUNTING_QUANTITY_DIFF, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.ORDER_ID) ELSE NULL END AS ORDER_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.SHIPMENT_ID) ELSE NULL END AS SHIPMENT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.RETURN_ID) ELSE NULL END AS RETURN_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.WORK_EFFORT_ID) ELSE NULL END AS WORK_EFFORT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.RECEIPT_ID) ELSE NULL END AS RECEIPT_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.PHYSICAL_INVENTORY_ID) ELSE NULL END AS PHYSICAL_INVENTORY_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.REASON_ENUM_ID) ELSE NULL END AS REASON_ENUM_ID, CASE WHEN MAX(d.DetailCopies)=1 THEN MAX(d.DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM D0 d GROUP BY CASE WHEN d.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_ID)), 2)) END, CASE WHEN d.INVENTORY_ITEM_DETAIL_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.INVENTORY_ITEM_DETAIL_SEQ_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, CONCAT(CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)), N'|M|', d.DetailKey) AS MovementKey, d.EFFECTIVE_DATE AS EffectiveDate, COALESCE(E.DESCRIPTION,d.DESCRIPTION,N'Stored inventory movement') AS Reason, CONVERT(nvarchar(100), d.EFFECTIVE_DATE, 126) AS SourceDate, d.DESCRIPTION AS MovementDescription, CONVERT(nvarchar(100), d.QUANTITY_ON_HAND_DIFF) AS QohDiff, CONVERT(nvarchar(100), d.AVAILABLE_TO_PROMISE_DIFF) AS AtpDiff, CONVERT(nvarchar(100), d.ACCOUNTING_QUANTITY_DIFF) AS AccountingDiff, d.ORDER_ID AS OrderReference, d.SHIPMENT_ID AS ShipmentReference, d.RETURN_ID AS ReturnReference, d.WORK_EFFORT_ID AS WorkReference, d.RECEIPT_ID AS ReceiptReference, d.PHYSICAL_INVENTORY_ID AS CountReference, CASE WHEN U.LookupRows=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Current item unit unresolved' END AS CurrentUnit, N'Unique complete movement identity' AS MovementState, CONVERT(nvarchar(10), CAST(:date_from AS date), 23) AS ScopeStart, CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AS ScopeEnd, CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) AS MovementContextKey FROM I i INNER JOIN D d ON d.ItemLookupKey=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END LEFT JOIN E ON E.LookupKey=CASE WHEN d.REASON_ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), d.REASON_ENUM_ID)), 2)) END LEFT JOIN U ON U.LookupKey=i.UOM_IDKey WHERE i.ItemKey=:item_key AND i.GroupKey=:group_key AND i.LocalCopies=1 AND i.GlobalCopies=1 AND d.DetailCopies=1 AND d.EFFECTIVE_DATE>=:date_from AND d.EFFECTIVE_DATE<:date_until AND CONVERT(nvarchar(10), CAST(:date_from AS date), 23) < CONVERT(nvarchar(10), CAST(:date_until AS date), 23) AND CONCAT(i.ItemKey, N'|P|', CONVERT(nvarchar(10), CAST(:date_from AS date), 23), N'|', CONVERT(nvarchar(10), CAST(:date_until AS date), 23)) = :movement_context",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "D91F3596-4BE8-5B0B-9129-D93E911F3D8C",
"key": "PRODUCT_NAME",
"type": "text"
},
{
"direction": "ascending",
"id": "414072F2-5671-5196-A2EB-CF7B4393AEEC",
"key": "ItemKey",
"type": "text"
}
],
"id": "76ECD865-87FE-5E6C-81E7-01176E7691BB",
"mappings": [
{
"commonFieldKey": "",
"key": "FacilityKey",
"label": "Internal exact facility key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FacilityKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "GroupKey",
"label": "Internal complete stock context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "GroupKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ItemKey",
"label": "Internal inventory-context key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ItemKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_ID",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_NAME",
"label": "Product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INTERNAL_NAME",
"label": "Internal product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INTERNAL_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "BRAND_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DESCRIPTION",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "INTRODUCTION_DATE",
"label": "Introduction date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INTRODUCTION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RELEASE_DATE",
"label": "Release date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RELEASE_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SALES_DISCONTINUATION_DATE",
"label": "Sales discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SALES_DISCONTINUATION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SUPPORT_DISCONTINUATION_DATE",
"label": "Support discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SUPPORT_DISCONTINUATION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INVENTORY_MESSAGE",
"label": "Inventory message — not stock",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INVENTORY_MESSAGE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "REQUIRE_INVENTORY",
"label": "Inventory required — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "REQUIRE_INVENTORY",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QUANTITY_INCLUDED",
"label": "Quantity in each piece",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QUANTITY_INCLUDED",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QUANTITY_UOM_ID",
"label": "Quantity unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QUANTITY_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PIECES_INCLUDED",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "PRODUCT_WEIGHT",
"label": "Product weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_WEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_WEIGHT",
"label": "Shipping weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_WEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "WEIGHT_UOM_ID",
"label": "Weight unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "WEIGHT_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_HEIGHT",
"label": "Product height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_HEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_HEIGHT",
"label": "Shipping height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_HEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "HEIGHT_UOM_ID",
"label": "Height unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HEIGHT_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_WIDTH",
"label": "Product width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_WIDTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_WIDTH",
"label": "Shipping width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_WIDTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "WIDTH_UOM_ID",
"label": "Width unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "WIDTH_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_DEPTH",
"label": "Product depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_DEPTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_DEPTH",
"label": "Shipping depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_DEPTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "DEPTH_UOM_ID",
"label": "Depth unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DEPTH_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RETURNABLE",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "TAXABLE",
"label": "Taxable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TAXABLE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CHARGE_SHIPPING",
"label": "Charge shipping — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CHARGE_SHIPPING",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INCLUDE_IN_PROMOTIONS",
"label": "Include in promotions — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INCLUDE_IN_PROMOTIONS",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IS_VIRTUAL",
"label": "Virtual product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IS_VIRTUAL",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IS_VARIANT",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ORDER_DECIMAL_QUANTITY",
"label": "Decimal orders — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ORDER_DECIMAL_QUANTITY",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Product dossier",
"primaryKey": "ItemKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "FacilityKey",
"id": "F7DC487F-ED7E-56F1-ACA4-C1C5700A8BE4",
"name": "facility",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "GroupKey",
"id": "82F0FF37-FE98-5458-8151-2718783228B3",
"name": "group_key",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "ItemKey",
"id": "AEA7F787-5ABA-53A9-8594-CA9209435F33",
"name": "item_key",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"PRODUCT_ID",
"PRODUCT_NAME",
"INTERNAL_NAME",
"BRAND_NAME",
"DESCRIPTION",
"INTRODUCTION_DATE",
"RELEASE_DATE",
"SALES_DISCONTINUATION_DATE",
"SUPPORT_DISCONTINUATION_DATE",
"INVENTORY_MESSAGE",
"REQUIRE_INVENTORY",
"QUANTITY_INCLUDED",
"QUANTITY_UOM_ID",
"PIECES_INCLUDED",
"PRODUCT_WEIGHT",
"SHIPPING_WEIGHT",
"WEIGHT_UOM_ID",
"PRODUCT_HEIGHT",
"SHIPPING_HEIGHT",
"HEIGHT_UOM_ID",
"PRODUCT_WIDTH",
"SHIPPING_WIDTH",
"WIDTH_UOM_ID",
"PRODUCT_DEPTH",
"SHIPPING_DEPTH",
"DEPTH_UOM_ID",
"RETURNABLE",
"TAXABLE",
"CHARGE_SHIPPING",
"INCLUDE_IN_PROMOTIONS",
"IS_VIRTUAL",
"IS_VARIANT",
"ORDER_DECIMAL_QUANTITY"
],
"sourceID": "4AEC7BBB-7228-5DCE-A139-A633C6EC670E",
"sqlQuery": "WITH F AS (SELECT CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OWNER_PARTY_ID) ELSE NULL END AS OWNER_PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_NAME) ELSE NULL END AS FACILITY_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE) ELSE NULL END AS FACILITY_SIZE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_SIZE_UOM_ID) ELSE NULL END AS FACILITY_SIZE_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEFAULT_DAYS_TO_SHIP) ELSE NULL END AS DEFAULT_DAYS_TO_SHIP, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OPENED_DATE) ELSE NULL END AS OPENED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CLOSED_DATE) ELSE NULL END AS CLOSED_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.FACILITY WHERE FACILITY_ID IS NOT NULL GROUP BY CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), T AS (SELECT CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_ITEM_TYPE_ID) ELSE NULL END AS INVENTORY_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVENTORY_ITEM_TYPE WHERE INVENTORY_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVENTORY_ITEM_TYPE_ID)), 2)) END), S AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), E AS (SELECT CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ENUM_ID) ELSE NULL END AS ENUM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.ENUMERATION WHERE ENUM_ID IS NOT NULL GROUP BY CASE WHEN ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), ENUM_ID)), 2)) END), OwnerNames AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS OwnerKey, GROUP_NAME AS OwnerName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), O AS (SELECT OwnerKey AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(OwnerName) ELSE NULL END AS OwnerName FROM OwnerNames GROUP BY OwnerKey), L AS (SELECT CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END) AS LookupKey, COUNT_BIG(*) AS LookupRows, CASE WHEN COUNT_BIG(*)=1 THEN MAX(FACILITY_ID) ELSE NULL END AS FACILITY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AREA_ID) ELSE NULL END AS AREA_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AISLE_ID) ELSE NULL END AS AISLE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SECTION_ID) ELSE NULL END AS SECTION_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(LEVEL_ID) ELSE NULL END AS LEVEL_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(POSITION_ID) ELSE NULL END AS POSITION_ID FROM dbo.FACILITY_LOCATION WHERE FACILITY_ID IS NOT NULL AND LOCATION_SEQ_ID IS NOT NULL GROUP BY CONCAT(CASE WHEN FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), FACILITY_ID)), 2)) END, N'|', CASE WHEN LOCATION_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), LOCATION_SEQ_ID)), 2)) END)), IB AS (SELECT i.INVENTORY_ITEM_ID, i.INVENTORY_ITEM_TYPE_ID, i.PRODUCT_ID, i.OWNER_PARTY_ID, i.STATUS_ID, i.DATETIME_RECEIVED, i.DATETIME_MANUFACTURED, i.EXPIRE_DATE, i.FACILITY_ID, i.LOT_ID, i.UOM_ID, i.BIN_NUMBER, i.LOCATION_SEQ_ID, i.QUANTITY_ON_HAND_TOTAL, i.AVAILABLE_TO_PROMISE_TOTAL, i.ACCOUNTING_QUANTITY_TOTAL, i.SERIAL_NUMBER, i.UNIT_COST, i.CURRENCY_UOM_ID, CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN 0 ELSE (SELECT COUNT_BIG(*) FROM dbo.INVENTORY_ITEM z WHERE z.INVENTORY_ITEM_ID=i.INVENTORY_ITEM_ID AND CASE WHEN z.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVENTORY_ITEM_ID)), 2)) END=CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) END AS GlobalCopies FROM dbo.INVENTORY_ITEM i WHERE ((i.FACILITY_ID=CONVERT(nvarchar(20), TRY_CONVERT(varbinary(8000), CASE WHEN LEFT(:facility,1)=N'H' THEN SUBSTRING(:facility,2,8000) ELSE NULL END, 2)) OR (:facility=N'N' AND i.FACILITY_ID IS NULL)) AND CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END=:facility)), I AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END) AS ItemKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, COUNT_BIG(*) AS LocalCopies, MAX(i.GlobalCopies) AS GlobalCopies, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.INVENTORY_ITEM_ID) ELSE NULL END AS INVENTORY_ITEM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_RECEIVED) ELSE NULL END AS DATETIME_RECEIVED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.DATETIME_MANUFACTURED) ELSE NULL END AS DATETIME_MANUFACTURED, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.EXPIRE_DATE) ELSE NULL END AS EXPIRE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOT_ID) ELSE NULL END AS LOT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.BIN_NUMBER) ELSE NULL END AS BIN_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.LOCATION_SEQ_ID) ELSE NULL END AS LOCATION_SEQ_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.QUANTITY_ON_HAND_TOTAL) ELSE NULL END AS QUANTITY_ON_HAND_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.AVAILABLE_TO_PROMISE_TOTAL) ELSE NULL END AS AVAILABLE_TO_PROMISE_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.ACCOUNTING_QUANTITY_TOTAL) ELSE NULL END AS ACCOUNTING_QUANTITY_TOTAL, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.SERIAL_NUMBER) ELSE NULL END AS SERIAL_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.UNIT_COST) ELSE NULL END AS UNIT_COST, CASE WHEN COUNT_BIG(*)=1 AND MAX(i.GlobalCopies)=1 THEN MAX(i.CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CONCAT(CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), N'|I|', CASE WHEN i.INVENTORY_ITEM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), G AS (SELECT CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) AS GroupKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FacilityKey, CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END AS FACILITY_IDKey, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END AS PRODUCT_IDKey, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END AS OWNER_PARTY_IDKey, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END AS INVENTORY_ITEM_TYPE_IDKey, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END AS STATUS_IDKey, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END AS UOM_IDKey, MAX(i.PRODUCT_ID) AS SourceProductReference, MAX(i.UOM_ID) AS SourceUnitCode, CONVERT(nvarchar(100), COUNT_BIG(*)) AS [Rows], CONVERT(nvarchar(100), SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)) AS InvalidRows, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.QUANTITY_ON_HAND_TOTAL)) ELSE NULL END AS Qoh, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.AVAILABLE_TO_PROMISE_TOTAL)) ELSE NULL END AS Atp, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN CONVERT(nvarchar(100), SUM(i.ACCOUNTING_QUANTITY_TOTAL)) ELSE NULL END AS AccountingQty, CASE WHEN SUM(CASE WHEN i.GlobalCopies<>1 THEN 1 ELSE 0 END)=0 AND COUNT(i.PRODUCT_ID)=COUNT_BIG(*) AND COUNT(i.UOM_ID)=COUNT_BIG(*) AND COUNT(i.QUANTITY_ON_HAND_TOTAL)=COUNT_BIG(*) AND COUNT(i.AVAILABLE_TO_PROMISE_TOTAL)=COUNT_BIG(*) AND COUNT(i.ACCOUNTING_QUANTITY_TOTAL)=COUNT_BIG(*) THEN N'All stored quantities present' ELSE N'Unknown product, unit, quantity or invalid inventory identity; no partial total' END AS QuantityCompleteness FROM IB i GROUP BY CONCAT(N'G', N'|', CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, N'|', CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, N'|', CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, N'|', CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, N'|', CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, N'|', CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END), CASE WHEN i.FACILITY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.FACILITY_ID)), 2)) END, CASE WHEN i.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.PRODUCT_ID)), 2)) END, CASE WHEN i.OWNER_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.OWNER_PARTY_ID)), 2)) END, CASE WHEN i.INVENTORY_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVENTORY_ITEM_TYPE_ID)), 2)) END, CASE WHEN i.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.STATUS_ID)), 2)) END, CASE WHEN i.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.UOM_ID)), 2)) END) SELECT i.FacilityKey AS FacilityKey, i.GroupKey AS GroupKey, i.ItemKey AS ItemKey, P.PRODUCT_ID AS PRODUCT_ID, P.PRODUCT_NAME AS PRODUCT_NAME, P.INTERNAL_NAME AS INTERNAL_NAME, P.BRAND_NAME AS BRAND_NAME, P.DESCRIPTION AS DESCRIPTION, CONVERT(nvarchar(100), P.INTRODUCTION_DATE, 126) AS INTRODUCTION_DATE, CONVERT(nvarchar(100), P.RELEASE_DATE, 126) AS RELEASE_DATE, CONVERT(nvarchar(100), P.SALES_DISCONTINUATION_DATE, 126) AS SALES_DISCONTINUATION_DATE, CONVERT(nvarchar(100), P.SUPPORT_DISCONTINUATION_DATE, 126) AS SUPPORT_DISCONTINUATION_DATE, P.INVENTORY_MESSAGE AS INVENTORY_MESSAGE, P.REQUIRE_INVENTORY AS REQUIRE_INVENTORY, CONVERT(nvarchar(100), P.QUANTITY_INCLUDED) AS QUANTITY_INCLUDED, P.QUANTITY_UOM_ID AS QUANTITY_UOM_ID, CONVERT(nvarchar(100), P.PIECES_INCLUDED) AS PIECES_INCLUDED, CONVERT(nvarchar(100), P.PRODUCT_WEIGHT) AS PRODUCT_WEIGHT, CONVERT(nvarchar(100), P.SHIPPING_WEIGHT) AS SHIPPING_WEIGHT, P.WEIGHT_UOM_ID AS WEIGHT_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_HEIGHT) AS PRODUCT_HEIGHT, CONVERT(nvarchar(100), P.SHIPPING_HEIGHT) AS SHIPPING_HEIGHT, P.HEIGHT_UOM_ID AS HEIGHT_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_WIDTH) AS PRODUCT_WIDTH, CONVERT(nvarchar(100), P.SHIPPING_WIDTH) AS SHIPPING_WIDTH, P.WIDTH_UOM_ID AS WIDTH_UOM_ID, CONVERT(nvarchar(100), P.PRODUCT_DEPTH) AS PRODUCT_DEPTH, CONVERT(nvarchar(100), P.SHIPPING_DEPTH) AS SHIPPING_DEPTH, P.DEPTH_UOM_ID AS DEPTH_UOM_ID, P.RETURNABLE AS RETURNABLE, P.TAXABLE AS TAXABLE, P.CHARGE_SHIPPING AS CHARGE_SHIPPING, P.INCLUDE_IN_PROMOTIONS AS INCLUDE_IN_PROMOTIONS, P.IS_VIRTUAL AS IS_VIRTUAL, P.IS_VARIANT AS IS_VARIANT, P.ORDER_DECIMAL_QUANTITY AS ORDER_DECIMAL_QUANTITY FROM I i INNER JOIN P ON P.LookupKey=i.PRODUCT_IDKey AND P.LookupRows=1 WHERE i.ItemKey=:item_key AND i.GroupKey=:group_key AND i.LocalCopies=1 AND i.GlobalCopies=1",
"tableName": ""
}
],
"pages": [
{
"actions": [
{
"id": "022B5330-7EB8-5440-A100-E6D976CE1819",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "2855396E-D11C-5788-BF41-451624E25B1B",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "4181B5FB-1904-5A52-AC9A-57325FD2EF3B",
"title": "Products and stock contexts",
"urlKey": ""
}
],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "FacilityOwner",
"label": "Facility owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "FacilitySize",
"label": "Facility size — not capacity remaining",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "FacilitySizeUnit",
"label": "Facility-size unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "DefaultShipDays",
"label": "Default days to ship — not a delivery promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "7B354FC5-17DD-5282-8067-992768425A98",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilityReference",
"label": "Facility reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilityOwner",
"label": "Facility owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilitySize",
"label": "Facility size — not capacity remaining",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilitySizeUnit",
"label": "Facility-size unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "DefaultShipDays",
"label": "Default days to ship — not a delivery promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "Opened",
"label": "Facility opened — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "Closed",
"label": "Facility closed — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilityDescription",
"label": "Facility description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Facility settings — not stock",
"detailRole": "information",
"isVisible": true,
"key": "FacilityState",
"label": "Facility master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "2D441118-963A-5421-9A7D-0AFD97B324B5",
"openFilters": [
{
"datePeriodOptions": [
"today",
"currentMonth",
"last7Days",
"last30Days",
"last90Days"
],
"id": "68FC591C-1D31-5B90-ADDC-91889761C3DD",
"includeAllOption": false,
"key": "ScopeStart",
"title": "Movement period — stock remains current, not an as-of balance",
"type": "date"
}
],
"pageSize": 100,
"requiresOpeningFilterSelection": true,
"showOnHome": true,
"sortRules": [
{
"direction": "ascending",
"id": "CE0A66E7-464C-5EEE-82B3-B3162DE60E87",
"key": "Warehouse",
"type": "text"
},
{
"direction": "ascending",
"id": "47BB46AE-9DC5-51B8-954B-62044266F937",
"key": "FacilityKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "FacilityReference",
"systemImage": "shippingbox",
"title": "Facilities and warehouses",
"titleKey": "Warehouse"
},
{
"actions": [
{
"id": "9A74C410-A991-56F4-ADCD-2A92DCD28C63",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "5AE0B940-549B-5B96-8CF4-2D1801AB00F9",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"title": "Inventory records",
"urlKey": ""
}
],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Owner",
"label": "Inventory owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Rows",
"label": "Source records in this context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "4181B5FB-1904-5A52-AC9A-57325FD2EF3B",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Product",
"label": "Product",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Reference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Brand",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Owner",
"label": "Inventory owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "InventoryType",
"label": "Inventory type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "UnitCode",
"label": "Inventory source-unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "AccountingQty",
"label": "Stored accounting quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "Rows",
"label": "Source records in this context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "InvalidRows",
"label": "Records with invalid inventory identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "QuantityCompleteness",
"label": "Quantity completeness",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored quantities in one exact inventory context",
"detailRole": "information",
"isVisible": true,
"key": "ProductState",
"label": "Product master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "2F71F4B9-B960-5F75-ABD5-75CAA7D80700",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "7F6F0AA3-A524-5A55-B19B-0A0D42D0D461",
"key": "Product",
"type": "text"
},
{
"direction": "ascending",
"id": "F034477F-FE3B-5336-9755-D632F3B37DA0",
"key": "GroupKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "Reference",
"systemImage": "shippingbox",
"title": "Stock by product and context",
"titleKey": "Product"
},
{
"actions": [
{
"id": "4E21AA04-4333-5383-910D-516A31864DE9",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "461ADC9E-1A7E-511A-A072-BEB005068F94",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "A2BF48AE-5D1B-53D3-95D2-1258F617E0D5",
"title": "Movements",
"urlKey": ""
},
{
"id": "BA5AE002-9E93-5015-BD95-626BBC4FAFF7",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "12CE6E41-B75B-559B-9D5B-BCEE41011FF6",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "76ECD865-87FE-5E6C-81E7-01176E7691BB",
"title": "Product dossier",
"urlKey": ""
}
],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Serial",
"label": "Serial number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Bin",
"label": "Bin number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Product",
"label": "Product",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Reference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Warehouse",
"label": "Facility / warehouse",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Owner",
"label": "Inventory owner",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "InventoryType",
"label": "Inventory type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Stored inventory status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "StockUnit",
"label": "Inventory unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "UnitCode",
"label": "Inventory source-unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Lot",
"label": "Lot register reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Serial",
"label": "Serial number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Bin",
"label": "Bin number",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Area",
"label": "Storage area",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Aisle",
"label": "Storage aisle",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Section",
"label": "Storage section",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Level",
"label": "Storage level",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "Position",
"label": "Storage position",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Received",
"label": "Received — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Manufactured",
"label": "Manufactured — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Expires",
"label": "Expires — source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "Qoh",
"label": "Stored on-hand quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "Atp",
"label": "Stored available-to-promise",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "AccountingQty",
"label": "Stored accounting quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "UnitCost",
"label": "Current record unit cost — currency below",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current record quantities and currency",
"detailRole": "information",
"isVisible": true,
"key": "Currency",
"label": "Current unit-cost currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current storage location — facility + location key",
"detailRole": "information",
"isVisible": true,
"key": "LocationState",
"label": "Storage-location master check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "IdentityState",
"label": "Inventory identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current inventory record",
"detailRole": "information",
"isVisible": true,
"key": "Copies",
"label": "Exact copies of this inventory identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "6134EB59-2071-5A20-859D-2470E59B3498",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "7F6F0AA3-A524-5A55-B19B-0A0D42D0D461",
"key": "Product",
"type": "text"
},
{
"direction": "ascending",
"id": "414072F2-5671-5196-A2EB-CF7B4393AEEC",
"key": "ItemKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "Lot",
"systemImage": "shippingbox",
"title": "Inventory records and locations",
"titleKey": "Product"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "QohDiff",
"label": "On-hand quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "AtpDiff",
"label": "Available-to-promise change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "AccountingDiff",
"label": "Accounting quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "OrderReference",
"label": "Order reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "ShipmentReference",
"label": "Shipment reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "A2BF48AE-5D1B-53D3-95D2-1258F617E0D5",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "Reason",
"label": "Movement / reason",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "SourceDate",
"label": "Effective source date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "MovementDescription",
"label": "Movement description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "QohDiff",
"label": "On-hand quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "AtpDiff",
"label": "Available-to-promise change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "AccountingDiff",
"label": "Accounting quantity change",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "OrderReference",
"label": "Order reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "ShipmentReference",
"label": "Shipment reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "ReturnReference",
"label": "Return reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "WorkReference",
"label": "Work-effort reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "ReceiptReference",
"label": "Receipt reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "CountReference",
"label": "Physical inventory reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "CurrentUnit",
"label": "Current item unit — not historical",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored movement — not a historical balance",
"detailRole": "information",
"isVisible": true,
"key": "MovementState",
"label": "Movement identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "0599026E-BD75-5EB6-B562-C6C16D43CD44",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "descending",
"id": "68DDE4E0-FE77-52FC-9A4F-AD1F392BF994",
"key": "EffectiveDate",
"type": "date"
},
{
"direction": "ascending",
"id": "3A359890-D23E-53B8-B412-0A891F86A176",
"key": "MovementKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "SourceDate",
"systemImage": "shippingbox",
"title": "Inventory movements",
"titleKey": "Reason"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "76ECD865-87FE-5E6C-81E7-01176E7691BB",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_ID",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_NAME",
"label": "Product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "INTERNAL_NAME",
"label": "Internal product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "INTRODUCTION_DATE",
"label": "Introduction date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "RELEASE_DATE",
"label": "Release date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "SALES_DISCONTINUATION_DATE",
"label": "Sales discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "SUPPORT_DISCONTINUATION_DATE",
"label": "Support discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Inventory controls — not stock",
"detailRole": "information",
"isVisible": true,
"key": "INVENTORY_MESSAGE",
"label": "Inventory message — not stock",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Inventory controls — not stock",
"detailRole": "information",
"isVisible": true,
"key": "REQUIRE_INVENTORY",
"label": "Inventory required — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "QUANTITY_INCLUDED",
"label": "Quantity in each piece",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "QUANTITY_UOM_ID",
"label": "Quantity unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_WEIGHT",
"label": "Product weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_WEIGHT",
"label": "Shipping weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "WEIGHT_UOM_ID",
"label": "Weight unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_HEIGHT",
"label": "Product height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_HEIGHT",
"label": "Shipping height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "HEIGHT_UOM_ID",
"label": "Height unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_WIDTH",
"label": "Product width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_WIDTH",
"label": "Shipping width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "WIDTH_UOM_ID",
"label": "Width unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_DEPTH",
"label": "Product depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_DEPTH",
"label": "Shipping depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "DEPTH_UOM_ID",
"label": "Depth unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "TAXABLE",
"label": "Taxable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "CHARGE_SHIPPING",
"label": "Charge shipping — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "INCLUDE_IN_PROMOTIONS",
"label": "Include in promotions — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "IS_VIRTUAL",
"label": "Virtual product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "ORDER_DECIMAL_QUANTITY",
"label": "Decimal orders — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "DD4B0CFA-2172-5F96-B75E-527BFE6E53E9",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "D91F3596-4BE8-5B0B-9129-D93E911F3D8C",
"key": "PRODUCT_NAME",
"type": "text"
},
{
"direction": "ascending",
"id": "414072F2-5671-5196-A2EB-CF7B4393AEEC",
"key": "ItemKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "PRODUCT_ID",
"systemImage": "shippingbox",
"title": "Product dossier",
"titleKey": "PRODUCT_NAME"
}
],
"relations": [
{
"childDatasetID": "4181B5FB-1904-5A52-AC9A-57325FD2EF3B",
"childKey": "FacilityKey",
"id": "2855396E-D11C-5788-BF41-451624E25B1B",
"name": "Products and stock contexts",
"parentDatasetID": "7B354FC5-17DD-5282-8067-992768425A98",
"parentKey": "FacilityKey"
},
{
"childDatasetID": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"childKey": "GroupKey",
"id": "5AE0B940-549B-5B96-8CF4-2D1801AB00F9",
"name": "Inventory records",
"parentDatasetID": "4181B5FB-1904-5A52-AC9A-57325FD2EF3B",
"parentKey": "GroupKey"
},
{
"childDatasetID": "A2BF48AE-5D1B-53D3-95D2-1258F617E0D5",
"childKey": "MovementContextKey",
"id": "461ADC9E-1A7E-511A-A072-BEB005068F94",
"name": "Movements",
"parentDatasetID": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"parentKey": "MovementContextKey"
},
{
"childDatasetID": "76ECD865-87FE-5E6C-81E7-01176E7691BB",
"childKey": "ItemKey",
"id": "12CE6E41-B75B-559B-9D5B-BCEE41011FF6",
"name": "Product dossier",
"parentDatasetID": "E6FA4D65-4337-5407-BD1A-EF57CA341083",
"parentKey": "ItemKey"
}
],
"widgets": []
}
},
"format": "cifru-configuration-package",
"formatVersion": 1,
"manifest": {
"applicationName": "Apache OFBiz",
"changelog": "First Pro facility-stock dossier: five screens, four lazy actions,100 useful Detail positions, inherited movement period and eight native fictional screenshots. Not tested on a real OFBiz installation.",
"configurationLanguages": [
"en"
],
"countries": [
"US"
],
"createdAt": "2026-10-11T00:00:00Z",
"description": "UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.\n\nFor warehouse, purchasing, sales and management teams: choose a facility, inspect product stock contexts, then open inventory records with lot/serial, storage positions, received/manufactured/expiry dates and current unit cost with currency. Choose the movement period when opening Facilities; current stock is NOT an as-of balance. Open Movements to inspect stored quantity changes and document references. Product dossier opens the complete 33-field current catalogue. All four related actions load only when opened.\n\nWhy Cifru? Adapt configurations to the way you work. Choose the fields, filters and details you need, and bring information to your phone that may not be available in your business software’s own mobile app. Available options depend on the data exposed by your authorized source and your Cifru plan.\n\nPRO: one authorised SQL Server source, five live read-only lists, one Home, same-row Details and four on-demand related actions. SELECT/WITH custom SQL; no periodic refresh, widgets or source writes. Each read is capped at 2,000 results. Search/local filters see loaded rows only. Inventory groups include the full selected facility before result capping; quantities are not a sum of a loaded page. This does not guarantee fast or cheap queries. Root facility discovery includes registered facilities, unassigned inventory and unknown facility references. Administrator-confirmed indexes, execution plans and timeouts are required.\n\nSTOCK MEANING: on-hand, available-to-promise and accounting quantities are separate stored InventoryItem values, not physical-count certification, stock valuation or the ERP sellable-availability service. Groups keep exact facility, product, inventory owner, inventory type, stored status and inventory unit. Different owners/statuses/types/units are never added together. Missing product/unit identity, a missing quantity or invalid inventory identity makes that group total unknown, not zero or a partial total. Zero and negatives remain. Serialized records are not converted into inferred quantities by counting rows; kit/BOM availability, substitutions, reservation eligibility and unit conversion services are not reimplemented. Counts are source records, not sold units. No cross-product warehouse quantity is shown.\n\nDETAILS: facility owner and inventory owner are different roles. Names/units/status/type/reason/storage lookups are one-row-or-unavailable; absent/repeated masters cannot multiply quantities. Full facility + location identity is used, never location alone. Business facility/product references and useful lot/serial references are retained; technical route keys remain hidden. Exact UTF-16-encoded keys preserve NULL, empty, spaces, case and Unicode; case/collation-mismatched master references remain unresolved, not silently normalised. Confirm source integrity/collation with the administrator. Repeated/null inventory identities have diagnostics and no chosen quantities or drill-through. Product/storage/date values remain current source values, with no invented active flag, enum meaning or timezone.\n\nMOVEMENTS: complete native identity is inventory item + detail sequence, scoped to the selected current inventory context. Date selection uses [start, exclusive end) before capping. Missing/duplicate detail identities and missing/out-of-period dates are excluded rather than arbitrarily chosen. History is retained source detail only, not a historical stock balance or historical product/owner/facility assignment. The displayed unit is explicitly the CURRENT item unit, not a certified historical unit. Movement unit cost is omitted because that detail row stores no historical currency. Current inventory record unit cost has its own current currency; no totals, currency conversions or comparisons across currencies are made. If the current item moves or its context changes between reads, reload the parent; old route parameters must not expose another context. Referenced order/shipment/return/count values are stored references only, not new joined document details.\n\nPREREQUISITES: Apache OFBiz 24.09.07 official ordinary models, literal Java physical naming and mssql type file pinned at 42819e5ae1d5339d3a204ac06b43e69d46a9c0ae. Existing dbo objects are explicit adapter requirements, not proof of your installed owner/DDL/keys. The vendor supports SQL Server, but the shipped default is Derby; this is not a Derby/H2/PostgreSQL or derivative package. Requires SQL Server 2012+ for CONCAT/TRY_CONVERT. Confirm all selected columns, numeric/date types, complete unique non-null keys and authorised tenant/model extensions. Direct SQL does not inherit OFBiz roles or application ACLs; enforce restrictions at the source using a dedicated least-privilege SELECT login and validated TLS. Opening selections and parent predicates are not access control. No server, credentials, real rows, accounts, grants, installed objects or vendor read/write-service execution are supplied.\n\nVALIDATION: documentary and explicitly adapted offline tests are not real ERP/SQL Server/iOS, installed DDL, performance, security or purchase certification. The gallery is the reviewed native fictional demonstration. Map your authorised source, run the read/compatibility test and inspect real results before business use. Existing workspace resources count toward plan limits. Primary source: https://github.com/apache/ofbiz-framework/tree/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/datamodel/entitydef ; https://github.com/apache/ofbiz-framework/blob/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/framework/common/entitydef/entitymodel.xml\n\nPERIOD NAVIGATION: choose the movement period at the main report opening. The start and exclusive end are carried as typed, hidden values through stock contexts and inventory records. Movements uses those values without a second period dialog. Movement relation and record identities include the selected period, so previously loaded periods cannot match the new relation. To change the period, return to and reopen Facilities. Stock and the Product dossier remain current, not period-end snapshots. All five routes were demonstrated in native Cifru using wholly fictional data; not a real ERP/SQL Server or iOS execution test.\n\nGALLERY: eight original native Cifru images represent all five configured routes: facility settings, complete stock-context and inventory cards, stored totals, current quantities/cost/currency, storage positions, both final sub-buttons, the complete selected movement dossier and current product identity/lifecycle. All four related actions and100 useful Detail positions were verified across21 private PNG/XML views. The eight public images are representative, not every configured field;68 Detail positions are paired in these public views. All values are wholly fictional DEMO, not a connected OFBiz installation. No value was retouched or field removed to fit. Test transport renders missing movement references as literal null, not a production SQL NULL-conversion test. Native monthly choice is October2026; stock remains current, not an as-of balance. Pro filming entitlement is not subscription purchase certification. Original PNG/XML/input and silent RAW remain private; PNG approval does not approve the whole RAW for publication.",
"licenseCode": "Cifru-Community-1.0",
"minimumCifruVersion": "1.1.0",
"minimumPlan": "pro",
"packageID": "98E538BB-08DF-51B3-ABAD-B3B816E3A39D",
"rootButtonCount": 1,
"summary": "Facility → product stock contexts → lot/serial/storage records → period movements and full product dossier.",
"tags": [
"Apache OFBiz",
"SQL Server",
"Stock",
"Warehouse",
"Purchasing",
"Inventory movements",
"Pro"
],
"title": "Facility stock, inventory records and movements — Pro"
}
}