Microsoft Dynamics SL

Project, address and task dossier — Pro

Company/state selection, contracts, managers, stored dates and separate project/billing contacts, with on-demand task dossiers.

UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.

For project managers, operations, customer service and accounting: select a company and project state, search a project, inspect its contract, customer code, responsibilities, stored dates, separate module settings and current project/billing contacts. Open Project tasks only when needed to inspect task descriptions, manager, dates, contract/labour codes and separate state codes.

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 SQL source, one Home button, two lists and one on-demand related button. 56 project and 20 task values in grouped Details, eight useful fields per card, Search and mandatory company opening selection plus optional project-state selection. Technical keys and parent context are hidden. Live reads cap each list at 1,000 rows, without automatic refresh or preloading every task. Identity checks may scan beyond this cap. No complete task count, financial statement, installed performance or iOS guarantee.

Own pinned Microsoft source registrations identify PJProj, PJPent and PJAddr. Migration code explicitly uses the project as Job number and filters tasks by that project. AL logical keys are project, project+task and address-kind+address-key+address-type; not invented company triples or proof of installed SQL DDL, PK/FK, types or permissions. PJPent has no selected company column: ParentCompany is explicitly inherited context, not a stored task company or an access grant. Duplicate/blank/oversized projects or invalid company codes reject the root read; ambiguous/invalid tasks block only their own project. Every selected parent/address value is revalidated losslessly before reading tasks. No arbitrary first match or silent duplicate removal.

Project and billing addresses use the separately documented PJAddr PR/project/PR and PR/project/BI keys. They are current configured project addresses, not historic document addresses or a replacement with current Customer billing data. Missing/ambiguous addresses preserve the project and tasks, with explicit context and no row multiplication.

Only project accounting status_pa A active and M planning have documented project migration context; task A has active-task migration context. Other/absent codes remain unmapped, and AP/AR/GL/inventory/labour/purchasing codes remain separate. These are not completion percentages, posting/approval promises or access-control decisions. Stored start/end dates are retained; source storage and time zone are unverified. The Microsoft migrator treats project dates in or before 1900 as absent, so verify sentinel dates in SL rather than treating them as a schedule. Tasks are current master records, not actual timesheets, resources, historical entries or a complete project timeline.

Four currency settings are separately named source codes, not ISO, validity or conversion guarantees. No guessed budgets, expenses, revenue, balances, cost/profit totals, currency symbols or rates. Customer, manager, salesperson, GL and labour-class business codes stay codes: no assumed person/customer names, permissions or custom-field meanings. Audit users, technical IDs, payroll, bank, future and untyped custom fields are omitted.

Documentary and adapted synthetic/native Cifru DEMO validation only; not tested on a real Dynamics SL/SQL Server installation. Validate edition, business database, proposed dbo owner, columns, SQL compatibility and read performance at import. Direct SQL does not inherit ERP/company roles. Company/status filters and hidden keys are not access control. Require administrator-scoped SELECT-only reporting permissions, not migration db_owner or sysadmin. Migration write code is consulted, never executed. No credentials are included. Screenshots must use entirely fictional DEMO, not a live ERP connection.

Unofficial, not Microsoft endorsed. Dynamics SL is a legacy installed-base product with extended support ending July 2028, not a measured top-three/no-mobile claim.

Primary registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al
Project fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJProjBuffer.Table.al
Task fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJPentBuffer.Table.al
Addresses: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJAddr.Table.al
Binding/status/date context: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLProjectMigrator.Codeunit.al

What this package creates

1 Home1 Details2 lists1 sources to map
  • Home: Projects and operational dossier
  • Details: Project tasks
  • Sub-button: Project tasks

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.

