Supplier, remittance and order-from dossier — Pro
Primary and remittance contacts, distinct current addresses, purchasing defaults and on-demand order-from locations.
UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION. Documentary and synthetic validation only. Microsoft explicitly registers Vendor and POAddress as Dynamics SL source tables with selected migration staging fields, logical keys and supplier/order-from binding at commit e7ed235bc979c0283306e9639ff7cd22ce78341d. AL fields and keys are not installed SQL DDL. No real Dynamics SL or SQL Server installation, release, owner, indexes, execution plan or ERP permissions has been tested. Map the authorised source and complete the import read and compatibility test.
For purchasing, accounts payable, supplier support and managers: choose a supplier class, find a supplier by name or business code, inspect the primary contact and address, then the separate remittance contact and address. View native purchasing defaults and open current order-from locations only when needed, with each location's own contact, address and description.
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 source, two lists, one lazy related button and explicit read-only SQL. All 28 selected supplier fields plus three explanatory contexts, and all 14 selected order-from fields plus a scope explanation, are organised into complete same-row Details. Each live read is capped at 1,000 rows, with no automatic refresh, balance aggregation or preloading of every address. A capped list is not a company total. Identity checks can scan beyond the visible cap; installed performance must be measured and the administrator-approved source narrowed if necessary.
Supplier codes preserve leading zeroes and internal characters; only row-key right-padding is normalised. An order-from row requires both VendId and OrdFromId. Invalid, blank, oversized or duplicate identities fail closed, never choosing the first row. Ambiguous child identities block that supplier's related read, not other valid suppliers. The child query rechecks every selected parent value; refresh the supplier list if its source record changed.
Primary, remittance and order-from masters are distinct current records, not historical purchase-document addresses. Vendor status I is documented as inactive; other statuses remain native codes. POAddress is not SOAddress and has no selected Status, site or freight columns. Class, terms, default order-from, currency and rate type stay native settings, not guessed lookup descriptions, ISO currency guarantees, balances, conversion rates or payment instructions. No bank, tax-registration/1099, direct-deposit, withholding, audit or custom/future fields are included. Original supplier and remittance names remain as stored: no silent migration NameFlip, trimming or name truncation. NULL/empty values remain empty.
Use the authorised SL business database, not its system database or a Business Central migration destination. dbo is only the proposed owner; verify it and the installed edition. Do not invent a CpnyID column on these masters or treat migration Data Per Company as source row security. A separate administrator-approved least-privilege reporting login must have SELECT only on permitted data. Direct SQL does not inherit ERP sessions, company restrictions or role permissions. UI filters and hidden keys are not access control. Never copy migration sysadmin/db_owner requirements to the reporting account.
No host, username, password or live business rows are embedded. Ordinary contacts and remittance records can nevertheless be confidential. Native screenshots use wholly fictional DEMO data and synthetic transport, not a live SL connection. Unofficial, not endorsed by Microsoft. SL is a distinct legacy installed-base product, not GP, AX or Business Central. Microsoft lists extended support ending in July 2028; check the installed edition and lifecycle. No current top-three ranking or absence of a native mobile offering is claimed.
Source registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al
Supplier source fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendor.Table.al
Order-from source fields and logical key: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOAddress.Table.al
Documented supplier/address binding: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al
Functional context: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/migrate-dynamics-sl
Lifecycle: https://learn.microsoft.com/en-us/lifecycle/products/dynamics-sl-2018
Screenshots
What this package creates
- Home: Suppliers
- Details: Order-from addresses
- Sub-button: Order-from addresses
Sources are mapped locally and verified before applying.
Custom queriesPRO2 SQL
Custom queries are a PRO feature. Cifru repeats read-only validation against the local source before execution.
$.components.workspaceSelection.datasets.0.sqlQuerySELECT RTRIM(CAST(m.VendId AS nvarchar(max))) AS VendId,m.Name AS Name,m.ClassID AS ClassID,m.Status AS Status,m.Attn AS Attn,m.Phone AS Phone,m.Fax AS Fax,m.EMailAddr AS EMailAddr,m.Addr1 AS Addr1,m.Addr2 AS Addr2,m.City AS City,m.State AS State,m.Zip AS Zip,m.Country AS Country,m.DfltOrdFromId AS DfltOrdFromId,m.Terms AS Terms,m.CuryId AS CuryId,m.CuryRateType AS CuryRateType,m.RemitName AS RemitName,m.RemitAttn AS RemitAttn,m.RemitPhone AS RemitPhone,m.RemitFax AS RemitFax,m.RemitAddr1 AS RemitAddr1,m.RemitAddr2 AS RemitAddr2,m.RemitCity AS RemitCity,m.RemitState AS RemitState,m.RemitZip AS RemitZip,m.RemitCountry AS RemitCountry,CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END) AS SupplierContext,CASE WHEN (RTRIM(CAST(m.Status AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'I' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.Status AS nvarchar(max))))=DATALENGTH(N'I')) THEN N'Inactive (stored I)' ELSE N'Other stored code — see Details' END AS SupplierStatusContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND ((bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.OrdFromId IS NULL OR RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))) HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid order-from IDs' WHEN EXISTS (SELECT 1 FROM dbo.POAddress a WHERE (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max)))))) THEN N'Available on demand' ELSE N'No stored order-from addresses' END AS OrderFromAvailability,N'Current supplier and remittance defaults; not a historical document snapshot' AS MasterScope FROM dbo.Vendor m WHERE NOT EXISTS (SELECT 1 FROM dbo.Vendor bad WHERE (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30)) AND NOT EXISTS (SELECT 1 FROM dbo.Vendor bad GROUP BY CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))) HAVING COUNT(1)<>1)
static read-only checks passed
$.components.workspaceSelection.datasets.1.sqlQuerySELECT CONCAT(CASE WHEN RTRIM(CAST(a.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.OrdFromId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS nvarchar(max)),N';') END) AS OrderFromKey,:supplierContext AS SupplierContext,RTRIM(CAST(a.VendId AS nvarchar(max))) AS VendId,RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS OrdFromId,a.Name AS Name,a.Descr AS Descr,a.Attn AS Attn,a.Phone AS Phone,a.Fax AS Fax,a.EMailAddr AS EMailAddr,a.Addr1 AS Addr1,a.Addr2 AS Addr2,a.City AS City,a.State AS State,a.Zip AS Zip,a.Country AS Country,N'Current order-from master; not an address stored on a past purchase document' AS OrderFromScope FROM dbo.POAddress a WHERE (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND ((bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.OrdFromId IS NULL OR RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))) HAVING COUNT(1)<>1) AND EXISTS (SELECT 1 FROM dbo.Vendor m WHERE NOT EXISTS (SELECT 1 FROM dbo.Vendor bad WHERE (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30)) AND NOT EXISTS (SELECT 1 FROM dbo.Vendor bad GROUP BY CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))) HAVING COUNT(1)<>1) AND (RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND (CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:supplierContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END))=DATALENGTH(:supplierContext)))
static read-only checks passed
View the JSON being importedcollapsed by default
{
"components": {
"sourceSlots": [
{
"displayName": "Dynamics SL — authorised SQL business database",
"id": "D4D4C292-6A57-5848-851A-718DDD37E82D",
"kind": "sqlServer",
"requiredObjects": [
"dbo.Vendor",
"dbo.POAddress"
],
"requiresCustomSQL": false
}
],
"workspaceSelection": {
"commonFields": [],
"datasets": [
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "F5704292-0D46-53B6-A7FA-C8450E931C6B",
"key": "Name",
"type": "text"
},
{
"direction": "ascending",
"id": "BBD41D67-D82B-589B-86AB-05EB2545DE23",
"key": "VendId",
"type": "text"
}
],
"id": "FE0233C3-451C-5316-B022-2636E76320F0",
"mappings": [
{
"commonFieldKey": "",
"key": "SupplierContext",
"label": "Internal complete source-row context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SupplierContext",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "VendId",
"label": "Supplier business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "VendId",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Name",
"label": "Supplier name — original stored format",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Name",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ClassID",
"label": "Supplier class code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ClassID",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Status",
"label": "Stored supplier status code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Status",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Attn",
"label": "Primary contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Attn",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Phone",
"label": "Primary phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Phone",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Fax",
"label": "Primary fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Fax",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EMailAddr",
"label": "Primary email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EMailAddr",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Addr1",
"label": "Master address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Addr1",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Addr2",
"label": "Master address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Addr2",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "City",
"label": "Master city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "City",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "State",
"label": "Master state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "State",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Zip",
"label": "Master postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Zip",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Country",
"label": "Master country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Country",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "DfltOrdFromId",
"label": "Default order-from business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DfltOrdFromId",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Terms",
"label": "Payment terms code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Terms",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "CuryId",
"label": "Native supplier currency setting",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CuryId",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CuryRateType",
"label": "Exchange-rate type code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CuryRateType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitName",
"label": "Remittance name — original stored format",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitName",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitAttn",
"label": "Remittance contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitAttn",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitPhone",
"label": "Remittance phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitPhone",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitFax",
"label": "Remittance fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitFax",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitAddr1",
"label": "Remittance address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitAddr1",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitAddr2",
"label": "Remittance address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitAddr2",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitCity",
"label": "Remittance city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitCity",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitState",
"label": "Remittance state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitZip",
"label": "Remittance postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitZip",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RemitCountry",
"label": "Remittance country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RemitCountry",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SupplierStatusContext",
"label": "Documented inactive context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SupplierStatusContext",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "OrderFromAvailability",
"label": "Order-from identity availability",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OrderFromAvailability",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "MasterScope",
"label": "Current master / remittance scope",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "MasterScope",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 1000,
"name": "Supplier and remittance dossier",
"primaryKey": "VendId",
"queryParameters": [],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"VendId",
"Name",
"ClassID",
"Status",
"Attn",
"Phone",
"Fax",
"EMailAddr",
"Addr1",
"Addr2",
"City",
"State",
"Zip",
"Country",
"DfltOrdFromId",
"Terms",
"CuryId",
"CuryRateType",
"RemitName",
"RemitAttn",
"RemitPhone",
"RemitFax",
"RemitAddr1",
"RemitAddr2",
"RemitCity",
"RemitState",
"RemitZip",
"RemitCountry",
"SupplierStatusContext",
"OrderFromAvailability",
"MasterScope"
],
"sourceID": "D4D4C292-6A57-5848-851A-718DDD37E82D",
"sqlQuery": "SELECT RTRIM(CAST(m.VendId AS nvarchar(max))) AS VendId,m.Name AS Name,m.ClassID AS ClassID,m.Status AS Status,m.Attn AS Attn,m.Phone AS Phone,m.Fax AS Fax,m.EMailAddr AS EMailAddr,m.Addr1 AS Addr1,m.Addr2 AS Addr2,m.City AS City,m.State AS State,m.Zip AS Zip,m.Country AS Country,m.DfltOrdFromId AS DfltOrdFromId,m.Terms AS Terms,m.CuryId AS CuryId,m.CuryRateType AS CuryRateType,m.RemitName AS RemitName,m.RemitAttn AS RemitAttn,m.RemitPhone AS RemitPhone,m.RemitFax AS RemitFax,m.RemitAddr1 AS RemitAddr1,m.RemitAddr2 AS RemitAddr2,m.RemitCity AS RemitCity,m.RemitState AS RemitState,m.RemitZip AS RemitZip,m.RemitCountry AS RemitCountry,CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END) AS SupplierContext,CASE WHEN (RTRIM(CAST(m.Status AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'I' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.Status AS nvarchar(max))))=DATALENGTH(N'I')) THEN N'Inactive (stored I)' ELSE N'Other stored code — see Details' END AS SupplierStatusContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) AND ((bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.OrdFromId IS NULL OR RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))) HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid order-from IDs' WHEN EXISTS (SELECT 1 FROM dbo.POAddress a WHERE (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max)))))) THEN N'Available on demand' ELSE N'No stored order-from addresses' END AS OrderFromAvailability,N'Current supplier and remittance defaults; not a historical document snapshot' AS MasterScope FROM dbo.Vendor m WHERE NOT EXISTS (SELECT 1 FROM dbo.Vendor bad WHERE (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30)) AND NOT EXISTS (SELECT 1 FROM dbo.Vendor bad GROUP BY CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))) HAVING COUNT(1)<>1)",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "22319CBA-88B3-5671-A5CA-D7AF97F83AB5",
"key": "OrdFromId",
"type": "text"
}
],
"id": "A947DD46-0FD9-529A-9AC4-C5BC1598050D",
"mappings": [
{
"commonFieldKey": "",
"key": "OrderFromKey",
"label": "Internal complete source-row context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OrderFromKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SupplierContext",
"label": "Internal complete source-row context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SupplierContext",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "VendId",
"label": "Supplier business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "VendId",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "OrdFromId",
"label": "Order-from business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OrdFromId",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Name",
"label": "Stored order-from name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Name",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Descr",
"label": "Order-from description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Descr",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Attn",
"label": "Order-from contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Attn",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Phone",
"label": "Order-from phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Phone",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Fax",
"label": "Order-from fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Fax",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EMailAddr",
"label": "Order-from email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EMailAddr",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Addr1",
"label": "Order-from address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Addr1",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Addr2",
"label": "Order-from address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Addr2",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "City",
"label": "Order-from city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "City",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "State",
"label": "Order-from state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "State",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Zip",
"label": "Order-from postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Zip",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Country",
"label": "Order-from country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Country",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "OrderFromScope",
"label": "Current order-from scope",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OrderFromScope",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 1000,
"name": "Supplier order-from addresses",
"primaryKey": "OrderFromKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "VendId",
"id": "0335C2F4-36C8-58B1-91F1-A3274827AE58",
"name": "supplier",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SupplierContext",
"id": "A72C1B38-59BB-5015-A6BD-D1446936F75D",
"name": "supplierContext",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"VendId",
"OrdFromId",
"Name",
"Descr",
"Attn",
"Phone",
"Fax",
"EMailAddr",
"Addr1",
"Addr2",
"City",
"State",
"Zip",
"Country",
"OrderFromScope"
],
"sourceID": "D4D4C292-6A57-5848-851A-718DDD37E82D",
"sqlQuery": "SELECT CONCAT(CASE WHEN RTRIM(CAST(a.VendId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.VendId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.VendId AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.OrdFromId AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS nvarchar(max)),N';') END) AS OrderFromKey,:supplierContext AS SupplierContext,RTRIM(CAST(a.VendId AS nvarchar(max))) AS VendId,RTRIM(CAST(a.OrdFromId AS nvarchar(max))) AS OrdFromId,a.Name AS Name,a.Descr AS Descr,a.Attn AS Attn,a.Phone AS Phone,a.Fax AS Fax,a.EMailAddr AS EMailAddr,a.Addr1 AS Addr1,a.Addr2 AS Addr2,a.City AS City,a.State AS State,a.Zip AS Zip,a.Country AS Country,N'Current order-from master; not an address stored on a past purchase document' AS OrderFromScope FROM dbo.POAddress a WHERE (RTRIM(CAST(a.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND ((bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30) OR (bad.OrdFromId IS NULL OR RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))))>20))) AND NOT EXISTS (SELECT 1 FROM dbo.POAddress bad WHERE (RTRIM(CAST(bad.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.OrdFromId AS nvarchar(max))) AS nvarchar(10)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.OrdFromId AS nvarchar(max)))) HAVING COUNT(1)<>1) AND EXISTS (SELECT 1 FROM dbo.Vendor m WHERE NOT EXISTS (SELECT 1 FROM dbo.Vendor bad WHERE (bad.VendId IS NULL OR RTRIM(CAST(bad.VendId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max))))>30)) AND NOT EXISTS (SELECT 1 FROM dbo.Vendor bad GROUP BY CAST(RTRIM(CAST(bad.VendId AS nvarchar(max))) AS nvarchar(15)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.VendId AS nvarchar(max)))) HAVING COUNT(1)<>1) AND (RTRIM(CAST(m.VendId AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:supplier AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.VendId AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:supplier AS nvarchar(max))))) AND (CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:supplierContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN m.VendId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.VendId AS nvarchar(max))),N':',CAST(m.VendId AS nvarchar(max)),N';') END,CASE WHEN m.Name IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Name AS nvarchar(max))),N':',CAST(m.Name AS nvarchar(max)),N';') END,CASE WHEN m.ClassID IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.ClassID AS nvarchar(max))),N':',CAST(m.ClassID AS nvarchar(max)),N';') END,CASE WHEN m.Status IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Status AS nvarchar(max))),N':',CAST(m.Status AS nvarchar(max)),N';') END,CASE WHEN m.Attn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Attn AS nvarchar(max))),N':',CAST(m.Attn AS nvarchar(max)),N';') END,CASE WHEN m.Phone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Phone AS nvarchar(max))),N':',CAST(m.Phone AS nvarchar(max)),N';') END,CASE WHEN m.Fax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Fax AS nvarchar(max))),N':',CAST(m.Fax AS nvarchar(max)),N';') END,CASE WHEN m.EMailAddr IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.EMailAddr AS nvarchar(max))),N':',CAST(m.EMailAddr AS nvarchar(max)),N';') END,CASE WHEN m.Addr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr1 AS nvarchar(max))),N':',CAST(m.Addr1 AS nvarchar(max)),N';') END,CASE WHEN m.Addr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Addr2 AS nvarchar(max))),N':',CAST(m.Addr2 AS nvarchar(max)),N';') END,CASE WHEN m.City IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.City AS nvarchar(max))),N':',CAST(m.City AS nvarchar(max)),N';') END,CASE WHEN m.State IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.State AS nvarchar(max))),N':',CAST(m.State AS nvarchar(max)),N';') END,CASE WHEN m.Zip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Zip AS nvarchar(max))),N':',CAST(m.Zip AS nvarchar(max)),N';') END,CASE WHEN m.Country IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Country AS nvarchar(max))),N':',CAST(m.Country AS nvarchar(max)),N';') END,CASE WHEN m.DfltOrdFromId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.DfltOrdFromId AS nvarchar(max))),N':',CAST(m.DfltOrdFromId AS nvarchar(max)),N';') END,CASE WHEN m.Terms IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.Terms AS nvarchar(max))),N':',CAST(m.Terms AS nvarchar(max)),N';') END,CASE WHEN m.CuryId IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryId AS nvarchar(max))),N':',CAST(m.CuryId AS nvarchar(max)),N';') END,CASE WHEN m.CuryRateType IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.CuryRateType AS nvarchar(max))),N':',CAST(m.CuryRateType AS nvarchar(max)),N';') END,CASE WHEN m.RemitName IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitName AS nvarchar(max))),N':',CAST(m.RemitName AS nvarchar(max)),N';') END,CASE WHEN m.RemitAttn IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAttn AS nvarchar(max))),N':',CAST(m.RemitAttn AS nvarchar(max)),N';') END,CASE WHEN m.RemitPhone IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitPhone AS nvarchar(max))),N':',CAST(m.RemitPhone AS nvarchar(max)),N';') END,CASE WHEN m.RemitFax IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitFax AS nvarchar(max))),N':',CAST(m.RemitFax AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr1 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr1 AS nvarchar(max))),N':',CAST(m.RemitAddr1 AS nvarchar(max)),N';') END,CASE WHEN m.RemitAddr2 IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitAddr2 AS nvarchar(max))),N':',CAST(m.RemitAddr2 AS nvarchar(max)),N';') END,CASE WHEN m.RemitCity IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCity AS nvarchar(max))),N':',CAST(m.RemitCity AS nvarchar(max)),N';') END,CASE WHEN m.RemitState IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitState AS nvarchar(max))),N':',CAST(m.RemitState AS nvarchar(max)),N';') END,CASE WHEN m.RemitZip IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitZip AS nvarchar(max))),N':',CAST(m.RemitZip AS nvarchar(max)),N';') END,CASE WHEN m.RemitCountry IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(m.RemitCountry AS nvarchar(max))),N':',CAST(m.RemitCountry AS nvarchar(max)),N';') END))=DATALENGTH(:supplierContext)))",
"tableName": ""
}
],
"pages": [
{
"actions": [
{
"id": "5C227463-D7CA-5EF7-A03C-AE81718CEC50",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "CD4EDC7D-8DC4-58B4-8F16-3451D4B7EEEE",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "A947DD46-0FD9-529A-9AC4-C5BC1598050D",
"title": "Order-from addresses",
"urlKey": ""
}
],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Attn",
"label": "Contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Phone",
"label": "Phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "EMailAddr",
"label": "Email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "City",
"label": "City",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "ClassID",
"label": "Class",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Terms",
"label": "Terms code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "SupplierStatusContext",
"label": "Supplier status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "OrderFromAvailability",
"label": "Order-from addresses",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "FE0233C3-451C-5316-B022-2636E76320F0",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Supplier identity",
"detailRole": "information",
"isVisible": true,
"key": "Name",
"label": "Supplier name — original stored format",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Supplier identity",
"detailRole": "information",
"isVisible": true,
"key": "VendId",
"label": "Supplier business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Supplier identity",
"detailRole": "information",
"isVisible": true,
"key": "ClassID",
"label": "Supplier class code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Supplier identity",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Stored supplier status code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Supplier identity",
"detailRole": "information",
"isVisible": true,
"key": "SupplierStatusContext",
"label": "Documented inactive context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Primary contact",
"detailRole": "information",
"isVisible": true,
"key": "Attn",
"label": "Primary contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Primary contact",
"detailRole": "information",
"isVisible": true,
"key": "Phone",
"label": "Primary phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Primary contact",
"detailRole": "information",
"isVisible": true,
"key": "Fax",
"label": "Primary fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Primary contact",
"detailRole": "information",
"isVisible": true,
"key": "EMailAddr",
"label": "Primary email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "Addr1",
"label": "Master address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "Addr2",
"label": "Master address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "City",
"label": "Master city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "State",
"label": "Master state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "Zip",
"label": "Master postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current master address",
"detailRole": "information",
"isVisible": true,
"key": "Country",
"label": "Master country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance identity and contact",
"detailRole": "information",
"isVisible": true,
"key": "RemitName",
"label": "Remittance name — original stored format",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance identity and contact",
"detailRole": "information",
"isVisible": true,
"key": "RemitAttn",
"label": "Remittance contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance identity and contact",
"detailRole": "information",
"isVisible": true,
"key": "RemitPhone",
"label": "Remittance phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance identity and contact",
"detailRole": "information",
"isVisible": true,
"key": "RemitFax",
"label": "Remittance fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitAddr1",
"label": "Remittance address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitAddr2",
"label": "Remittance address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitCity",
"label": "Remittance city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitState",
"label": "Remittance state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitZip",
"label": "Remittance postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current remittance address",
"detailRole": "information",
"isVisible": true,
"key": "RemitCountry",
"label": "Remittance country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing defaults — native codes",
"detailRole": "information",
"isVisible": true,
"key": "Terms",
"label": "Payment terms code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing defaults — native codes",
"detailRole": "information",
"isVisible": true,
"key": "CuryId",
"label": "Native supplier currency setting",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing defaults — native codes",
"detailRole": "information",
"isVisible": true,
"key": "CuryRateType",
"label": "Exchange-rate type code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing defaults — native codes",
"detailRole": "information",
"isVisible": true,
"key": "DfltOrdFromId",
"label": "Default order-from business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current ordering and scope",
"detailRole": "information",
"isVisible": true,
"key": "OrderFromAvailability",
"label": "Order-from identity availability",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current ordering and scope",
"detailRole": "information",
"isVisible": true,
"key": "MasterScope",
"label": "Current master / remittance scope",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "C8C4D838-B5BB-5A87-B895-BCD4A8C7C692",
"openFilters": [
{
"id": "F22B6BCE-52F9-5ED4-AF8F-E953E1E43BCC",
"includeAllOption": true,
"key": "ClassID",
"title": "Supplier class",
"type": "text"
}
],
"pageSize": 100,
"requiresOpeningFilterSelection": true,
"showOnHome": true,
"sortRules": [
{
"direction": "ascending",
"id": "F5704292-0D46-53B6-A7FA-C8450E931C6B",
"key": "Name",
"type": "text"
},
{
"direction": "ascending",
"id": "BBD41D67-D82B-589B-86AB-05EB2545DE23",
"key": "VendId",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "VendId",
"systemImage": "building.2",
"title": "Suppliers",
"titleKey": "Name"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Attn",
"label": "Contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Phone",
"label": "Phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "EMailAddr",
"label": "Email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Addr1",
"label": "Address",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "City",
"label": "City",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "State",
"label": "State / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Zip",
"label": "Postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Country",
"label": "Country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "A947DD46-0FD9-529A-9AC4-C5BC1598050D",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Order-from business identity",
"detailRole": "information",
"isVisible": true,
"key": "Name",
"label": "Stored order-from name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Order-from business identity",
"detailRole": "information",
"isVisible": true,
"key": "Descr",
"label": "Order-from description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Order-from business identity",
"detailRole": "information",
"isVisible": true,
"key": "VendId",
"label": "Supplier business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Order-from business identity",
"detailRole": "information",
"isVisible": true,
"key": "OrdFromId",
"label": "Order-from business code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing contact",
"detailRole": "information",
"isVisible": true,
"key": "Attn",
"label": "Order-from contact",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing contact",
"detailRole": "information",
"isVisible": true,
"key": "Phone",
"label": "Order-from phone",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing contact",
"detailRole": "information",
"isVisible": true,
"key": "Fax",
"label": "Order-from fax",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Purchasing contact",
"detailRole": "information",
"isVisible": true,
"key": "EMailAddr",
"label": "Order-from email",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "Addr1",
"label": "Order-from address line 1",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "Addr2",
"label": "Order-from address line 2",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "City",
"label": "Order-from city",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "State",
"label": "Order-from state / region",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "Zip",
"label": "Order-from postal code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current order-from address",
"detailRole": "information",
"isVisible": true,
"key": "Country",
"label": "Order-from country code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Scope",
"detailRole": "information",
"isVisible": true,
"key": "OrderFromScope",
"label": "Current order-from scope",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "2F0C605E-1896-5396-8BA7-8791A65D9B0B",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "22319CBA-88B3-5671-A5CA-D7AF97F83AB5",
"key": "OrdFromId",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "OrdFromId",
"systemImage": "map",
"title": "Order-from addresses",
"titleKey": "Name"
}
],
"relations": [
{
"childDatasetID": "A947DD46-0FD9-529A-9AC4-C5BC1598050D",
"childKey": "VendId",
"id": "CD4EDC7D-8DC4-58B4-8F16-3451D4B7EEEE",
"name": "Order-from addresses",
"parentDatasetID": "FE0233C3-451C-5316-B022-2636E76320F0",
"parentKey": "VendId"
}
],
"widgets": []
}
},
"format": "cifru-configuration-package",
"formatVersion": 1,
"manifest": {
"applicationName": "Microsoft Dynamics SL",
"configurationLanguages": [
"en"
],
"countries": [
"US"
],
"createdAt": "2026-10-10T00:00:00Z",
"description": "UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION. Documentary and synthetic validation only. Microsoft explicitly registers Vendor and POAddress as Dynamics SL source tables with selected migration staging fields, logical keys and supplier/order-from binding at commit e7ed235bc979c0283306e9639ff7cd22ce78341d. AL fields and keys are not installed SQL DDL. No real Dynamics SL or SQL Server installation, release, owner, indexes, execution plan or ERP permissions has been tested. Map the authorised source and complete the import read and compatibility test.\n\nFor purchasing, accounts payable, supplier support and managers: choose a supplier class, find a supplier by name or business code, inspect the primary contact and address, then the separate remittance contact and address. View native purchasing defaults and open current order-from locations only when needed, with each location's own contact, address and description.\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 source, two lists, one lazy related button and explicit read-only SQL. All 28 selected supplier fields plus three explanatory contexts, and all 14 selected order-from fields plus a scope explanation, are organised into complete same-row Details. Each live read is capped at 1,000 rows, with no automatic refresh, balance aggregation or preloading of every address. A capped list is not a company total. Identity checks can scan beyond the visible cap; installed performance must be measured and the administrator-approved source narrowed if necessary.\n\nSupplier codes preserve leading zeroes and internal characters; only row-key right-padding is normalised. An order-from row requires both VendId and OrdFromId. Invalid, blank, oversized or duplicate identities fail closed, never choosing the first row. Ambiguous child identities block that supplier's related read, not other valid suppliers. The child query rechecks every selected parent value; refresh the supplier list if its source record changed.\n\nPrimary, remittance and order-from masters are distinct current records, not historical purchase-document addresses. Vendor status I is documented as inactive; other statuses remain native codes. POAddress is not SOAddress and has no selected Status, site or freight columns. Class, terms, default order-from, currency and rate type stay native settings, not guessed lookup descriptions, ISO currency guarantees, balances, conversion rates or payment instructions. No bank, tax-registration/1099, direct-deposit, withholding, audit or custom/future fields are included. Original supplier and remittance names remain as stored: no silent migration NameFlip, trimming or name truncation. NULL/empty values remain empty.\n\nUse the authorised SL business database, not its system database or a Business Central migration destination. dbo is only the proposed owner; verify it and the installed edition. Do not invent a CpnyID column on these masters or treat migration Data Per Company as source row security. A separate administrator-approved least-privilege reporting login must have SELECT only on permitted data. Direct SQL does not inherit ERP sessions, company restrictions or role permissions. UI filters and hidden keys are not access control. Never copy migration sysadmin/db_owner requirements to the reporting account.\n\nNo host, username, password or live business rows are embedded. Ordinary contacts and remittance records can nevertheless be confidential. Native screenshots use wholly fictional DEMO data and synthetic transport, not a live SL connection. Unofficial, not endorsed by Microsoft. SL is a distinct legacy installed-base product, not GP, AX or Business Central. Microsoft lists extended support ending in July 2028; check the installed edition and lifecycle. No current top-three ranking or absence of a native mobile offering is claimed.\n\nSource registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al\nSupplier source fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendor.Table.al\nOrder-from source fields and logical key: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLPOAddress.Table.al\nDocumented supplier/address binding: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Vendors/SLVendorMigrator.Codeunit.al\nFunctional context: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/migrate-dynamics-sl\nLifecycle: https://learn.microsoft.com/en-us/lifecycle/products/dynamics-sl-2018",
"licenseCode": "Cifru-Community-1.0",
"minimumCifruVersion": "1.1.0",
"minimumPlan": "pro",
"packageID": "CAEE392D-D433-5BB0-8E3F-376C7DE3FF16",
"rootButtonCount": 1,
"summary": "Primary and remittance contacts, distinct current addresses, purchasing defaults and on-demand order-from locations.",
"tags": [
"Dynamics SL",
"SQL Server",
"Suppliers",
"Purchasing",
"Accounts payable",
"Remittance",
"Pro"
],
"title": "Supplier, remittance and order-from dossier — Pro"
}
}