Statically verified read-only$.components.workspaceSelection.datasets.0.sqlQuery
SELECT RTRIM(CAST(m.project AS nvarchar(max))) AS project,m.project_desc AS project_desc,RTRIM(CAST(m.CpnyId AS nvarchar(max))) AS CpnyId,m.customer AS customer,m.contract AS contract,m.contract_type AS contract_type,m.start_date AS start_date,m.end_date AS end_date,m.manager1 AS manager1,m.manager2 AS manager2,m.purchase_order_num AS purchase_order_num,m.shiptoid AS shiptoid,m.slsperid AS slsperid,m.BaseCuryId AS BaseCuryId,m.billcuryid AS billcuryid,m.CuryId AS CuryId,m.ProjCuryId AS ProjCuryId,m.labor_gl_acct AS labor_gl_acct,m.gl_subacct AS gl_subacct,m.status_pa AS status_pa,m.status_ap AS status_ap,m.status_ar AS status_ar,m.status_gl AS status_gl,m.status_in AS status_in,m.status_lb AS status_lb,m.status_po AS status_po,pa.comp_name AS ProjectAddrcomp_name,pa.individual AS ProjectAddrindividual,pa.title AS ProjectAddrtitle,pa.addr1 AS ProjectAddraddr1,pa.addr2 AS ProjectAddraddr2,pa.city AS ProjectAddrcity,pa.state AS ProjectAddrstate,pa.zip AS ProjectAddrzip,pa.country AS ProjectAddrcountry,pa.phone AS ProjectAddrphone,pa.email AS ProjectAddremail,pa.fax AS ProjectAddrfax,ba.comp_name AS BillingAddrcomp_name,ba.individual AS BillingAddrindividual,ba.title AS BillingAddrtitle,ba.addr1 AS BillingAddraddr1,ba.addr2 AS BillingAddraddr2,ba.city AS BillingAddrcity,ba.state AS BillingAddrstate,ba.zip AS BillingAddrzip,ba.country AS BillingAddrcountry,ba.phone AS BillingAddrphone,ba.email AS BillingAddremail,ba.fax AS BillingAddrfax,CASE WHEN RTRIM(CAST(m.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.project AS nvarchar(max))) AS nvarchar(max)),N';') END AS ProjectKey,CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END) AS ProjectContext,CASE WHEN (RTRIM(CAST(m.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'A' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.status_pa AS nvarchar(max))))=DATALENGTH(N'A')) THEN N'Active in Microsoft project migration' WHEN (RTRIM(CAST(m.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'M' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.status_pa AS nvarchar(max))))=DATALENGTH(N'M')) THEN N'Planning in Microsoft project migration' ELSE N'Other / absent source code; verify in SL' END AS ProjectStateContext,CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS ProjectAddressContext,CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS BillingAddressContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND ((bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.pjt_entity IS NULL OR RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))))>64))) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))) AS nvarchar(32)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))) HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid task rows' WHEN EXISTS (SELECT 1 FROM dbo.PJPent probe WHERE (RTRIM(CAST(probe.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max)))))) THEN N'Available on demand' ELSE N'No stored task rows' END AS TaskAvailability,N'Separate stored currency codes; no financial totals or conversion' AS CurrencyScope,N'Current master and configured addresses; source dates kept, including sentinels' AS ProjectScope FROM dbo.PJProj m LEFT JOIN dbo.PJAddr pa ON (RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(pa.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND NOT (pa.addr_key_cd IS NULL OR RTRIM(CAST(pa.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))>4) AND NOT (pa.addr_key IS NULL OR RTRIM(CAST(pa.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))>96) AND NOT (pa.addr_type_cd IS NULL OR RTRIM(CAST(pa.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')))=1 LEFT JOIN dbo.PJAddr ba ON (RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(ba.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')) AND NOT (ba.addr_key_cd IS NULL OR RTRIM(CAST(ba.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))>4) AND NOT (ba.addr_key IS NULL OR RTRIM(CAST(ba.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))>96) AND NOT (ba.addr_type_cd IS NULL OR RTRIM(CAST(ba.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')))=1 WHERE NOT EXISTS (SELECT 1 FROM dbo.PJProj bad WHERE (bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.CpnyId IS NULL OR RTRIM(CAST(bad.CpnyId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyId AS nvarchar(max))))>20)) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad GROUP BY CAST(RTRIM(CAST(bad.project AS nvarchar(max))) AS nvarchar(16)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max)))) HAVING COUNT(1)<>1)

static read-only checks passed

Statically verified read-only$.components.workspaceSelection.datasets.1.sqlQuery
SELECT RTRIM(CAST(a.project AS nvarchar(max))) AS project,RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS pjt_entity,a.pjt_entity_desc AS pjt_entity_desc,a.start_date AS start_date,a.end_date AS end_date,a.contract_type AS contract_type,a.manager1 AS manager1,a.labor_class_cd AS labor_class_cd,a.fips_num AS fips_num,a.status_pa AS status_pa,a.status_ap AS status_ap,a.status_ar AS status_ar,a.status_gl AS status_gl,a.status_in AS status_in,a.status_lb AS status_lb,a.status_po AS status_po,CONCAT(CASE WHEN RTRIM(CAST(a.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.pjt_entity AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS nvarchar(max)),N';') END) AS TaskKey,CASE WHEN RTRIM(CAST(a.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max)),N';') END AS ProjectKey,:projectContext AS ProjectContext,m.project_desc AS ParentProjectName,RTRIM(CAST(m.CpnyId AS nvarchar(max))) AS ParentCompany,CASE WHEN (RTRIM(CAST(a.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'A' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.status_pa AS nvarchar(max))))=DATALENGTH(N'A')) THEN N'Active in Microsoft task migration' ELSE N'Other / absent source code; verify in SL' END AS TaskStateContext,N'Current task, not cost/profit entries; company is parent context, not a task ACL' AS TaskScope FROM dbo.PJPent a INNER JOIN dbo.PJProj m ON (RTRIM(CAST(a.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) LEFT JOIN dbo.PJAddr pa ON (RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(pa.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND NOT (pa.addr_key_cd IS NULL OR RTRIM(CAST(pa.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))>4) AND NOT (pa.addr_key IS NULL OR RTRIM(CAST(pa.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))>96) AND NOT (pa.addr_type_cd IS NULL OR RTRIM(CAST(pa.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')))=1 LEFT JOIN dbo.PJAddr ba ON (RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(ba.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')) AND NOT (ba.addr_key_cd IS NULL OR RTRIM(CAST(ba.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))>4) AND NOT (ba.addr_key IS NULL OR RTRIM(CAST(ba.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))>96) AND NOT (ba.addr_type_cd IS NULL OR RTRIM(CAST(ba.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')))=1 WHERE (RTRIM(CAST(a.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad WHERE (bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.CpnyId IS NULL OR RTRIM(CAST(bad.CpnyId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyId AS nvarchar(max))))>20)) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad GROUP BY CAST(RTRIM(CAST(bad.project AS nvarchar(max))) AS nvarchar(16)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max)))) HAVING COUNT(1)<>1) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) AND ((bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.pjt_entity IS NULL OR RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))))>64))) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))) AS nvarchar(32)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))) HAVING COUNT(1)<>1) AND (CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:projectContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END))=DATALENGTH(:projectContext))

static read-only checks passed

View the JSON being importedcollapsed by default

The exact portable content of this version.

{
    "components": {
        "sourceSlots": [
            {
                "displayName": "Dynamics SL — authorised SQL business database",
                "id": "C7E49DD3-CBF3-5358-BC00-E440F4A90D51",
                "kind": "sqlServer",
                "requiredObjects": [
                    "dbo.PJProj",
                    "dbo.PJPent",
                    "dbo.PJAddr"
                ],
                "requiresCustomSQL": false
            }
        ],
        "workspaceSelection": {
            "commonFields": [],
            "datasets": [
                {
                    "cacheMode": "live",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "",
                    "fetchSortRules": [
                        {
                            "direction": "ascending",
                            "id": "906CFD11-9014-5A5A-A616-25C140143341",
                            "key": "project_desc",
                            "type": "text"
                        },
                        {
                            "direction": "ascending",
                            "id": "65DCFD9A-F4CA-5597-BCE2-70359EE17714",
                            "key": "ProjectKey",
                            "type": "text"
                        }
                    ],
                    "id": "184D1D45-EA7C-50C2-A58C-C2E242BE28A8",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "ProjectKey",
                            "label": "Internal complete project context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectContext",
                            "label": "Internal complete project context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectContext",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "project",
                            "label": "Project business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "project",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "project_desc",
                            "label": "Project description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "project_desc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CpnyId",
                            "label": "Project company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CpnyId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "customer",
                            "label": "Customer business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "customer",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "contract",
                            "label": "Contract reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "contract",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "contract_type",
                            "label": "Contract type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "contract_type",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "start_date",
                            "label": "Stored project start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "start_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "end_date",
                            "label": "Stored project end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "end_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "manager1",
                            "label": "First manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "manager1",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "manager2",
                            "label": "Second manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "manager2",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "purchase_order_num",
                            "label": "Purchase-order reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "purchase_order_num",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "shiptoid",
                            "label": "Ship-to business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "shiptoid",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "slsperid",
                            "label": "Salesperson business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "slsperid",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BaseCuryId",
                            "label": "Base currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BaseCuryId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "billcuryid",
                            "label": "Billing currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "billcuryid",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CuryId",
                            "label": "Stored currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CuryId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjCuryId",
                            "label": "Project currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjCuryId",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "labor_gl_acct",
                            "label": "Labour GL account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "labor_gl_acct",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "gl_subacct",
                            "label": "GL subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "gl_subacct",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_pa",
                            "label": "Project accounting status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_pa",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_ap",
                            "label": "Payables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_ap",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_ar",
                            "label": "Receivables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_ar",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_gl",
                            "label": "General ledger status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_gl",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_in",
                            "label": "Inventory status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_in",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_lb",
                            "label": "Labour status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_lb",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_po",
                            "label": "Purchasing status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_po",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrcomp_name",
                            "label": "Project · Company / organisation name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrcomp_name",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrindividual",
                            "label": "Project · Contact name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrindividual",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrtitle",
                            "label": "Project · Contact title",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrtitle",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddraddr1",
                            "label": "Project · Address line 1",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddraddr1",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddraddr2",
                            "label": "Project · Address line 2",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddraddr2",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrcity",
                            "label": "Project · City",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrcity",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrstate",
                            "label": "Project · State / region",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrstate",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrzip",
                            "label": "Project · Postal code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrzip",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrcountry",
                            "label": "Project · Country code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrcountry",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrphone",
                            "label": "Project · Phone",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrphone",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddremail",
                            "label": "Project · Email",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddremail",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddrfax",
                            "label": "Project · Fax",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddrfax",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrcomp_name",
                            "label": "Billing · Company / organisation name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrcomp_name",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrindividual",
                            "label": "Billing · Contact name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrindividual",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrtitle",
                            "label": "Billing · Contact title",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrtitle",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddraddr1",
                            "label": "Billing · Address line 1",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddraddr1",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddraddr2",
                            "label": "Billing · Address line 2",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddraddr2",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrcity",
                            "label": "Billing · City",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrcity",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrstate",
                            "label": "Billing · State / region",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrstate",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrzip",
                            "label": "Billing · Postal code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrzip",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrcountry",
                            "label": "Billing · Country code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrcountry",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrphone",
                            "label": "Billing · Phone",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrphone",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddremail",
                            "label": "Billing · Email",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddremail",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddrfax",
                            "label": "Billing · Fax",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddrfax",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectStateContext",
                            "label": "Project state — documented migration context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectStateContext",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectAddressContext",
                            "label": "Project address record context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectAddressContext",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "BillingAddressContext",
                            "label": "Billing address record context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "BillingAddressContext",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaskAvailability",
                            "label": "Task identity availability",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaskAvailability",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "CurrencyScope",
                            "label": "Currency / value scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "CurrencyScope",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectScope",
                            "label": "Current project record scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectScope",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        }
                    ],
                    "maxRows": 1000,
                    "name": "Projects and operational dossier",
                    "primaryKey": "ProjectKey",
                    "queryParameters": [],
                    "refreshPolicy": {
                        "enabled": false,
                        "intervalMinutes": 60
                    },
                    "rootArrayPath": "",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "project",
                        "project_desc",
                        "CpnyId",
                        "customer",
                        "contract",
                        "contract_type",
                        "start_date",
                        "end_date",
                        "manager1",
                        "manager2",
                        "purchase_order_num",
                        "shiptoid",
                        "slsperid",
                        "BaseCuryId",
                        "billcuryid",
                        "CuryId",
                        "ProjCuryId",
                        "labor_gl_acct",
                        "gl_subacct",
                        "status_pa",
                        "status_ap",
                        "status_ar",
                        "status_gl",
                        "status_in",
                        "status_lb",
                        "status_po",
                        "ProjectAddrcomp_name",
                        "ProjectAddrindividual",
                        "ProjectAddrtitle",
                        "ProjectAddraddr1",
                        "ProjectAddraddr2",
                        "ProjectAddrcity",
                        "ProjectAddrstate",
                        "ProjectAddrzip",
                        "ProjectAddrcountry",
                        "ProjectAddrphone",
                        "ProjectAddremail",
                        "ProjectAddrfax",
                        "BillingAddrcomp_name",
                        "BillingAddrindividual",
                        "BillingAddrtitle",
                        "BillingAddraddr1",
                        "BillingAddraddr2",
                        "BillingAddrcity",
                        "BillingAddrstate",
                        "BillingAddrzip",
                        "BillingAddrcountry",
                        "BillingAddrphone",
                        "BillingAddremail",
                        "BillingAddrfax",
                        "ProjectStateContext",
                        "ProjectAddressContext",
                        "BillingAddressContext",
                        "TaskAvailability",
                        "CurrencyScope",
                        "ProjectScope"
                    ],
                    "sourceID": "C7E49DD3-CBF3-5358-BC00-E440F4A90D51",
                    "sqlQuery": "SELECT RTRIM(CAST(m.project AS nvarchar(max))) AS project,m.project_desc AS project_desc,RTRIM(CAST(m.CpnyId AS nvarchar(max))) AS CpnyId,m.customer AS customer,m.contract AS contract,m.contract_type AS contract_type,m.start_date AS start_date,m.end_date AS end_date,m.manager1 AS manager1,m.manager2 AS manager2,m.purchase_order_num AS purchase_order_num,m.shiptoid AS shiptoid,m.slsperid AS slsperid,m.BaseCuryId AS BaseCuryId,m.billcuryid AS billcuryid,m.CuryId AS CuryId,m.ProjCuryId AS ProjCuryId,m.labor_gl_acct AS labor_gl_acct,m.gl_subacct AS gl_subacct,m.status_pa AS status_pa,m.status_ap AS status_ap,m.status_ar AS status_ar,m.status_gl AS status_gl,m.status_in AS status_in,m.status_lb AS status_lb,m.status_po AS status_po,pa.comp_name AS ProjectAddrcomp_name,pa.individual AS ProjectAddrindividual,pa.title AS ProjectAddrtitle,pa.addr1 AS ProjectAddraddr1,pa.addr2 AS ProjectAddraddr2,pa.city AS ProjectAddrcity,pa.state AS ProjectAddrstate,pa.zip AS ProjectAddrzip,pa.country AS ProjectAddrcountry,pa.phone AS ProjectAddrphone,pa.email AS ProjectAddremail,pa.fax AS ProjectAddrfax,ba.comp_name AS BillingAddrcomp_name,ba.individual AS BillingAddrindividual,ba.title AS BillingAddrtitle,ba.addr1 AS BillingAddraddr1,ba.addr2 AS BillingAddraddr2,ba.city AS BillingAddrcity,ba.state AS BillingAddrstate,ba.zip AS BillingAddrzip,ba.country AS BillingAddrcountry,ba.phone AS BillingAddrphone,ba.email AS BillingAddremail,ba.fax AS BillingAddrfax,CASE WHEN RTRIM(CAST(m.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(m.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(m.project AS nvarchar(max))) AS nvarchar(max)),N';') END AS ProjectKey,CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END) AS ProjectContext,CASE WHEN (RTRIM(CAST(m.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'A' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.status_pa AS nvarchar(max))))=DATALENGTH(N'A')) THEN N'Active in Microsoft project migration' WHEN (RTRIM(CAST(m.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'M' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(m.status_pa AS nvarchar(max))))=DATALENGTH(N'M')) THEN N'Planning in Microsoft project migration' ELSE N'Other / absent source code; verify in SL' END AS ProjectStateContext,CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS ProjectAddressContext,CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS BillingAddressContext,CASE WHEN NOT (NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND ((bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.pjt_entity IS NULL OR RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))))>64))) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))) AS nvarchar(32)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))) HAVING COUNT(1)<>1)) THEN N'Ambiguous / invalid task rows' WHEN EXISTS (SELECT 1 FROM dbo.PJPent probe WHERE (RTRIM(CAST(probe.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max)))))) THEN N'Available on demand' ELSE N'No stored task rows' END AS TaskAvailability,N'Separate stored currency codes; no financial totals or conversion' AS CurrencyScope,N'Current master and configured addresses; source dates kept, including sentinels' AS ProjectScope FROM dbo.PJProj m LEFT JOIN dbo.PJAddr pa ON (RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(pa.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND NOT (pa.addr_key_cd IS NULL OR RTRIM(CAST(pa.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))>4) AND NOT (pa.addr_key IS NULL OR RTRIM(CAST(pa.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))>96) AND NOT (pa.addr_type_cd IS NULL OR RTRIM(CAST(pa.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')))=1 LEFT JOIN dbo.PJAddr ba ON (RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(ba.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')) AND NOT (ba.addr_key_cd IS NULL OR RTRIM(CAST(ba.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))>4) AND NOT (ba.addr_key IS NULL OR RTRIM(CAST(ba.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))>96) AND NOT (ba.addr_type_cd IS NULL OR RTRIM(CAST(ba.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')))=1 WHERE NOT EXISTS (SELECT 1 FROM dbo.PJProj bad WHERE (bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.CpnyId IS NULL OR RTRIM(CAST(bad.CpnyId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyId AS nvarchar(max))))>20)) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad GROUP BY CAST(RTRIM(CAST(bad.project AS nvarchar(max))) AS nvarchar(16)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max)))) HAVING COUNT(1)<>1)",
                    "tableName": ""
                },
                {
                    "cacheMode": "live",
                    "calculatedFields": [],
                    "customQueryIntegrationName": "",
                    "endpointPath": "",
                    "fetchSortRules": [
                        {
                            "direction": "ascending",
                            "id": "C949DE43-F471-536F-82BB-16E462693ECA",
                            "key": "pjt_entity",
                            "type": "text"
                        },
                        {
                            "direction": "ascending",
                            "id": "F3A79BA1-F701-522C-8380-99027495249D",
                            "key": "TaskKey",
                            "type": "text"
                        }
                    ],
                    "id": "47F300D7-09A4-56DA-BE67-94BF3D232E24",
                    "mappings": [
                        {
                            "commonFieldKey": "",
                            "key": "TaskKey",
                            "label": "Internal complete project context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaskKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectKey",
                            "label": "Internal complete project context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectKey",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ProjectContext",
                            "label": "Internal complete project context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ProjectContext",
                            "type": "text",
                            "visibleInDetail": false,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "project",
                            "label": "Project business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "project",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "pjt_entity",
                            "label": "Task business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "pjt_entity",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "pjt_entity_desc",
                            "label": "Task description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "pjt_entity_desc",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "start_date",
                            "label": "Stored task start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "start_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "end_date",
                            "label": "Stored task end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "end_date",
                            "type": "date",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "contract_type",
                            "label": "Task contract type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "contract_type",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "manager1",
                            "label": "Task manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "manager1",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "labor_class_cd",
                            "label": "Labour class code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "labor_class_cd",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "fips_num",
                            "label": "Stored FIPS code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "fips_num",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_pa",
                            "label": "Task project accounting status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_pa",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_ap",
                            "label": "Task payables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_ap",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_ar",
                            "label": "Task receivables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_ar",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_gl",
                            "label": "Task general ledger status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_gl",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_in",
                            "label": "Task inventory status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_in",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_lb",
                            "label": "Task labour status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_lb",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "status_po",
                            "label": "Task purchasing status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "status_po",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ParentProjectName",
                            "label": "Parent project description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ParentProjectName",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        },
                        {
                            "commonFieldKey": "",
                            "key": "ParentCompany",
                            "label": "Parent project company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "ParentCompany",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaskStateContext",
                            "label": "Task state — documented migration context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaskStateContext",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": true
                        },
                        {
                            "commonFieldKey": "",
                            "key": "TaskScope",
                            "label": "Current task record scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text",
                            "sourceColumn": "TaskScope",
                            "type": "text",
                            "visibleInDetail": true,
                            "visibleInList": false
                        }
                    ],
                    "maxRows": 1000,
                    "name": "Project tasks",
                    "primaryKey": "TaskKey",
                    "queryParameters": [
                        {
                            "constantValue": "",
                            "dayOffset": 0,
                            "fieldKey": "project",
                            "id": "875ACF2A-16E6-5900-B897-E7B735E961B6",
                            "name": "project",
                            "source": "parentField",
                            "type": "text"
                        },
                        {
                            "constantValue": "",
                            "dayOffset": 0,
                            "fieldKey": "ProjectContext",
                            "id": "4296A150-0285-58B0-B8DB-D88132E0D8B2",
                            "name": "projectContext",
                            "source": "parentField",
                            "type": "text"
                        }
                    ],
                    "refreshPolicy": {
                        "enabled": false,
                        "intervalMinutes": 60
                    },
                    "rootArrayPath": "",
                    "rowLimitEnabled": true,
                    "searchKeys": [
                        "project",
                        "pjt_entity",
                        "pjt_entity_desc",
                        "start_date",
                        "end_date",
                        "contract_type",
                        "manager1",
                        "labor_class_cd",
                        "fips_num",
                        "status_pa",
                        "status_ap",
                        "status_ar",
                        "status_gl",
                        "status_in",
                        "status_lb",
                        "status_po",
                        "ParentProjectName",
                        "ParentCompany",
                        "TaskStateContext",
                        "TaskScope"
                    ],
                    "sourceID": "C7E49DD3-CBF3-5358-BC00-E440F4A90D51",
                    "sqlQuery": "SELECT RTRIM(CAST(a.project AS nvarchar(max))) AS project,RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS pjt_entity,a.pjt_entity_desc AS pjt_entity_desc,a.start_date AS start_date,a.end_date AS end_date,a.contract_type AS contract_type,a.manager1 AS manager1,a.labor_class_cd AS labor_class_cd,a.fips_num AS fips_num,a.status_pa AS status_pa,a.status_ap AS status_ap,a.status_ar AS status_ar,a.status_gl AS status_gl,a.status_in AS status_in,a.status_lb AS status_lb,a.status_po AS status_po,CONCAT(CASE WHEN RTRIM(CAST(a.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max)),N';') END,CASE WHEN RTRIM(CAST(a.pjt_entity AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.pjt_entity AS nvarchar(max))) AS nvarchar(max)),N';') END) AS TaskKey,CASE WHEN RTRIM(CAST(a.project AS nvarchar(max))) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max))),N':',CAST(RTRIM(CAST(a.project AS nvarchar(max))) AS nvarchar(max)),N';') END AS ProjectKey,:projectContext AS ProjectContext,m.project_desc AS ParentProjectName,RTRIM(CAST(m.CpnyId AS nvarchar(max))) AS ParentCompany,CASE WHEN (RTRIM(CAST(a.status_pa AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'A' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.status_pa AS nvarchar(max))))=DATALENGTH(N'A')) THEN N'Active in Microsoft task migration' ELSE N'Other / absent source code; verify in SL' END AS TaskStateContext,N'Current task, not cost/profit entries; company is parent context, not a task ACL' AS TaskScope FROM dbo.PJPent a INNER JOIN dbo.PJProj m ON (RTRIM(CAST(a.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) LEFT JOIN dbo.PJAddr pa ON (RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(pa.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND NOT (pa.addr_key_cd IS NULL OR RTRIM(CAST(pa.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key_cd AS nvarchar(max))))>4) AND NOT (pa.addr_key IS NULL OR RTRIM(CAST(pa.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_key AS nvarchar(max))))>96) AND NOT (pa.addr_type_cd IS NULL OR RTRIM(CAST(pa.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(pa.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR')))=1 LEFT JOIN dbo.PJAddr ba ON (RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(ba.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')) AND NOT (ba.addr_key_cd IS NULL OR RTRIM(CAST(ba.addr_key_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key_cd AS nvarchar(max))))>4) AND NOT (ba.addr_key IS NULL OR RTRIM(CAST(ba.addr_key AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_key AS nvarchar(max))))>96) AND NOT (ba.addr_type_cd IS NULL OR RTRIM(CAST(ba.addr_type_cd AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(ba.addr_type_cd AS nvarchar(max))))>4) AND (SELECT COUNT(1) FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI')))=1 WHERE (RTRIM(CAST(a.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(a.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad WHERE (bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.CpnyId IS NULL OR RTRIM(CAST(bad.CpnyId AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.CpnyId AS nvarchar(max))))>20)) AND NOT EXISTS (SELECT 1 FROM dbo.PJProj bad GROUP BY CAST(RTRIM(CAST(bad.project AS nvarchar(max))) AS nvarchar(16)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max)))) HAVING COUNT(1)<>1) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) AND ((bad.project IS NULL OR RTRIM(CAST(bad.project AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))>32) OR (bad.pjt_entity IS NULL OR RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))=N'' OR DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))))>64))) AND NOT EXISTS (SELECT 1 FROM dbo.PJPent bad WHERE (RTRIM(CAST(bad.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(:project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(bad.project AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(:project AS nvarchar(max))))) GROUP BY CAST(RTRIM(CAST(bad.pjt_entity AS nvarchar(max))) AS nvarchar(32)) COLLATE Latin1_General_100_BIN2,DATALENGTH(RTRIM(CAST(bad.pjt_entity AS nvarchar(max)))) HAVING COUNT(1)<>1) AND (CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END) COLLATE Latin1_General_100_BIN2=:projectContext COLLATE Latin1_General_100_BIN2 AND DATALENGTH(CONCAT(CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.project_desc),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CpnyId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.customer),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.contract_type),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.start_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.end_date),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.manager2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.purchase_order_num),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.shiptoid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.slsperid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.BaseCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.billcuryid),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.CuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.ProjCuryId),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.labor_gl_acct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.gl_subacct),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_pa),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ap),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_ar),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_gl),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_in),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_lb),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),m.status_po),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),pa.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_key),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr_type_cd),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.comp_name),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.individual),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.title),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr1),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.addr2),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.city),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.state),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.zip),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.country),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.phone),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.email),2) AS nvarchar(max)),N';') END,CASE WHEN CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max))),N':',CAST(CONVERT(varchar(max),CONVERT(varbinary(max),ba.fax),2) AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'PR'))) THEN N'No configured address record' WHEN pa.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END,CASE WHEN CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END IS NULL THEN CAST(N'~;' AS nvarchar(max)) ELSE CONCAT(N'=',DATALENGTH(CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max))),N':',CAST(CASE WHEN NOT EXISTS (SELECT 1 FROM dbo.PJAddr probe WHERE (RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'PR' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key_cd AS nvarchar(max))))=DATALENGTH(N'PR')) AND (RTRIM(CAST(probe.addr_key AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=RTRIM(CAST(m.project AS nvarchar(max))) COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_key AS nvarchar(max))))=DATALENGTH(RTRIM(CAST(m.project AS nvarchar(max))))) AND (RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))) COLLATE Latin1_General_100_BIN2=N'BI' COLLATE Latin1_General_100_BIN2 AND DATALENGTH(RTRIM(CAST(probe.addr_type_cd AS nvarchar(max))))=DATALENGTH(N'BI'))) THEN N'No configured address record' WHEN ba.addr_key IS NULL THEN N'Ambiguous / invalid address record' ELSE N'Unique current configured address' END AS nvarchar(max)),N';') END))=DATALENGTH(:projectContext))",
                    "tableName": ""
                }
            ],
            "pages": [
                {
                    "actions": [
                        {
                            "id": "902FCAF0-E289-51D1-A207-E252DE8F07AD",
                            "kind": "showRelated",
                            "relatedInitiallyExpanded": false,
                            "relatedPresentation": "separate",
                            "relatedPreviewLimit": 12,
                            "relatedRowStyle": "cards",
                            "relatedShowsCount": true,
                            "relationID": "45861537-60EC-567D-891F-4C6CEF79EEB6",
                            "systemImage": "list.bullet.rectangle",
                            "targetDatasetID": "47F300D7-09A4-56DA-BE67-94BF3D232E24",
                            "title": "Project tasks",
                            "urlKey": ""
                        }
                    ],
                    "badgeKey": "",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CpnyId",
                            "label": "Project company",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "customer",
                            "label": "Customer code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "contract",
                            "label": "Contract reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "manager2",
                            "label": "Manager code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "start_date",
                            "label": "Stored start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "end_date",
                            "label": "Stored end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectStateContext",
                            "label": "Project state",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskAvailability",
                            "label": "Tasks",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "datasetID": "184D1D45-EA7C-50C2-A58C-C2E242BE28A8",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "project_desc",
                            "label": "Project description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "project",
                            "label": "Project business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CpnyId",
                            "label": "Project company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "customer",
                            "label": "Customer business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "contract",
                            "label": "Contract reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "contract_type",
                            "label": "Contract type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Project and contract",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "purchase_order_num",
                            "label": "Purchase-order reference",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "manager1",
                            "label": "First manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "manager2",
                            "label": "Second manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "slsperid",
                            "label": "Salesperson business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "shiptoid",
                            "label": "Ship-to business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "start_date",
                            "label": "Stored project start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Responsibilities and stored dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "end_date",
                            "label": "Stored project end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_pa",
                            "label": "Project accounting status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectStateContext",
                            "label": "Project state — documented migration context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_ap",
                            "label": "Payables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_ar",
                            "label": "Receivables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_gl",
                            "label": "General ledger status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_in",
                            "label": "Inventory status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_lb",
                            "label": "Labour status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_po",
                            "label": "Purchasing status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrcomp_name",
                            "label": "Project · Company / organisation name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrindividual",
                            "label": "Project · Contact name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrtitle",
                            "label": "Project · Contact title",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddraddr1",
                            "label": "Project · Address line 1",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddraddr2",
                            "label": "Project · Address line 2",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrcity",
                            "label": "Project · City",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrstate",
                            "label": "Project · State / region",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrzip",
                            "label": "Project · Postal code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrcountry",
                            "label": "Project · Country code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrphone",
                            "label": "Project · Phone",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddremail",
                            "label": "Project · Email",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddrfax",
                            "label": "Project · Fax",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current project address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectAddressContext",
                            "label": "Project address record context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrcomp_name",
                            "label": "Billing · Company / organisation name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrindividual",
                            "label": "Billing · Contact name",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrtitle",
                            "label": "Billing · Contact title",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddraddr1",
                            "label": "Billing · Address line 1",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddraddr2",
                            "label": "Billing · Address line 2",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrcity",
                            "label": "Billing · City",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrstate",
                            "label": "Billing · State / region",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrzip",
                            "label": "Billing · Postal code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrcountry",
                            "label": "Billing · Country code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrphone",
                            "label": "Billing · Phone",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddremail",
                            "label": "Billing · Email",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddrfax",
                            "label": "Billing · Fax",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Current billing address",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BillingAddressContext",
                            "label": "Billing address record context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "BaseCuryId",
                            "label": "Base currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "billcuryid",
                            "label": "Billing currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CuryId",
                            "label": "Stored currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjCuryId",
                            "label": "Project currency setting",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "labor_gl_acct",
                            "label": "Labour GL account code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "gl_subacct",
                            "label": "GL subaccount code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Native currency and GL settings",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "CurrencyScope",
                            "label": "Currency / value scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Reading and scope",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskAvailability",
                            "label": "Task identity availability",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Reading and scope",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ProjectScope",
                            "label": "Current project record scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "detailLiveRefreshSeconds": 0,
                    "fixedFilters": [],
                    "id": "8769FFFB-5F8C-56CA-B3AE-46205F1ABAB6",
                    "openFilters": [
                        {
                            "id": "884FCBEF-C865-58AA-9D8D-B588FEF7ECC7",
                            "includeAllOption": false,
                            "key": "CpnyId",
                            "title": "Project company",
                            "type": "text"
                        },
                        {
                            "id": "CEA2B350-006D-5287-86BA-59E37075D191",
                            "includeAllOption": true,
                            "key": "status_pa",
                            "title": "Project accounting status code",
                            "type": "text"
                        }
                    ],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": true,
                    "showOnHome": true,
                    "sortRules": [
                        {
                            "direction": "ascending",
                            "id": "906CFD11-9014-5A5A-A616-25C140143341",
                            "key": "project_desc",
                            "type": "text"
                        },
                        {
                            "direction": "ascending",
                            "id": "65DCFD9A-F4CA-5597-BCE2-70359EE17714",
                            "key": "ProjectKey",
                            "type": "text"
                        }
                    ],
                    "subtitle": "",
                    "subtitleKey": "project",
                    "systemImage": "briefcase",
                    "title": "Projects and operational dossier",
                    "titleKey": "project_desc"
                },
                {
                    "actions": [],
                    "badgeKey": "",
                    "cardEnrichments": [],
                    "cardFieldLayout": [
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentCompany",
                            "label": "Parent company",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "manager1",
                            "label": "Task manager code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "start_date",
                            "label": "Stored start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "end_date",
                            "label": "Stored end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "contract_type",
                            "label": "Contract type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "labor_class_cd",
                            "label": "Labour class code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_pa",
                            "label": "Accounting status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskStateContext",
                            "label": "Task state",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "datasetID": "47F300D7-09A4-56DA-BE67-94BF3D232E24",
                    "dateFilterKey": "",
                    "dateFilterLastDays": 7,
                    "dateFilterPreset": "none",
                    "detailFieldLayout": [
                        {
                            "detailGroup": "Task and parent project",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "pjt_entity_desc",
                            "label": "Task description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task and parent project",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "pjt_entity",
                            "label": "Task business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task and parent project",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "project",
                            "label": "Project business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task and parent project",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentProjectName",
                            "label": "Parent project description",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task and parent project",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "ParentCompany",
                            "label": "Parent project company code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "manager1",
                            "label": "Task manager business code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "start_date",
                            "label": "Stored task start date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "end_date",
                            "label": "Stored task end date",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "contract_type",
                            "label": "Task contract type code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "labor_class_cd",
                            "label": "Labour class code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Task responsibilities and dates",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "fips_num",
                            "label": "Stored FIPS code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_pa",
                            "label": "Task project accounting status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskStateContext",
                            "label": "Task state — documented migration context",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_ap",
                            "label": "Task payables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_ar",
                            "label": "Task receivables status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_gl",
                            "label": "Task general ledger status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_in",
                            "label": "Task inventory status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_lb",
                            "label": "Task labour status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Separate task module state codes",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "status_po",
                            "label": "Task purchasing status code",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        },
                        {
                            "detailGroup": "Reading and scope",
                            "detailRole": "information",
                            "isVisible": true,
                            "key": "TaskScope",
                            "label": "Current task record scope",
                            "locationLabelKey": "",
                            "locationLongitudeKey": "",
                            "presentation": "text"
                        }
                    ],
                    "detailLiveRefreshSeconds": 0,
                    "fixedFilters": [],
                    "id": "0E30648E-EDE5-543F-8FAF-2DF7B7A2F59E",
                    "openFilters": [],
                    "pageSize": 100,
                    "requiresOpeningFilterSelection": false,
                    "showOnHome": false,
                    "sortRules": [
                        {
                            "direction": "ascending",
                            "id": "C949DE43-F471-536F-82BB-16E462693ECA",
                            "key": "pjt_entity",
                            "type": "text"
                        },
                        {
                            "direction": "ascending",
                            "id": "F3A79BA1-F701-522C-8380-99027495249D",
                            "key": "TaskKey",
                            "type": "text"
                        }
                    ],
                    "subtitle": "",
                    "subtitleKey": "pjt_entity",
                    "systemImage": "list.bullet",
                    "title": "Project tasks",
                    "titleKey": "pjt_entity_desc"
                }
            ],
            "relations": [
                {
                    "childDatasetID": "47F300D7-09A4-56DA-BE67-94BF3D232E24",
                    "childKey": "ProjectKey",
                    "id": "45861537-60EC-567D-891F-4C6CEF79EEB6",
                    "name": "Project tasks",
                    "parentDatasetID": "184D1D45-EA7C-50C2-A58C-C2E242BE28A8",
                    "parentKey": "ProjectKey"
                }
            ],
            "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.\n\nFor project managers, operations, customer service and accounting: select a company and project state, search a project, inspect its contract, customer code, responsibilities, stored dates, separate module settings and current project/billing contacts. Open Project tasks only when needed to inspect task descriptions, manager, dates, contract/labour codes and separate state codes.\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 SQL source, one Home button, two lists and one on-demand related button. 56 project and 20 task values in grouped Details, eight useful fields per card, Search and mandatory company opening selection plus optional project-state selection. Technical keys and parent context are hidden. Live reads cap each list at 1,000 rows, without automatic refresh or preloading every task. Identity checks may scan beyond this cap. No complete task count, financial statement, installed performance or iOS guarantee.\n\nOwn pinned Microsoft source registrations identify PJProj, PJPent and PJAddr. Migration code explicitly uses the project as Job number and filters tasks by that project. AL logical keys are project, project+task and address-kind+address-key+address-type; not invented company triples or proof of installed SQL DDL, PK/FK, types or permissions. PJPent has no selected company column: ParentCompany is explicitly inherited context, not a stored task company or an access grant. Duplicate/blank/oversized projects or invalid company codes reject the root read; ambiguous/invalid tasks block only their own project. Every selected parent/address value is revalidated losslessly before reading tasks. No arbitrary first match or silent duplicate removal.\n\nProject and billing addresses use the separately documented PJAddr PR/project/PR and PR/project/BI keys. They are current configured project addresses, not historic document addresses or a replacement with current Customer billing data. Missing/ambiguous addresses preserve the project and tasks, with explicit context and no row multiplication.\n\nOnly project accounting status_pa A active and M planning have documented project migration context; task A has active-task migration context. Other/absent codes remain unmapped, and AP/AR/GL/inventory/labour/purchasing codes remain separate. These are not completion percentages, posting/approval promises or access-control decisions. Stored start/end dates are retained; source storage and time zone are unverified. The Microsoft migrator treats project dates in or before 1900 as absent, so verify sentinel dates in SL rather than treating them as a schedule. Tasks are current master records, not actual timesheets, resources, historical entries or a complete project timeline.\n\nFour currency settings are separately named source codes, not ISO, validity or conversion guarantees. No guessed budgets, expenses, revenue, balances, cost/profit totals, currency symbols or rates. Customer, manager, salesperson, GL and labour-class business codes stay codes: no assumed person/customer names, permissions or custom-field meanings. Audit users, technical IDs, payroll, bank, future and untyped custom fields are omitted.\n\nDocumentary and adapted synthetic/native Cifru DEMO validation only; not tested on a real Dynamics SL/SQL Server installation. Validate edition, business database, proposed dbo owner, columns, SQL compatibility and read performance at import. Direct SQL does not inherit ERP/company roles. Company/status filters and hidden keys are not access control. Require administrator-scoped SELECT-only reporting permissions, not migration db_owner or sysadmin. Migration write code is consulted, never executed. No credentials are included. Screenshots must use entirely fictional DEMO, not a live ERP connection.\n\nUnofficial, not Microsoft endorsed. Dynamics SL is a legacy installed-base product with extended support ending July 2028, not a measured top-three/no-mobile claim.\n\nPrimary registration: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/codeunits/SLHybridWizard.Codeunit.al\nProject fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJProjBuffer.Table.al\nTask fields: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJPentBuffer.Table.al\nAddresses: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLPJAddr.Table.al\nBinding/status/date context: https://github.com/microsoft/ALAppExtensions/blob/e7ed235bc979c0283306e9639ff7cd22ce78341d/Apps/W1/HybridSL/app/src/Migration/Projects/SLProjectMigrator.Codeunit.al",
        "licenseCode": "Cifru-Community-1.0",
        "minimumCifruVersion": "1.1.0",
        "minimumPlan": "pro",
        "packageID": "DEE97A56-F280-59B3-BCC5-D53147525CB2",
        "rootButtonCount": 1,
        "summary": "Company/state selection, contracts, managers, stored dates and separate project/billing contacts, with on-demand task dossiers.",
        "tags": [
            "Dynamics SL",
            "SQL Server",
            "Projects",
            "Tasks",
            "Contracts",
            "Operations",
            "Pro"
        ],
        "title": "Project, address and task dossier — Pro"
    }
}

Tags

Reviews

There are no approved reviews for this version yet.

Write a review

Sign in to review

Similar templates

From the same application, then shared tags, in the same language and country.